// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2022 Rockchip Electronics Co., Ltd. */ #include "rv1106-amp.dtsi" / { chosen { bootargs = "earlycon=uart8250,mmio32,0xff4c0000 console=ttyFIQ0 rootwait snd_soc_core.prealloc_buffer_size_kbytes=16 coherent_pool=0"; }; acodec_sound: acodec-sound { compatible = "simple-audio-card"; simple-audio-card,name = "rv-acodec"; simple-audio-card,format = "i2s"; simple-audio-card,mclk-fs = <256>; simple-audio-card,cpu { sound-dai = <&i2s0_8ch>; }; simple-audio-card,codec { sound-dai = <&acodec>; }; }; vcc_1v8: vcc-1v8 { compatible = "regulator-fixed"; regulator-name = "vcc_1v8"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; vcc_3v3: vcc-3v3 { compatible = "regulator-fixed"; regulator-name = "vcc_3v3"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; vdd_arm: vdd-arm { compatible = "pwm-regulator"; pwms = <&pwm0 0 5000 1>; regulator-name = "vdd_arm"; regulator-min-microvolt = <724000>; regulator-max-microvolt = <1078000>; regulator-init-microvolt = <950000>; regulator-always-on; regulator-boot-on; regulator-settling-time-up-us = <250>; }; }; &acodec { #sound-dai-cells = <0>; pa-ctl-gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>; status = "okay"; }; &cpu0 { cpu-supply = <&vdd_arm>; }; &csi2_dphy_hw { status = "okay"; }; &csi2_dphy0 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; csi_dphy_input0: endpoint@0 { reg = <0>; remote-endpoint = <&sc3336_out>; data-lanes = <1 2>; }; csi_dphy_input1: endpoint@1 { reg = <1>; remote-endpoint = <&sc4336_out>; data-lanes = <1 2>; }; csi_dphy_input2: endpoint@2 { reg = <2>; remote-endpoint = <&sc530ai_out>; data-lanes = <1 2>; }; }; port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; csi_dphy_output: endpoint@0 { reg = <0>; remote-endpoint = <&mipi_csi2_input>; }; }; }; }; &i2c4 { status = "okay"; clock-frequency = <400000>; pinctrl-names = "default"; pinctrl-0 = <&i2c4m2_xfer>; sc3336: sc3336@30 { compatible = "smartsens,sc3336"; status = "okay"; reg = <0x30>; clocks = <&cru MCLK_REF_MIPI0>; clock-names = "xvclk"; pwdn-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&mipi_refclk_out0>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "CMK-OT2119-PC1"; rockchip,camera-module-lens-name = "30IRC-F16"; port { sc3336_out: endpoint { remote-endpoint = <&csi_dphy_input0>; data-lanes = <1 2>; }; }; }; sc4336: sc4336@30 { compatible = "smartsens,sc4336"; status = "okay"; reg = <0x30>; clocks = <&cru MCLK_REF_MIPI0>; clock-names = "xvclk"; pwdn-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&mipi_refclk_out0>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "OT01"; rockchip,camera-module-lens-name = "40IRC_F16"; port { sc4336_out: endpoint { remote-endpoint = <&csi_dphy_input1>; data-lanes = <1 2>; }; }; }; sc530ai: sc530ai@30 { compatible = "smartsens,sc530ai"; status = "okay"; reg = <0x30>; clocks = <&cru MCLK_REF_MIPI0>; clock-names = "xvclk"; pwdn-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&mipi_refclk_out0>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "CMK-OT2115-PC1"; rockchip,camera-module-lens-name = "30IRC-F16"; port { sc530ai_out: endpoint { remote-endpoint = <&csi_dphy_input2>; data-lanes = <1 2>; }; }; }; }; &i2s0_8ch { #sound-dai-cells = <0>; status = "okay"; }; &mipi0_csi2 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; mipi_csi2_input: endpoint@1 { reg = <1>; remote-endpoint = <&csi_dphy_output>; }; }; port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; mipi_csi2_output: endpoint@0 { reg = <0>; remote-endpoint = <&cif_mipi_in>; }; }; }; }; &pwm0 { status = "okay"; }; &rkcif { status = "okay"; }; &rkcif_mipi_lvds { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&mipi_pins>; port { /* MIPI CSI-2 endpoint */ cif_mipi_in: endpoint { remote-endpoint = <&mipi_csi2_output>; }; }; }; &rkcif_mipi_lvds_sditf { status = "okay"; port { /* MIPI CSI-2 endpoint */ mipi_lvds_sditf: endpoint { remote-endpoint = <&isp_in>; }; }; }; &rkisp { status = "okay"; }; &rkisp_vir0 { status = "okay"; port@0 { isp_in: endpoint { remote-endpoint = <&mipi_lvds_sditf>; }; }; }; &saradc { status = "okay"; vref-supply = <&vcc_1v8>; }; &sfc { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <80000000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <1>; }; }; &sdmmc { max-frequency = <50000000>; no-sdio; no-mmc; bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; disable-wp; pinctrl-names = "normal", "idle"; pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>; pinctrl-1 = <&sdmmc0_idle_pins &sdmmc0_det>; status = "okay"; }; &tsadc { status = "okay"; }; &u2phy { status = "disabled"; }; &u2phy_otg { status = "disabled"; }; &usbdrd { status = "disabled"; }; &usbdrd_dwc3 { status = "disabled"; };