Hi,

this is an update to the MT8173 DRM support RFC, now with the connections
between display function blocks completely left out of the device tree.

I have included the two patches that add all relevant nodes to the mt8173.dtsi,
and two mt8173 clock patches that are needed to support the new clock bindings.
So there are a few more patch dependencies now on top of v4.3-rc5. To apply:

https://patchwork.kernel.org/patch/6980951/ ("arm64: dts: mt8173: Add subsystem 
clock controller device nodes"),
https://patchwork.kernel.org/patch/6825601/ ("arm64: dts: mt8173: add MT8173 
display PWM driver support node"),
https://patchwork.kernel.org/patch/7138531/ ("arm64: dts: mediatek: add xHCI & 
usb phy for mt8173"),
https://patchwork.kernel.org/patch/6928651/ ("dts: mt8173: Add iommu/smi nodes 
for mt8173"), and
https://patchwork.kernel.org/patch/6983351/ ("clk: mediatek: Add USB clock 
support in MT8173 APMIXEDSYS").

And to build,

https://patchwork.kernel.org/patch/6914941/ ("iommu: Implement common IOMMU ops 
for DMA mapping"),
https://patchwork.kernel.org/patch/6928621/ ("memory: mediatek: Add SMI 
driver"),
https://patchwork.kernel.org/patch/6928561/ ("dt-bindings: iommu: Add binding 
for mediatek IOMMU"),
https://patchwork.kernel.org/patch/6980911/ ("clk: mediatek: Removed unused 
dpi_ck clock from MT8173"),
https://patchwork.kernel.org/patch/6980981/ ("clk: mediatek: Add __initdata and 
__init for data and functions"),
https://patchwork.kernel.org/patch/6981021/ ("clk: mediatek: Add fixed clocks 
support for Mediatek SoC."),
https://patchwork.kernel.org/patch/6980961/ ("clk: mediatek: Fix rate and 
dependency of MT8173 clocks"),
https://patchwork.kernel.org/patch/6981031/ ("dt-bindings: ARM: Mediatek: 
Document devicetree bindings for clock controllers"), and
https://patchwork.kernel.org/patch/6981041/ ("clk: mediatek: Add subsystem 
clocks of MT8173").

Changes since v3:
 - Added device mt8173 dtsi changes
 - Added clock patches to allow calling clk_set_rate on the dpi0_sel and
   hdmi_sel muxes, added the hdmi_ref PLL output.
 - Moved DISP function blocks back out of the group node
 - Removed intermediate divider and mux clocks from the DPI bindings
 - Let the DRM driver bind to the mediatek,mt8173-mmsys compatible,
   find sibling components in the device tree via compatible value,
   determine component instance from of alias id.
 - Split the CEC node/driver out of the HDMI bindings/driver, respectively.
 - Moved hotplug irq handling into the CEC driver, stopped disabling the
   hotplug irq on hdmi_power_off.
 - Removed direct apmixedsys register access from the hdmi driver,
   added a PLL reference clock input to the HDMI PHY.
 - Dropped DT configurable HDMI min_clock and max_clock
 - Changed HDMI MMSYS_CONFIG access to syscon/regmap
 - Changed clock handling of the DPI, HDMI, and HDMI PHY drivers, allowing to
   drop div and sel clocks from the bindings, and to power down the TVDPLL
   while HDMI is not in use.
 - Various fixes

Patch 8 still contains a TODO:

 - The power-domain property should be added to all blocks that are in the
   MM power domain.

   I'm not quite sure which those are. All of the nodes in the mmsys region?

 - The iommus property should be removed from the mmsys node.

   I have not yet managed to properly attach the drm device to the iommu domain
   that can be retrieved from the ovl, rdma, and wdma nodes.
   Those are the only devices connected to the iommu via their local arbiter.

regards
Philipp

CK Hu (5):
  dt-bindings: drm/mediatek: Add Mediatek display subsystem dts binding
  drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.
  drm/mediatek: Add DSI sub driver
  arm64: dts: mt8173: Add display subsystem related nodes
  arm64: dts: mt8173: Add HDMI related nodes

Daniel Kurtz (1):
  drm/mediatek: Add HDMI support

Jie Qiu (2):
  drm/mediatek: Add DPI sub driver
  drm/mediatek: enable hdmi output control bit

