diff --git a/board/nm/hw25/mux.c b/board/nm/hw25/mux.c index ef1bb6760d..d4273f4afc 100644 --- a/board/nm/hw25/mux.c +++ b/board/nm/hw25/mux.c @@ -25,40 +25,48 @@ static struct module_pin_mux gpio_pin_mux[] = { /* * CPU GPIOs * - * (A17) GPIO0_2: RST_GNSS~ - * (A16) GPIO0_5: EXTINT_GNSS - * (C15) GPIO0_6: TIMEPULSE - * (C18) GPIO0_7: PWM / SHIELD LATCH * (J18) GPIO0_16: RST_PHY~ - * (U12) GPIO0_27: RST_SHIELD~ + * (U10) GPIO0_22: SEL_RS232/RS485~ + * (T10) GPIO0_23: EN_RS485_TERM~ + * (T11) GPIO0_26: IO_OUT1 + * (U12) GPIO0_27: IO_OUT2 * - * (R14) GPIO1_20: BT_EN - * (V15) GPIO1_21: GSM_PWR_EN - * (U16) GPIO1_25: RST_GSM - * (T16) GPIO1_26: WLAN_EN - * (V17) GPIO1_27: WLAN_IRQ + * (T12) GPIO1_12: IO_IN0 + * (T13) GPIO1_13: IO_IN1 + * (T14) GPIO1_14: IO_IN2 + * (T15) GPIO1_15: IO_IN3 * + * (T13) GPIO2_0: RST_SDCARD~ + * (L17) GPIO2_18: GSM_PWR_EN + * (L16) GPIO2_19: RST_GSM + * + * (K18) GPIO3_9: WLAN_IRQ + * (L18) GPIO3_10: WLAN_EN * (C12) GPIO3_17: SIM_SEL */ /* Bank 0 */ - {OFFSET(spi0_sclk), (MODE(7) | PULLUDDIS)}, /* (A17) gpio0[2] */ /* RST_GNSS */ - {OFFSET(spi0_cs0), (MODE(7) | PULLUDEN | PULLDOWN_EN)}, /* (A16) gpio0[5] */ /* EXTINT_GNSS */ - {OFFSET(spi0_cs1), (MODE(7) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (C15) gpio0[6] */ /* TIMEPULSE */ - {OFFSET(ecap0_in_pwm0_out), (MODE(7) | PULLUDEN | PULLUP_EN)}, /* (C18) gpio0[7] */ /* IO_SHIELD */ {OFFSET(mii1_txd3), (MODE(7) | PULLUDDIS)}, /* (J18) gpio0[16] */ /* RST_PHY~ */ - {OFFSET(gpmc_ad11), (MODE(7) | PULLUDDIS)}, /* (U12) gpio0[27] */ /* RST_SHIELD~ */ + {OFFSET(gpmc_ad8), (MODE(7) | PULLUDDIS)}, /* (U10) gpio0[22] */ /* SEL_RS232/RS485~ */ + {OFFSET(gpmc_ad9), (MODE(7) | PULLUDDIS)}, /* (T10) gpio0[23] */ /* EN_RS485_TERM~ */ + {OFFSET(gpmc_ad10), (MODE(7) | PULLUDDIS)}, /* (T11) gpio0[26] */ /* IO_OUT1 */ + {OFFSET(gpmc_ad11), (MODE(7) | PULLUDDIS)}, /* (U12) gpio0[27] */ /* IO_OUT2 */ /* Bank 1 */ - {OFFSET(gpmc_a4), (MODE(7) | PULLUDDIS)}, /* (R14) gpio1[20] */ /* BT_EN */ - {OFFSET(gpmc_a5), (MODE(7) | PULLUDDIS)}, /* (V15) gpio1[21] */ /* GSM_PWR_EN */ - {OFFSET(gpmc_a9), (MODE(7) | PULLUDDIS)}, /* (U16) gpio1[25] */ /* RST_GSM */ - {OFFSET(gpmc_a10), (MODE(7) | PULLUDDIS)}, /* (T16) gpio1[26] */ /* WLAN_EN */ - {OFFSET(gpmc_a11), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (V17) gpio1[27] */ /* WLAN_IRQ */ + {OFFSET(gpmc_ad12), (MODE(7) | PULLUDDIS)}, /* (T12) gpio1[12] */ /* IO_IN0 */ + {OFFSET(gpmc_ad13), (MODE(7) | PULLUDDIS)}, /* (R12) gpio1[13] */ /* IO_IN1 */ + {OFFSET(gpmc_ad14), (MODE(7) | PULLUDDIS)}, /* (V13) gpio1[14] */ /* IO_IN2 */ + {OFFSET(gpmc_ad15), (MODE(7) | PULLUDDIS)}, /* (U13) gpio1[15] */ /* IO_IN3 */ + /* TODO: What about all the unused GPMC pins ? */ /* Bank 2 */ + {OFFSET(gpmc_be1n), (MODE(7) | PULLUDDIS)}, /* (T13) gpio2[0] */ /* RST_SDCARD~ */ + {OFFSET(mii1_rxd3), (MODE(7) | PULLUDDIS)}, /* (L17) gpio2[18] */ /* GSM_PWR_EN */ + {OFFSET(mii1_rxd2), (MODE(7) | PULLUDDIS)}, /* (L16) gpio2[19] */ /* RST_GSM */ + + #if 0 /* TODO: What is this meant for? */ {OFFSET(lcd_data3), (MODE(7) | PULLUDEN | PULLUP_EN)}, /* (R4) gpio2[9] */ /* SYSBOOT_3 */ @@ -73,6 +81,8 @@ static struct module_pin_mux gpio_pin_mux[] = { #endif /* Bank 3 */ + {OFFSET(mii1_txclk), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (K18) gpio3[9] */ /* WLAN_IRQ */ + {OFFSET(mii1_rxclk), (MODE(7) | PULLUDDIS)}, /* (L18) gpio3[10] */ /* WLAN_EN */ {OFFSET(mcasp0_ahclkr), (MODE(7) | PULLUDEN | PULLDOWN_EN)}, /* (C12) gpio3[17] */ /* SIM_SEL */ {-1} }; @@ -145,6 +155,13 @@ static struct module_pin_mux usb_pin_mux[] = { {-1} }; +/* UART0: User (Debug/Console) */ +static struct module_pin_mux uart0_pin_mux[] = { + {OFFSET(uart0_rxd), (MODE(0) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (E15) UART0_RXD */ + {OFFSET(uart0_txd), (MODE(0) | PULLUDEN | PULLUP_EN | SLEWCTRL)}, /* (E16) UART0_TXD */ + {-1}, +}; + /* UART0: RS232/RS485 shield mode */ static struct module_pin_mux uart0_pin_mux[] = { {OFFSET(uart0_rxd), (MODE(0) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (E15) UART0_RXD */ @@ -152,32 +169,18 @@ static struct module_pin_mux uart0_pin_mux[] = { {-1}, }; -/* UART0: Shield I/F (UART, CAN) */ -/* Leave UART0 unconfigured because we want to configure it as needed by Linux (can/spi/uart/etc) */ +/* UART5: RS232/RS485 */ +/* Leave UART5 unconfigured because we want to configure it as needed by Linux (serial) */ /* Mode 7 = GPIO */ static struct module_pin_mux uart0_disabled_pin_mux[] = { - {OFFSET(uart0_rxd), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (E15) GPIO1_10 */ - {OFFSET(uart0_txd), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (E16) GPIO1_11 */ - {OFFSET(uart0_ctsn), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (E18) GPIO1_8 */ - {OFFSET(uart0_rtsn), (MODE(7) | PULLUDEN | PULLUP_EN)}, /* (E17) GPIO1_9 */ + {OFFSET(lcd_data9), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (E15) GPIO1_10 */ + {OFFSET(lcd_data8), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (E16) GPIO1_11 */ + {OFFSET(lcd_data14), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (E18) GPIO1_8 */ + {OFFSET(lcd_data15), (MODE(7) | PULLUDEN | PULLUP_EN)}, /* (E17) GPIO1_9 */ {-1}, }; -/* UART1: User (Debug/Console) */ -static struct module_pin_mux uart1_pin_mux[] = { - {OFFSET(uart1_rxd), (MODE(0) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (D16) uart1_rxd */ - {OFFSET(uart1_txd), (MODE(0) | PULLUDEN | PULLUP_EN | SLEWCTRL)}, /* (D15) uart1_txd */ - {-1}, -}; - -/* UART3: GNSS */ -static struct module_pin_mux uart3_pin_mux[] = { - {OFFSET(mii1_rxd3), (MODE(1) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (L17) UART3_RXD */ - {OFFSET(mii1_rxd2), (MODE(1) | PULLUDEN | PULLUP_EN | SLEWCTRL)}, /* (L16) UART3_TXD */ - {-1} -}; - -/* UART5: Highspeed UART for Bluetooth (no SLEWCTRL) */ +/* UART5: RS232/RS485 */ static struct module_pin_mux uart5_pin_mux[] = { {OFFSET(lcd_data9), (MODE(4) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (U2) UART5_RXD */ {OFFSET(lcd_data8), (MODE(4) | PULLUDEN | PULLUP_EN)}, /* (U1) UART5_TXD */ @@ -204,6 +207,7 @@ void enable_board_pin_mux(void) configure_module_pin_mux(gpio_pin_mux); configure_module_pin_mux(rmii1_pin_mux); + //configure_module_pin_mux(rmii1_pin_mux); configure_module_pin_mux(mmc0_sdio_pin_mux); configure_module_pin_mux(mmc1_emmc_pin_mux); configure_module_pin_mux(usb_pin_mux); @@ -211,7 +215,7 @@ void enable_board_pin_mux(void) configure_module_pin_mux(i2c0_pin_mux); configure_module_pin_mux(i2c2_pin_mux); - configure_module_pin_mux(uart3_pin_mux); + //configure_module_pin_mux(uart3_pin_mux); configure_module_pin_mux(uart5_pin_mux); configure_module_pin_mux(unused_pin_mux); @@ -227,7 +231,3 @@ void disable_uart0_pin_mux(void) configure_module_pin_mux(uart0_disabled_pin_mux); } -void enable_uart1_pin_mux(void) -{ - configure_module_pin_mux(uart1_pin_mux); -}