1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4f126890aSEmmanuel Vadot * Copyright (c) 2022 Edgeble AI Technologies Pvt. Ltd. 5f126890aSEmmanuel Vadot */ 6f126890aSEmmanuel Vadot 7f126890aSEmmanuel Vadot/ { 8f126890aSEmmanuel Vadot compatible = "edgeble,neural-compute-module-2", "rockchip,rv1126"; 9f126890aSEmmanuel Vadot 10f126890aSEmmanuel Vadot aliases { 11f126890aSEmmanuel Vadot mmc0 = &emmc; 12f126890aSEmmanuel Vadot }; 13f126890aSEmmanuel Vadot 14f126890aSEmmanuel Vadot vccio_flash: vccio-flash-regulator { 15f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 16f126890aSEmmanuel Vadot enable-active-high; 17f126890aSEmmanuel Vadot gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 18f126890aSEmmanuel Vadot pinctrl-names = "default"; 19f126890aSEmmanuel Vadot pinctrl-0 = <&flash_vol_sel>; 20f126890aSEmmanuel Vadot regulator-name = "vccio_flash"; 21f126890aSEmmanuel Vadot regulator-always-on; 22f126890aSEmmanuel Vadot regulator-boot-on; 23f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 24f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 25f126890aSEmmanuel Vadot vin-supply = <&vcc_3v3>; 26f126890aSEmmanuel Vadot }; 27f126890aSEmmanuel Vadot 28f126890aSEmmanuel Vadot sdio_pwrseq: pwrseq-sdio { 29f126890aSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 30f126890aSEmmanuel Vadot clocks = <&rk809 1>; 31f126890aSEmmanuel Vadot clock-names = "ext_clock"; 32f126890aSEmmanuel Vadot pinctrl-names = "default"; 33f126890aSEmmanuel Vadot pinctrl-0 = <&wifi_enable_h>; 34f126890aSEmmanuel Vadot reset-gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>; 35f126890aSEmmanuel Vadot }; 36f126890aSEmmanuel Vadot}; 37f126890aSEmmanuel Vadot 38f126890aSEmmanuel Vadot&cpu0 { 39f126890aSEmmanuel Vadot cpu-supply = <&vdd_arm>; 40f126890aSEmmanuel Vadot}; 41f126890aSEmmanuel Vadot 42f126890aSEmmanuel Vadot&emmc { 43f126890aSEmmanuel Vadot bus-width = <8>; 44f126890aSEmmanuel Vadot non-removable; 45f126890aSEmmanuel Vadot pinctrl-names = "default"; 46*aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk>; 47f126890aSEmmanuel Vadot rockchip,default-sample-phase = <90>; 48f126890aSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 49f126890aSEmmanuel Vadot vqmmc-supply = <&vccio_flash>; 50f126890aSEmmanuel Vadot status = "okay"; 51f126890aSEmmanuel Vadot}; 52f126890aSEmmanuel Vadot 53f126890aSEmmanuel Vadot&i2c0 { 54f126890aSEmmanuel Vadot clock-frequency = <400000>; 55f126890aSEmmanuel Vadot status = "okay"; 56f126890aSEmmanuel Vadot 57f126890aSEmmanuel Vadot rk809: pmic@20 { 58f126890aSEmmanuel Vadot compatible = "rockchip,rk809"; 59f126890aSEmmanuel Vadot reg = <0x20>; 60f126890aSEmmanuel Vadot interrupt-parent = <&gpio0>; 61f126890aSEmmanuel Vadot interrupts = <RK_PB1 IRQ_TYPE_LEVEL_LOW>; 62f126890aSEmmanuel Vadot #clock-cells = <1>; 63f126890aSEmmanuel Vadot clock-output-names = "rk808-clkout1", "rk808-clkout2"; 64f126890aSEmmanuel Vadot pinctrl-names = "default"; 65f126890aSEmmanuel Vadot pinctrl-0 = <&pmic_int_l>; 66f126890aSEmmanuel Vadot rockchip,system-power-controller; 67f126890aSEmmanuel Vadot wakeup-source; 68f126890aSEmmanuel Vadot 69f126890aSEmmanuel Vadot vcc1-supply = <&vcc5v0_sys>; 70f126890aSEmmanuel Vadot vcc2-supply = <&vcc5v0_sys>; 71f126890aSEmmanuel Vadot vcc3-supply = <&vcc5v0_sys>; 72f126890aSEmmanuel Vadot vcc4-supply = <&vcc5v0_sys>; 73f126890aSEmmanuel Vadot vcc5-supply = <&vcc_buck5>; 74f126890aSEmmanuel Vadot vcc6-supply = <&vcc_buck5>; 75f126890aSEmmanuel Vadot vcc7-supply = <&vcc5v0_sys>; 76f126890aSEmmanuel Vadot vcc8-supply = <&vcc3v3_sys>; 77f126890aSEmmanuel Vadot vcc9-supply = <&vcc5v0_sys>; 78f126890aSEmmanuel Vadot 79f126890aSEmmanuel Vadot regulators { 80f126890aSEmmanuel Vadot vdd_npu_vepu: DCDC_REG1 { 81f126890aSEmmanuel Vadot regulator-name = "vdd_npu_vepu"; 82f126890aSEmmanuel Vadot regulator-always-on; 83f126890aSEmmanuel Vadot regulator-boot-on; 84f126890aSEmmanuel Vadot regulator-initial-mode = <0x2>; 85f126890aSEmmanuel Vadot regulator-min-microvolt = <650000>; 86f126890aSEmmanuel Vadot regulator-max-microvolt = <950000>; 87f126890aSEmmanuel Vadot regulator-ramp-delay = <6001>; 88f126890aSEmmanuel Vadot regulator-state-mem { 89f126890aSEmmanuel Vadot regulator-off-in-suspend; 90f126890aSEmmanuel Vadot }; 91f126890aSEmmanuel Vadot }; 92f126890aSEmmanuel Vadot 93f126890aSEmmanuel Vadot vdd_arm: DCDC_REG2 { 94f126890aSEmmanuel Vadot regulator-name = "vdd_arm"; 95f126890aSEmmanuel Vadot regulator-always-on; 96f126890aSEmmanuel Vadot regulator-boot-on; 97f126890aSEmmanuel Vadot regulator-initial-mode = <0x2>; 98f126890aSEmmanuel Vadot regulator-min-microvolt = <725000>; 99f126890aSEmmanuel Vadot regulator-max-microvolt = <1350000>; 100f126890aSEmmanuel Vadot regulator-ramp-delay = <6001>; 101f126890aSEmmanuel Vadot regulator-state-mem { 102f126890aSEmmanuel Vadot regulator-off-in-suspend; 103f126890aSEmmanuel Vadot }; 104f126890aSEmmanuel Vadot }; 105f126890aSEmmanuel Vadot 106f126890aSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 107f126890aSEmmanuel Vadot regulator-name = "vcc_ddr"; 108f126890aSEmmanuel Vadot regulator-always-on; 109f126890aSEmmanuel Vadot regulator-boot-on; 110f126890aSEmmanuel Vadot regulator-initial-mode = <0x2>; 111f126890aSEmmanuel Vadot regulator-state-mem { 112f126890aSEmmanuel Vadot regulator-on-in-suspend; 113f126890aSEmmanuel Vadot }; 114f126890aSEmmanuel Vadot }; 115f126890aSEmmanuel Vadot 116f126890aSEmmanuel Vadot vcc3v3_sys: DCDC_REG4 { 117f126890aSEmmanuel Vadot regulator-name = "vcc3v3_sys"; 118f126890aSEmmanuel Vadot regulator-always-on; 119f126890aSEmmanuel Vadot regulator-boot-on; 120f126890aSEmmanuel Vadot regulator-initial-mode = <0x2>; 121f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 122f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 123f126890aSEmmanuel Vadot regulator-state-mem { 124f126890aSEmmanuel Vadot regulator-on-in-suspend; 125f126890aSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 126f126890aSEmmanuel Vadot }; 127f126890aSEmmanuel Vadot }; 128f126890aSEmmanuel Vadot 129f126890aSEmmanuel Vadot vcc_buck5: DCDC_REG5 { 130f126890aSEmmanuel Vadot regulator-name = "vcc_buck5"; 131f126890aSEmmanuel Vadot regulator-always-on; 132f126890aSEmmanuel Vadot regulator-boot-on; 133f126890aSEmmanuel Vadot regulator-min-microvolt = <2200000>; 134f126890aSEmmanuel Vadot regulator-max-microvolt = <2200000>; 135f126890aSEmmanuel Vadot regulator-state-mem { 136f126890aSEmmanuel Vadot regulator-on-in-suspend; 137f126890aSEmmanuel Vadot regulator-suspend-microvolt = <2200000>; 138f126890aSEmmanuel Vadot }; 139f126890aSEmmanuel Vadot }; 140f126890aSEmmanuel Vadot 141f126890aSEmmanuel Vadot vcc_0v8: LDO_REG1 { 142f126890aSEmmanuel Vadot regulator-name = "vcc_0v8"; 143f126890aSEmmanuel Vadot regulator-always-on; 144f126890aSEmmanuel Vadot regulator-boot-on; 145f126890aSEmmanuel Vadot regulator-min-microvolt = <800000>; 146f126890aSEmmanuel Vadot regulator-max-microvolt = <800000>; 147f126890aSEmmanuel Vadot regulator-state-mem { 148f126890aSEmmanuel Vadot regulator-off-in-suspend; 149f126890aSEmmanuel Vadot }; 150f126890aSEmmanuel Vadot }; 151f126890aSEmmanuel Vadot 152f126890aSEmmanuel Vadot vcc1v8_pmu: LDO_REG2 { 153f126890aSEmmanuel Vadot regulator-name = "vcc1v8_pmu"; 154f126890aSEmmanuel Vadot regulator-always-on; 155f126890aSEmmanuel Vadot regulator-boot-on; 156f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 157f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 158f126890aSEmmanuel Vadot regulator-state-mem { 159f126890aSEmmanuel Vadot regulator-on-in-suspend; 160f126890aSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 161f126890aSEmmanuel Vadot }; 162f126890aSEmmanuel Vadot }; 163f126890aSEmmanuel Vadot 164f126890aSEmmanuel Vadot vdd0v8_pmu: LDO_REG3 { 165f126890aSEmmanuel Vadot regulator-name = "vcc0v8_pmu"; 166f126890aSEmmanuel Vadot regulator-always-on; 167f126890aSEmmanuel Vadot regulator-boot-on; 168f126890aSEmmanuel Vadot regulator-min-microvolt = <800000>; 169f126890aSEmmanuel Vadot regulator-max-microvolt = <800000>; 170f126890aSEmmanuel Vadot regulator-state-mem { 171f126890aSEmmanuel Vadot regulator-on-in-suspend; 172f126890aSEmmanuel Vadot regulator-suspend-microvolt = <800000>; 173f126890aSEmmanuel Vadot }; 174f126890aSEmmanuel Vadot }; 175f126890aSEmmanuel Vadot 176f126890aSEmmanuel Vadot vcc_1v8: LDO_REG4 { 177f126890aSEmmanuel Vadot regulator-name = "vcc_1v8"; 178f126890aSEmmanuel Vadot regulator-always-on; 179f126890aSEmmanuel Vadot regulator-boot-on; 180f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 181f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 182f126890aSEmmanuel Vadot regulator-state-mem { 183f126890aSEmmanuel Vadot regulator-on-in-suspend; 184f126890aSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 185f126890aSEmmanuel Vadot }; 186f126890aSEmmanuel Vadot }; 187f126890aSEmmanuel Vadot 188f126890aSEmmanuel Vadot vcc_dovdd: LDO_REG5 { 189f126890aSEmmanuel Vadot regulator-name = "vcc_dovdd"; 190f126890aSEmmanuel Vadot regulator-boot-on; 191f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 192f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 193f126890aSEmmanuel Vadot regulator-state-mem { 194f126890aSEmmanuel Vadot regulator-off-in-suspend; 195f126890aSEmmanuel Vadot }; 196f126890aSEmmanuel Vadot }; 197f126890aSEmmanuel Vadot 198f126890aSEmmanuel Vadot vcc_dvdd: LDO_REG6 { 199f126890aSEmmanuel Vadot regulator-name = "vcc_dvdd"; 200f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 201f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 202f126890aSEmmanuel Vadot regulator-state-mem { 203f126890aSEmmanuel Vadot regulator-off-in-suspend; 204f126890aSEmmanuel Vadot }; 205f126890aSEmmanuel Vadot }; 206f126890aSEmmanuel Vadot 207f126890aSEmmanuel Vadot vcc_avdd: LDO_REG7 { 208f126890aSEmmanuel Vadot regulator-name = "vcc_avdd"; 209f126890aSEmmanuel Vadot regulator-min-microvolt = <2800000>; 210f126890aSEmmanuel Vadot regulator-max-microvolt = <2800000>; 211f126890aSEmmanuel Vadot regulator-state-mem { 212f126890aSEmmanuel Vadot regulator-off-in-suspend; 213f126890aSEmmanuel Vadot }; 214f126890aSEmmanuel Vadot }; 215f126890aSEmmanuel Vadot 216f126890aSEmmanuel Vadot vccio_sd: LDO_REG8 { 217f126890aSEmmanuel Vadot regulator-name = "vccio_sd"; 218f126890aSEmmanuel Vadot regulator-always-on; 219f126890aSEmmanuel Vadot regulator-boot-on; 220f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 221f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 222f126890aSEmmanuel Vadot regulator-state-mem { 223f126890aSEmmanuel Vadot regulator-off-in-suspend; 224f126890aSEmmanuel Vadot }; 225f126890aSEmmanuel Vadot }; 226f126890aSEmmanuel Vadot 227f126890aSEmmanuel Vadot vcc3v3_sd: LDO_REG9 { 228f126890aSEmmanuel Vadot regulator-name = "vcc3v3_sd"; 229f126890aSEmmanuel Vadot regulator-always-on; 230f126890aSEmmanuel Vadot regulator-boot-on; 231f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 232f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 233f126890aSEmmanuel Vadot regulator-state-mem { 234f126890aSEmmanuel Vadot regulator-off-in-suspend; 235f126890aSEmmanuel Vadot }; 236f126890aSEmmanuel Vadot }; 237f126890aSEmmanuel Vadot 238f126890aSEmmanuel Vadot vcc_5v0: SWITCH_REG1 { 239f126890aSEmmanuel Vadot regulator-name = "vcc_5v0"; 240f126890aSEmmanuel Vadot }; 241f126890aSEmmanuel Vadot 242f126890aSEmmanuel Vadot vcc_3v3: SWITCH_REG2 { 243f126890aSEmmanuel Vadot regulator-name = "vcc_3v3"; 244f126890aSEmmanuel Vadot regulator-always-on; 245f126890aSEmmanuel Vadot regulator-boot-on; 246f126890aSEmmanuel Vadot }; 247f126890aSEmmanuel Vadot }; 248f126890aSEmmanuel Vadot }; 249f126890aSEmmanuel Vadot}; 250f126890aSEmmanuel Vadot 251f126890aSEmmanuel Vadot&pinctrl { 252f126890aSEmmanuel Vadot bt { 253f126890aSEmmanuel Vadot bt_enable: bt-enable { 254f126890aSEmmanuel Vadot rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 255f126890aSEmmanuel Vadot }; 256f126890aSEmmanuel Vadot }; 257f126890aSEmmanuel Vadot 258f126890aSEmmanuel Vadot flash { 259f126890aSEmmanuel Vadot flash_vol_sel: flash-vol-sel { 260f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 261f126890aSEmmanuel Vadot }; 262f126890aSEmmanuel Vadot }; 263f126890aSEmmanuel Vadot 264f126890aSEmmanuel Vadot pmic { 265f126890aSEmmanuel Vadot pmic_int_l: pmic-int-l { 266f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 267f126890aSEmmanuel Vadot }; 268f126890aSEmmanuel Vadot }; 269f126890aSEmmanuel Vadot 270f126890aSEmmanuel Vadot wifi { 271f126890aSEmmanuel Vadot wifi_enable_h: wifi-enable-h { 272f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 273f126890aSEmmanuel Vadot }; 274f126890aSEmmanuel Vadot }; 275f126890aSEmmanuel Vadot}; 276f126890aSEmmanuel Vadot 277f126890aSEmmanuel Vadot&pmu_io_domains { 278f126890aSEmmanuel Vadot pmuio0-supply = <&vcc1v8_pmu>; 279f126890aSEmmanuel Vadot pmuio1-supply = <&vcc3v3_sys>; 280f126890aSEmmanuel Vadot vccio1-supply = <&vccio_flash>; 281f126890aSEmmanuel Vadot vccio2-supply = <&vccio_sd>; 282f126890aSEmmanuel Vadot vccio3-supply = <&vcc_1v8>; 283f126890aSEmmanuel Vadot vccio4-supply = <&vcc_dovdd>; 284f126890aSEmmanuel Vadot vccio5-supply = <&vcc_1v8>; 285f126890aSEmmanuel Vadot vccio6-supply = <&vcc_1v8>; 286f126890aSEmmanuel Vadot vccio7-supply = <&vcc_dovdd>; 287f126890aSEmmanuel Vadot status = "okay"; 288f126890aSEmmanuel Vadot}; 289f126890aSEmmanuel Vadot 290f126890aSEmmanuel Vadot&saradc { 291f126890aSEmmanuel Vadot vref-supply = <&vcc_1v8>; 292f126890aSEmmanuel Vadot status = "okay"; 293f126890aSEmmanuel Vadot}; 294f126890aSEmmanuel Vadot 295*aa1a8ff2SEmmanuel Vadot&sfc { 296*aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 297*aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&fspi_pins>; 298*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 299*aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 300*aa1a8ff2SEmmanuel Vadot status = "okay"; 301*aa1a8ff2SEmmanuel Vadot 302*aa1a8ff2SEmmanuel Vadot flash@0 { 303*aa1a8ff2SEmmanuel Vadot compatible = "jedec,spi-nor"; 304*aa1a8ff2SEmmanuel Vadot reg = <0>; 305*aa1a8ff2SEmmanuel Vadot spi-max-frequency = <50000000>; 306*aa1a8ff2SEmmanuel Vadot spi-rx-bus-width = <4>; 307*aa1a8ff2SEmmanuel Vadot spi-tx-bus-width = <1>; 308*aa1a8ff2SEmmanuel Vadot }; 309*aa1a8ff2SEmmanuel Vadot}; 310*aa1a8ff2SEmmanuel Vadot 311f126890aSEmmanuel Vadot&sdio { 312f126890aSEmmanuel Vadot bus-width = <4>; 313f126890aSEmmanuel Vadot cap-sd-highspeed; 314f126890aSEmmanuel Vadot cap-sdio-irq; 315f126890aSEmmanuel Vadot keep-power-in-suspend; 316f126890aSEmmanuel Vadot max-frequency = <100000000>; 317f126890aSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 318f126890aSEmmanuel Vadot non-removable; 319f126890aSEmmanuel Vadot pinctrl-names = "default"; 320f126890aSEmmanuel Vadot pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_bus4>; 321f126890aSEmmanuel Vadot rockchip,default-sample-phase = <90>; 322f126890aSEmmanuel Vadot sd-uhs-sdr104; 323f126890aSEmmanuel Vadot vmmc-supply = <&vcc3v3_sys>; 324f126890aSEmmanuel Vadot vqmmc-supply = <&vcc_1v8>; 325f126890aSEmmanuel Vadot status = "okay"; 326f126890aSEmmanuel Vadot #address-cells = <1>; 327f126890aSEmmanuel Vadot #size-cells = <0>; 328f126890aSEmmanuel Vadot}; 329f126890aSEmmanuel Vadot 330f126890aSEmmanuel Vadot&uart0 { 331f126890aSEmmanuel Vadot pinctrl-names = "default"; 332f126890aSEmmanuel Vadot pinctrl-0 = <&uart0_xfer &uart0_ctsn &uart0_rtsn>; 333f126890aSEmmanuel Vadot status = "okay"; 334f126890aSEmmanuel Vadot 335f126890aSEmmanuel Vadot bluetooth { 336f126890aSEmmanuel Vadot compatible = "qcom,qca9377-bt"; 337f126890aSEmmanuel Vadot clocks = <&rk809 1>; 338f126890aSEmmanuel Vadot enable-gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; /* BT_RST */ 339f126890aSEmmanuel Vadot max-speed = <2000000>; 340f126890aSEmmanuel Vadot pinctrl-names = "default"; 341f126890aSEmmanuel Vadot pinctrl-0 = <&bt_enable>; 342f126890aSEmmanuel Vadot vddxo-supply = <&vcc3v3_sys>; 343f126890aSEmmanuel Vadot vddio-supply = <&vcc_1v8>; 344f126890aSEmmanuel Vadot }; 345f126890aSEmmanuel Vadot}; 346