From 797901dbc06e22d911d98a3f436a96502eca58f8 Mon Sep 17 00:00:00 2001 From: Caesar Wang Date: Mon, 30 Dec 2019 08:54:09 +0800 Subject: [PATCH] arm64: dts: rockchip: support rk3399pro evb v14 board for linux The V14 board will support npu combining with usb and pcie solution. Change-Id: Ic04ad2415b989308d2acf4fddfe345cc774d9b47 Signed-off-by: Caesar Wang --- .../devicetree/bindings/arm/rockchip.txt | 9 ++ arch/arm64/boot/dts/rockchip/Makefile | 1 + .../dts/rockchip/rk3399pro-evb-v11-linux.dts | 7 + .../dts/rockchip/rk3399pro-evb-v14-linux.dts | 148 ++++++++++++++++++ 4 files changed, 165 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399pro-evb-v14-linux.dts diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt index 4821a4c4f80d..ac45bd4f6528 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.txt +++ b/Documentation/devicetree/bindings/arm/rockchip.txt @@ -223,6 +223,15 @@ Rockchip platforms device tree bindings Required root node properties: - compatible = "rockchip,rk3399-sapphire-excavator", "rockchip,rk3399"; +- Rockchip RK3399pro evb: + Required root node properties: + - compatible = "rockchip,rk3399pro-evb-v10", "rockchip,rk3399pro"; + - compatible = "rockchip,rk3399pro-evb-v10-linux", "rockchip,rk3399pro"; + - compatible = "rockchip,rk3399pro-evb-v11-linux", "rockchip,rk3399pro"; + - compatible = "rockchip,rk3399pro-evb-v13-linux", "rockchip,rk3399pro"; + - compatible = "rockchip,rk3399pro-evb-v13-multi-cam", "rockchip,rk3399pro"; + - compatible = "rockchip,rk3399pro-evb-v14-linux", "rockchip,rk3399pro"; + - Theobroma Systems RK3368-uQ7 Haikou Baseboard: Required root node properties: - compatible = "tsd,rk3368-uq7-haikou", "rockchip,rk3368"; diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 9532686d3e4c..10f65dc35141 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -62,3 +62,4 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-avb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-lp4-linux.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1030g-avb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-evb-lp4-v11-linux.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-evb-v14-linux.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts index 473721804a01..7808dafe0c43 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v11-linux.dts @@ -1108,6 +1108,13 @@ }; }; + camera { + cam_pwren_high: cam-pwren-high { + rockchip,pins = + <4 RK_PC5 0 &pcfg_output_high>; + }; + }; + fusb30x { fusb0_int: fusb0-int { rockchip,pins = diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v14-linux.dts b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v14-linux.dts new file mode 100644 index 000000000000..f298d9d29bb6 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-evb-v14-linux.dts @@ -0,0 +1,148 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd + * + */ + +/dts-v1/; +#include "rk3399pro-evb-v11-linux.dts" + +/ { + model = "Rockchip RK3399pro evb v14 board for linux"; + compatible = "rockchip,rk3399pro-evb-v14-linux", "rockchip,rk3399pro"; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + + dma_trans: dma_trans@3c000000 { + //no-map; + reg = <0x0 0x3c000000 0x0 0x04000000>; + }; + }; +}; + +&i2c1 { + status = "okay"; + i2c-scl-rising-time-ns = <345>; + i2c-scl-falling-time-ns = <11>; + pinctrl-0 = <&i2c1_xfer>, <&cam_pwren_high>; + + jaguar1: jaguar1@30 { + compatible = "jaguar1-v4l2"; + status = "okay"; + reg = <0x30>; + clocks = <&cru SCLK_CIF_OUT>; + clock-names = "xvclk"; + /* + * pd-gpios = <&gpio4 21 GPIO_ACTIVE_HIGH>; // conflict with csi-ctl-gpios + * rst-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + */ + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "jaguar1"; + rockchip,camera-module-lens-name = "jaguar1"; + port { + cam_out: endpoint { + remote-endpoint = <&usbacm_video_control_in>; + data-lanes = <1 2 3 4>; + }; + }; + }; +}; + +&mipi_dphy_rx0 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + mipi_in_ucam0: endpoint@1 { + reg = <1>; + remote-endpoint = <&usbacm_video_control_out>; + data-lanes = <1 2 3 4>; + }; + }; + + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + dphy_rx0_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&isp0_mipi_in>; + }; + }; + }; +}; + +&pcie0 { + /delete-property/ ep-gpios; + num-lanes = <4>; + pinctrl-names = "default"; + pinctrl-0 = <&pcie_clkreqn_cpm>; + max-link-speed = <1>; + memory-region = <&dma_trans>; + busno = <0>; + rockchip,dma_trx_enabled = <1>; + rockchip,deferred = <1>; + status = "okay"; +}; + +&rkisp1_0 { + status = "okay"; + + port { + #address-cells = <1>; + #size-cells = <0>; + + isp0_mipi_in: endpoint@0 { + reg = <0>; + remote-endpoint = <&dphy_rx0_out>; + }; + }; +}; + +&usbacm_video_control { + status = "okay"; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "usbacm_video_control"; + rockchip,camera-module-lens-name = "usbacm_video_control"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + usbacm_video_control_in: endpoint@0 { + reg = <0>; + remote-endpoint = <&cam_out>; + data-lanes = <1 2 3 4>; + }; + }; + + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + usbacm_video_control_out: endpoint@1 { + reg = <1>; + remote-endpoint = <&mipi_in_ucam0>; + data-lanes = <1 2 3 4>; + }; + }; + }; +};