Skip to content

Commit 519574e

Browse files
jhswartzmmind
authored andcommitted
ARM: dts: rockchip: add display nodes for rk322x
Add display_subsystem, hdmi_phy, vop, and hdmi device nodes plus a few hdmi pinctrl entries to allow for HDMI output. Signed-off-by: Justin Swartz <[email protected]> [added assigned-clock settings for hdmiphy output] Signed-off-by: Heiko Stuebner <[email protected]>
1 parent 65d9c3f commit 519574e

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

arch/arm/boot/dts/rk322x.dtsi

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@
143143
#clock-cells = <0>;
144144
};
145145

146+
display_subsystem: display-subsystem {
147+
compatible = "rockchip,display-subsystem";
148+
ports = <&vop_out>;
149+
};
150+
146151
i2s1: i2s1@100b0000 {
147152
compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
148153
reg = <0x100b0000 0x4000>;
@@ -529,6 +534,17 @@
529534
status = "disabled";
530535
};
531536

537+
hdmi_phy: hdmi-phy@12030000 {
538+
compatible = "rockchip,rk3228-hdmi-phy";
539+
reg = <0x12030000 0x10000>;
540+
clocks = <&cru PCLK_HDMI_PHY>, <&xin24m>, <&cru DCLK_HDMI_PHY>;
541+
clock-names = "sysclk", "refoclk", "refpclk";
542+
#clock-cells = <0>;
543+
clock-output-names = "hdmiphy_phy";
544+
#phy-cells = <0>;
545+
status = "disabled";
546+
};
547+
532548
gpu: gpu@20000000 {
533549
compatible = "rockchip,rk3228-mali", "arm,mali-400";
534550
reg = <0x20000000 0x10000>;
@@ -572,6 +588,28 @@
572588
status = "disabled";
573589
};
574590

591+
vop: vop@20050000 {
592+
compatible = "rockchip,rk3228-vop";
593+
reg = <0x20050000 0x1ffc>;
594+
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
595+
clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>;
596+
clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
597+
resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
598+
reset-names = "axi", "ahb", "dclk";
599+
iommus = <&vop_mmu>;
600+
status = "disabled";
601+
602+
vop_out: port {
603+
#address-cells = <1>;
604+
#size-cells = <0>;
605+
606+
vop_out_hdmi: endpoint@0 {
607+
reg = <0>;
608+
remote-endpoint = <&hdmi_in_vop>;
609+
};
610+
};
611+
};
612+
575613
vop_mmu: iommu@20053f00 {
576614
compatible = "rockchip,iommu";
577615
reg = <0x20053f00 0x100>;
@@ -594,6 +632,36 @@
594632
status = "disabled";
595633
};
596634

635+
hdmi: hdmi@200a0000 {
636+
compatible = "rockchip,rk3228-dw-hdmi";
637+
reg = <0x200a0000 0x20000>;
638+
reg-io-width = <4>;
639+
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
640+
assigned-clocks = <&cru SCLK_HDMI_PHY>;
641+
assigned-clock-parents = <&hdmi_phy>;
642+
clocks = <&cru SCLK_HDMI_HDCP>, <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_CEC>;
643+
clock-names = "isfr", "iahb", "cec";
644+
pinctrl-names = "default";
645+
pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>;
646+
resets = <&cru SRST_HDMI_P>;
647+
reset-names = "hdmi";
648+
phys = <&hdmi_phy>;
649+
phy-names = "hdmi";
650+
rockchip,grf = <&grf>;
651+
status = "disabled";
652+
653+
ports {
654+
hdmi_in: port {
655+
#address-cells = <1>;
656+
#size-cells = <0>;
657+
hdmi_in_vop: endpoint@0 {
658+
reg = <0>;
659+
remote-endpoint = <&vop_out_hdmi>;
660+
};
661+
};
662+
};
663+
};
664+
597665
sdmmc: dwmmc@30000000 {
598666
compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
599667
reg = <0x30000000 0x4000>;
@@ -922,6 +990,21 @@
922990
};
923991
};
924992

993+
hdmi {
994+
hdmi_hpd: hdmi-hpd {
995+
rockchip,pins = <0 RK_PB7 1 &pcfg_pull_down>;
996+
};
997+
998+
hdmii2c_xfer: hdmii2c-xfer {
999+
rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>,
1000+
<0 RK_PA7 2 &pcfg_pull_none>;
1001+
};
1002+
1003+
hdmi_cec: hdmi-cec {
1004+
rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>;
1005+
};
1006+
};
1007+
9251008
i2c0 {
9261009
i2c0_xfer: i2c0-xfer {
9271010
rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>,

0 commit comments

Comments
 (0)