imx: bk4: Print proper HW revision of VF610's BK4 board
authorLukasz Majewski <lukma@denx.de>
Sat, 27 Jul 2019 22:17:05 +0000 (00:17 +0200)
committerStefano Babic <sbabic@denx.de>
Tue, 8 Oct 2019 14:35:59 +0000 (16:35 +0200)
This code uses HW difference on the USB_RESET pin (added PULL UP resistor
on the L333 rev) to distinguish between two BK4 HW revisions.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
board/phytec/pcm052/pcm052.c

index e1ebe8e75d008db4dcdf0c38985ae49f4d517221..b52432e6536d221d303c0a382ddd1559612b06ea 100644 (file)
@@ -403,7 +403,20 @@ int board_phy_config(struct phy_device *phydev)
 int checkboard(void)
 {
 #ifdef CONFIG_TARGET_BK4R1
-       puts("Board: BK4r1 (L333)\n");
+       u32 *gpio3_pdir = (u32 *)(GPIO3_BASE_ADDR + 0x10);
+
+       /*
+        * USB_RESET_N (PTC30 - GPIO103 - PORT3[7]):
+        * L333 -> pull up added -> read 1
+        * L320 -> no pull up -> read 0
+        *
+        * Default iomuxc_ptc30 value after reset: 0x300061 -> RCON28
+        * - input enabled, pull (up/down) disabled
+        */
+       if (*gpio3_pdir & BIT(7))
+               puts("Board: BK4r1 (L333)\n");
+       else
+               puts("Board: BK4r1 (L320)\n");
 #else
        puts("Board: PCM-052\n");
 #endif