From: Lukasz Majewski <lukma@denx.de>
Date: Sat, 27 Jul 2019 22:17:05 +0000 (+0200)
Subject: imx: bk4: Print proper HW revision of VF610's BK4 board
X-Git-Tag: v2025.01-rc5-pxa1908~2757^2~98
X-Git-Url: http://git.dujemihanovic.xyz/%22http:/www.sics.se/static/html/%7B%7B%20%28.OutputFormats.Get?a=commitdiff_plain;h=1ff6c1f75b292cd789995689770bfbcd90d2421d;p=u-boot.git

imx: bk4: Print proper HW revision of VF610's BK4 board

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>
---

diff --git a/board/phytec/pcm052/pcm052.c b/board/phytec/pcm052/pcm052.c
index e1ebe8e75d..b52432e653 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