summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}