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 */ > }; > }; > }; >