diff options
author | Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> | 2019-08-13 09:15:45 +0530 |
---|---|---|
committer | Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> | 2019-08-13 09:15:45 +0530 |
commit | 28d17481d6e21a3f0002041ab22996d8f3f83ed6 (patch) | |
tree | 36349c582ae6d797f9a7f12bf9a755dbea29ac43 | |
parent | dac09549554f22534e00dcd9c3ebb5aabee30a1e (diff) | |
download | 96b-common-rock960_camera.tar.gz |
Add camera support for Rock960rock960_camera
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
-rw-r--r-- | arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 78 | ||||
-rw-r--r-- | arch/arm64/boot/dts/rockchip/rk3399.dtsi | 4 |
2 files changed, 80 insertions, 2 deletions
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi index c7d48d41e184..2039561320ad 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi @@ -76,6 +76,30 @@ regulator-always-on; vin-supply = <&vcc5v0_sys>; }; + + camera_vdddo_1v8: fixedregulator@0 { + compatible = "regulator-fixed"; + regulator-name = "camera_vdddo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + camera_vdda_2v8: fixedregulator@1 { + compatible = "regulator-fixed"; + regulator-name = "camera_vdda"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + }; + + camera_vddd_1v5: fixedregulator@2 { + compatible = "regulator-fixed"; + regulator-name = "camera_vddd"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + }; }; &cpu_l0 { @@ -354,6 +378,31 @@ &i2c2 { status = "okay"; + + imx290: imx290@1a { + compatible = "sony,imx290"; + reg = <0x1a>; + + reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&ucam_rst>; + + clocks = <&cru SCLK_TESTCLKOUT1>; + clock-names = "xclk"; + clock-frequency = <37125000>; + + vdddo-supply = <&camera_vdddo_1v8>; + vdda-supply = <&camera_vdda_2v8>; + vddd-supply = <&camera_vddd_1v5>; + + port { + imx290_ep: endpoint { + clock-lanes = <1>; + data-lanes = <0 2>; + remote-endpoint = <&mipi_in_wcam>; + }; + }; + }; }; &i2c3 { @@ -376,6 +425,29 @@ status = "okay"; }; +&isp0 { + status = "okay"; + + ports { + port@0 { + mipi_in_wcam: endpoint@0 { + reg = <0>; + remote-endpoint = <&imx290_ep>; + clock-lanes = <1>; + data-lanes = <0 2>; + }; + }; + }; +}; + +&isp0_mmu { + status = "okay"; +}; + +&mipi_dphy_rx0 { + status = "okay"; +}; + &pcie_phy { status = "okay"; }; @@ -482,6 +554,12 @@ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; }; }; + + camera { + ucam_rst: ucam_rst { + rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; }; &pwm2 { diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 3630d95e5cd8..376b971087e4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -2176,8 +2176,8 @@ i2c2 { i2c2_xfer: i2c2-xfer { rockchip,pins = - <2 RK_PA1 2 &pcfg_pull_none_12ma>, - <2 RK_PA0 2 &pcfg_pull_none_12ma>; + <2 RK_PA1 2 &pcfg_pull_up>, + <2 RK_PA0 2 &pcfg_pull_up>; }; }; |