[RFC v4 00/11] MT8173 DRM support
Philipp Zabel
p.zabel at pengutronix.de
Fri Oct 16 13:12:02 PDT 2015
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
More information about the Linux-mediatek
mailing list