Philipp Zabel (3):
  dt-bindings: drm/mediatek: Add Mediatek HDMI dts binding
  clk: mediatek: make dpi0_sel and hdmi_sel not propagate rate changes
  clk: mediatek: Add hdmi_ref HDMI PHY PLL reference clock output

 .../bindings/drm/mediatek/mediatek,disp.txt        | 182 +++++
 .../bindings/drm/mediatek/mediatek,dpi.txt         |  35 +
 .../bindings/drm/mediatek/mediatek,dsi.txt         |  53 ++
 .../bindings/drm/mediatek/mediatek,hdmi.txt        | 127 ++++
 arch/arm64/boot/dts/mediatek/mt8173.dtsi           | 284 ++++++++
 drivers/clk/mediatek/clk-mt8173.c                  |   9 +-
 drivers/clk/mediatek/clk-mtk.h                     |   7 +-
 drivers/gpu/drm/Kconfig                            |   2 +
 drivers/gpu/drm/Makefile                           |   1 +
 drivers/gpu/drm/mediatek/Kconfig                   |  22 +
 drivers/gpu/drm/mediatek/Makefile                  |  21 +
 drivers/gpu/drm/mediatek/mtk_cec.c                 | 252 +++++++
 drivers/gpu/drm/mediatek/mtk_cec.h                 |  25 +
 drivers/gpu/drm/mediatek/mtk_dpi.c                 | 683 ++++++++++++++++++
 drivers/gpu/drm/mediatek/mtk_dpi.h                 |  80 +++
 drivers/gpu/drm/mediatek/mtk_dpi_regs.h            | 228 ++++++
 drivers/gpu/drm/mediatek/mtk_drm_crtc.c            | 524 ++++++++++++++
 drivers/gpu/drm/mediatek/mtk_drm_crtc.h            |  84 +++
 drivers/gpu/drm/mediatek/mtk_drm_ddp.c             | 218 ++++++
 drivers/gpu/drm/mediatek/mtk_drm_ddp.h             |  39 +
 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c        | 409 +++++++++++
 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h        |  86 +++
 drivers/gpu/drm/mediatek/mtk_drm_drv.c             | 585 +++++++++++++++
 drivers/gpu/drm/mediatek/mtk_drm_drv.h             |  64 ++
 drivers/gpu/drm/mediatek/mtk_drm_fb.c              | 151 ++++
 drivers/gpu/drm/mediatek/mtk_drm_fb.h              |  29 +
 drivers/gpu/drm/mediatek/mtk_drm_gem.c             | 208 ++++++
 drivers/gpu/drm/mediatek/mtk_drm_gem.h             |  56 ++
 drivers/gpu/drm/mediatek/mtk_drm_hdmi_drv.c        | 630 ++++++++++++++++
 drivers/gpu/drm/mediatek/mtk_drm_plane.c           | 175 +++++
 drivers/gpu/drm/mediatek/mtk_drm_plane.h           |  38 +
 drivers/gpu/drm/mediatek/mtk_dsi.c                 | 787 ++++++++++++++++++++
 drivers/gpu/drm/mediatek/mtk_dsi.h                 |  54 ++
 drivers/gpu/drm/mediatek/mtk_hdmi.c                | 515 ++++++++++++++
 drivers/gpu/drm/mediatek/mtk_hdmi.h                | 119 ++++
 drivers/gpu/drm/mediatek/mtk_hdmi_ddc_drv.c        | 362 ++++++++++
 drivers/gpu/drm/mediatek/mtk_hdmi_hw.c             | 789 +++++++++++++++++++++
 drivers/gpu/drm/mediatek/mtk_hdmi_hw.h             |  76 ++
 drivers/gpu/drm/mediatek/mtk_hdmi_phy.c            | 339 +++++++++
 drivers/gpu/drm/mediatek/mtk_hdmi_phy.h            |  20 +
 drivers/gpu/drm/mediatek/mtk_hdmi_regs.h           | 321 +++++++++
 drivers/gpu/drm/mediatek/mtk_mipi_tx.c             | 375 ++++++++++
 drivers/gpu/drm/mediatek/mtk_mipi_tx.h             |  21 +
 include/drm/mediatek/mtk_hdmi_audio.h              | 150 ++++
 include/dt-bindings/clock/mt8173-clk.h             |   3 +-
 45 files changed, 9233 insertions(+), 5 deletions(-)
 create mode 100644 
Documentation/devicetree/bindings/drm/mediatek/mediatek,disp.txt
 create mode 100644 
Documentation/devicetree/bindings/drm/mediatek/mediatek,dpi.txt
 create mode 100644 
Documentation/devicetree/bindings/drm/mediatek/mediatek,dsi.txt
 create mode 100644 
Documentation/devicetree/bindings/drm/mediatek/mediatek,hdmi.txt
 create mode 100644 drivers/gpu/drm/mediatek/Kconfig
 create mode 100644 drivers/gpu/drm/mediatek/Makefile
 create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_dpi.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_dpi.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_dpi_regs.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_crtc.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_crtc.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_drv.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_drv.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fb.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fb.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_gem.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_gem.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_hdmi_drv.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_plane.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_plane.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_dsi.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_dsi.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_ddc_drv.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_hw.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_hw.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_phy.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_phy.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_regs.h
 create mode 100644 drivers/gpu/drm/mediatek/mtk_mipi_tx.c
 create mode 100644 drivers/gpu/drm/mediatek/mtk_mipi_tx.h
 create mode 100644 include/drm/mediatek/mtk_hdmi_audio.h

-- 
2.6.1

Reply via email to