RE: [PATCH 4/5] omap4: board-omap4panda: Initialise the serial pads
Hi Tony, -Original Message- From: Tony Lindgren [mailto:t...@atomide.com] Sent: Thursday, February 24, 2011 12:20 AM To: sricharan Cc: linux-omap@vger.kernel.org; santosh.shilim...@ti.com; p...@pwsan.com Subject: Re: [PATCH 4/5] omap4: board-omap4panda: Initialise the serial pads * sricharan r.sricha...@ti.com [110127 21:05]: --- 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, +}, Here too please check the need for dynamic remuxing and update the patch if necessary. Actually there was not a need for remixing here. I added This for testing purpose.i will remove this and send an updated Patch. Regards, Tony -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/5] omap4: board-omap4panda: Initialise the serial pads
* sricharan r.sricha...@ti.com [110127 21:05]: --- 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, + }, Here too please check the need for dynamic remuxing and update the patch if necessary. Regards, Tony -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH 4/5] omap4: board-omap4panda: Initialise the serial pads
-Original Message- From: Anand Gadiyar [mailto:gadi...@ti.com] Sent: Saturday, January 29, 2011 2:23 AM To: Sricharan R; linux-omap@vger.kernel.org Cc: Santosh Shilimkar; t...@atomide.com; p...@pwsan.com Subject: RE: [PATCH 4/5] omap4: board-omap4panda: Initialise the serial pads Sricharan wrote: Use the mux framework to initialise the serial pads. Signed-off-by: sricharan r.sricha...@ti.com --- 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? I see that UART1 is not muxed out and all uart1 pads are all used for alternate functionalities. So I did not initialize UART1. However, there was a mistake with serial2 mux which I have corrected in version2. - Anand -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH 4/5] omap4: board-omap4panda: Initialise the serial pads
Sricharan wrote: Use the mux framework to initialise the serial pads. Signed-off-by: sricharan r.sricha...@ti.com --- 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_muxNULL + +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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html