[PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-13 Thread Jernej Skrabec
This series adds support for R40 HDMI pipeline. It is a bit special
than other already supported pipelines because it has additional unit
called TCON TOP responsible for relationship configuration between
mixers, TCONs and HDMI. Additionally, it has additional gates for DSI
and TV TCONs, TV encoder clock settings and pin muxing between LCD
and TV encoders.

However, it seems that TCON TOP will become a norm, since newer
Allwinner SoCs like H6 also have this unit.

I tested different possible configurations:
- mixer0 <> TCON-TV0 <> HDMI
- mixer0 <> TCON-TV1 <> HDMI
- mixer1 <> TCON-TV0 <> HDMI
- mixer1 <> TCON-TV1 <> HDMI

Please review.

Best regards,
Jernej

Changes from v1:
- Split DT bindings patch and updated description
- Split HDMI PHY patch
- Move header file from TCON TOP patch to dt bindings patch
- Added Rob reviewed-by tag
- Used clk_hw_register_gate() instead of custom gate registration code
- Reworked TCON TOP to be part of of-graph. Because of that, a lot of
  new patches were added.
- Droped mixer index quirk patch
- Reworked TCON support for TCON TOP
- Updated commit messages

Jernej Skrabec (27):
  clk: sunxi-ng: r40: Add minimal rate for video PLLs
  clk: sunxi-ng: r40: Allow setting parent rate to display related
clocks
  clk: sunxi-ng: r40: Export video PLLs
  dt-bindings: display: sunxi-drm: Add TCON TOP description
  drm/sun4i: Add TCON TOP driver
  drm/sun4i: Fix releasing node when enumerating enpoints
  drm/sun4i: Split out code for enumerating endpoints in output port
  drm/sun4i: Add support for traversing graph with TCON TOP
  drm/sun4i: Don't skip TCONs if they don't have channel 0
  dt-bindings: display: sun4i-drm: Add R40 TV TCON description
  drm/sun4i: tcon: Add support for tcon-top gate
  drm/sun4i: tcon: Generalize engine search algorithm
  drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1
  drm/sun4i: Don't check for panel or bridge on TV TCONs
  drm/sun4i: Add support for R40 TV TCON
  dt-bindings: display: sun4i-drm: Add R40 mixer compatibles
  drm/sun4i: Add support for R40 mixers
  dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY
  drm/sun4i: Enable DW HDMI PHY clock
  drm/sun4i: Don't change clock bits in DW HDMI PHY driver
  drm/sun4i: DW HDMI PHY: Add support for second PLL
  drm/sun4i: Add support for second clock parent to DW HDMI PHY clk
driver
  drm/sun4i: Add support for A64 HDMI PHY
  drm: of: Export drm_crtc_port_mask()
  drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
  ARM: dts: sun8i: r40: Add HDMI pipeline
  ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra

 .../bindings/display/sunxi/sun4i-drm.txt  |  56 +++-
 .../boot/dts/sun8i-r40-bananapi-m2-ultra.dts  |  45 +++
 arch/arm/boot/dts/sun8i-r40.dtsi  | 257 ++
 drivers/clk/sunxi-ng/ccu-sun8i-r40.c  |  58 ++--
 drivers/clk/sunxi-ng/ccu-sun8i-r40.h  |   8 +-
 drivers/gpu/drm/drm_of.c  |   4 +-
 drivers/gpu/drm/sun4i/Makefile|   3 +-
 drivers/gpu/drm/sun4i/sun4i_drv.c | 121 ++---
 drivers/gpu/drm/sun4i/sun4i_tcon.c|  83 --
 drivers/gpu/drm/sun4i/sun4i_tcon.h|   4 +
 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c |  46 +++-
 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h |   8 +-
 drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c|  54 +++-
 drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c|  90 --
 drivers/gpu/drm/sun4i/sun8i_mixer.c   |  24 ++
 drivers/gpu/drm/sun4i/sun8i_tcon_top.c| 248 +
 drivers/gpu/drm/sun4i/sun8i_tcon_top.h|  38 +++
 include/drm/drm_of.h  |   8 +
 include/dt-bindings/clock/sun8i-r40-ccu.h |   4 +
 include/dt-bindings/clock/sun8i-tcon-top.h|  11 +
 20 files changed, 1047 insertions(+), 123 deletions(-)
 create mode 100644 drivers/gpu/drm/sun4i/sun8i_tcon_top.c
 create mode 100644 drivers/gpu/drm/sun4i/sun8i_tcon_top.h
 create mode 100644 include/dt-bindings/clock/sun8i-tcon-top.h

-- 
2.17.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-14 Thread Jernej Škrabec
Dne četrtek, 14. junij 2018 ob 19:16:46 CEST je Jagan Teki napisal(a):
> On Thu, Jun 14, 2018 at 8:04 PM, Jernej Škrabec  
wrote:
> > Dne četrtek, 14. junij 2018 ob 09:12:41 CEST je Jagan Teki napisal(a):
> >> On Wed, Jun 13, 2018 at 1:30 AM, Jernej Skrabec 
> > 
> > wrote:
> >> > This series adds support for R40 HDMI pipeline. It is a bit special
> >> > than other already supported pipelines because it has additional unit
> >> > called TCON TOP responsible for relationship configuration between
> >> > mixers, TCONs and HDMI. Additionally, it has additional gates for DSI
> >> > and TV TCONs, TV encoder clock settings and pin muxing between LCD
> >> > and TV encoders.
> >> > 
> >> > However, it seems that TCON TOP will become a norm, since newer
> >> > Allwinner SoCs like H6 also have this unit.
> >> > 
> >> > I tested different possible configurations:
> >> > - mixer0 <> TCON-TV0 <> HDMI
> >> > - mixer0 <> TCON-TV1 <> HDMI
> >> > - mixer1 <> TCON-TV0 <> HDMI
> >> > - mixer1 <> TCON-TV1 <> HDMI
> >> > 
> >> > Please review.
> >> > 
> >> > Best regards,
> >> > Jernej
> >> > 
> >> > Changes from v1:
> >> > - Split DT bindings patch and updated description
> >> > - Split HDMI PHY patch
> >> > - Move header file from TCON TOP patch to dt bindings patch
> >> > - Added Rob reviewed-by tag
> >> > - Used clk_hw_register_gate() instead of custom gate registration code
> >> > - Reworked TCON TOP to be part of of-graph. Because of that, a lot of
> >> > 
> >> >   new patches were added.
> >> > 
> >> > - Droped mixer index quirk patch
> >> > - Reworked TCON support for TCON TOP
> >> > - Updated commit messages
> >> > 
> >> > Jernej Skrabec (27):
> >> >   clk: sunxi-ng: r40: Add minimal rate for video PLLs
> >> >   clk: sunxi-ng: r40: Allow setting parent rate to display related
> >> >   
> >> > clocks
> >> >   
> >> >   clk: sunxi-ng: r40: Export video PLLs
> >> >   dt-bindings: display: sunxi-drm: Add TCON TOP description
> >> >   drm/sun4i: Add TCON TOP driver
> >> >   drm/sun4i: Fix releasing node when enumerating enpoints
> >> >   drm/sun4i: Split out code for enumerating endpoints in output port
> >> >   drm/sun4i: Add support for traversing graph with TCON TOP
> >> >   drm/sun4i: Don't skip TCONs if they don't have channel 0
> >> >   dt-bindings: display: sun4i-drm: Add R40 TV TCON description
> >> >   drm/sun4i: tcon: Add support for tcon-top gate
> >> >   drm/sun4i: tcon: Generalize engine search algorithm
> >> >   drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1
> >> >   drm/sun4i: Don't check for panel or bridge on TV TCONs
> >> >   drm/sun4i: Add support for R40 TV TCON
> >> >   dt-bindings: display: sun4i-drm: Add R40 mixer compatibles
> >> >   drm/sun4i: Add support for R40 mixers
> >> >   dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY
> >> >   drm/sun4i: Enable DW HDMI PHY clock
> >> >   drm/sun4i: Don't change clock bits in DW HDMI PHY driver
> >> >   drm/sun4i: DW HDMI PHY: Add support for second PLL
> >> >   drm/sun4i: Add support for second clock parent to DW HDMI PHY clk
> >> >   
> >> > driver
> >> >   
> >> >   drm/sun4i: Add support for A64 HDMI PHY
> >> >   drm: of: Export drm_crtc_port_mask()
> >> >   drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
> >> >   ARM: dts: sun8i: r40: Add HDMI pipeline
> >> >   ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra
> >> 
> >> Tested whole series on top of linux-next.
> >> 
> >> Tested-by: Jagan Teki 
> > 
> > Thanks!
> 
> I've V40 board, which is same as R40. I'm able to detect the HDMI but
> seems edid not detecting properly.
> 
> [0.983007] sun4i-drm display-engine: bound 110.mixer (ops
> 0xc074a80c) [0.999043] sun4i-drm display-engine: bound 120.mixer
> (ops 0xc074a80c) [1.006229] sun4i-drm display-engine: bound
> 1c7.tcon-top (ops 0xc074e2ac) [1.013609] sun4i-drm display-engine:
> bound 1c73000.lcd-controller (ops 0xc0747a28)
> [1.053988] sun8i-dw-hdmi 1ee.hdmi: Detected HDMI TX controller
> v1.32a with HDCP (sun8i_dw_hdmi_phy)
> [1.063913] sun8i-dw-hdmi 1ee.hdmi: registered DesignWare HDMI
> I2C bus driver
> [1.071683] sun4i-drm display-engine: bound 1ee.hdmi (ops 0xc074a298)
> [1.078484] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [1.085098] [drm] No driver support for vblank timestamp query. [   
> 1.091055] [drm] Cannot find any crtc or sizes
> [1.095995] [drm] Initialized sun4i-drm 1.0.0 20150629 for
> display-engine on minor 0

This seems like DT issue. Can you post somewhere your V40 DTSI (if it is 
different to R40) and board DTS?

Best regards,
Jernej



___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-14 Thread Jernej Škrabec
Dne četrtek, 14. junij 2018 ob 09:12:41 CEST je Jagan Teki napisal(a):
> On Wed, Jun 13, 2018 at 1:30 AM, Jernej Skrabec  
wrote:
> > This series adds support for R40 HDMI pipeline. It is a bit special
> > than other already supported pipelines because it has additional unit
> > called TCON TOP responsible for relationship configuration between
> > mixers, TCONs and HDMI. Additionally, it has additional gates for DSI
> > and TV TCONs, TV encoder clock settings and pin muxing between LCD
> > and TV encoders.
> > 
> > However, it seems that TCON TOP will become a norm, since newer
> > Allwinner SoCs like H6 also have this unit.
> > 
> > I tested different possible configurations:
> > - mixer0 <> TCON-TV0 <> HDMI
> > - mixer0 <> TCON-TV1 <> HDMI
> > - mixer1 <> TCON-TV0 <> HDMI
> > - mixer1 <> TCON-TV1 <> HDMI
> > 
> > Please review.
> > 
> > Best regards,
> > Jernej
> > 
> > Changes from v1:
> > - Split DT bindings patch and updated description
> > - Split HDMI PHY patch
> > - Move header file from TCON TOP patch to dt bindings patch
> > - Added Rob reviewed-by tag
> > - Used clk_hw_register_gate() instead of custom gate registration code
> > - Reworked TCON TOP to be part of of-graph. Because of that, a lot of
> > 
> >   new patches were added.
> > 
> > - Droped mixer index quirk patch
> > - Reworked TCON support for TCON TOP
> > - Updated commit messages
> > 
> > Jernej Skrabec (27):
> >   clk: sunxi-ng: r40: Add minimal rate for video PLLs
> >   clk: sunxi-ng: r40: Allow setting parent rate to display related
> >   
> > clocks
> >   
> >   clk: sunxi-ng: r40: Export video PLLs
> >   dt-bindings: display: sunxi-drm: Add TCON TOP description
> >   drm/sun4i: Add TCON TOP driver
> >   drm/sun4i: Fix releasing node when enumerating enpoints
> >   drm/sun4i: Split out code for enumerating endpoints in output port
> >   drm/sun4i: Add support for traversing graph with TCON TOP
> >   drm/sun4i: Don't skip TCONs if they don't have channel 0
> >   dt-bindings: display: sun4i-drm: Add R40 TV TCON description
> >   drm/sun4i: tcon: Add support for tcon-top gate
> >   drm/sun4i: tcon: Generalize engine search algorithm
> >   drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1
> >   drm/sun4i: Don't check for panel or bridge on TV TCONs
> >   drm/sun4i: Add support for R40 TV TCON
> >   dt-bindings: display: sun4i-drm: Add R40 mixer compatibles
> >   drm/sun4i: Add support for R40 mixers
> >   dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY
> >   drm/sun4i: Enable DW HDMI PHY clock
> >   drm/sun4i: Don't change clock bits in DW HDMI PHY driver
> >   drm/sun4i: DW HDMI PHY: Add support for second PLL
> >   drm/sun4i: Add support for second clock parent to DW HDMI PHY clk
> >   
> > driver
> >   
> >   drm/sun4i: Add support for A64 HDMI PHY
> >   drm: of: Export drm_crtc_port_mask()
> >   drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
> >   ARM: dts: sun8i: r40: Add HDMI pipeline
> >   ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra
> 
> Tested whole series on top of linux-next.
> 
> Tested-by: Jagan Teki 

Thanks!



___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-14 Thread Jagan Teki
On Wed, Jun 13, 2018 at 1:30 AM, Jernej Skrabec  wrote:
> This series adds support for R40 HDMI pipeline. It is a bit special
> than other already supported pipelines because it has additional unit
> called TCON TOP responsible for relationship configuration between
> mixers, TCONs and HDMI. Additionally, it has additional gates for DSI
> and TV TCONs, TV encoder clock settings and pin muxing between LCD
> and TV encoders.
>
> However, it seems that TCON TOP will become a norm, since newer
> Allwinner SoCs like H6 also have this unit.
>
> I tested different possible configurations:
> - mixer0 <> TCON-TV0 <> HDMI
> - mixer0 <> TCON-TV1 <> HDMI
> - mixer1 <> TCON-TV0 <> HDMI
> - mixer1 <> TCON-TV1 <> HDMI
>
> Please review.
>
> Best regards,
> Jernej
>
> Changes from v1:
> - Split DT bindings patch and updated description
> - Split HDMI PHY patch
> - Move header file from TCON TOP patch to dt bindings patch
> - Added Rob reviewed-by tag
> - Used clk_hw_register_gate() instead of custom gate registration code
> - Reworked TCON TOP to be part of of-graph. Because of that, a lot of
>   new patches were added.
> - Droped mixer index quirk patch
> - Reworked TCON support for TCON TOP
> - Updated commit messages
>
> Jernej Skrabec (27):
>   clk: sunxi-ng: r40: Add minimal rate for video PLLs
>   clk: sunxi-ng: r40: Allow setting parent rate to display related
> clocks
>   clk: sunxi-ng: r40: Export video PLLs
>   dt-bindings: display: sunxi-drm: Add TCON TOP description
>   drm/sun4i: Add TCON TOP driver
>   drm/sun4i: Fix releasing node when enumerating enpoints
>   drm/sun4i: Split out code for enumerating endpoints in output port
>   drm/sun4i: Add support for traversing graph with TCON TOP
>   drm/sun4i: Don't skip TCONs if they don't have channel 0
>   dt-bindings: display: sun4i-drm: Add R40 TV TCON description
>   drm/sun4i: tcon: Add support for tcon-top gate
>   drm/sun4i: tcon: Generalize engine search algorithm
>   drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1
>   drm/sun4i: Don't check for panel or bridge on TV TCONs
>   drm/sun4i: Add support for R40 TV TCON
>   dt-bindings: display: sun4i-drm: Add R40 mixer compatibles
>   drm/sun4i: Add support for R40 mixers
>   dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY
>   drm/sun4i: Enable DW HDMI PHY clock
>   drm/sun4i: Don't change clock bits in DW HDMI PHY driver
>   drm/sun4i: DW HDMI PHY: Add support for second PLL
>   drm/sun4i: Add support for second clock parent to DW HDMI PHY clk
> driver
>   drm/sun4i: Add support for A64 HDMI PHY
>   drm: of: Export drm_crtc_port_mask()
>   drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
>   ARM: dts: sun8i: r40: Add HDMI pipeline
>   ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra

Tested whole series on top of linux-next.

Tested-by: Jagan Teki 
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-14 Thread Jagan Teki
On Thu, Jun 14, 2018 at 8:04 PM, Jernej Škrabec  wrote:
> Dne četrtek, 14. junij 2018 ob 09:12:41 CEST je Jagan Teki napisal(a):
>> On Wed, Jun 13, 2018 at 1:30 AM, Jernej Skrabec 
> wrote:
>> > This series adds support for R40 HDMI pipeline. It is a bit special
>> > than other already supported pipelines because it has additional unit
>> > called TCON TOP responsible for relationship configuration between
>> > mixers, TCONs and HDMI. Additionally, it has additional gates for DSI
>> > and TV TCONs, TV encoder clock settings and pin muxing between LCD
>> > and TV encoders.
>> >
>> > However, it seems that TCON TOP will become a norm, since newer
>> > Allwinner SoCs like H6 also have this unit.
>> >
>> > I tested different possible configurations:
>> > - mixer0 <> TCON-TV0 <> HDMI
>> > - mixer0 <> TCON-TV1 <> HDMI
>> > - mixer1 <> TCON-TV0 <> HDMI
>> > - mixer1 <> TCON-TV1 <> HDMI
>> >
>> > Please review.
>> >
>> > Best regards,
>> > Jernej
>> >
>> > Changes from v1:
>> > - Split DT bindings patch and updated description
>> > - Split HDMI PHY patch
>> > - Move header file from TCON TOP patch to dt bindings patch
>> > - Added Rob reviewed-by tag
>> > - Used clk_hw_register_gate() instead of custom gate registration code
>> > - Reworked TCON TOP to be part of of-graph. Because of that, a lot of
>> >
>> >   new patches were added.
>> >
>> > - Droped mixer index quirk patch
>> > - Reworked TCON support for TCON TOP
>> > - Updated commit messages
>> >
>> > Jernej Skrabec (27):
>> >   clk: sunxi-ng: r40: Add minimal rate for video PLLs
>> >   clk: sunxi-ng: r40: Allow setting parent rate to display related
>> >
>> > clocks
>> >
>> >   clk: sunxi-ng: r40: Export video PLLs
>> >   dt-bindings: display: sunxi-drm: Add TCON TOP description
>> >   drm/sun4i: Add TCON TOP driver
>> >   drm/sun4i: Fix releasing node when enumerating enpoints
>> >   drm/sun4i: Split out code for enumerating endpoints in output port
>> >   drm/sun4i: Add support for traversing graph with TCON TOP
>> >   drm/sun4i: Don't skip TCONs if they don't have channel 0
>> >   dt-bindings: display: sun4i-drm: Add R40 TV TCON description
>> >   drm/sun4i: tcon: Add support for tcon-top gate
>> >   drm/sun4i: tcon: Generalize engine search algorithm
>> >   drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1
>> >   drm/sun4i: Don't check for panel or bridge on TV TCONs
>> >   drm/sun4i: Add support for R40 TV TCON
>> >   dt-bindings: display: sun4i-drm: Add R40 mixer compatibles
>> >   drm/sun4i: Add support for R40 mixers
>> >   dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY
>> >   drm/sun4i: Enable DW HDMI PHY clock
>> >   drm/sun4i: Don't change clock bits in DW HDMI PHY driver
>> >   drm/sun4i: DW HDMI PHY: Add support for second PLL
>> >   drm/sun4i: Add support for second clock parent to DW HDMI PHY clk
>> >
>> > driver
>> >
>> >   drm/sun4i: Add support for A64 HDMI PHY
>> >   drm: of: Export drm_crtc_port_mask()
>> >   drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
>> >   ARM: dts: sun8i: r40: Add HDMI pipeline
>> >   ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra
>>
>> Tested whole series on top of linux-next.
>>
>> Tested-by: Jagan Teki 
>
> Thanks!

I've V40 board, which is same as R40. I'm able to detect the HDMI but
seems edid not detecting properly.

[0.983007] sun4i-drm display-engine: bound 110.mixer (ops 0xc074a80c)
[0.999043] sun4i-drm display-engine: bound 120.mixer (ops 0xc074a80c)
[1.006229] sun4i-drm display-engine: bound 1c7.tcon-top (ops 0xc074e2ac)
[1.013609] sun4i-drm display-engine: bound 1c73000.lcd-controller
(ops 0xc0747a28)
[1.053988] sun8i-dw-hdmi 1ee.hdmi: Detected HDMI TX controller
v1.32a with HDCP (sun8i_dw_hdmi_phy)
[1.063913] sun8i-dw-hdmi 1ee.hdmi: registered DesignWare HDMI
I2C bus driver
[1.071683] sun4i-drm display-engine: bound 1ee.hdmi (ops 0xc074a298)
[1.078484] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[1.085098] [drm] No driver support for vblank timestamp query.
[1.091055] [drm] Cannot find any crtc or sizes
[1.095995] [drm] Initialized sun4i-drm 1.0.0 20150629 for
display-engine on minor 0
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-18 Thread Jernej Škrabec
Dne ponedeljek, 18. junij 2018 ob 14:58:02 CEST je Jagan Teki napisal(a):
> On Thu, Jun 14, 2018 at 10:59 PM, Jernej Škrabec
> 
>  wrote:
> > Dne četrtek, 14. junij 2018 ob 19:16:46 CEST je Jagan Teki napisal(a):
> >> On Thu, Jun 14, 2018 at 8:04 PM, Jernej Škrabec 
> > 
> > wrote:
> >> > Dne četrtek, 14. junij 2018 ob 09:12:41 CEST je Jagan Teki napisal(a):
> >> >> On Wed, Jun 13, 2018 at 1:30 AM, Jernej Skrabec
> >> >> 
> >> > 
> >> > wrote:
> >> >> > This series adds support for R40 HDMI pipeline. It is a bit special
> >> >> > than other already supported pipelines because it has additional
> >> >> > unit
> >> >> > called TCON TOP responsible for relationship configuration between
> >> >> > mixers, TCONs and HDMI. Additionally, it has additional gates for
> >> >> > DSI
> >> >> > and TV TCONs, TV encoder clock settings and pin muxing between LCD
> >> >> > and TV encoders.
> >> >> > 
> >> >> > However, it seems that TCON TOP will become a norm, since newer
> >> >> > Allwinner SoCs like H6 also have this unit.
> >> >> > 
> >> >> > I tested different possible configurations:
> >> >> > - mixer0 <> TCON-TV0 <> HDMI
> >> >> > - mixer0 <> TCON-TV1 <> HDMI
> >> >> > - mixer1 <> TCON-TV0 <> HDMI
> >> >> > - mixer1 <> TCON-TV1 <> HDMI
> >> >> > 
> >> >> > Please review.
> >> >> > 
> >> >> > Best regards,
> >> >> > Jernej
> >> >> > 
> >> >> > Changes from v1:
> >> >> > - Split DT bindings patch and updated description
> >> >> > - Split HDMI PHY patch
> >> >> > - Move header file from TCON TOP patch to dt bindings patch
> >> >> > - Added Rob reviewed-by tag
> >> >> > - Used clk_hw_register_gate() instead of custom gate registration
> >> >> > code
> >> >> > - Reworked TCON TOP to be part of of-graph. Because of that, a lot
> >> >> > of
> >> >> > 
> >> >> >   new patches were added.
> >> >> > 
> >> >> > - Droped mixer index quirk patch
> >> >> > - Reworked TCON support for TCON TOP
> >> >> > - Updated commit messages
> >> >> > 
> >> >> > Jernej Skrabec (27):
> >> >> >   clk: sunxi-ng: r40: Add minimal rate for video PLLs
> >> >> >   clk: sunxi-ng: r40: Allow setting parent rate to display related
> >> >> >   
> >> >> > clocks
> >> >> >   
> >> >> >   clk: sunxi-ng: r40: Export video PLLs
> >> >> >   dt-bindings: display: sunxi-drm: Add TCON TOP description
> >> >> >   drm/sun4i: Add TCON TOP driver
> >> >> >   drm/sun4i: Fix releasing node when enumerating enpoints
> >> >> >   drm/sun4i: Split out code for enumerating endpoints in output port
> >> >> >   drm/sun4i: Add support for traversing graph with TCON TOP
> >> >> >   drm/sun4i: Don't skip TCONs if they don't have channel 0
> >> >> >   dt-bindings: display: sun4i-drm: Add R40 TV TCON description
> >> >> >   drm/sun4i: tcon: Add support for tcon-top gate
> >> >> >   drm/sun4i: tcon: Generalize engine search algorithm
> >> >> >   drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1
> >> >> >   drm/sun4i: Don't check for panel or bridge on TV TCONs
> >> >> >   drm/sun4i: Add support for R40 TV TCON
> >> >> >   dt-bindings: display: sun4i-drm: Add R40 mixer compatibles
> >> >> >   drm/sun4i: Add support for R40 mixers
> >> >> >   dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY
> >> >> >   drm/sun4i: Enable DW HDMI PHY clock
> >> >> >   drm/sun4i: Don't change clock bits in DW HDMI PHY driver
> >> >> >   drm/sun4i: DW HDMI PHY: Add support for second PLL
> >> >> >   drm/sun4i: Add support for second clock parent to DW HDMI PHY clk
> >> >> >   
> >> >> > driver
> >> >> >   
> >> >> >   drm/sun4i: Add support for A64 HDMI PHY
> >> >> >   drm: of: Export drm_crtc_port_mask()
> >> >> >   drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
> >> >> >   ARM: dts: sun8i: r40: Add HDMI pipeline
> >> >> >   ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra
> >> >> 
> >> >> Tested whole series on top of linux-next.
> >> >> 
> >> >> Tested-by: Jagan Teki 
> >> > 
> >> > Thanks!
> >> 
> >> I've V40 board, which is same as R40. I'm able to detect the HDMI but
> >> seems edid not detecting properly.
> >> 
> >> [0.983007] sun4i-drm display-engine: bound 110.mixer (ops
> >> 0xc074a80c) [0.999043] sun4i-drm display-engine: bound 120.mixer
> >> (ops 0xc074a80c) [1.006229] sun4i-drm display-engine: bound
> >> 1c7.tcon-top (ops 0xc074e2ac) [1.013609] sun4i-drm
> >> display-engine:
> >> bound 1c73000.lcd-controller (ops 0xc0747a28)
> >> [1.053988] sun8i-dw-hdmi 1ee.hdmi: Detected HDMI TX controller
> >> v1.32a with HDCP (sun8i_dw_hdmi_phy)
> >> [1.063913] sun8i-dw-hdmi 1ee.hdmi: registered DesignWare HDMI
> >> I2C bus driver
> >> [1.071683] sun4i-drm display-engine: bound 1ee.hdmi (ops
> >> 0xc074a298) [1.078484] [drm] Supports vblank timestamp caching Rev 2
> >> (21.10.2013). [1.085098] [drm] No driver support for vblank
> >> timestamp query. [ 1.091055] [drm] Cannot find any crtc or sizes
> >> [1.095995] [drm] Initialized sun4i-drm 1.0.0 20150629 for
> >> display-engine on m

Re: [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-18 Thread Jagan Teki
On Thu, Jun 14, 2018 at 10:59 PM, Jernej Škrabec
 wrote:
> Dne četrtek, 14. junij 2018 ob 19:16:46 CEST je Jagan Teki napisal(a):
>> On Thu, Jun 14, 2018 at 8:04 PM, Jernej Škrabec 
> wrote:
>> > Dne četrtek, 14. junij 2018 ob 09:12:41 CEST je Jagan Teki napisal(a):
>> >> On Wed, Jun 13, 2018 at 1:30 AM, Jernej Skrabec 
>> >
>> > wrote:
>> >> > This series adds support for R40 HDMI pipeline. It is a bit special
>> >> > than other already supported pipelines because it has additional unit
>> >> > called TCON TOP responsible for relationship configuration between
>> >> > mixers, TCONs and HDMI. Additionally, it has additional gates for DSI
>> >> > and TV TCONs, TV encoder clock settings and pin muxing between LCD
>> >> > and TV encoders.
>> >> >
>> >> > However, it seems that TCON TOP will become a norm, since newer
>> >> > Allwinner SoCs like H6 also have this unit.
>> >> >
>> >> > I tested different possible configurations:
>> >> > - mixer0 <> TCON-TV0 <> HDMI
>> >> > - mixer0 <> TCON-TV1 <> HDMI
>> >> > - mixer1 <> TCON-TV0 <> HDMI
>> >> > - mixer1 <> TCON-TV1 <> HDMI
>> >> >
>> >> > Please review.
>> >> >
>> >> > Best regards,
>> >> > Jernej
>> >> >
>> >> > Changes from v1:
>> >> > - Split DT bindings patch and updated description
>> >> > - Split HDMI PHY patch
>> >> > - Move header file from TCON TOP patch to dt bindings patch
>> >> > - Added Rob reviewed-by tag
>> >> > - Used clk_hw_register_gate() instead of custom gate registration code
>> >> > - Reworked TCON TOP to be part of of-graph. Because of that, a lot of
>> >> >
>> >> >   new patches were added.
>> >> >
>> >> > - Droped mixer index quirk patch
>> >> > - Reworked TCON support for TCON TOP
>> >> > - Updated commit messages
>> >> >
>> >> > Jernej Skrabec (27):
>> >> >   clk: sunxi-ng: r40: Add minimal rate for video PLLs
>> >> >   clk: sunxi-ng: r40: Allow setting parent rate to display related
>> >> >
>> >> > clocks
>> >> >
>> >> >   clk: sunxi-ng: r40: Export video PLLs
>> >> >   dt-bindings: display: sunxi-drm: Add TCON TOP description
>> >> >   drm/sun4i: Add TCON TOP driver
>> >> >   drm/sun4i: Fix releasing node when enumerating enpoints
>> >> >   drm/sun4i: Split out code for enumerating endpoints in output port
>> >> >   drm/sun4i: Add support for traversing graph with TCON TOP
>> >> >   drm/sun4i: Don't skip TCONs if they don't have channel 0
>> >> >   dt-bindings: display: sun4i-drm: Add R40 TV TCON description
>> >> >   drm/sun4i: tcon: Add support for tcon-top gate
>> >> >   drm/sun4i: tcon: Generalize engine search algorithm
>> >> >   drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1
>> >> >   drm/sun4i: Don't check for panel or bridge on TV TCONs
>> >> >   drm/sun4i: Add support for R40 TV TCON
>> >> >   dt-bindings: display: sun4i-drm: Add R40 mixer compatibles
>> >> >   drm/sun4i: Add support for R40 mixers
>> >> >   dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY
>> >> >   drm/sun4i: Enable DW HDMI PHY clock
>> >> >   drm/sun4i: Don't change clock bits in DW HDMI PHY driver
>> >> >   drm/sun4i: DW HDMI PHY: Add support for second PLL
>> >> >   drm/sun4i: Add support for second clock parent to DW HDMI PHY clk
>> >> >
>> >> > driver
>> >> >
>> >> >   drm/sun4i: Add support for A64 HDMI PHY
>> >> >   drm: of: Export drm_crtc_port_mask()
>> >> >   drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
>> >> >   ARM: dts: sun8i: r40: Add HDMI pipeline
>> >> >   ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra
>> >>
>> >> Tested whole series on top of linux-next.
>> >>
>> >> Tested-by: Jagan Teki 
>> >
>> > Thanks!
>>
>> I've V40 board, which is same as R40. I'm able to detect the HDMI but
>> seems edid not detecting properly.
>>
>> [0.983007] sun4i-drm display-engine: bound 110.mixer (ops
>> 0xc074a80c) [0.999043] sun4i-drm display-engine: bound 120.mixer
>> (ops 0xc074a80c) [1.006229] sun4i-drm display-engine: bound
>> 1c7.tcon-top (ops 0xc074e2ac) [1.013609] sun4i-drm display-engine:
>> bound 1c73000.lcd-controller (ops 0xc0747a28)
>> [1.053988] sun8i-dw-hdmi 1ee.hdmi: Detected HDMI TX controller
>> v1.32a with HDCP (sun8i_dw_hdmi_phy)
>> [1.063913] sun8i-dw-hdmi 1ee.hdmi: registered DesignWare HDMI
>> I2C bus driver
>> [1.071683] sun4i-drm display-engine: bound 1ee.hdmi (ops 0xc074a298)
>> [1.078484] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
>> [1.085098] [drm] No driver support for vblank timestamp query. [
>> 1.091055] [drm] Cannot find any crtc or sizes
>> [1.095995] [drm] Initialized sun4i-drm 1.0.0 20150629 for
>> display-engine on minor 0
>
> This seems like DT issue. Can you post somewhere your V40 DTSI (if it is
> different to R40) and board DTS?

same dtsi shared between r40 and v40, here is board dts support for HDMI[1]

[1] https://paste.ubuntu.com/p/wqVz38BHrM/
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedeskto

Re: [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline

2018-06-19 Thread Icenowy Zheng
在 2018-06-18一的 16:43 +0200,Jernej Škrabec写道:
> Dne ponedeljek, 18. junij 2018 ob 14:58:02 CEST je Jagan Teki
> napisal(a):
> > On Thu, Jun 14, 2018 at 10:59 PM, Jernej Škrabec
> > 
> >  wrote:
> > > Dne četrtek, 14. junij 2018 ob 19:16:46 CEST je Jagan Teki
> > > napisal(a):
> > > > On Thu, Jun 14, 2018 at 8:04 PM, Jernej Škrabec  > > > @siol.net>
> > > 
> > > wrote:
> > > > > Dne četrtek, 14. junij 2018 ob 09:12:41 CEST je Jagan Teki
> > > > > napisal(a):
> > > > > > On Wed, Jun 13, 2018 at 1:30 AM, Jernej Skrabec
> > > > > > 
> > > > > 
> > > > > wrote:
> > > > > > > This series adds support for R40 HDMI pipeline. It is a
> > > > > > > bit special
> > > > > > > than other already supported pipelines because it has
> > > > > > > additional
> > > > > > > unit
> > > > > > > called TCON TOP responsible for relationship
> > > > > > > configuration between
> > > > > > > mixers, TCONs and HDMI. Additionally, it has additional
> > > > > > > gates for
> > > > > > > DSI
> > > > > > > and TV TCONs, TV encoder clock settings and pin muxing
> > > > > > > between LCD
> > > > > > > and TV encoders.
> > > > > > > 
> > > > > > > However, it seems that TCON TOP will become a norm, since
> > > > > > > newer
> > > > > > > Allwinner SoCs like H6 also have this unit.
> > > > > > > 
> > > > > > > I tested different possible configurations:
> > > > > > > - mixer0 <> TCON-TV0 <> HDMI
> > > > > > > - mixer0 <> TCON-TV1 <> HDMI
> > > > > > > - mixer1 <> TCON-TV0 <> HDMI
> > > > > > > - mixer1 <> TCON-TV1 <> HDMI
> > > > > > > 
> > > > > > > Please review.
> > > > > > > 
> > > > > > > Best regards,
> > > > > > > Jernej
> > > > > > > 
> > > > > > > Changes from v1:
> > > > > > > - Split DT bindings patch and updated description
> > > > > > > - Split HDMI PHY patch
> > > > > > > - Move header file from TCON TOP patch to dt bindings
> > > > > > > patch
> > > > > > > - Added Rob reviewed-by tag
> > > > > > > - Used clk_hw_register_gate() instead of custom gate
> > > > > > > registration
> > > > > > > code
> > > > > > > - Reworked TCON TOP to be part of of-graph. Because of
> > > > > > > that, a lot
> > > > > > > of
> > > > > > > 
> > > > > > >   new patches were added.
> > > > > > > 
> > > > > > > - Droped mixer index quirk patch
> > > > > > > - Reworked TCON support for TCON TOP
> > > > > > > - Updated commit messages
> > > > > > > 
> > > > > > > Jernej Skrabec (27):
> > > > > > >   clk: sunxi-ng: r40: Add minimal rate for video PLLs
> > > > > > >   clk: sunxi-ng: r40: Allow setting parent rate to
> > > > > > > display related
> > > > > > >   
> > > > > > > clocks
> > > > > > >   
> > > > > > >   clk: sunxi-ng: r40: Export video PLLs
> > > > > > >   dt-bindings: display: sunxi-drm: Add TCON TOP
> > > > > > > description
> > > > > > >   drm/sun4i: Add TCON TOP driver
> > > > > > >   drm/sun4i: Fix releasing node when enumerating enpoints
> > > > > > >   drm/sun4i: Split out code for enumerating endpoints in
> > > > > > > output port
> > > > > > >   drm/sun4i: Add support for traversing graph with TCON
> > > > > > > TOP
> > > > > > >   drm/sun4i: Don't skip TCONs if they don't have channel
> > > > > > > 0
> > > > > > >   dt-bindings: display: sun4i-drm: Add R40 TV TCON
> > > > > > > description
> > > > > > >   drm/sun4i: tcon: Add support for tcon-top gate
> > > > > > >   drm/sun4i: tcon: Generalize engine search algorithm
> > > > > > >   drm/sun4i: Don't check for LVDS and RGB when TCON has
> > > > > > > only ch1
> > > > > > >   drm/sun4i: Don't check for panel or bridge on TV TCONs
> > > > > > >   drm/sun4i: Add support for R40 TV TCON
> > > > > > >   dt-bindings: display: sun4i-drm: Add R40 mixer
> > > > > > > compatibles
> > > > > > >   drm/sun4i: Add support for R40 mixers
> > > > > > >   dt-bindings: display: sun4i-drm: Add description of A64
> > > > > > > HDMI PHY
> > > > > > >   drm/sun4i: Enable DW HDMI PHY clock
> > > > > > >   drm/sun4i: Don't change clock bits in DW HDMI PHY
> > > > > > > driver
> > > > > > >   drm/sun4i: DW HDMI PHY: Add support for second PLL
> > > > > > >   drm/sun4i: Add support for second clock parent to DW
> > > > > > > HDMI PHY clk
> > > > > > >   
> > > > > > > driver
> > > > > > >   
> > > > > > >   drm/sun4i: Add support for A64 HDMI PHY
> > > > > > >   drm: of: Export drm_crtc_port_mask()
> > > > > > >   drm/sun4i: DW HDMI: Expand algorithm for possible crtcs
> > > > > > >   ARM: dts: sun8i: r40: Add HDMI pipeline
> > > > > > >   ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2
> > > > > > > Ultra
> > > > > > 
> > > > > > Tested whole series on top of linux-next.
> > > > > > 
> > > > > > Tested-by: Jagan Teki 
> > > > > 
> > > > > Thanks!
> > > > 
> > > > I've V40 board, which is same as R40. I'm able to detect the
> > > > HDMI but
> > > > seems edid not detecting properly.
> > > > 
> > > > [0.983007] sun4i-drm display-engine: bound 110.mixer
> > > > (ops
> > > > 0xc074a80c) [0.999043] sun4i-drm display-engine: bound
> > > > 120.mixer
> > > > (ops 0xc074a80c) [1.