u-boot-mvebu: clearfog: implement distro-boot
[openwrt/staging/jogo.git] / package / boot / uboot-mvebu / patches / 0002-clearfog-reset-usom-onboard-1512-phy.patch
diff --git a/package/boot/uboot-mvebu/patches/0002-clearfog-reset-usom-onboard-1512-phy.patch b/package/boot/uboot-mvebu/patches/0002-clearfog-reset-usom-onboard-1512-phy.patch
new file mode 100644 (file)
index 0000000..164c6f3
--- /dev/null
@@ -0,0 +1,37 @@
+From 98848106b9558244ae36a85229caabcdb57d0f7b Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Fri, 23 Sep 2016 13:58:14 +0200
+Subject: [PATCH 2/4] clearfog: reset usom onboard 1512 phy
+
+Use GPIO19 which is wired to the uSOM phy reset signal in order to reset
+the uSOM's 88E81512 gigabit Ethernet phy.
+
+This GPIO is valid on ClearFog rev 2.1 and newer.
+
+Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
+[jonas.gorski: adapted to upstream u-boot code]
+Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+---
+ board/solidrun/clearfog/clearfog.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
+index 2773f5957e..3a8257cac3 100644
+--- a/board/solidrun/clearfog/clearfog.c
++++ b/board/solidrun/clearfog/clearfog.c
+@@ -131,8 +131,12 @@ int board_init(void)
+       /* Toggle GPIO41 to reset onboard switch and phy */
+       clrbits_le32(MVEBU_GPIO1_BASE + 0x0, BIT(9));
+       clrbits_le32(MVEBU_GPIO1_BASE + 0x4, BIT(9));
++      /* GPIO 19 on ClearFog rev 2.1 controls the uSOM onboard phy reset */
++      clrbits_le32(MVEBU_GPIO0_BASE + 0x0, BIT(19));
++      clrbits_le32(MVEBU_GPIO0_BASE + 0x4, BIT(19));
+       mdelay(1);
+       setbits_le32(MVEBU_GPIO1_BASE + 0x0, BIT(9));
++      setbits_le32(MVEBU_GPIO0_BASE + 0x0, BIT(19));
+       mdelay(10);
+       /* Init I2C IO expanders */
+-- 
+2.12.2
+