diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 09a60960c2d9..bf133b2a7cdb 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -851,6 +851,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rv1109-evb-lp3-v10.dtb \ rv1109-fpga.dtb \ rv1126-ai-cam-ddr3-v1.dtb \ + rv1126-bat-ipc-v10.dtb \ rv1126-evb-ddr3-v10.dtb \ rv1126-evb-ddr3-v10-robot.dtb \ rv1126-evb-ddr3-v12.dtb \ diff --git a/arch/arm/boot/dts/rv1126-bat-ipc-v10.dts b/arch/arm/boot/dts/rv1126-bat-ipc-v10.dts new file mode 100644 index 000000000000..ebef28b063af --- /dev/null +++ b/arch/arm/boot/dts/rv1126-bat-ipc-v10.dts @@ -0,0 +1,161 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2020 Rockchip Electronics Co., Ltd. + */ + +/dts-v1/; +#include "rv1126.dtsi" +#include "rv11xx-ipc.dtsi" +#include + +/ { + model = "Rockchip RV1126 BAT IPC V10 Board"; + compatible = "rockchip,rv1126-bat-ipc-v10", "rockchip,rv1126"; + + chosen { + bootargs = "earlycon=uart8250,mmio32,0xff570000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=ext4 rootwait snd_aloop.index=7"; + }; + + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 0>; + io-channel-names = "buttons"; + poll-interval = <100>; + keyup-threshold-microvolt = <1800000>; + + recovery { + label = "Volum_up"; + linux,code = ; + press-threshold-microvolt = <0>; + }; + }; + + /delete-node/ vdd-npu; + /delete-node/ vdd-vepu; + + 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>; + }; + + vccio_flash: vccio-flash { + compatible = "regulator-fixed"; + regulator-name = "vccio_flash"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc_1v8>; + }; + + vccio_sd: vccio-sd { + compatible = "regulator-gpio"; + regulator-name = "vccio_sd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; + states = <3300000 1 + 1800000 0>; + }; + + vdd_arm: vdd-arm { + compatible = "pwm-regulator"; + pwms = <&pwm0 0 5000 1>; + regulator-name = "vdd_arm"; + regulator-min-microvolt = <720000>; + regulator-max-microvolt = <1000000>; + regulator-init-microvolt = <824000>; + regulator-always-on; + regulator-boot-on; + pwm-supply = <&vcc_3v3>; + }; + + vdd_npu_vepu: vdd-npu-vepu { + compatible = "pwm-regulator"; + pwms = <&pwm1 0 5000 1>; + regulator-name = "vdd_npu_vepu"; + regulator-min-microvolt = <720000>; + regulator-max-microvolt = <1000000>; + regulator-init-microvolt = <824000>; + regulator-always-on; + regulator-boot-on; + pwm-supply = <&vcc_3v3>; + }; +}; + +&emmc { + bus-width = <8>; + cap-mmc-highspeed; + non-removable; + mmc-hs200-1_8v; + rockchip,default-sample-phase = <90>; + supports-emmc; + /delete-property/ pinctrl-names; + /delete-property/ pinctrl-0; + status = "okay"; +}; + +&npu { + npu-supply = <&vdd_npu_vepu>; +}; + +&pmu_io_domains { + status = "okay"; + + pmuio0-supply = <&vcc_1v8>; + pmuio1-supply = <&vcc_3v3>; + vccio1-supply = <&vccio_flash>; + vccio2-supply = <&vccio_sd>; + vccio3-supply = <&vcc_1v8>; + vccio4-supply = <&vcc_1v8>; + vccio5-supply = <&vcc_3v3>; + vccio7-supply = <&vcc_3v3>; +}; + +&rkvenc { + venc-supply = <&vdd_npu_vepu>; +}; + +&rockchip_suspend { + status = "okay"; + rockchip,sleep-debug-en = <1>; + rockchip,sleep-mode-config = < + (0 + | RKPM_SLP_ARMOFF + | RKPM_SLP_PMU_PMUALIVE_32K + | RKPM_SLP_PMU_DIS_OSC + ) + >; +}; + +&saradc { + status = "okay"; + vref-supply = <&vcc_1v8>; +}; + +&sdmmc { + bus-width = <4>; + cap-mmc-highspeed; + cap-sd-highspeed; + card-detect-delay = <200>; + rockchip,default-sample-phase = <90>; + supports-sd; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr104; + vqmmc-supply = <&vccio_sd>; + status = "okay"; +};