Message ID | 20180904044053.15425-12-icenowy@aosc.io (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: allwinner: Add A64 DE2 HDMI support | expand |
On Tue, Sep 4, 2018 at 10:10 AM, Icenowy Zheng <icenowy@aosc.io> wrote: > From: Jagan Teki <jagan@amarulasolutions.com> > > Enable all necessary device tree nodes and add connector node to device > trees for all supported A64 boards with HDMI. > > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > [Icenowy: squash all board patches altogether and change supply name] > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > --- > Changes in v4: > - Rebase some device trees. > Changes in v3,1: > - Squash all enablement patches altogether. > - Change supply name to match DT binding & driver change. > Changes for v3: > - Enable all pipeline components > Changes for v2: > - none > > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++ > .../dts/allwinner/sun50i-a64-nanopi-a64.dts | 34 +++++++++++++++++++ > .../dts/allwinner/sun50i-a64-olinuxino.dts | 34 +++++++++++++++++++ > .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++ > .../boot/dts/allwinner/sun50i-a64-pine64.dts | 34 +++++++++++++++++++ > .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++ > 6 files changed, 204 insertions(+) Tested-by: Jagan Teki <jagan@amarulasolutions.com> # BPI-M64, OPI-Win, A64-Olinuxino, NPI-A64 Pine64 boards look unable by saying [drm] Cannot find any crtc or sizes May be someone can confirm, it.
On Wed, Sep 05, 2018 at 12:56:03PM +0530, Jagan Teki wrote: > On Tue, Sep 4, 2018 at 10:10 AM, Icenowy Zheng <icenowy@aosc.io> wrote: > > From: Jagan Teki <jagan@amarulasolutions.com> > > > > Enable all necessary device tree nodes and add connector node to device > > trees for all supported A64 boards with HDMI. > > > > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > > [Icenowy: squash all board patches altogether and change supply name] > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > > --- > > Changes in v4: > > - Rebase some device trees. > > Changes in v3,1: > > - Squash all enablement patches altogether. > > - Change supply name to match DT binding & driver change. > > Changes for v3: > > - Enable all pipeline components > > Changes for v2: > > - none > > > > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++ > > .../dts/allwinner/sun50i-a64-nanopi-a64.dts | 34 +++++++++++++++++++ > > .../dts/allwinner/sun50i-a64-olinuxino.dts | 34 +++++++++++++++++++ > > .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++ > > .../boot/dts/allwinner/sun50i-a64-pine64.dts | 34 +++++++++++++++++++ > > .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++ > > 6 files changed, 204 insertions(+) > > Tested-by: Jagan Teki <jagan@amarulasolutions.com> # BPI-M64, OPI-Win, > A64-Olinuxino, NPI-A64 > > Pine64 boards look unable by saying > [drm] Cannot find any crtc or sizes > > May be someone can confirm, it. Then we should drop the pine64 additions until someone figures it out, as it has been already discussed. Maxime
On Wed, Sep 5, 2018 at 1:21 PM, Maxime Ripard <maxime.ripard@bootlin.com> wrote: > On Wed, Sep 05, 2018 at 12:56:03PM +0530, Jagan Teki wrote: >> On Tue, Sep 4, 2018 at 10:10 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >> > From: Jagan Teki <jagan@amarulasolutions.com> >> > >> > Enable all necessary device tree nodes and add connector node to device >> > trees for all supported A64 boards with HDMI. >> > >> > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> >> > [Icenowy: squash all board patches altogether and change supply name] >> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >> > --- >> > Changes in v4: >> > - Rebase some device trees. >> > Changes in v3,1: >> > - Squash all enablement patches altogether. >> > - Change supply name to match DT binding & driver change. >> > Changes for v3: >> > - Enable all pipeline components >> > Changes for v2: >> > - none >> > >> > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++ >> > .../dts/allwinner/sun50i-a64-nanopi-a64.dts | 34 +++++++++++++++++++ >> > .../dts/allwinner/sun50i-a64-olinuxino.dts | 34 +++++++++++++++++++ >> > .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++ >> > .../boot/dts/allwinner/sun50i-a64-pine64.dts | 34 +++++++++++++++++++ >> > .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++ >> > 6 files changed, 204 insertions(+) >> >> Tested-by: Jagan Teki <jagan@amarulasolutions.com> # BPI-M64, OPI-Win, >> A64-Olinuxino, NPI-A64 >> >> Pine64 boards look unable by saying >> [drm] Cannot find any crtc or sizes >> >> May be someone can confirm, it. > > Then we should drop the pine64 additions until someone figures it out, > as it has been already discussed. That is fine, but If anyone have pine64 can confirm this.
I can test it tonight. On Wed, Sep 5, 2018 at 12:57 AM, Jagan Teki <jagan@amarulasolutions.com> wrote: > On Wed, Sep 5, 2018 at 1:21 PM, Maxime Ripard <maxime.ripard@bootlin.com> wrote: >> On Wed, Sep 05, 2018 at 12:56:03PM +0530, Jagan Teki wrote: >>> On Tue, Sep 4, 2018 at 10:10 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >>> > From: Jagan Teki <jagan@amarulasolutions.com> >>> > >>> > Enable all necessary device tree nodes and add connector node to device >>> > trees for all supported A64 boards with HDMI. >>> > >>> > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> >>> > [Icenowy: squash all board patches altogether and change supply name] >>> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >>> > --- >>> > Changes in v4: >>> > - Rebase some device trees. >>> > Changes in v3,1: >>> > - Squash all enablement patches altogether. >>> > - Change supply name to match DT binding & driver change. >>> > Changes for v3: >>> > - Enable all pipeline components >>> > Changes for v2: >>> > - none >>> > >>> > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++ >>> > .../dts/allwinner/sun50i-a64-nanopi-a64.dts | 34 +++++++++++++++++++ >>> > .../dts/allwinner/sun50i-a64-olinuxino.dts | 34 +++++++++++++++++++ >>> > .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++ >>> > .../boot/dts/allwinner/sun50i-a64-pine64.dts | 34 +++++++++++++++++++ >>> > .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++ >>> > 6 files changed, 204 insertions(+) >>> >>> Tested-by: Jagan Teki <jagan@amarulasolutions.com> # BPI-M64, OPI-Win, >>> A64-Olinuxino, NPI-A64 >>> >>> Pine64 boards look unable by saying >>> [drm] Cannot find any crtc or sizes >>> >>> May be someone can confirm, it. >> >> Then we should drop the pine64 additions until someone figures it out, >> as it has been already discussed. > > That is fine, but If anyone have pine64 can confirm this. > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Wed, Sep 5, 2018 at 3:53 PM, Vasily Khoruzhick <anarsoul@gmail.com> wrote: > I can test it tonight. It works fine for me on pine64-lts with HDMI monitor: [ 1.969772] sun4i-drm display-engine: bound 1100000.mixer (ops sun8i_mixer_ops) [ 1.979302] sun4i-drm display-engine: bound 1200000.mixer (ops sun8i_mixer_ops) [ 1.979738] sun4i-drm display-engine: No panel or bridge found... RGB output disabled [ 1.979755] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops sun4i_tcon_ops) [ 1.979935] sun4i-drm display-engine: bound 1c0d000.lcd-controller (ops sun4i_tcon_ops) [ 1.980017] sun4i-drm display-engine: failed to bind 1ee0000.hdmi (ops sun8i_dw_hdmi_ops): -517 [ 1.980306] sun4i-drm display-engine: Couldn't bind all pipelines components [ 1.980446] sun4i-drm display-engine: master bind failed: -517 [ 4.230997] sun4i-drm display-engine: bound 1100000.mixer (ops sun8i_mixer_ops) [ 4.247886] sun4i-drm display-engine: bound 1200000.mixer (ops sun8i_mixer_ops) [ 4.255639] sun4i-drm display-engine: No panel or bridge found... RGB output disabled [ 4.263482] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops sun4i_tcon_ops) [ 4.283255] sun4i-drm display-engine: bound 1c0d000.lcd-controller (ops sun4i_tcon_ops) [ 4.322055] sun4i-drm display-engine: bound 1ee0000.hdmi (ops sun8i_dw_hdmi_ops) [ 4.342115] fb: switching to sun4i-drm-fb from simple [ 5.001434] sun4i-drm display-engine: fb0: DRM emulated frame buffer device [ 5.008933] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0 I tested non-applied patches from this series on top of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi/for-next Tested-by: Vasily Khoruzhick <anarsoul@gmail.com> > > On Wed, Sep 5, 2018 at 12:57 AM, Jagan Teki <jagan@amarulasolutions.com> wrote: >> On Wed, Sep 5, 2018 at 1:21 PM, Maxime Ripard <maxime.ripard@bootlin.com> wrote: >>> On Wed, Sep 05, 2018 at 12:56:03PM +0530, Jagan Teki wrote: >>>> On Tue, Sep 4, 2018 at 10:10 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >>>> > From: Jagan Teki <jagan@amarulasolutions.com> >>>> > >>>> > Enable all necessary device tree nodes and add connector node to device >>>> > trees for all supported A64 boards with HDMI. >>>> > >>>> > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> >>>> > [Icenowy: squash all board patches altogether and change supply name] >>>> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >>>> > --- >>>> > Changes in v4: >>>> > - Rebase some device trees. >>>> > Changes in v3,1: >>>> > - Squash all enablement patches altogether. >>>> > - Change supply name to match DT binding & driver change. >>>> > Changes for v3: >>>> > - Enable all pipeline components >>>> > Changes for v2: >>>> > - none >>>> > >>>> > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++ >>>> > .../dts/allwinner/sun50i-a64-nanopi-a64.dts | 34 +++++++++++++++++++ >>>> > .../dts/allwinner/sun50i-a64-olinuxino.dts | 34 +++++++++++++++++++ >>>> > .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++ >>>> > .../boot/dts/allwinner/sun50i-a64-pine64.dts | 34 +++++++++++++++++++ >>>> > .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++ >>>> > 6 files changed, 204 insertions(+) >>>> >>>> Tested-by: Jagan Teki <jagan@amarulasolutions.com> # BPI-M64, OPI-Win, >>>> A64-Olinuxino, NPI-A64 >>>> >>>> Pine64 boards look unable by saying >>>> [drm] Cannot find any crtc or sizes >>>> >>>> May be someone can confirm, it. >>> >>> Then we should drop the pine64 additions until someone figures it out, >>> as it has been already discussed. >> >> That is fine, but If anyone have pine64 can confirm this. >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Hi Jagan, Dne sreda, 05. september 2018 ob 09:57:54 CEST je Jagan Teki napisal(a): > On Wed, Sep 5, 2018 at 1:21 PM, Maxime Ripard <maxime.ripard@bootlin.com> wrote: > > On Wed, Sep 05, 2018 at 12:56:03PM +0530, Jagan Teki wrote: > >> On Tue, Sep 4, 2018 at 10:10 AM, Icenowy Zheng <icenowy@aosc.io> wrote: > >> > From: Jagan Teki <jagan@amarulasolutions.com> > >> > > >> > Enable all necessary device tree nodes and add connector node to device > >> > trees for all supported A64 boards with HDMI. > >> > > >> > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > >> > [Icenowy: squash all board patches altogether and change supply name] > >> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > >> > --- > >> > Changes in v4: > >> > - Rebase some device trees. > >> > Changes in v3,1: > >> > - Squash all enablement patches altogether. > >> > - Change supply name to match DT binding & driver change. > >> > Changes for v3: > >> > - Enable all pipeline components > >> > Changes for v2: > >> > - none > >> > > >> > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++ > >> > .../dts/allwinner/sun50i-a64-nanopi-a64.dts | 34 +++++++++++++++++++ > >> > .../dts/allwinner/sun50i-a64-olinuxino.dts | 34 +++++++++++++++++++ > >> > .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++ > >> > .../boot/dts/allwinner/sun50i-a64-pine64.dts | 34 +++++++++++++++++++ > >> > .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++ > >> > 6 files changed, 204 insertions(+) > >> > >> Tested-by: Jagan Teki <jagan@amarulasolutions.com> # BPI-M64, OPI-Win, > >> A64-Olinuxino, NPI-A64 > >> > >> Pine64 boards look unable by saying > >> [drm] Cannot find any crtc or sizes > >> > >> May be someone can confirm, it. > > > > Then we should drop the pine64 additions until someone figures it out, > > as it has been already discussed. > > That is fine, but If anyone have pine64 can confirm this. What is your monitor default resolution and more importantly, what is it's pixel clock? Pine64 has U-Boot support for DE2/HDMI, which has some pixel clock issues which can influence Linux, unfortunately. At the time, there wasn't enough knowledge to do it properly. I plan to update it after A64 DE2/HDMI support is finished in kernel. Meanwhile, can you test if it works for you either with disabled DE2/HDMI in U-Boot or if you apply this patch to Linux: https://github.com/jernejsk/linux-1/commit/ 019121f953229ca2d624ac39300289a24e5389a1 Best regards, Jernej
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts index 094cfed13df9..cdd03d1145f3 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts @@ -60,6 +60,17 @@ stdout-path = "serial0:115200n8"; }; + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + leds { compatible = "gpio-leds"; @@ -86,6 +97,10 @@ }; }; +&de { + status = "okay"; +}; + &ehci0 { status = "okay"; }; @@ -103,6 +118,17 @@ status = "okay"; }; +&hdmi { + hvcc-supply = <®_dldo1>; + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts index 0ee915d8eb24..22cd5223ede3 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts @@ -59,6 +59,17 @@ stdout-path = "serial0:115200n8"; }; + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + leds { compatible = "gpio-leds"; @@ -76,6 +87,10 @@ }; }; +&de { + status = "okay"; +}; + &ehci0 { status = "okay"; }; @@ -93,6 +108,17 @@ status = "okay"; }; +&hdmi { + hvcc-supply = <®_dldo1>; + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + /* i2c1 connected with gpio headers like pine64, bananapi */ &i2c1 { pinctrl-names = "default"; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts index a1c2f06ed474..3c18a2f27538 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts @@ -59,6 +59,17 @@ stdout-path = "serial0:115200n8"; }; + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + reg_usb1_vbus: usb1-vbus { compatible = "regulator-fixed"; regulator-name = "usb1-vbus"; @@ -76,6 +87,10 @@ }; }; +&de { + status = "okay"; +}; + &ehci0 { status = "okay"; }; @@ -93,6 +108,17 @@ status = "okay"; }; +&hdmi { + hvcc-supply = <®_dldo1>; + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + &mdio { ext_rgmii_phy: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts index c879aa8d8d1b..6109074e3613 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts @@ -64,6 +64,17 @@ stdout-path = "serial0:115200n8"; }; + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + leds { compatible = "gpio-leds"; @@ -101,6 +112,10 @@ }; }; +&de { + status = "okay"; +}; + &ehci0 { status = "okay"; }; @@ -118,6 +133,17 @@ status = "okay"; }; +&hdmi { + hvcc-supply = <®_dldo1>; + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + &mdio { ext_rgmii_phy: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts index 1b9b92e541d2..93a7455347a7 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts @@ -62,6 +62,21 @@ chosen { stdout-path = "serial0:115200n8"; }; + + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; +}; + +&de { + status = "okay"; }; &ehci0 { @@ -82,6 +97,17 @@ }; +&hdmi { + hvcc-supply = <®_dldo1>; + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts index c21f2331add6..c09c131ae077 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts @@ -61,6 +61,17 @@ stdout-path = "serial0:115200n8"; }; + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + reg_vcc1v8: vcc1v8 { compatible = "regulator-fixed"; regulator-name = "vcc1v8"; @@ -69,6 +80,10 @@ }; }; +&de { + status = "okay"; +}; + &ehci0 { status = "okay"; }; @@ -86,6 +101,17 @@ status = "okay"; }; +&hdmi { + hvcc-supply = <®_dldo1>; + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + &mdio { ext_rgmii_phy: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22";