[PATCH v12 0/11] dw-hdmi: convert imx hdmi to bridge/dw_hdmi

From: Andy Yan
Date: Mon Nov 17 2014 - 05:54:40 EST



We found Freescale imx6 and Rockchip rk3288 and Ingenic JZ4780 (Xburst/MIPS)
use the interface compatible Designware HDMI IP, but they also have some
lightly differences, such as phy pll configuration, register width(imx hdmi
register is one byte, but rk3288 is 4 bytes width and can only be accessed
by word), 4K support(imx6 doesn't support 4k, but rk3288 does), and HDMI2.0
support.

To reuse the imx-hdmi driver, we make this patch set:
(1): fix some CodingStyle warning to make checkpatch happy
(2): convert imx-hdmi to drm_bridge
(3): move imx-hdmi to bridge/dw_hdmi, and split platform specific code
(4): extend dw_hdmi.c to support rk3288 hdmi
(5): add rockchip rk3288 platform specific code dw_hdmi-rockchip.c

Changes in v12:
- refactor of_node_put(ddc_node)
- squash patch <convert dw_hdmi to drm_bridge> & <split imx soc specific code from imx-hdmi>
- add comment for the depend on patch

Changes in v11:
- squash patch <split some phy configuration to platform driver>
- split form patch <dw_hdmi: add rk3288 support>
- split from patch <dw_hdmi: add rk3288 support>

Changes in v10:
- split generic dw_hdmi.c improvements from patch#11 (add rk3288 support)
- add more display mode support mpll configuration for rk3288

Changes in v9:
- move some phy configuration to platform driver

Changes in v8:
- correct some spelling mistake
- modify ddc-i2c-bus and interrupt description
- Add documentation for rockchip dw hdmi

Changes in v7:
- remove unused variables from structure dw_hdmi
- remove a wrong modification
- add copyrights for dw_hdmi-imx.c

Changes in v6:
- rearrange the patch order
- move some modification to patch#6
- refactor register access without reg_shift

Changes in v5:
- refactor reg-io-width

Changes in v4:
- fix checkpatch CHECK
- defer probe ddc i2c adapter

Changes in v3:
- split multi-register access to one indepent patch

Changes in v2:
- use git format -M to generate these patch

Andy Yan (11):
staging: imx-drm: imx-hdmi: make checkpatch happy
staging: imx-drm: imx-hdmi: return defer if can't get ddc i2c adapter
staging: imx-drm: imx-hdmi: convert imx-hdmi to drm_bridge mode
staging: imx-drm: imx-hdmi: move imx-hdmi to bridge/dw_hdmi
dt-bindings: add document for dw_hdmi
drm: bridge/dw_hdmi: add support for multi-byte register width access
drm: bridge/dw_hdmi: add mode_valid support
drm: bridge/dw_hdmi: clear i2cmphy_stat0 reg in hdmi_phy_wait_i2c_done
drm: bridge/dw_hdmi: add function dw_hdmi_phy_enable_spare
dt-bindings: Add documentation for rockchip dw hdmi
drm: bridge/dw_hdmi: add rockchip rk3288 support

.../devicetree/bindings/drm/bridge/dw_hdmi.txt | 40 ++
.../devicetree/bindings/video/dw_hdmi-rockchip.txt | 43 ++
drivers/gpu/drm/bridge/Kconfig | 5 +
drivers/gpu/drm/bridge/Makefile | 1 +
.../imx-hdmi.c => gpu/drm/bridge/dw_hdmi.c} | 767 +++++++++------------
.../imx-hdmi.h => gpu/drm/bridge/dw_hdmi.h} | 7 +-
drivers/gpu/drm/rockchip/Kconfig | 10 +
drivers/gpu/drm/rockchip/Makefile | 2 +-
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 355 ++++++++++
drivers/staging/imx-drm/Kconfig | 1 +
drivers/staging/imx-drm/Makefile | 2 +-
drivers/staging/imx-drm/dw_hdmi-imx.c | 274 ++++++++
include/drm/bridge/dw_hdmi.h | 60 ++
13 files changed, 1139 insertions(+), 428 deletions(-)
create mode 100644 Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt
create mode 100644 Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
rename drivers/{staging/imx-drm/imx-hdmi.c => gpu/drm/bridge/dw_hdmi.c} (70%)
rename drivers/{staging/imx-drm/imx-hdmi.h => gpu/drm/bridge/dw_hdmi.h} (99%)
create mode 100644 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
create mode 100644 drivers/staging/imx-drm/dw_hdmi-imx.c
create mode 100644 include/drm/bridge/dw_hdmi.h

--
1.9.1


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/