drm/rockchip: add support for lvds controller and external encoders
From: Heiko Stuebner <heiko@...> Date: Fri, 27 Mar 2015 17:26:49 +0100
changes since v1: - add separate components subdirectory - implement the already existing bindings for adv7123 and vga-connector instead of defining a new one - use component graph for subsequent lvds-panel or connected external encoders instead of defining special properties. This series still adds support for the soc-level lvds encoder that also controls the generic rgb output pins. Also generic components for "dumb" vga encoders and connectors are added to a new subdirectory which implement the already existing bindings for adv7123 and vga-connector. While the major comment from Laurent Pinchart gets addressed with these separate components, it still needs to address others like the lvds setting in dt and how to handle the atomic mode setting conversion correctly. But I'd still like to solicit opinions if the general concept looks sane especially wrt. introducing the new components element and of_graph structure. Tested on a firefly board using the vga connector. Thanks Heiko Heiko Stuebner (10): drm/encoder: add functionality to register encoders to a global list drm/connector: add functionality to register connectors to a global list drm: add components subdirectory and infrastructure drm/components: add generic vga encoder driver drm/components: add generic vga connector driver drm/rockchip: lvds: register a bridge when no panel is set drm/rockchip: enable rgb output of vops for all other connectors ARM: dts: rockchip: add rk3288 lcdc0 pinmux settings ARM: dts: rockchip: add rk3288 lvds node ARM: dts: rockchip: add vga encoder and enable lvds on rk3288-firefly Mark Yao (2): dt-bindings: Add documentation for rockchip lvds drm/rockchip: Add support for Rockchip Soc LVDS .../devicetree/bindings/video/rockchip-lvds.txt | 74 ++ arch/arm/boot/dts/rk3288-firefly.dtsi | 68 ++ arch/arm/boot/dts/rk3288.dtsi | 51 ++ drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/components/Kconfig | 15 + drivers/gpu/drm/components/Makefile | 4 + drivers/gpu/drm/components/vga-connector.c | 254 ++++++ drivers/gpu/drm/components/vga-encoder.c | 315 ++++++++ drivers/gpu/drm/drm_crtc.c | 82 ++ drivers/gpu/drm/rockchip/Kconfig | 9 + drivers/gpu/drm/rockchip/Makefile | 1 + drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 10 +- drivers/gpu/drm/rockchip/rockchip_lvds.c | 851 +++++++++++++++++++++ drivers/gpu/drm/rockchip/rockchip_lvds.h | 107 +++ include/drm/drm_crtc.h | 15 + 16 files changed, 1852 insertions(+), 7 deletions(-) create mode 100644 Documentation/devicetree/bindings/video/rockchip-lvds.txt create mode 100644 drivers/gpu/drm/components/Kconfig create mode 100644 drivers/gpu/drm/components/Makefile create mode 100644 drivers/gpu/drm/components/vga-connector.c create mode 100644 drivers/gpu/drm/components/vga-encoder.c create mode 100644 drivers/gpu/drm/rockchip/rockchip_lvds.c create mode 100644 drivers/gpu/drm/rockchip/rockchip_lvds.h -- 2.1.4
Patches in this set
- [0001] drm/encoder: add functionality to register encoders to a global list (raw)
- [0002] drm/connector: add functionality to register connectors to a global list (raw)
- [0003] drm: add components subdirectory and infrastructure (raw)
- [0004] drm/components: add generic vga encoder driver (raw)
- [0005] drm/components: add generic vga connector driver (raw)
- [0006] dt-bindings: Add documentation for rockchip lvds (raw)
- [0007] drm/rockchip: Add support for Rockchip Soc LVDS (raw)
- [0008] drm/rockchip: lvds: register a bridge when no panel is set (raw)
- [0009] drm/rockchip: enable rgb output of vops for all other connectors (raw)
- [0010] ARM: dts: rockchip: add rk3288 lcdc0 pinmux settings (raw)
- [0011] ARM: dts: rockchip: add rk3288 lvds node (raw)
- [0012] ARM: dts: rockchip: add vga encoder and enable lvds on rk3288-firefly (raw)
Statistics
- 12 individual patches
- 1874 lines added
- 29 lines removed