aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-mvebu/patches/0002-clearfog-reset-usom-onboard-1512-phy.patch
blob: 164c6f3f254c335635297fcfe3d44cea73b118d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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