diff --git a/arch/arm64/boot/dts/rockchip/rk3566-rk817-tablet.dts b/arch/arm64/boot/dts/rockchip/rk3566-rk817-tablet.dts index ddb71db6eca9..da07855b642f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-rk817-tablet.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-rk817-tablet.dts @@ -78,6 +78,20 @@ backlight: backlight { default-brightness-level = <200>; }; + flash_rgb13h: flash-rgb13h { + status = "okay"; + compatible = "led,rgb13h"; + label = "gpio-flash"; + pinctrl-names = "default"; + pinctrl-0 = <&flash_led_gpios>; + led-max-microamp = <20000>; + flash-max-microamp = <20000>; + flash-max-timeout-us = <1000000>; + enable-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + }; + hdmi_sound: hdmi-sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; @@ -102,6 +116,17 @@ vccsys: vccsys { regulator-max-microvolt = <3800000>; }; + vcc_camera: vcc-camera-regulator { + compatible = "regulator-fixed"; + gpio = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&camera_rst>; + regulator-name = "vcc_camera"; + enable-active-high; + regulator-always-on; + regulator-boot-on; + }; + rk817-sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; @@ -183,6 +208,41 @@ &cpu0 { cpu-supply = <&vdd_cpu>; }; +&csi_dphy { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + mipi_in_ucam0: endpoint@0 { + reg = <0>; + remote-endpoint = <&gc2385_out>; + data-lanes = <1>; + }; + mipi_in_ucam1: endpoint@1 { + reg = <1>; + remote-endpoint = <&ov8858_out>; + data-lanes = <1 2>; + }; + }; + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + csidphy0_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&isp0_in>; + }; + }; + }; +}; + &dsi0 { status = "okay"; rockchip,lane-rate = <1000>; @@ -692,6 +752,63 @@ rk817_codec: codec { }; }; +&i2c2 { + status = "okay"; + pinctrl-0 = <&i2c2m1_xfer>; + + gc2385: gc2385@37 { + compatible = "galaxycore,gc2385"; + status = "okay"; + reg = <0x37>; + clocks = <&cru CLK_CIF_OUT>; + clock-names = "xvclk"; + power-domains = <&power RK3568_PD_VI>; + pinctrl-names = "rockchip,camera_default"; + pinctrl-0 = <&cif_clkout>; + + //reset pin control by hardware,used this pin switch to mipi input + //1->2LANE(LANE 0&1) FRONT camera, 0->4LANE REAR camera + reset-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; + pwdn-gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; + rockchip,camera-module-index = <1>; + rockchip,camera-module-facing = "front"; + rockchip,camera-module-name = "HS5885-BNSM1018-V01"; + rockchip,camera-module-lens-name = "default"; + port { + gc2385_out: endpoint { + remote-endpoint = <&mipi_in_ucam0>; + data-lanes = <1>; + }; + }; + }; + + ov8858: ov8858@36 { + status = "okay"; + compatible = "ovti,ov8858"; + reg = <0x36>; + clocks = <&cru CLK_CAM0_OUT>; + clock-names = "xvclk"; + power-domains = <&power RK3568_PD_VI>; + pinctrl-names = "default"; + pinctrl-0 = <&cam_clkout0>; + //reset pin control by hardware,used this pin switch to mipi input + //1->2LANE(LANE 0&1) FRONT camera, 0->4LANE REAR camera + reset-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; + pwdn-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "HS5885-BNSM1018-V01"; + rockchip,camera-module-lens-name = "default"; + flash-leds = <&flash_rgb13h>; + port { + ov8858_out: endpoint { + remote-endpoint = <&mipi_in_ucam1>; + data-lanes = <1 2>; + }; + }; + }; +}; + &i2c3 { status = "okay"; pinctrl-names = "default"; @@ -765,6 +882,35 @@ &nandc0 { }; &pinctrl { + cam { + cam_clkout0: cam-clkout0 { + rockchip,pins = + /* cam_clkout0 */ + <4 RK_PA7 RK_FUNC_1 &pcfg_pull_none>; + }; + + camera_rst: camera-rst { + rockchip,pins = + /* front camera reset */ + <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>, + /* back camra reset */ + <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + flash_led_gpios: flash-led { + rockchip,pins = + /* flash led enable */ + <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + cif { + cif_clkout: cif-clkout { + rockchip,pins = + /* cif_clkout */ + <4 RK_PC0 RK_FUNC_1 &pcfg_pull_none>; + }; + }; tp { tp_gpio: tp-gpio { @@ -866,6 +1012,28 @@ &rk_rga { status = "okay"; }; +&rkisp { + status = "okay"; +}; + +&rkisp_mmu { + status = "okay"; +}; + +&rkisp_vir0 { + status = "okay"; + + port { + #address-cells = <1>; + #size-cells = <0>; + + isp0_in: endpoint@0 { + reg = <0>; + remote-endpoint = <&csidphy0_out>; + }; + }; +}; + &rkvdec { status = "okay"; };