diff mbox

[RFC] ARM: dts: sun8i: add simplefb node for H3

Message ID 20161128095900.27615-1-icenowy@aosc.xyz (mailing list archive)
State New, archived
Headers show

Commit Message

Icenowy Zheng Nov. 28, 2016, 9:59 a.m. UTC
As there's currently a fork of U-Boot which provides simplefb support
for H3, a simplefb node can be added to the device tree.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
---

I'm still not sure which pipeline should I use.

And, it seems that HDMI Slow Clock is not needed?

(seems that it's only for EDID, but simplefb won't use EDID)

 arch/arm/boot/dts/sun8i-h3.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

Chen-Yu Tsai Nov. 28, 2016, 10:06 a.m. UTC | #1
On Mon, Nov 28, 2016 at 5:59 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
> As there's currently a fork of U-Boot which provides simplefb support

Please add it when its finalized...

> for H3, a simplefb node can be added to the device tree.
>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> ---
>
> I'm still not sure which pipeline should I use.

You are supposed to add _all_ the pipelines that are available and
supported by U-boot. U-boot is then supposed to enable and update
the one it set up.

ChenYu

>
> And, it seems that HDMI Slow Clock is not needed?
>
> (seems that it's only for EDID, but simplefb won't use EDID)
>
>  arch/arm/boot/dts/sun8i-h3.dtsi | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
> index 75a8654..cacc8dd 100644
> --- a/arch/arm/boot/dts/sun8i-h3.dtsi
> +++ b/arch/arm/boot/dts/sun8i-h3.dtsi
> @@ -50,6 +50,22 @@
>  / {
>         interrupt-parent = <&gic>;
>
> +       chosen {
> +               #address-cells = <1>;
> +               #size-cells = <1>;
> +               ranges;
> +
> +               simplefb_hdmi: framebuffer@0 {
> +                       compatible = "allwinner,simple-framebuffer",
> +                                    "simple-framebuffer";
> +                       allwinner,pipeline = "de0-lcd0-hdmi";
> +                       clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_BUS_DE>,
> +                                <&ccu CLK_BUS_HDMI>, <&ccu CLK_DE>,
> +                                <&ccu CLK_TCON0>, <&ccu CLK_HDMI>;
> +                       status = "disabled";
> +               };
> +       };
> +
>         cpus {
>                 #address-cells = <1>;
>                 #size-cells = <0>;
> --
> 2.10.2
>
Icenowy Zheng Nov. 28, 2016, 10:19 a.m. UTC | #2
28.11.2016, 18:07, "Chen-Yu Tsai" <wens@csie.org>:
> On Mon, Nov 28, 2016 at 5:59 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
>>  As there's currently a fork of U-Boot which provides simplefb support
>
> Please add it when its finalized...
>
>>  for H3, a simplefb node can be added to the device tree.
>>
>>  Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
>>  ---
>>
>>  I'm still not sure which pipeline should I use.
>
> You are supposed to add _all_ the pipelines that are available and
> supported by U-boot. U-boot is then supposed to enable and update
> the one it set up.

I mean the pipeline string ;-)

>
> ChenYu
>
>>  And, it seems that HDMI Slow Clock is not needed?
>>
>>  (seems that it's only for EDID, but simplefb won't use EDID)
>>
>>   arch/arm/boot/dts/sun8i-h3.dtsi | 16 ++++++++++++++++
>>   1 file changed, 16 insertions(+)
>>
>>  diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
>>  index 75a8654..cacc8dd 100644
>>  --- a/arch/arm/boot/dts/sun8i-h3.dtsi
>>  +++ b/arch/arm/boot/dts/sun8i-h3.dtsi
>>  @@ -50,6 +50,22 @@
>>   / {
>>          interrupt-parent = <&gic>;
>>
>>  + chosen {
>>  + #address-cells = <1>;
>>  + #size-cells = <1>;
>>  + ranges;
>>  +
>>  + simplefb_hdmi: framebuffer@0 {
>>  + compatible = "allwinner,simple-framebuffer",
>>  + "simple-framebuffer";
>>  + allwinner,pipeline = "de0-lcd0-hdmi";
>>  + clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_BUS_DE>,
>>  + <&ccu CLK_BUS_HDMI>, <&ccu CLK_DE>,
>>  + <&ccu CLK_TCON0>, <&ccu CLK_HDMI>;
>>  + status = "disabled";
>>  + };
>>  + };
>>  +
>>          cpus {
>>                  #address-cells = <1>;
>>                  #size-cells = <0>;
>>  --
>>  2.10.2
Chen-Yu Tsai Nov. 28, 2016, 10:24 a.m. UTC | #3
On Mon, Nov 28, 2016 at 6:19 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
>
>
> 28.11.2016, 18:07, "Chen-Yu Tsai" <wens@csie.org>:
>> On Mon, Nov 28, 2016 at 5:59 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
>>>  As there's currently a fork of U-Boot which provides simplefb support
>>
>> Please add it when its finalized...
>>
>>>  for H3, a simplefb node can be added to the device tree.
>>>
>>>  Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
>>>  ---
>>>
>>>  I'm still not sure which pipeline should I use.
>>
>> You are supposed to add _all_ the pipelines that are available and
>> supported by U-boot. U-boot is then supposed to enable and update
>> the one it set up.
>
> I mean the pipeline string ;-)

Looks good to me. There's no separate frontend/backend in DE 2.0.

ChenYu

>
>>
>> ChenYu
>>
>>>  And, it seems that HDMI Slow Clock is not needed?
>>>
>>>  (seems that it's only for EDID, but simplefb won't use EDID)
>>>
>>>   arch/arm/boot/dts/sun8i-h3.dtsi | 16 ++++++++++++++++
>>>   1 file changed, 16 insertions(+)
>>>
>>>  diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
>>>  index 75a8654..cacc8dd 100644
>>>  --- a/arch/arm/boot/dts/sun8i-h3.dtsi
>>>  +++ b/arch/arm/boot/dts/sun8i-h3.dtsi
>>>  @@ -50,6 +50,22 @@
>>>   / {
>>>          interrupt-parent = <&gic>;
>>>
>>>  + chosen {
>>>  + #address-cells = <1>;
>>>  + #size-cells = <1>;
>>>  + ranges;
>>>  +
>>>  + simplefb_hdmi: framebuffer@0 {
>>>  + compatible = "allwinner,simple-framebuffer",
>>>  + "simple-framebuffer";
>>>  + allwinner,pipeline = "de0-lcd0-hdmi";
>>>  + clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_BUS_DE>,
>>>  + <&ccu CLK_BUS_HDMI>, <&ccu CLK_DE>,
>>>  + <&ccu CLK_TCON0>, <&ccu CLK_HDMI>;
>>>  + status = "disabled";
>>>  + };
>>>  + };
>>>  +
>>>          cpus {
>>>                  #address-cells = <1>;
>>>                  #size-cells = <0>;
>>>  --
>>>  2.10.2
>
> --
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Jean-Francois Moine Nov. 28, 2016, 10:42 a.m. UTC | #4
On Mon, 28 Nov 2016 17:59:00 +0800
Icenowy Zheng <icenowy@aosc.xyz> wrote:

> As there's currently a fork of U-Boot which provides simplefb support
> for H3, a simplefb node can be added to the device tree.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> ---
> 
> I'm still not sure which pipeline should I use.
> 
> And, it seems that HDMI Slow Clock is not needed?
> 
> (seems that it's only for EDID, but simplefb won't use EDID)

So, I don't see how this may work.
How can the u-boot know the resolutions of the HDMI display device?

In other words: I have a new H3 board with the last u-boot and kernel.
I plug my (rather old or brand new) HDMI display device.
After powering on the system, I hope to get something on the screen.
How?
Maxime Ripard Nov. 29, 2016, 9:43 p.m. UTC | #5
On Mon, Nov 28, 2016 at 06:24:24PM +0800, Chen-Yu Tsai wrote:
> On Mon, Nov 28, 2016 at 6:19 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
> >
> >
> > 28.11.2016, 18:07, "Chen-Yu Tsai" <wens@csie.org>:
> >> On Mon, Nov 28, 2016 at 5:59 PM, Icenowy Zheng <icenowy@aosc.xyz> wrote:
> >>>  As there's currently a fork of U-Boot which provides simplefb support
> >>
> >> Please add it when its finalized...
> >>
> >>>  for H3, a simplefb node can be added to the device tree.
> >>>
> >>>  Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> >>>  ---
> >>>
> >>>  I'm still not sure which pipeline should I use.
> >>
> >> You are supposed to add _all_ the pipelines that are available and
> >> supported by U-boot. U-boot is then supposed to enable and update
> >> the one it set up.
> >
> > I mean the pipeline string ;-)
> 
> Looks good to me. There's no separate frontend/backend in DE 2.0.

It looks good to me too.

Maxime
Maxime Ripard Nov. 29, 2016, 9:59 p.m. UTC | #6
On Mon, Nov 28, 2016 at 11:42:18AM +0100, Jean-Francois Moine wrote:
> On Mon, 28 Nov 2016 17:59:00 +0800
> Icenowy Zheng <icenowy@aosc.xyz> wrote:
> 
> > As there's currently a fork of U-Boot which provides simplefb support
> > for H3, a simplefb node can be added to the device tree.
> > 
> > Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
> > ---
> > 
> > I'm still not sure which pipeline should I use.
> > 
> > And, it seems that HDMI Slow Clock is not needed?
> > 
> > (seems that it's only for EDID, but simplefb won't use EDID)
> 
> So, I don't see how this may work.
> How can the u-boot know the resolutions of the HDMI display device?
> 
> In other words: I have a new H3 board with the last u-boot and kernel.
> I plug my (rather old or brand new) HDMI display device.
> After powering on the system, I hope to get something on the screen.
> How?

If it works like the driver for the first display engine in U-Boot, it
will use the preferred mode reported by the EDID, and will fallback to
1024x768 if it cannot access it.

Maybe it would be worth exchanging on the EDID code that has been done
for the u-boot driver too, so that it can be fixed in your driver.

Maxime
Jean-Francois Moine Nov. 30, 2016, 9:35 a.m. UTC | #7
On Tue, 29 Nov 2016 22:59:32 +0100
Maxime Ripard <maxime.ripard@free-electrons.com> wrote:

> > > I'm still not sure which pipeline should I use.
> > > 
> > > And, it seems that HDMI Slow Clock is not needed?
> > > 
> > > (seems that it's only for EDID, but simplefb won't use EDID)
> > 
> > So, I don't see how this may work.
> > How can the u-boot know the resolutions of the HDMI display device?
> > 
> > In other words: I have a new H3 board with the last u-boot and kernel.
> > I plug my (rather old or brand new) HDMI display device.
> > After powering on the system, I hope to get something on the screen.
> > How?
> 
> If it works like the driver for the first display engine in U-Boot, it
> will use the preferred mode reported by the EDID, and will fallback to
> 1024x768 if it cannot access it.

Icenowy wrote: "simplefb won't use EDID"

Then, if it is like in the kernel, the 1024x768 mode is VGA. It does
not work with HDMI (different timings).

> Maybe it would be worth exchanging on the EDID code that has been done
> for the u-boot driver too, so that it can be fixed in your driver.

The u-boot got my code, and, up to now, I could not fix the random or
permanent failures of EDID reading in some boards.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
index 75a8654..cacc8dd 100644
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -50,6 +50,22 @@ 
 / {
 	interrupt-parent = <&gic>;
 
+	chosen {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		simplefb_hdmi: framebuffer@0 {
+			compatible = "allwinner,simple-framebuffer",
+				     "simple-framebuffer";
+			allwinner,pipeline = "de0-lcd0-hdmi";
+			clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_BUS_DE>,
+				 <&ccu CLK_BUS_HDMI>, <&ccu CLK_DE>,
+				 <&ccu CLK_TCON0>, <&ccu CLK_HDMI>;
+			status = "disabled";
+		};
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;