Message ID | 1402329860-27520-8-git-send-email-boris.brezillon@free-electrons.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@f0028000 { > status = "okay"; > }; > + > + hlcdc: hlcdc@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. > + }; > + }; > }; > }; > Best Regards, Bo Shen
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@f0028000 { >> status = "okay"; >> }; >> + >> + hlcdc: hlcdc@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
diff --git a/arch/arm/boot/dts/sama5d31ek.dts b/arch/arm/boot/dts/sama5d31ek.dts index 04eec0d..338f4c3 100644 --- a/arch/arm/boot/dts/sama5d31ek.dts +++ b/arch/arm/boot/dts/sama5d31ek.dts @@ -33,6 +33,14 @@ status = "okay"; }; + hlcdc: hlcdc@f0030000 { + status = "okay"; + + hlcdc-display-controller { + atmel,panel = <&panel 3 0>; + }; + }; + macb1: ethernet@f802c000 { status = "okay"; }; @@ -46,6 +54,22 @@ }; }; + bl_reg: backlight_regulator { + status = "okay"; + }; + + panel_reg: panel_regulator { + status = "okay"; + }; + + backlight: backlight { + status = "okay"; + }; + + panel: panel { + status = "okay"; + }; + sound { status = "okay"; }; 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@f0028000 { status = "okay"; }; + + hlcdc: hlcdc@f0030000 { + status = "okay"; + + hlcdc-display-controller { + atmel,panel = <&panel 3 0>; + }; + }; }; }; + bl_reg: backlight_regulator { + status = "okay"; + }; + + panel_reg: panel_regulator { + status = "okay"; + }; + + backlight: backlight { + status = "okay"; + }; + + panel: panel { + status = "okay"; + }; + sound { status = "okay"; }; diff --git a/arch/arm/boot/dts/sama5d34ek.dts b/arch/arm/boot/dts/sama5d34ek.dts index 878aa16..0d0049c 100644 --- a/arch/arm/boot/dts/sama5d34ek.dts +++ b/arch/arm/boot/dts/sama5d34ek.dts @@ -46,6 +46,14 @@ macb0: ethernet@f0028000 { status = "okay"; }; + + hlcdc: hlcdc@f0030000 { + status = "okay"; + + hlcdc-display-controller { + atmel,panel = <&panel 3 0>; + }; + }; }; }; @@ -56,6 +64,22 @@ }; }; + bl_reg: backlight_regulator { + status = "okay"; + }; + + panel_reg: panel_regulator { + status = "okay"; + }; + + backlight: backlight { + status = "okay"; + }; + + panel: panel { + status = "okay"; + }; + sound { status = "okay"; }; diff --git a/arch/arm/boot/dts/sama5d36ek.dts b/arch/arm/boot/dts/sama5d36ek.dts index 59576c6..8350358 100644 --- a/arch/arm/boot/dts/sama5d36ek.dts +++ b/arch/arm/boot/dts/sama5d36ek.dts @@ -41,12 +41,36 @@ status = "okay"; }; + hlcdc: hlcdc@f0030000 { + status = "okay"; + + hlcdc-display-controller { + atmel,panel = <&panel 3 0>; + }; + }; + macb1: ethernet@f802c000 { status = "okay"; }; }; }; + bl_reg: backlight_regulator { + status = "okay"; + }; + + panel_reg: panel_regulator { + status = "okay"; + }; + + backlight: backlight { + status = "okay"; + }; + + panel: panel { + status = "okay"; + }; + sound { status = "okay"; };
Enable LCD related nodes and reference panel node in the hlcdc (High LCD Controller) controller on sama5d3xek boards. Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com> --- arch/arm/boot/dts/sama5d31ek.dts | 24 ++++++++++++++++++++++++ arch/arm/boot/dts/sama5d33ek.dts | 24 ++++++++++++++++++++++++ arch/arm/boot/dts/sama5d34ek.dts | 24 ++++++++++++++++++++++++ arch/arm/boot/dts/sama5d36ek.dts | 24 ++++++++++++++++++++++++ 4 files changed, 96 insertions(+)