All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/27] Add support for R40 HDMI pipeline
@ 2018-06-12 20:00 ` Jernej Skrabec
  0 siblings, 0 replies; 201+ messages in thread
From: Jernej Skrabec @ 2018-06-12 20:00 UTC (permalink / raw)
  To: maxime.ripard, wens, robh+dt
  Cc: airlied, gustavo, maarten.lankhorst, seanpaul, mark.rutland,
	dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi

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


^ permalink raw reply	[flat|nested] 201+ messages in thread

end of thread, other threads:[~2018-06-25  9:11 UTC | newest]

Thread overview: 201+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-12 20:00 [PATCH v2 00/27] Add support for R40 HDMI pipeline Jernej Skrabec
2018-06-12 20:00 ` Jernej Skrabec
2018-06-12 20:00 ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 01/27] clk: sunxi-ng: r40: Add minimal rate for video PLLs Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-13  3:18   ` Chen-Yu Tsai
2018-06-13  3:18     ` Chen-Yu Tsai
2018-06-13  3:18     ` Chen-Yu Tsai
2018-06-12 20:00 ` [PATCH v2 02/27] clk: sunxi-ng: r40: Allow setting parent rate to display related clocks Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-13  3:19   ` Chen-Yu Tsai
2018-06-13  3:19     ` Chen-Yu Tsai
2018-06-13  3:19     ` Chen-Yu Tsai
2018-06-12 20:00 ` [PATCH v2 03/27] clk: sunxi-ng: r40: Export video PLLs Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 04/27] dt-bindings: display: sunxi-drm: Add TCON TOP description Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-13  7:34   ` Maxime Ripard
2018-06-13  7:34     ` Maxime Ripard
2018-06-13  7:34     ` Maxime Ripard
2018-06-13 16:03     ` [linux-sunxi] " Jernej Škrabec
2018-06-13 16:03       ` Jernej Škrabec
2018-06-13 16:03       ` Jernej Škrabec
2018-06-15  8:45       ` [linux-sunxi] " Maxime Ripard
2018-06-15  8:45         ` Maxime Ripard
2018-06-15  8:45         ` Maxime Ripard
2018-06-12 20:00 ` [PATCH v2 05/27] drm/sun4i: Add TCON TOP driver Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-13  7:07   ` kbuild test robot
2018-06-13  7:07     ` kbuild test robot
2018-06-13  7:07     ` kbuild test robot
2018-06-12 20:00 ` [PATCH v2 06/27] drm/sun4i: Fix releasing node when enumerating enpoints Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 07/27] drm/sun4i: Split out code for enumerating endpoints in output port Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 08/27] drm/sun4i: Add support for traversing graph with TCON TOP Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 09/27] drm/sun4i: Don't skip TCONs if they don't have channel 0 Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 10/27] dt-bindings: display: sun4i-drm: Add R40 TV TCON description Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-20 19:15   ` Rob Herring
2018-06-20 19:15     ` Rob Herring
2018-06-20 19:15     ` Rob Herring
2018-06-12 20:00 ` [PATCH v2 11/27] drm/sun4i: tcon: Add support for tcon-top gate Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-15  8:31   ` Maxime Ripard
2018-06-15  8:31     ` Maxime Ripard
2018-06-15  8:31     ` Maxime Ripard
2018-06-15 16:41     ` Jernej Škrabec
2018-06-15 16:41       ` Jernej Škrabec
2018-06-15 16:41       ` Jernej Škrabec
2018-06-15 17:13       ` [linux-sunxi] " Chen-Yu Tsai
2018-06-15 17:13         ` Chen-Yu Tsai
2018-06-15 17:13         ` Chen-Yu Tsai
2018-06-15 17:33         ` [linux-sunxi] " Jernej Škrabec
2018-06-15 17:33           ` Jernej Škrabec
2018-06-15 17:33           ` Jernej Škrabec
2018-06-16  5:48           ` [linux-sunxi] " Chen-Yu Tsai
2018-06-16  5:48             ` Chen-Yu Tsai
2018-06-16  5:48             ` Chen-Yu Tsai
2018-06-20 19:37             ` [linux-sunxi] " Jernej Škrabec
2018-06-20 19:37               ` Jernej Škrabec
2018-06-20 19:37               ` Jernej Škrabec
2018-06-21  1:23               ` [linux-sunxi] " Chen-Yu Tsai
2018-06-21  1:23                 ` Chen-Yu Tsai
2018-06-21  1:23                 ` Chen-Yu Tsai
2018-06-21 15:35                 ` [linux-sunxi] " Jernej Škrabec
2018-06-21 15:35                   ` Jernej Škrabec
2018-06-21 15:35                   ` Jernej Škrabec
2018-06-24 19:52                   ` [linux-sunxi] " Jernej Škrabec
2018-06-24 19:52                     ` Jernej Škrabec
2018-06-24 19:52                     ` Jernej Škrabec
2018-06-24 19:52                     ` Jernej Škrabec
2018-06-25  3:51                     ` [linux-sunxi] " Chen-Yu Tsai
2018-06-25  3:51                       ` Chen-Yu Tsai
2018-06-25  3:51                       ` Chen-Yu Tsai
2018-06-25  7:58                       ` [linux-sunxi] " Jernej Škrabec
2018-06-25  7:58                         ` Jernej Škrabec
2018-06-25  7:58                         ` Jernej Škrabec
2018-06-25  7:58                         ` Jernej Škrabec
2018-06-25  8:14                         ` [linux-sunxi] " Chen-Yu Tsai
2018-06-25  8:14                           ` Chen-Yu Tsai
2018-06-25  8:14                           ` Chen-Yu Tsai
2018-06-25  9:10                           ` [linux-sunxi] " Jernej Škrabec
2018-06-25  9:10                             ` Jernej Škrabec
2018-06-25  9:10                             ` Jernej Škrabec
2018-06-25  9:10                             ` Jernej Škrabec
2018-06-12 20:00 ` [PATCH v2 12/27] drm/sun4i: tcon: Generalize engine search algorithm Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 13/27] drm/sun4i: Don't check for LVDS and RGB when TCON has only ch1 Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 14/27] drm/sun4i: Don't check for panel or bridge on TV TCONs Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-13  7:46   ` Maxime Ripard
2018-06-13  7:46     ` Maxime Ripard
2018-06-13  7:46     ` Maxime Ripard
2018-06-13  8:04     ` Chen-Yu Tsai
2018-06-13  8:04       ` Chen-Yu Tsai
2018-06-13  8:04       ` Chen-Yu Tsai
2018-06-13 16:20       ` [linux-sunxi] " Jernej Škrabec
2018-06-13 16:20         ` Jernej Škrabec
2018-06-13 16:20         ` Jernej Škrabec
2018-06-12 20:00 ` [PATCH v2 15/27] drm/sun4i: Add support for R40 TV TCON Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 16/27] dt-bindings: display: sun4i-drm: Add R40 mixer compatibles Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-20 19:16   ` Rob Herring
2018-06-20 19:16     ` Rob Herring
2018-06-20 19:16     ` Rob Herring
2018-06-12 20:00 ` [PATCH v2 17/27] drm/sun4i: Add support for R40 mixers Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 18/27] dt-bindings: display: sun4i-drm: Add description of A64 HDMI PHY Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-20 19:17   ` Rob Herring
2018-06-20 19:17     ` Rob Herring
2018-06-20 19:17     ` Rob Herring
2018-06-12 20:00 ` [PATCH v2 19/27] drm/sun4i: Enable DW HDMI PHY clock Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 20/27] drm/sun4i: Don't change clock bits in DW HDMI PHY driver Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-15 16:44   ` [linux-sunxi] " Jernej Škrabec
2018-06-15 16:44     ` Jernej Škrabec
2018-06-15 16:44     ` Jernej Škrabec
2018-06-12 20:00 ` [PATCH v2 21/27] drm/sun4i: DW HDMI PHY: Add support for second PLL Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 22/27] drm/sun4i: Add support for second clock parent to DW HDMI PHY clk driver Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 23/27] drm/sun4i: Add support for A64 HDMI PHY Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 24/27] drm: of: Export drm_crtc_port_mask() Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-13  7:36   ` Maxime Ripard
2018-06-13  7:36     ` Maxime Ripard
2018-06-13  7:36     ` Maxime Ripard
2018-06-13 16:04     ` [linux-sunxi] " Jernej Škrabec
2018-06-13 16:04       ` Jernej Škrabec
2018-06-13 16:04       ` Jernej Škrabec
2018-06-12 20:00 ` [PATCH v2 25/27] drm/sun4i: DW HDMI: Expand algorithm for possible crtcs Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 26/27] ARM: dts: sun8i: r40: Add HDMI pipeline Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00 ` [PATCH v2 27/27] ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-12 20:00   ` Jernej Skrabec
2018-06-14  7:12 ` [linux-sunxi] [PATCH v2 00/27] Add support for R40 HDMI pipeline Jagan Teki
2018-06-14  7:12   ` Jagan Teki
2018-06-14  7:12   ` Jagan Teki
2018-06-14 14:34   ` [linux-sunxi] " Jernej Škrabec
2018-06-14 14:34     ` Jernej Škrabec
2018-06-14 14:34     ` Jernej Škrabec
2018-06-14 17:16     ` [linux-sunxi] " Jagan Teki
2018-06-14 17:16       ` Jagan Teki
2018-06-14 17:16       ` Jagan Teki
2018-06-14 17:16       ` Jagan Teki
2018-06-14 17:29       ` [linux-sunxi] " Jernej Škrabec
2018-06-14 17:29         ` Jernej Škrabec
2018-06-14 17:29         ` Jernej Škrabec
2018-06-18 12:58         ` [linux-sunxi] " Jagan Teki
2018-06-18 12:58           ` Jagan Teki
2018-06-18 12:58           ` Jagan Teki
2018-06-18 12:58           ` Jagan Teki
2018-06-18 14:43           ` [linux-sunxi] " Jernej Škrabec
2018-06-18 14:43             ` Jernej Škrabec
2018-06-18 14:43             ` Jernej Škrabec
2018-06-18 18:49             ` [linux-sunxi] " Icenowy Zheng
2018-06-18 18:49               ` Icenowy Zheng
2018-06-18 18:49               ` Icenowy Zheng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.