On 19/06/2014 09:12, Bo Shen wrote: > Hi Boris, > > On 06/10/2014 12:04 AM, Boris BREZILLON wrote: >> diff --git a/arch/arm/boot/dts/sama5d33ek.dts >> b/arch/arm/boot/dts/sama5d33ek.dts >> index cbd6a3f..f2ab41d 100644 >> --- a/arch/arm/boot/dts/sama5d33ek.dts >> +++ b/arch/arm/boot/dts/sama5d33ek.dts >> @@ -36,9 +36,33 @@ >> macb0: ethernet at f0028000 { >> status = "okay"; >> }; >> + >> + hlcdc: hlcdc at f0030000 { >> + status = "okay"; >> + >> + hlcdc-display-controller { >> + atmel,panel = <&panel 3 0>; > > One question here, in the driver code, it will configuration the frame > buffer mode depends on this parameter. > So, my question is if the framebuffer bits per pixel is different with > output bits per pixel, how to setting it? > > For example, frame buffer use 16 bits/pixel, while output 24 bits/pixel.
Actually the HLCDC is responsible for converting input format (either RGB or YUV) to output format (one of the four supported RGB formats). AFAICT, the HLCDC always converts the input format in RGB888 and then only use the relevant bits (i.e. if the output is RGB565, it will only takes MSB for each color). The REP field (available in all layer, e.g. LCDC_BASECFG4 for the base layer) is here to tell how the HLCDC should expand to 24 bits format. All this means that we don't have to bother about input to output format conversion. > >> + }; >> + }; >> }; >> }; >> > > Best Regards, > Bo Shen -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com