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 <[email protected]>
---
 board/phytec/pcm052/pcm052.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/board/phytec/pcm052/pcm052.c b/board/phytec/pcm052/pcm052.c
index c30df5df9d..ffe9ec8db6 100644
--- a/board/phytec/pcm052/pcm052.c
+++ b/board/phytec/pcm052/pcm052.c
@@ -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
-- 
2.11.0

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to