ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
Subsystems (2)
cover ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
Hi Maxime,
While testing 4.7-rc1 / linux-sunxi/sunxi-next on a A10s I noticed that hdmi out is no longer working (screen goes black when the kernel turns of unused clocks).
This is caused by the dtsi for sun4i / sun5i / sun7i based boards now listing pll3, without pll3 being added to the clocks list for the simplefb nodes.
For sun5i-r8 this does not happen because it lists the de_be and tcon_ch#_clk in the framebuffer node's clocks which will in turn keep ppl3 (and pll5) alive.
With this commit:
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?h=sunxi/for-next&id=eadc0660c2bca3a2a6d2c15fe04bc2aaa2709cef
This is also fixed for A13 based devices, but it still is a problem for A10s, hence this patch, which sits on top of the commit I just linked too.
Note that we've the same problem in 4.7-rc1 for A10 / A20, this is fixed by these 2 commits:
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=5a7f2310cc847a73852e70bc720a61ca9bf986a6
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=c79255ca4d7b67cce4eac4dd532e097ce49f3679
This also means that we must send all 3 linked commits + the patch I'm sending now to 4.7 as fixes, to avoid regressing in 4.7.
Regards,
Hans
PATCH 1/1 ARM: dts: sun5i: Move display blocks to sun5i.dtsi
All sun5i models share, the same die, so the display-engine is identical, except for which outputs / encoders all available.
All models support parallel / lvds lcd panels, the R8 and A10s also support tv-out and the A10s also supports HDMI out.
This commit prepares for enabling display blocks on A10s boards, but it also is a bug-fix for A10s boards, because before this commit the simplefb nodes for A10s where not listing the recently added pll3 as clock, causing the display to go block when the kernel disables unused clocks at the end of boot.
--- arch/arm/boot/dts/sun5i-a10s.dtsi | 24 ++--- arch/arm/boot/dts/sun5i-a13.dtsi | 182 -------------------------------------- arch/arm/boot/dts/sun5i.dtsi | 182 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 189 insertions(+), 199 deletions(-)
arch/arm/boot/dts/sun5i-a10s.dtsi +7 -17
@@ -57,24 +57,13 @@ }; chosen { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - framebuffer at 0 { - compatible = "allwinner,simple-framebuffer", - "simple-framebuffer"; - allwinner,pipeline = "de_be0-lcd0-hdmi"; - clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>, - <&ahb_gates 44>; - status = "disabled"; - }; - framebuffer at 1 { compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; - allwinner,pipeline = "de_be0-lcd0"; - clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 44>; + allwinner,pipeline = "de_be0-lcd0-hdmi"; + clocks = <&ahb_gates 36>, <&ahb_gates 43>, + <&ahb_gates 44>, <&de_be_clk>, + <&tcon_ch1_clk>, <&dram_gates 26>; status = "disabled"; };
@@ -82,8 +71,9 @@ compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; allwinner,pipeline = "de_be0-lcd0-tve0"; - clocks = <&pll5 1>, <&ahb_gates 34>, <&ahb_gates 36>, - <&ahb_gates 44>; + clocks = <&ahb_gates 34>, <&ahb_gates 36>, + <&ahb_gates 44>, <&de_be_clk>, + <&tcon_ch1_clk>, <&dram_gates 26>; status = "disabled"; }; };
arch/arm/boot/dts/sun5i-a13.dtsi +0 -182
203 lines not on this page · raw message
arch/arm/boot/dts/sun5i.dtsi +182 -0
211 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH 1/1 ARM: dts: sun5i: Move display blocks to sun5i.dtsi
Quoted 3 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Hans" == Hans de Goede <[email protected]> writes:
All sun5i models share, the same die, so the display-engine is
Drop comma after share.
Quoted 1 line
identical, except for which outputs / encoders all available.
s/all/are/
Quoted 6 lines
All models support parallel / lvds lcd panels, the R8 and A10s also support tv-out and the A10s also supports HDMI out.
This commit prepares for enabling display blocks on A10s boards, but it also is a bug-fix for A10s boards, because before this commit the simplefb nodes for A10s where not listing the recently added
s/where/were/
Quoted 1 line
pll3 as clock, causing the display to go block when the kernel
s/block/black/
Signature · 1 line
Bye, Peter Korsgaard
cover ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
In reply to Hans de GoedeHi Hans,
Quoted 9 lines · Hans de Goede
Hi Maxime,
While testing 4.7-rc1 / linux-sunxi/sunxi-next on a A10s I noticed that hdmi out is no longer working (screen goes black when the kernel turns of unused clocks).
This is caused by the dtsi for sun4i / sun5i / sun7i based boards now listing pll3, without pll3 being added to the clocks list for the simplefb nodes.
Why not do just that then? It's more appropriate for a fix imho.
Thanks! (and sorry for the breakage)
Maxime
Signature · 10 lines
Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160609/c47efccb/attachment-0001.sig>
cover ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
Hi,
Quoted 9 lines · Maxime Ripard
Hi Hans,
Quoted 6 lines · Hans de Goede
Hi Maxime,
While testing 4.7-rc1 / linux-sunxi/sunxi-next on a A10s I noticed that hdmi out is no longer working (screen goes black when the kernel turns of unused clocks).
Quoted 5 lines
Quoted 3 lines
This is caused by the dtsi for sun4i / sun5i / sun7i based boards now listing pll3, without pll3 being added to the clocks list for the simplefb nodes.
Why not do just that then? It's more appropriate for a fix imho.
You mean just for sun5i-a10s, or for all of sun4i / sun5i-a10s and sun7i ?
For sun4i and sun7i things are already fixed in next:
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=5a7f2310cc847a73852e70bc720a61ca9bf986a6
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=c79255ca4d7b67cce4eac4dd532e097ce49f3679
It seems best to use those fixes, rather then come up with a separate fix for 4.7.
My patch for fixing sun5i-a10s is inline with the 2 above patches, which seems best, rather then doing something special for just sun5i-a10s.
I'll send a v2 of this patch with the spelling mistakes pointed out by Peter Korsgaard fixed.
Regards,
Hans
cover ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
Quoted 23 lines · Hans de Goede
Hi,
Quoted 9 lines · Maxime Ripard
Hi Hans,
Quoted 6 lines · Hans de Goede
Hi Maxime,
While testing 4.7-rc1 / linux-sunxi/sunxi-next on a A10s I noticed that hdmi out is no longer working (screen goes black when the kernel turns of unused clocks).
Quoted 5 lines
Quoted 3 lines
This is caused by the dtsi for sun4i / sun5i / sun7i based boards now listing pll3, without pll3 being added to the clocks list for the simplefb nodes.
Why not do just that then? It's more appropriate for a fix imho.
You mean just for sun5i-a10s, or for all of sun4i / sun5i-a10s and sun7i ?
For sun4i and sun7i things are already fixed in next:
Quoted 8 lines
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=5a7f2310cc847a73852e70bc720a61ca9bf986a6
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=c79255ca4d7b67cce4eac4dd532e097ce49f3679It seems best to use those fixes, rather then come up with a separate fix for 4.7.
My patch for fixing sun5i-a10s is inline with the 2 above patches, which seems best, rather then doing something special for just sun5i-a10s.
Well, you are doing something special for just the A10s: the patches quoted above just add a bunch of clocks and add the handles to the list of clocks managed by simplefb.
For the A10s, you also declare the whole display engine block without anyone having tested that it was actually working.
Maxime
Signature · 10 lines
Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160613/b202905d/attachment.sig>
cover ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
Hi,
Quoted 33 lines · Maxime Ripard
Quoted 23 lines · Hans de Goede
Hi,
Quoted 9 lines · Maxime Ripard
Hi Hans,
Quoted 6 lines · Hans de Goede
Hi Maxime,
While testing 4.7-rc1 / linux-sunxi/sunxi-next on a A10s I noticed that hdmi out is no longer working (screen goes black when the kernel turns of unused clocks).
Quoted 5 lines
Quoted 3 lines
This is caused by the dtsi for sun4i / sun5i / sun7i based boards now listing pll3, without pll3 being added to the clocks list for the simplefb nodes.
Why not do just that then? It's more appropriate for a fix imho.
You mean just for sun5i-a10s, or for all of sun4i / sun5i-a10s and sun7i ?
For sun4i and sun7i things are already fixed in next:
Quoted 8 lines
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=5a7f2310cc847a73852e70bc720a61ca9bf986a6
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=c79255ca4d7b67cce4eac4dd532e097ce49f3679It seems best to use those fixes, rather then come up with a separate fix for 4.7.
My patch for fixing sun5i-a10s is inline with the 2 above patches, which seems best, rather then doing something special for just sun5i-a10s.
Quoted 6 lines
Well, you are doing something special for just the A10s: the patches quoted above just add a bunch of clocks and add the handles to the list of clocks managed by simplefb.
For the A10s, you also declare the whole display engine block without anyone having tested that it was actually working.
A10s is the same SoC as A13 / R8, just in a different package / with different pins routed to the outside and it features a parallel LCD interface just like the A13 / R8. We've had this confirmed by Allwinner multiple times now, A13 / A10s / R8 literary are the same chip, there simply is no way the displayblock on the A10s somehow is magically different.
Given all this, clearly having this identical displayblock in the shared sun5i.dtsi is the right thing to do.
Regards,
Hans
cover ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
Quoted 50 lines · Hans de Goede
Hi,
Quoted 33 lines · Maxime Ripard
Quoted 23 lines · Hans de Goede
Hi,
Quoted 9 lines · Maxime Ripard
Hi Hans,
Quoted 6 lines · Hans de Goede
Hi Maxime,
While testing 4.7-rc1 / linux-sunxi/sunxi-next on a A10s I noticed that hdmi out is no longer working (screen goes black when the kernel turns of unused clocks).
Quoted 5 lines
Quoted 3 lines
This is caused by the dtsi for sun4i / sun5i / sun7i based boards now listing pll3, without pll3 being added to the clocks list for the simplefb nodes.
Why not do just that then? It's more appropriate for a fix imho.
You mean just for sun5i-a10s, or for all of sun4i / sun5i-a10s and sun7i ?
For sun4i and sun7i things are already fixed in next:
Quoted 8 lines
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=5a7f2310cc847a73852e70bc720a61ca9bf986a6
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=c79255ca4d7b67cce4eac4dd532e097ce49f3679It seems best to use those fixes, rather then come up with a separate fix for 4.7.
My patch for fixing sun5i-a10s is inline with the 2 above patches, which seems best, rather then doing something special for just sun5i-a10s.
Quoted 6 lines
Well, you are doing something special for just the A10s: the patches quoted above just add a bunch of clocks and add the handles to the list of clocks managed by simplefb.
For the A10s, you also declare the whole display engine block without anyone having tested that it was actually working.
A10s is the same SoC as A13 / R8, just in a different package / with different pins routed to the outside and it features a parallel LCD interface just like the A13 / R8. We've had this confirmed by Allwinner multiple times now, A13 / A10s / R8 literary are the same chip, there simply is no way the displayblock on the A10s somehow is magically different.
Quoted 2 lines
Given all this, clearly having this identical displayblock in the shared
sun5i.dtsiis the right thing to do.
Maybe, but this is not a patch for an 4.7-rc* release, but for the next merge window.
Maxime
Signature · 10 lines
Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160620/a8fa6795/attachment.sig>
cover ARM: dts: sunxi: Fix simplefb not working in 4.7-rc1
Hi,
Quoted 51 lines · Maxime Ripard
Quoted 50 lines · Hans de Goede
Hi,
Quoted 33 lines · Maxime Ripard
Quoted 23 lines · Hans de Goede
Hi,
Quoted 9 lines · Maxime Ripard
Hi Hans,
Quoted 6 lines · Hans de Goede
Hi Maxime,
While testing 4.7-rc1 / linux-sunxi/sunxi-next on a A10s I noticed that hdmi out is no longer working (screen goes black when the kernel turns of unused clocks).
Quoted 5 lines
Quoted 3 lines
This is caused by the dtsi for sun4i / sun5i / sun7i based boards now listing pll3, without pll3 being added to the clocks list for the simplefb nodes.
Why not do just that then? It's more appropriate for a fix imho.
You mean just for sun5i-a10s, or for all of sun4i / sun5i-a10s and sun7i ?
For sun4i and sun7i things are already fixed in next:
Quoted 8 lines
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=5a7f2310cc847a73852e70bc720a61ca9bf986a6
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=c79255ca4d7b67cce4eac4dd532e097ce49f3679It seems best to use those fixes, rather then come up with a separate fix for 4.7.
My patch for fixing sun5i-a10s is inline with the 2 above patches, which seems best, rather then doing something special for just sun5i-a10s.
Quoted 6 lines
Well, you are doing something special for just the A10s: the patches quoted above just add a bunch of clocks and add the handles to the list of clocks managed by simplefb.
For the A10s, you also declare the whole display engine block without anyone having tested that it was actually working.
A10s is the same SoC as A13 / R8, just in a different package / with different pins routed to the outside and it features a parallel LCD interface just like the A13 / R8. We've had this confirmed by Allwinner multiple times now, A13 / A10s / R8 literary are the same chip, there simply is no way the displayblock on the A10s somehow is magically different.
Quoted 5 lines
Quoted 2 lines
Given all this, clearly having this identical displayblock in the shared
sun5i.dtsiis the right thing to do.Maybe, but this is not a patch for an 4.7-rc* release, but for the next merge window.
Ok, I'll send out a patch with the simple fix for 4.7 for sun4i / sun5i-a10s / sun7i then.
Regards,
Hans