diff options
Diffstat (limited to 'board/ti/am43xx/mux.c')
| -rw-r--r-- | board/ti/am43xx/mux.c | 44 | 
1 files changed, 42 insertions, 2 deletions
| diff --git a/board/ti/am43xx/mux.c b/board/ti/am43xx/mux.c index c330a81c4..77c53d2e9 100644 --- a/board/ti/am43xx/mux.c +++ b/board/ti/am43xx/mux.c @@ -11,6 +11,41 @@  #include <asm/arch/mux.h>  #include "board.h" +static struct module_pin_mux rmii1_pin_mux[] = { +	{OFFSET(mii1_txen), MODE(1)},			/* RMII1_TXEN */ +	{OFFSET(mii1_txd1), MODE(1)},			/* RMII1_TD1 */ +	{OFFSET(mii1_txd0), MODE(1)},			/* RMII1_TD0 */ +	{OFFSET(mii1_rxd1), MODE(1) | RXACTIVE},	/* RMII1_RD1 */ +	{OFFSET(mii1_rxd0), MODE(1) | RXACTIVE},	/* RMII1_RD0 */ +	{OFFSET(mii1_rxdv), MODE(1) | RXACTIVE},	/* RMII1_RXDV */ +	{OFFSET(mii1_crs), MODE(1) | RXACTIVE},		/* RMII1_CRS_DV */ +	{OFFSET(mii1_rxerr), MODE(1) | RXACTIVE},	/* RMII1_RXERR */ +	{OFFSET(rmii1_refclk), MODE(0) | RXACTIVE},	/* RMII1_refclk */ +	{-1}, +}; + +static struct module_pin_mux rgmii1_pin_mux[] = { +	{OFFSET(mii1_txen), MODE(2)},			/* RGMII1_TCTL */ +	{OFFSET(mii1_rxdv), MODE(2) | RXACTIVE},	/* RGMII1_RCTL */ +	{OFFSET(mii1_txd3), MODE(2)},			/* RGMII1_TD3 */ +	{OFFSET(mii1_txd2), MODE(2)},			/* RGMII1_TD2 */ +	{OFFSET(mii1_txd1), MODE(2)},			/* RGMII1_TD1 */ +	{OFFSET(mii1_txd0), MODE(2)},			/* RGMII1_TD0 */ +	{OFFSET(mii1_txclk), MODE(2)},			/* RGMII1_TCLK */ +	{OFFSET(mii1_rxclk), MODE(2) | RXACTIVE},	/* RGMII1_RCLK */ +	{OFFSET(mii1_rxd3), MODE(2) | RXACTIVE},	/* RGMII1_RD3 */ +	{OFFSET(mii1_rxd2), MODE(2) | RXACTIVE},	/* RGMII1_RD2 */ +	{OFFSET(mii1_rxd1), MODE(2) | RXACTIVE},	/* RGMII1_RD1 */ +	{OFFSET(mii1_rxd0), MODE(2) | RXACTIVE},	/* RGMII1_RD0 */ +	{-1}, +}; + +static struct module_pin_mux mdio_pin_mux[] = { +	{OFFSET(mdio_data), MODE(0) | RXACTIVE | PULLUP_EN},/* MDIO_DATA */ +	{OFFSET(mdio_clk), MODE(0) | PULLUP_EN},	/* MDIO_CLK */ +	{-1}, +}; +  static struct module_pin_mux uart0_pin_mux[] = {  	{OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE | SLEWCTRL)},  	{OFFSET(uart0_txd), (MODE(0) | PULLUDDIS | PULLUP_EN | SLEWCTRL)}, @@ -57,10 +92,15 @@ void enable_board_pin_mux(void)  {  	configure_module_pin_mux(mmc0_pin_mux);  	configure_module_pin_mux(i2c0_pin_mux); +	configure_module_pin_mux(mdio_pin_mux); -	if (board_is_gpevm()) +	if (board_is_gpevm()) {  		configure_module_pin_mux(gpio5_7_pin_mux); -	configure_module_pin_mux(qspi_pin_mux); +		configure_module_pin_mux(rgmii1_pin_mux); +	} else if (board_is_eposevm()) { +		configure_module_pin_mux(rmii1_pin_mux); +		configure_module_pin_mux(qspi_pin_mux); +	}  }  void enable_i2c0_pin_mux(void) |