From 7460cd90aa320856a55bbe79a9c18821cc1aec75 Mon Sep 17 00:00:00 2001 From: Yiqing Zeng Date: Fri, 7 Jan 2022 16:59:21 +0800 Subject: [PATCH] arm64: dts: rockchip: support imx415 for rk3588 evb3 Signed-off-by: Yiqing Zeng Change-Id: I478b5d71e22a3ccf62269b8a5f7dea0d64e4721e --- .../boot/dts/rockchip/rk3588-evb3-imx415.dtsi | 176 ++++++++++++++++++ .../rockchip/rk3588-evb3-lp5-v10-linux.dts | 1 + .../boot/dts/rockchip/rk3588-evb3-lp5-v10.dts | 1 + 3 files changed, 178 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-evb3-imx415.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb3-imx415.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb3-imx415.dtsi new file mode 100644 index 000000000000..acff4eab0706 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb3-imx415.dtsi @@ -0,0 +1,176 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2021 Rockchip Electronics Co., Ltd. + * + */ + +/ { + cam_ircut0: cam_ircut { + status = "okay"; + compatible = "rockchip,ircut"; + ircut-open-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>; + ircut-close-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + }; + vcc_mipidphy0: vcc-mipidcphy0-regulator { + compatible = "regulator-fixed"; + gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&mipidphy0_pwr>; + regulator-name = "vcc_mipidphy0"; + enable-active-high; + }; +}; + +&csi2_dphy0 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + mipidphy0_in_ucam0: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx415_out0>; + data-lanes = <1 2 3 4>; + }; + }; + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + csidphy0_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&mipi2_csi2_input>; + }; + }; + }; +}; + +&csi2_dphy0_hw { + status = "okay"; +}; + +&i2c3 { + status = "okay"; + + imx415: imx415@1a { + compatible = "sony,imx415"; + reg = <0x1a>; + clocks = <&cru CLK_MIPI_CAMARAOUT_M3>; + clock-names = "xvclk"; + pinctrl-names = "default"; + pinctrl-0 = <&mipim0_camera3_clk>; + power-domains = <&power RK3588_PD_VI>; + pwdn-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; + avdd-supply = <&vcc_mipidphy0>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "CMK-OT2022-PX1"; + rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20"; + lens-focus = <&cam_ircut0>; + port { + imx415_out0: endpoint { + remote-endpoint = <&mipidphy0_in_ucam0>; + data-lanes = <1 2 3 4>; + }; + }; + }; +}; + +&mipi2_csi2 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + mipi2_csi2_input: endpoint@1 { + reg = <1>; + remote-endpoint = <&csidphy0_out>; + }; + }; + + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + mipi2_csi2_output: endpoint@0 { + reg = <0>; + remote-endpoint = <&cif_mipi2_in0>; + }; + }; + }; +}; + +&pinctrl { + cam { + mipidphy0_pwr: mipidphy0-pwr { + rockchip,pins = + /* camera power en */ + <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&rkcif { + status = "okay"; +}; + +&rkcif_mipi_lvds2 { + status = "okay"; + + port { + cif_mipi2_in0: endpoint { + remote-endpoint = <&mipi2_csi2_output>; + }; + }; +}; + +&rkcif_mipi_lvds2_sditf { + status = "okay"; + + port { + mipi_lvds2_sditf: endpoint { + remote-endpoint = <&isp0_vir0>; + }; + }; +}; + +&rkcif_mmu { + status = "okay"; +}; + +&rkisp0 { + status = "okay"; +}; + +&isp0_mmu { + status = "okay"; +}; + +&rkisp0_vir0 { + status = "okay"; + + port { + #address-cells = <1>; + #size-cells = <0>; + + isp0_vir0: endpoint@0 { + reg = <0>; + remote-endpoint = <&mipi_lvds2_sditf>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10-linux.dts b/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10-linux.dts index 6a7c3b3f86ba..26d6a69a6508 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10-linux.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10-linux.dts @@ -8,6 +8,7 @@ #include "rk3588-evb3-lp5.dtsi" #include "rk3588-linux.dtsi" +#include "rk3588-evb3-imx415.dtsi" / { model = "Rockchip RK3588 EVB3 LP5 V10 Board"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10.dts index 1f7be5d42e26..95f305758b48 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb3-lp5-v10.dts @@ -8,6 +8,7 @@ #include "rk3588-evb3-lp5.dtsi" #include "rk3588-android.dtsi" +#include "rk3588-evb3-imx415.dtsi" / { model = "Rockchip RK3588 EVB3 LP5 V10 Board";