summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/boot/dts/rockchip/Makefile1
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-puma-peafowl.dts107
2 files changed, 108 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 62e152bceffe..998ddaa933a3 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -97,6 +97,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-hdmi+edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-hdmi+mipidsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-mipidsi.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-peafowl.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-spi5.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-spidev.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock960-ab.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma-peafowl.dts b/arch/arm64/boot/dts/rockchip/rk3399-puma-peafowl.dts
new file mode 100644
index 000000000000..686e815787cd
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma-peafowl.dts
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/*
+ Theobroma Systems RK3399-Q7 "Puma" with HDMI to CSI adapter "Peafowl".
+ Uses the Toshiba TC358749 chip.
+ */
+
+#include "rk3399-puma.dts"
+
+/ {
+ hdmi2csi_clk: hdmi2csi_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <27000000>;
+ clock-output-names = "hdmi2csi_clk";
+ #clock-cells = <0>;
+ };
+};
+
+&mipi_dphy_tx1rx1 {
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dphy_tx1rx1_csi_in: endpoint {
+ reg = <0>;
+ remote-endpoint = <&hdmi2csi_out>;
+ data-lanes = <1 2 3 4>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dphy_tx1rx1_out: endpoint {
+ remote-endpoint = <&isp1_mipi_in>;
+ };
+ };
+ };
+};
+
+&mipi_dphy_rx0 {
+ status = "okay";
+};
+
+&i2c1 {
+ hdmi2csi {
+ status = "okay";
+ compatible = "toshiba,tc358749";
+ reg = <0x1f>;
+ clocks = <&hdmi2csi_clk>;
+ clock-names = "refclk";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&peafowl_gpios>;
+
+ // gpio158
+ reset-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>;
+ // gpio55
+ int-gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
+
+ port {
+ hdmi2csi_out: endpoint {
+ remote-endpoint = <&dphy_tx1rx1_csi_in>;
+ clock-lanes = <0>;
+ data-lanes = <1 2 3 4>;
+ clock-noncontinuous;
+ link-frequencies = /bits/ 64 <297000000>;
+ };
+ };
+ };
+};
+
+
+&rkisp1_1 {
+ status = "okay";
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ isp1_mipi_in: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&dphy_tx1rx1_out>;
+ };
+ };
+};
+
+&isp1_mmu {
+ status = "okay";
+};
+
+&pinctrl {
+ peafowl {
+ peafowl_gpios: peafowl_gpios {
+ rockchip,pins =
+ <4 30 RK_FUNC_GPIO &pcfg_pull_none>,
+ <1 23 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};