From 9a876ebbf59462bc94ea5abcf854725ad64f65a1 Mon Sep 17 00:00:00 2001 From: Eric Nelson Date: Thu, 13 Sep 2012 10:57:25 -0700 Subject: mx6q_sabrelite: toggle PHY reset for Nitrogen6X --- board/freescale/mx6q_sabrelite/mx6q_sabrelite.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/board/freescale/mx6q_sabrelite/mx6q_sabrelite.c b/board/freescale/mx6q_sabrelite/mx6q_sabrelite.c index a57f58c9f9..7654f67f41 100644 --- a/board/freescale/mx6q_sabrelite/mx6q_sabrelite.c +++ b/board/freescale/mx6q_sabrelite/mx6q_sabrelite.c @@ -502,6 +502,10 @@ iomux_v3_cfg_t enet_pads[] = { MX6Q_PAD_GPIO_0__CCM_CLKO, MX6Q_PAD_GPIO_3__CCM_CLKO2, MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK, + (MX6Q_PAD_EIM_D23__GPIO_3_23 & ~MUX_PAD_CTRL_MASK) | + MUX_PAD_CTRL(0x48), /* Phy Reset For Sabrelite */ + (MX6Q_PAD_ENET_RXD0__GPIO_1_27 & ~MUX_PAD_CTRL_MASK) | + MUX_PAD_CTRL(0x48), /* Phy Reset For Nitrogen6w */ }; iomux_v3_cfg_t enet_pads_final[] = { @@ -560,12 +564,10 @@ int mx6_rgmii_rework(char *devname, int phy_addr) void enet_board_init(void) { - iomux_v3_cfg_t enet_reset = - (MX6Q_PAD_EIM_D23__GPIO_3_23 & - ~MUX_PAD_CTRL_MASK) | MUX_PAD_CTRL(0x48); - - /* phy reset: gpio3-23 */ + /* Sabrelite phy reset: gpio3-23 */ set_gpio_output_val(GPIO3_BASE_ADDR, (1 << 23), 0); + /* Nitrogen6w phy reset: gpio1-27 */ + set_gpio_output_val(GPIO1_BASE_ADDR, (1 << 27), 0); set_gpio_output_val(GPIO6_BASE_ADDR, (1 << 30), (CONFIG_FEC0_PHY_ADDR >> 2)); set_gpio_output_val(GPIO6_BASE_ADDR, (1 << 25), 1); @@ -573,11 +575,13 @@ void enet_board_init(void) set_gpio_output_val(GPIO6_BASE_ADDR, (1 << 28), 1); set_gpio_output_val(GPIO6_BASE_ADDR, (1 << 29), 1); mxc_iomux_v3_setup_multiple_pads(enet_pads, ARRAY_SIZE(enet_pads)); - mxc_iomux_v3_setup_pad(enet_reset); set_gpio_output_val(GPIO6_BASE_ADDR, (1 << 24), 1); udelay(500); + /* Sabrelite phy reset: gpio3-23 */ set_gpio_output_val(GPIO3_BASE_ADDR, (1 << 23), 1); + /* Nitrogen6w phy reset: gpio1-27 */ + set_gpio_output_val(GPIO1_BASE_ADDR, (1 << 27), 1); mxc_iomux_v3_setup_multiple_pads(enet_pads_final, ARRAY_SIZE(enet_pads_final)); } -- cgit v1.2.3