[PATCH v2 03/12] OMAP2+: Serial: Add default mux for all uarts.

Tony Lindgren tony at atomide.com
Wed May 4 06:00:51 EDT 2011


* Govindraj.R <govindraj.raja at ti.com> [110429 05:39]:
> Add default mux data for all uarts if mux info is not passed from
> board file to avoid breaking any board support.

This should only happen if omap_serial_init is called,
then boards can still use platform data with omap_serial_init_port.
 
> --- a/arch/arm/mach-omap2/serial.c
> +++ b/arch/arm/mach-omap2/serial.c
> @@ -66,6 +66,129 @@ static struct omap_device_pm_latency omap_uart_latency[] = {
>  	},
>  };
>  
> +#ifdef CONFIG_OMAP_MUX
> +static struct omap_device_pad default_uart1_pads[] __initdata = {
> +	{
> +		.name	= "uart1_cts.uart1_cts",
> +		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart1_rts.uart1_rts",
> +		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart1_tx.uart1_tx",
> +		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart1_rx.uart1_rx",
> +		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP,
> +		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0,
> +	},
> +};
> +
> +static struct omap_device_pad default_uart2_pads[] __initdata = {
> +	{
> +		.name	= "uart2_cts.uart2_cts",
> +		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart2_rts.uart2_rts",
> +		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart2_tx.uart2_tx",
> +		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart2_rx.uart2_rx",
> +		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP,
> +		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0,
> +	},
> +};
> +
> +static struct omap_device_pad default_uart3_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_tx_irtx.uart3_tx_irtx",
> +		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart3_rx_irrx.uart3_rx_irrx",
> +		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP,
> +		.enable	= OMAP_PIN_INPUT | OMAP_MUX_MODE0,
> +	},
> +};
> +
> +static struct omap_device_pad default_omap36xx_uart4_pads[] __initdata = {
> +	{
> +		.name   = "gpmc_wait2.uart4_tx",
> +		.enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "gpmc_wait3.uart4_rx",
> +		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP,
> +		.enable	= OMAP_PIN_INPUT | OMAP_MUX_MODE2,
> +	},
> +};
> +
> +static struct omap_device_pad default_omap4_uart4_pads[] __initdata = {
> +	{
> +		.name	= "uart4_tx.uart4_tx",
> +		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0,
> +	},
> +	{
> +		.name	= "uart4_rx.uart4_rx",
> +		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP,
> +		.enable	= OMAP_PIN_INPUT | OMAP_MUX_MODE0,
> +	},

Looks like you could easily allocate the struct and use sprintf
to generate this as needed to avoid duplication.

Tony



More information about the linux-arm-kernel mailing list