Sricharan wrote: > Use the mux framework to initialise the serial pads. > > Signed-off-by: sricharan <r.sricharan@xxxxxx> > --- > arch/arm/mach-omap2/board-omap4panda.c | 72 +++++++++++++++++++++++++++++++- > 1 files changed, 71 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-omap4panda.c > b/arch/arm/mach-omap2/board-omap4panda.c > index b43e3ff..9688ea9 100644 > --- a/arch/arm/mach-omap2/board-omap4panda.c > +++ b/arch/arm/mach-omap2/board-omap4panda.c > @@ -370,13 +370,83 @@ static int __init omap4_panda_i2c_init(void) > omap_register_i2c_bus(4, 400, NULL, 0); > return 0; > } > - > #ifdef CONFIG_OMAP_MUX > static struct omap_board_mux board_mux[] __initdata = { > { .reg_offset = OMAP_MUX_TERMINATOR }, > }; > + > +static struct omap_device_pad serial2_pads[] __initdata = { > + { .name = "uart2_cts.uart2_cts", > + .enable = OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, > + .flags = OMAP_DEVICE_PAD_REMUX_IDLE, > + .idle = OMAP_MUX_MODE7, > + }, > + { .name = "uart2_rts.uart2_rts", > + .enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, > + }, > + { .name = "uart2_rx.uart2_rx", > + .enable = OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, > + }, > + { .name = "uart2_tx.uart2_tx", > + .enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, > + }, > +}; > + > +static struct omap_device_pad serial3_pads[] __initdata = { > + { .name = "uart3_cts_rctx.uart3_cts_rctx", > + .enable = OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, > + }, > + { .name = "uart3_rts_sd.uart3_rts_sd", > + .enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, > + }, > + { .name = "uart3_rx_irrx.uart3_rx_irrx", > + .enable = OMAP_PIN_INPUT | OMAP_MUX_MODE0, > + }, > + { .name = "uart3_tx_irtx.uart3_tx_irtx", > + .enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, > + }, > +}; > + > +static struct omap_device_pad serial4_pads[] __initdata = { > + { .name = "uart4_rx.uart4_rx", > + .enable = OMAP_PIN_INPUT | OMAP_MUX_MODE0, > + }, > + { .name = "uart4_tx.uart4_tx", > + .enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, > + }, > +}; > + > +static struct omap_board_data serial2_data = { > + .id = 1, > + .pads = serial2_pads, > + .pads_cnt = ARRAY_SIZE(serial2_pads), > +}; > + > +static struct omap_board_data serial3_data = { > + .id = 2, > + .pads = serial3_pads, > + .pads_cnt = ARRAY_SIZE(serial3_pads), > +}; > + > +static struct omap_board_data serial4_data = { > + .id = 3, > + .pads = serial4_pads, > + .pads_cnt = ARRAY_SIZE(serial4_pads), > +}; > + > +static inline void board_serial_init(void) > +{ > + omap_serial_init_port(&serial2_data); > + omap_serial_init_port(&serial3_data); > + omap_serial_init_port(&serial4_data); > +} > #else > #define board_mux NULL > + > +static inline void board_serial_init(void) > +{ > + omap_serial_init(); > +} > #endif > > static void __init omap4_panda_init(void) You are changing the behavior with this patch. Original code configured all 4 UARTs, while it appears that your patch changes this to skip UART1. This is not explained in the changelog. Is this a deliberate change? Why would you want to do this? - Anand -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html