summaryrefslogtreecommitdiff
path: root/board/olimex/am335x_som
diff options
context:
space:
mode:
authorDaniel Palmer <daniel@0x0f.com>2021-06-16 21:43:46 +0900
committerDaniel Palmer <daniel@0x0f.com>2021-06-16 21:43:46 +0900
commit43a49765f1783348f2d5186d13c5dfa9cb8ee962 (patch)
tree08548352d6585627b302ab0f9b42063e87de1778 /board/olimex/am335x_som
parenta44d71f71d7cef3dc484ae3b0075264db6f42755 (diff)
Add phy reset codeHEADam335x_som_revival
Diffstat (limited to 'board/olimex/am335x_som')
-rw-r--r--board/olimex/am335x_som/board.c15
-rw-r--r--board/olimex/am335x_som/mux.c6
2 files changed, 21 insertions, 0 deletions
diff --git a/board/olimex/am335x_som/board.c b/board/olimex/am335x_som/board.c
index 5413cca6b4..c828d6c7c5 100644
--- a/board/olimex/am335x_som/board.c
+++ b/board/olimex/am335x_som/board.c
@@ -151,8 +151,23 @@ int board_init(void)
}
#ifdef CONFIG_BOARD_LATE_INIT
+
+#define GPIO_PHY_RST 29
+
+static void board_phy_init(void)
+{
+ puts("phy reset\n");
+ gpio_request(GPIO_PHY_RST, "phy_rst");
+ gpio_direction_output(GPIO_PHY_RST, 0);
+ mdelay(2);
+ gpio_set_value(GPIO_PHY_RST, 1);
+ mdelay(2);
+}
+
int board_late_init(void)
{
+ board_phy_init();
+
return 0;
}
#endif
diff --git a/board/olimex/am335x_som/mux.c b/board/olimex/am335x_som/mux.c
index c2beb3ad19..ff14121a2e 100644
--- a/board/olimex/am335x_som/mux.c
+++ b/board/olimex/am335x_som/mux.c
@@ -59,6 +59,11 @@ static struct module_pin_mux nand_pin_mux[] = {
};
#endif
+static struct module_pin_mux gpio0_29_pin_mux[] = {
+ {OFFSET(rmii1_refclk), (MODE(7) | PULLUP_EN | PULLUDEN)}, /* GPIO0_29 */
+ {-1},
+};
+
void enable_uart0_pin_mux(void)
{
configure_module_pin_mux(uart0_pin_mux);
@@ -70,4 +75,5 @@ void enable_board_pin_mux()
#if defined(CONFIG_NAND)
configure_module_pin_mux(nand_pin_mux);
#endif
+ configure_module_pin_mux(gpio0_29_pin_mux);
}