* [PATCH v2 0/4] rk3328 and rock64 display support
@ 2018-05-15 13:54 ` Heiko Stuebner
0 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Heiko Stuebner, robin.murphy-5wv7dgnIgG8,
hjc-TNX95d0MmH7DzftRWevZcw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
zhengyang-TNX95d0MmH7DzftRWevZcw
Companion series for the display modifications adding the necessary
devicetree stuff for display support on the rk3328-rock64.
changes in v2:
- add defconfig addition for the phy driver
- adapt to changed reference clock names
- remove trailing 0 from vop irq
Heiko Stuebner (4):
arm64: dts: rockchip: add Innosilicon hdmi phy node to rk3328
arm64: dts: rockchip: add rk3328 display nodes
arm64: dts: rockchip: enable display nodes on rk3328-rock64
arm64: defconfig: enable Rockchip Innosilicon hdmiphy
.../arm64/boot/dts/rockchip/rk3328-rock64.dts | 16 +++++
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 70 +++++++++++++++++++
arch/arm64/configs/defconfig | 1 +
3 files changed, 87 insertions(+)
--
2.17.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 0/4] rk3328 and rock64 display support
@ 2018-05-15 13:54 ` Heiko Stuebner
0 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-arm-kernel
Companion series for the display modifications adding the necessary
devicetree stuff for display support on the rk3328-rock64.
changes in v2:
- add defconfig addition for the phy driver
- adapt to changed reference clock names
- remove trailing 0 from vop irq
Heiko Stuebner (4):
arm64: dts: rockchip: add Innosilicon hdmi phy node to rk3328
arm64: dts: rockchip: add rk3328 display nodes
arm64: dts: rockchip: enable display nodes on rk3328-rock64
arm64: defconfig: enable Rockchip Innosilicon hdmiphy
.../arm64/boot/dts/rockchip/rk3328-rock64.dts | 16 +++++
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 70 +++++++++++++++++++
arch/arm64/configs/defconfig | 1 +
3 files changed, 87 insertions(+)
--
2.17.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 1/4] arm64: dts: rockchip: add Innosilicon hdmi phy node to rk3328
2018-05-15 13:54 ` Heiko Stuebner
@ 2018-05-15 13:54 ` Heiko Stuebner
-1 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Heiko Stuebner, robin.murphy-5wv7dgnIgG8,
hjc-TNX95d0MmH7DzftRWevZcw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
zhengyang-TNX95d0MmH7DzftRWevZcw
The rk3328 uses a hdmiphy from Innosilicon, so add the necessary node
to the rk3328 soc devicetree.
Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
Tested-by: Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>
---
changes in v2:
- adapt to changed clock names
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 60b3ed5918e7..04d81ea0924e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -645,6 +645,20 @@
status = "disabled";
};
+ hdmiphy: phy@ff430000 {
+ compatible = "rockchip,rk3328-hdmi-phy";
+ reg = <0x0 0xff430000 0x0 0x10000>;
+ interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_HDMIPHY>, <&xin24m>, <&cru DCLK_HDMIPHY>;
+ clock-names = "sysclk", "refoclk", "refpclk";
+ clock-output-names = "hdmi_phy";
+ #clock-cells = <0>;
+ nvmem-cells = <&efuse_cpu_version>;
+ nvmem-cell-names = "cpu-version";
+ #phy-cells = <0>;
+ status = "disabled";
+ };
+
cru: clock-controller@ff440000 {
compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
reg = <0x0 0xff440000 0x0 0x1000>;
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 1/4] arm64: dts: rockchip: add Innosilicon hdmi phy node to rk3328
@ 2018-05-15 13:54 ` Heiko Stuebner
0 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-arm-kernel
The rk3328 uses a hdmiphy from Innosilicon, so add the necessary node
to the rk3328 soc devicetree.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Robin Murphy <robin.murphy@arm.com>
---
changes in v2:
- adapt to changed clock names
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 60b3ed5918e7..04d81ea0924e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -645,6 +645,20 @@
status = "disabled";
};
+ hdmiphy: phy at ff430000 {
+ compatible = "rockchip,rk3328-hdmi-phy";
+ reg = <0x0 0xff430000 0x0 0x10000>;
+ interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_HDMIPHY>, <&xin24m>, <&cru DCLK_HDMIPHY>;
+ clock-names = "sysclk", "refoclk", "refpclk";
+ clock-output-names = "hdmi_phy";
+ #clock-cells = <0>;
+ nvmem-cells = <&efuse_cpu_version>;
+ nvmem-cell-names = "cpu-version";
+ #phy-cells = <0>;
+ status = "disabled";
+ };
+
cru: clock-controller at ff440000 {
compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
reg = <0x0 0xff440000 0x0 0x1000>;
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 2/4] arm64: dts: rockchip: add rk3328 display nodes
2018-05-15 13:54 ` Heiko Stuebner
@ 2018-05-15 13:54 ` Heiko Stuebner
-1 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Heiko Stuebner, robin.murphy-5wv7dgnIgG8,
hjc-TNX95d0MmH7DzftRWevZcw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
zhengyang-TNX95d0MmH7DzftRWevZcw
Add the chain of display nodes from the core display-subsystem
through the one vop to the dw-hdmi output.
Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
Tested-by: Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>
---
changes in v2:
- remove trailing 0 from vop irq
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 56 ++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 04d81ea0924e..16e7cf210875 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -185,6 +185,11 @@
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
};
+ display_subsystem: display-subsystem {
+ compatible = "rockchip,display-subsystem";
+ ports = <&vop_out>;
+ };
+
psci {
compatible = "arm,psci-1.0", "arm,psci-0.2";
method = "smc";
@@ -634,6 +639,28 @@
status = "disabled";
};
+ vop: vop@ff370000 {
+ compatible = "rockchip,rk3328-vop";
+ reg = <0x0 0xff370000 0x0 0x3efc>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>;
+ clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
+ resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
+ reset-names = "axi", "ahb", "dclk";
+ iommus = <&vop_mmu>;
+ status = "disabled";
+
+ vop_out: port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vop_out_hdmi: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&hdmi_in_vop>;
+ };
+ };
+ };
+
vop_mmu: iommu@ff373f00 {
compatible = "rockchip,iommu";
reg = <0x0 0xff373f00 0x0 0x100>;
@@ -645,6 +672,35 @@
status = "disabled";
};
+ hdmi: hdmi@ff3c0000 {
+ compatible = "rockchip,rk3328-dw-hdmi";
+ reg = <0x0 0xff3c0000 0x0 0x20000>;
+ reg-io-width = <4>;
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_HDMI>,
+ <&cru SCLK_HDMI_SFC>;
+ clock-names = "iahb",
+ "isfr";
+ phys = <&hdmiphy>;
+ phy-names = "hdmi";
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
+ rockchip,grf = <&grf>;
+ status = "disabled";
+
+ ports {
+ hdmi_in: port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ hdmi_in_vop: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&vop_out_hdmi>;
+ };
+ };
+ };
+ };
+
hdmiphy: phy@ff430000 {
compatible = "rockchip,rk3328-hdmi-phy";
reg = <0x0 0xff430000 0x0 0x10000>;
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 2/4] arm64: dts: rockchip: add rk3328 display nodes
@ 2018-05-15 13:54 ` Heiko Stuebner
0 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-arm-kernel
Add the chain of display nodes from the core display-subsystem
through the one vop to the dw-hdmi output.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Robin Murphy <robin.murphy@arm.com>
---
changes in v2:
- remove trailing 0 from vop irq
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 56 ++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 04d81ea0924e..16e7cf210875 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -185,6 +185,11 @@
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
};
+ display_subsystem: display-subsystem {
+ compatible = "rockchip,display-subsystem";
+ ports = <&vop_out>;
+ };
+
psci {
compatible = "arm,psci-1.0", "arm,psci-0.2";
method = "smc";
@@ -634,6 +639,28 @@
status = "disabled";
};
+ vop: vop at ff370000 {
+ compatible = "rockchip,rk3328-vop";
+ reg = <0x0 0xff370000 0x0 0x3efc>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>;
+ clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
+ resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
+ reset-names = "axi", "ahb", "dclk";
+ iommus = <&vop_mmu>;
+ status = "disabled";
+
+ vop_out: port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vop_out_hdmi: endpoint at 0 {
+ reg = <0>;
+ remote-endpoint = <&hdmi_in_vop>;
+ };
+ };
+ };
+
vop_mmu: iommu at ff373f00 {
compatible = "rockchip,iommu";
reg = <0x0 0xff373f00 0x0 0x100>;
@@ -645,6 +672,35 @@
status = "disabled";
};
+ hdmi: hdmi at ff3c0000 {
+ compatible = "rockchip,rk3328-dw-hdmi";
+ reg = <0x0 0xff3c0000 0x0 0x20000>;
+ reg-io-width = <4>;
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_HDMI>,
+ <&cru SCLK_HDMI_SFC>;
+ clock-names = "iahb",
+ "isfr";
+ phys = <&hdmiphy>;
+ phy-names = "hdmi";
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
+ rockchip,grf = <&grf>;
+ status = "disabled";
+
+ ports {
+ hdmi_in: port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ hdmi_in_vop: endpoint at 0 {
+ reg = <0>;
+ remote-endpoint = <&vop_out_hdmi>;
+ };
+ };
+ };
+ };
+
hdmiphy: phy at ff430000 {
compatible = "rockchip,rk3328-hdmi-phy";
reg = <0x0 0xff430000 0x0 0x10000>;
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 3/4] arm64: dts: rockchip: enable display nodes on rk3328-rock64
2018-05-15 13:54 ` Heiko Stuebner
@ 2018-05-15 13:54 ` Heiko Stuebner
-1 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Heiko Stuebner, robin.murphy-5wv7dgnIgG8,
hjc-TNX95d0MmH7DzftRWevZcw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
zhengyang-TNX95d0MmH7DzftRWevZcw
Enable necessary nodes to get output on the hdmi port of the board.
Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
---
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 5c43a61d3178..ca48be13dee7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -145,6 +145,14 @@
status = "okay";
};
+&hdmi {
+ status = "okay";
+};
+
+&hdmiphy {
+ status = "okay";
+};
+
&i2c1 {
status = "okay";
@@ -341,3 +349,11 @@
dr_mode = "host";
status = "okay";
};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 3/4] arm64: dts: rockchip: enable display nodes on rk3328-rock64
@ 2018-05-15 13:54 ` Heiko Stuebner
0 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-arm-kernel
Enable necessary nodes to get output on the hdmi port of the board.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 5c43a61d3178..ca48be13dee7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -145,6 +145,14 @@
status = "okay";
};
+&hdmi {
+ status = "okay";
+};
+
+&hdmiphy {
+ status = "okay";
+};
+
&i2c1 {
status = "okay";
@@ -341,3 +349,11 @@
dr_mode = "host";
status = "okay";
};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 4/4] arm64: defconfig: enable Rockchip Innosilicon hdmiphy
2018-05-15 13:54 ` Heiko Stuebner
@ 2018-05-15 13:54 ` Heiko Stuebner
-1 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Heiko Stuebner, robin.murphy-5wv7dgnIgG8,
hjc-TNX95d0MmH7DzftRWevZcw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
zhengyang-TNX95d0MmH7DzftRWevZcw
The rk3228 and rk3328 socs use an MMIO-connected hdmi-phy from Innosilicon.
So enable the necessary driver as module.
Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 74abf140e332..dff3de45cc04 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -604,6 +604,7 @@ CONFIG_PHY_SUN4I_USB=y
CONFIG_PHY_MVEBU_CP110_COMPHY=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_PCIE=m
CONFIG_PHY_ROCKCHIP_TYPEC=y
CONFIG_PHY_XGENE=y
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 4/4] arm64: defconfig: enable Rockchip Innosilicon hdmiphy
@ 2018-05-15 13:54 ` Heiko Stuebner
0 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2018-05-15 13:54 UTC (permalink / raw)
To: linux-arm-kernel
The rk3228 and rk3328 socs use an MMIO-connected hdmi-phy from Innosilicon.
So enable the necessary driver as module.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 74abf140e332..dff3de45cc04 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -604,6 +604,7 @@ CONFIG_PHY_SUN4I_USB=y
CONFIG_PHY_MVEBU_CP110_COMPHY=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_PCIE=m
CONFIG_PHY_ROCKCHIP_TYPEC=y
CONFIG_PHY_XGENE=y
--
2.17.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/4] arm64: dts: rockchip: add rk3328 display nodes
2018-05-15 13:54 ` Heiko Stuebner
@ 2018-05-15 15:03 ` Robin Murphy
-1 siblings, 0 replies; 12+ messages in thread
From: Robin Murphy @ 2018-05-15 15:03 UTC (permalink / raw)
To: Heiko Stuebner, linux-rockchip; +Cc: hjc, linux-arm-kernel, zhengyang
Hi Heiko,
Just a trivial nit I failed to consider last time...
On 15/05/18 14:54, Heiko Stuebner wrote:
> Add the chain of display nodes from the core display-subsystem
> through the one vop to the dw-hdmi output.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Robin Murphy <robin.murphy@arm.com>
> ---
> changes in v2:
> - remove trailing 0 from vop irq
>
> arch/arm64/boot/dts/rockchip/rk3328.dtsi | 56 ++++++++++++++++++++++++
> 1 file changed, 56 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> index 04d81ea0924e..16e7cf210875 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> @@ -185,6 +185,11 @@
> interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
> };
>
> + display_subsystem: display-subsystem {
> + compatible = "rockchip,display-subsystem";
> + ports = <&vop_out>;
> + };
> +
> psci {
> compatible = "arm,psci-1.0", "arm,psci-0.2";
> method = "smc";
> @@ -634,6 +639,28 @@
> status = "disabled";
> };
>
> + vop: vop@ff370000 {
> + compatible = "rockchip,rk3328-vop";
> + reg = <0x0 0xff370000 0x0 0x3efc>;
> + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>;
> + clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
> + resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
> + reset-names = "axi", "ahb", "dclk";
> + iommus = <&vop_mmu>;
> + status = "disabled";
> +
> + vop_out: port {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + vop_out_hdmi: endpoint@0 {
> + reg = <0>;
> + remote-endpoint = <&hdmi_in_vop>;
> + };
> + };
> + };
> +
> vop_mmu: iommu@ff373f00 {
> compatible = "rockchip,iommu";
> reg = <0x0 0xff373f00 0x0 0x100>;
> @@ -645,6 +672,35 @@
> status = "disabled";
> };
>
> + hdmi: hdmi@ff3c0000 {
> + compatible = "rockchip,rk3328-dw-hdmi";
> + reg = <0x0 0xff3c0000 0x0 0x20000>;
> + reg-io-width = <4>;
> + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cru PCLK_HDMI>,
> + <&cru SCLK_HDMI_SFC>;
> + clock-names = "iahb",
> + "isfr";
> + phys = <&hdmiphy>;
> + phy-names = "hdmi";
> + pinctrl-names = "default";
> + pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
> + rockchip,grf = <&grf>;
> + status = "disabled";
> +
> + ports {
> + hdmi_in: port {
> + #address-cells = <1>;
> + #size-cells = <0>;
FWIW I think we could just drop these (along with the reg and unit
address below), since with a single VOP instance I guess there can only
ever be one remote endpoint here.
(I assume the VOP itself has a potential second endpoint at the video
DAC, so there's some argument for explicit numbering there)
Robin.
> + hdmi_in_vop: endpoint@0 {
> + reg = <0>;
> + remote-endpoint = <&vop_out_hdmi>;
> + };
> + };
> + };
> + };
> +
> hdmiphy: phy@ff430000 {
> compatible = "rockchip,rk3328-hdmi-phy";
> reg = <0x0 0xff430000 0x0 0x10000>;
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 2/4] arm64: dts: rockchip: add rk3328 display nodes
@ 2018-05-15 15:03 ` Robin Murphy
0 siblings, 0 replies; 12+ messages in thread
From: Robin Murphy @ 2018-05-15 15:03 UTC (permalink / raw)
To: linux-arm-kernel
Hi Heiko,
Just a trivial nit I failed to consider last time...
On 15/05/18 14:54, Heiko Stuebner wrote:
> Add the chain of display nodes from the core display-subsystem
> through the one vop to the dw-hdmi output.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Robin Murphy <robin.murphy@arm.com>
> ---
> changes in v2:
> - remove trailing 0 from vop irq
>
> arch/arm64/boot/dts/rockchip/rk3328.dtsi | 56 ++++++++++++++++++++++++
> 1 file changed, 56 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> index 04d81ea0924e..16e7cf210875 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> @@ -185,6 +185,11 @@
> interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
> };
>
> + display_subsystem: display-subsystem {
> + compatible = "rockchip,display-subsystem";
> + ports = <&vop_out>;
> + };
> +
> psci {
> compatible = "arm,psci-1.0", "arm,psci-0.2";
> method = "smc";
> @@ -634,6 +639,28 @@
> status = "disabled";
> };
>
> + vop: vop at ff370000 {
> + compatible = "rockchip,rk3328-vop";
> + reg = <0x0 0xff370000 0x0 0x3efc>;
> + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>;
> + clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
> + resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
> + reset-names = "axi", "ahb", "dclk";
> + iommus = <&vop_mmu>;
> + status = "disabled";
> +
> + vop_out: port {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + vop_out_hdmi: endpoint at 0 {
> + reg = <0>;
> + remote-endpoint = <&hdmi_in_vop>;
> + };
> + };
> + };
> +
> vop_mmu: iommu at ff373f00 {
> compatible = "rockchip,iommu";
> reg = <0x0 0xff373f00 0x0 0x100>;
> @@ -645,6 +672,35 @@
> status = "disabled";
> };
>
> + hdmi: hdmi at ff3c0000 {
> + compatible = "rockchip,rk3328-dw-hdmi";
> + reg = <0x0 0xff3c0000 0x0 0x20000>;
> + reg-io-width = <4>;
> + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cru PCLK_HDMI>,
> + <&cru SCLK_HDMI_SFC>;
> + clock-names = "iahb",
> + "isfr";
> + phys = <&hdmiphy>;
> + phy-names = "hdmi";
> + pinctrl-names = "default";
> + pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
> + rockchip,grf = <&grf>;
> + status = "disabled";
> +
> + ports {
> + hdmi_in: port {
> + #address-cells = <1>;
> + #size-cells = <0>;
FWIW I think we could just drop these (along with the reg and unit
address below), since with a single VOP instance I guess there can only
ever be one remote endpoint here.
(I assume the VOP itself has a potential second endpoint at the video
DAC, so there's some argument for explicit numbering there)
Robin.
> + hdmi_in_vop: endpoint at 0 {
> + reg = <0>;
> + remote-endpoint = <&vop_out_hdmi>;
> + };
> + };
> + };
> + };
> +
> hdmiphy: phy at ff430000 {
> compatible = "rockchip,rk3328-hdmi-phy";
> reg = <0x0 0xff430000 0x0 0x10000>;
>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-05-15 15:03 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-15 13:54 [PATCH v2 0/4] rk3328 and rock64 display support Heiko Stuebner
2018-05-15 13:54 ` Heiko Stuebner
[not found] ` <20180515135457.6252-1-heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
2018-05-15 13:54 ` [PATCH v2 1/4] arm64: dts: rockchip: add Innosilicon hdmi phy node to rk3328 Heiko Stuebner
2018-05-15 13:54 ` Heiko Stuebner
2018-05-15 13:54 ` [PATCH v2 2/4] arm64: dts: rockchip: add rk3328 display nodes Heiko Stuebner
2018-05-15 13:54 ` Heiko Stuebner
2018-05-15 15:03 ` Robin Murphy
2018-05-15 15:03 ` Robin Murphy
2018-05-15 13:54 ` [PATCH v2 3/4] arm64: dts: rockchip: enable display nodes on rk3328-rock64 Heiko Stuebner
2018-05-15 13:54 ` Heiko Stuebner
2018-05-15 13:54 ` [PATCH v2 4/4] arm64: defconfig: enable Rockchip Innosilicon hdmiphy Heiko Stuebner
2018-05-15 13:54 ` Heiko Stuebner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.