Hi Boris,

On 06/10/2014 12:04 AM, Boris BREZILLON wrote:
> The HLCDC (High LCD Controller) IP supports 4 different output mode
> (RGB444, RGB565, RGB666 and RGB888) and the pin muxing depends on the
> chosen RGB mode.
>
> Split the pin definition to be able to set the pin config according to the
> selected mode.
>
> Signed-off-by: Boris BREZILLON <boris.brezillon at free-electrons.com>
> ---
>   arch/arm/boot/dts/sama5d3_lcd.dtsi | 127 
> ++++++++++++++++++++++++++++---------
>   1 file changed, 96 insertions(+), 31 deletions(-)

On sama5d3xek board, it only works in 24bits output mode. And it depends 
on the hardware design. So, I think only keep only one pinctrl 
configuration.

Best Regards,
Bo Shen

> diff --git a/arch/arm/boot/dts/sama5d3_lcd.dtsi 
> b/arch/arm/boot/dts/sama5d3_lcd.dtsi
> index 85d3027..2186b89 100644
> --- a/arch/arm/boot/dts/sama5d3_lcd.dtsi
> +++ b/arch/arm/boot/dts/sama5d3_lcd.dtsi
> @@ -15,38 +15,103 @@
>               apb {
>                       pinctrl at fffff200 {
>                               lcd {
> -                                     pinctrl_lcd: lcd-0 {
> +                                     pinctrl_lcd_pwm: lcd-pwm-0 {
> +                                             atmel,pins = <AT91_PIOA 24 
> AT91_PERIPH_A AT91_PINCTRL_NONE>;    /* LCDPWM */
> +                                     };
> +
> +                                     pinctrl_lcd_base: lcd-base-0 {
> +                                             atmel,pins =
> +                                                     <AT91_PIOA 26 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDVSYNC */
> +                                                      AT91_PIOA 27 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDHSYNC */
> +                                                      AT91_PIOA 25 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDDISP */
> +                                                      AT91_PIOA 29 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDDEN */
> +                                                      AT91_PIOA 28 
> AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPCK */
> +                                     };
> +
> +                                     pinctrl_lcd_rgb444: lcd-rgb-0 {
> +                                             atmel,pins =
> +                                                     <AT91_PIOA 0 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD0 pin */
> +                                                      AT91_PIOA 1 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD1 pin */
> +                                                      AT91_PIOA 2 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD2 pin */
> +                                                      AT91_PIOA 3 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD3 pin */
> +                                                      AT91_PIOA 4 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD4 pin */
> +                                                      AT91_PIOA 5 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD5 pin */
> +                                                      AT91_PIOA 6 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD6 pin */
> +                                                      AT91_PIOA 7 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD7 pin */
> +                                                      AT91_PIOA 8 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD8 pin */
> +                                                      AT91_PIOA 9 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD9 pin */
> +                                                      AT91_PIOA 10 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD10 pin */
> +                                                      AT91_PIOA 11 
> AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD11 pin */
> +                                     };
> +
> +                                     pinctrl_lcd_rgb565: lcd-rgb-1 {
> +                                             atmel,pins =
> +                                                     <AT91_PIOA 0 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD0 pin */
> +                                                      AT91_PIOA 1 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD1 pin */
> +                                                      AT91_PIOA 2 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD2 pin */
> +                                                      AT91_PIOA 3 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD3 pin */
> +                                                      AT91_PIOA 4 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD4 pin */
> +                                                      AT91_PIOA 5 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD5 pin */
> +                                                      AT91_PIOA 6 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD6 pin */
> +                                                      AT91_PIOA 7 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD7 pin */
> +                                                      AT91_PIOA 8 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD8 pin */
> +                                                      AT91_PIOA 9 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD9 pin */
> +                                                      AT91_PIOA 10 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD10 pin */
> +                                                      AT91_PIOA 11 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD11 pin */
> +                                                      AT91_PIOA 12 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD12 pin */
> +                                                      AT91_PIOA 13 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD13 pin */
> +                                                      AT91_PIOA 14 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD14 pin */
> +                                                      AT91_PIOA 15 
> AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD15 pin */
> +                                     };
> +
> +                                     pinctrl_lcd_rgb666: lcd-rgb-2 {
> +                                             atmel,pins =
> +                                                     <AT91_PIOA 0 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD0 pin */
> +                                                      AT91_PIOA 1 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD1 pin */
> +                                                      AT91_PIOA 2 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD2 pin */
> +                                                      AT91_PIOA 3 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD3 pin */
> +                                                      AT91_PIOA 4 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD4 pin */
> +                                                      AT91_PIOA 5 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD5 pin */
> +                                                      AT91_PIOA 6 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD6 pin */
> +                                                      AT91_PIOA 7 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD7 pin */
> +                                                      AT91_PIOA 8 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD8 pin */
> +                                                      AT91_PIOA 9 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD9 pin */
> +                                                      AT91_PIOA 10 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD10 pin */
> +                                                      AT91_PIOA 11 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD11 pin */
> +                                                      AT91_PIOA 12 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD12 pin */
> +                                                      AT91_PIOA 13 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD13 pin */
> +                                                      AT91_PIOA 14 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD14 pin */
> +                                                      AT91_PIOA 15 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD15 pin */
> +                                                      AT91_PIOC 14 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD16 pin */
> +                                                      AT91_PIOC 13 
> AT91_PERIPH_C AT91_PINCTRL_NONE>; /* LCDD17 pin */
> +                                     };
> +
> +                                     pinctrl_lcd_rgb888: lcd-rgb-3 {
>                                               atmel,pins =
> -                                                     <AT91_PIOA 24 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA24 periph A LCDPWM */
> -                                                      AT91_PIOA 26 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA26 periph A LCDVSYNC */
> -                                                      AT91_PIOA 27 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA27 periph A LCDHSYNC */
> -                                                      AT91_PIOA 25 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA25 periph A LCDDISP */
> -                                                      AT91_PIOA 29 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA29 periph A LCDDEN */
> -                                                      AT91_PIOA 28 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA28 periph A LCDPCK */
> -                                                      AT91_PIOA 0 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA0 periph A LCDD0 pin */
> -                                                      AT91_PIOA 1 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA1 periph A LCDD1 pin */
> -                                                      AT91_PIOA 2 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA2 periph A LCDD2 pin */
> -                                                      AT91_PIOA 3 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA3 periph A LCDD3 pin */
> -                                                      AT91_PIOA 4 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA4 periph A LCDD4 pin */
> -                                                      AT91_PIOA 5 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA5 periph A LCDD5 pin */
> -                                                      AT91_PIOA 6 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA6 periph A LCDD6 pin */
> -                                                      AT91_PIOA 7 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA7 periph A LCDD7 pin */
> -                                                      AT91_PIOA 8 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA8 periph A LCDD8 pin */
> -                                                      AT91_PIOA 9 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA9 periph A LCDD9 pin */
> -                                                      AT91_PIOA 10 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA10 periph A LCDD10 pin */
> -                                                      AT91_PIOA 11 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA11 periph A LCDD11 pin */
> -                                                      AT91_PIOA 12 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA12 periph A LCDD12 pin */
> -                                                      AT91_PIOA 13 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA13 periph A LCDD13 pin */
> -                                                      AT91_PIOA 14 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA14 periph A LCDD14 pin */
> -                                                      AT91_PIOA 15 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA15 periph A LCDD15 pin */
> -                                                      AT91_PIOC 14 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC14 periph C LCDD16 pin */
> -                                                      AT91_PIOC 13 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC13 periph C LCDD17 pin */
> -                                                      AT91_PIOC 12 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC12 periph C LCDD18 pin */
> -                                                      AT91_PIOC 11 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC11 periph C LCDD19 pin */
> -                                                      AT91_PIOC 10 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC10 periph C LCDD20 pin */
> -                                                      AT91_PIOC 15 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC15 periph C LCDD21 pin */
> -                                                      AT91_PIOE 27 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* PE27 periph C LCDD22 pin */
> -                                                      AT91_PIOE 28 
> AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PE28 periph C LCDD23 pin */
> +                                                     <AT91_PIOA 0 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD0 pin */
> +                                                      AT91_PIOA 1 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD1 pin */
> +                                                      AT91_PIOA 2 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD2 pin */
> +                                                      AT91_PIOA 3 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD3 pin */
> +                                                      AT91_PIOA 4 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD4 pin */
> +                                                      AT91_PIOA 5 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD5 pin */
> +                                                      AT91_PIOA 6 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD6 pin */
> +                                                      AT91_PIOA 7 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD7 pin */
> +                                                      AT91_PIOA 8 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD8 pin */
> +                                                      AT91_PIOA 9 
> AT91_PERIPH_A AT91_PINCTRL_NONE    /* LCDD9 pin */
> +                                                      AT91_PIOA 10 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD10 pin */
> +                                                      AT91_PIOA 11 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD11 pin */
> +                                                      AT91_PIOA 12 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD12 pin */
> +                                                      AT91_PIOA 13 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD13 pin */
> +                                                      AT91_PIOA 14 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD14 pin */
> +                                                      AT91_PIOA 15 
> AT91_PERIPH_A AT91_PINCTRL_NONE   /* LCDD15 pin */
> +                                                      AT91_PIOC 14 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD16 pin */
> +                                                      AT91_PIOC 13 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD17 pin */
> +                                                      AT91_PIOC 12 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD18 pin */
> +                                                      AT91_PIOC 11 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD19 pin */
> +                                                      AT91_PIOC 10 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD20 pin */
> +                                                      AT91_PIOC 15 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD21 pin */
> +                                                      AT91_PIOE 27 
> AT91_PERIPH_C AT91_PINCTRL_NONE   /* LCDD22 pin */
> +                                                      AT91_PIOE 28 
> AT91_PERIPH_C AT91_PINCTRL_NONE>; /* LCDD23 pin */
>                                       };
>                               };
>                       };
>

Reply via email to