1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2026 Khadas Technology Co., Ltd. 4 */ 5 6/dts-v1/; 7 8#include "meson-s4.dtsi" 9 10/ { 11 model = "Khadas VIM1S"; 12 compatible = "khadas,vim1s", "amlogic,s905y4", "amlogic,s4"; 13 interrupt-parent = <&gic>; 14 #address-cells = <2>; 15 #size-cells = <2>; 16 17 aliases { 18 mmc0 = &emmc; /* eMMC */ 19 mmc1 = &sd; /* SD card */ 20 mmc2 = &sdio; /* SDIO */ 21 serial0 = &uart_b; 22 }; 23 24 memory@0 { 25 device_type = "memory"; 26 reg = <0x0 0x0 0x0 0x80000000>; 27 }; 28 29 reserved-memory { 30 #address-cells = <2>; 31 #size-cells = <2>; 32 ranges; 33 34 /* 52 MiB reserved for ARM Trusted Firmware */ 35 secmon_reserved: secmon@5000000 { 36 reg = <0x0 0x05000000 0x0 0x3400000>; 37 no-map; 38 }; 39 }; 40 41 emmc_pwrseq: emmc-pwrseq { 42 compatible = "mmc-pwrseq-emmc"; 43 reset-gpios = <&gpio GPIOB_9 GPIO_ACTIVE_LOW>; 44 }; 45 46 sdio_32k: sdio-32k { 47 compatible = "pwm-clock"; 48 #clock-cells = <0>; 49 clock-frequency = <32768>; 50 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 51 }; 52 53 sdio_pwrseq: sdio-pwrseq { 54 compatible = "mmc-pwrseq-simple"; 55 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 56 clocks = <&sdio_32k>; 57 clock-names = "ext_clock"; 58 }; 59 60 main_5v: regulator-main-5v { 61 compatible = "regulator-fixed"; 62 regulator-name = "5V"; 63 regulator-min-microvolt = <5000000>; 64 regulator-max-microvolt = <5000000>; 65 regulator-always-on; 66 }; 67 68 sd_3v3: regulator-sd-3v3 { 69 compatible = "regulator-fixed"; 70 regulator-name = "SD_3V3"; 71 regulator-min-microvolt = <3300000>; 72 regulator-max-microvolt = <3300000>; 73 gpio = <&gpio GPIOD_4 GPIO_ACTIVE_LOW>; 74 regulator-always-on; 75 }; 76 77 vddio_sd: regulator-vddio-sd { 78 compatible = "regulator-gpio"; 79 regulator-name = "VDDIO_SD"; 80 regulator-min-microvolt = <1800000>; 81 regulator-max-microvolt = <3300000>; 82 gpios = <&gpio GPIOD_9 GPIO_ACTIVE_HIGH>; 83 gpios-states = <1>; 84 states = <1800000 1 85 3300000 0>; 86 }; 87 88 vddao_3v3: regulator-vddao-3v3 { 89 compatible = "regulator-fixed"; 90 regulator-name = "VDDAO_3V3"; 91 regulator-min-microvolt = <3300000>; 92 regulator-max-microvolt = <3300000>; 93 vin-supply = <&main_5v>; 94 regulator-always-on; 95 }; 96 97 vddio_ao1v8: regulator-vddio-ao1v8 { 98 compatible = "regulator-fixed"; 99 regulator-name = "VDDIO_AO1V8"; 100 regulator-min-microvolt = <1800000>; 101 regulator-max-microvolt = <1800000>; 102 vin-supply = <&vddao_3v3>; 103 regulator-always-on; 104 }; 105 106 /* SY8120B1ABC DC/DC Regulator. */ 107 vddcpu: regulator-vddcpu { 108 compatible = "pwm-regulator"; 109 110 regulator-name = "VDDCPU"; 111 regulator-min-microvolt = <689000>; 112 regulator-max-microvolt = <1049000>; 113 114 vin-supply = <&main_5v>; 115 116 pwms = <&pwm_ij 1 1500 0>; 117 pwm-dutycycle-range = <100 0>; 118 119 regulator-boot-on; 120 regulator-always-on; 121 /* Voltage Duty-Cycle */ 122 voltage-table = <1049000 0>, 123 <1039000 3>, 124 <1029000 6>, 125 <1019000 9>, 126 <1009000 12>, 127 <999000 14>, 128 <989000 17>, 129 <979000 20>, 130 <969000 23>, 131 <959000 26>, 132 <949000 29>, 133 <939000 31>, 134 <929000 34>, 135 <919000 37>, 136 <909000 40>, 137 <899000 43>, 138 <889000 45>, 139 <879000 48>, 140 <869000 51>, 141 <859000 54>, 142 <849000 56>, 143 <839000 59>, 144 <829000 62>, 145 <819000 65>, 146 <809000 68>, 147 <799000 70>, 148 <789000 73>, 149 <779000 76>, 150 <769000 79>, 151 <759000 81>, 152 <749000 84>, 153 <739000 87>, 154 <729000 89>, 155 <719000 92>, 156 <709000 95>, 157 <699000 98>, 158 <689000 100>; 159 }; 160}; 161 162&emmc { 163 status = "okay"; 164 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 165 pinctrl-1 = <&emmc_clk_gate_pins>; 166 pinctrl-names = "default", "clk-gate"; 167 168 bus-width = <8>; 169 cap-mmc-highspeed; 170 mmc-ddr-1_8v; 171 mmc-hs200-1_8v; 172 max-frequency = <200000000>; 173 non-removable; 174 disable-wp; 175 176 mmc-pwrseq = <&emmc_pwrseq>; 177 vmmc-supply = <&vddao_3v3>; 178 vqmmc-supply = <&vddio_ao1v8>; 179}; 180 181ðmac { 182 status = "okay"; 183 phy-handle = <&internal_ephy>; 184 phy-mode = "rmii"; 185}; 186 187&ir { 188 status = "okay"; 189 pinctrl-0 = <&remote_pins>; 190 pinctrl-names = "default"; 191}; 192 193&pwm_ef { 194 status = "okay"; 195 pinctrl-0 = <&pwm_e_pins1>; 196 pinctrl-names = "default"; 197}; 198 199&pwm_ij { 200 status = "okay"; 201}; 202 203&sd { 204 status = "okay"; 205 pinctrl-0 = <&sdcard_pins>; 206 pinctrl-1 = <&sdcard_clk_gate_pins>; 207 pinctrl-names = "default", "clk-gate"; 208 bus-width = <4>; 209 cap-sd-highspeed; 210 sd-uhs-sdr12; 211 sd-uhs-sdr25; 212 sd-uhs-sdr50; 213 sd-uhs-sdr104; 214 max-frequency = <200000000>; 215 disable-wp; 216 217 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 218 219 vmmc-supply = <&sd_3v3>; 220 vqmmc-supply = <&vddio_sd>; 221}; 222 223&sdio { 224 status = "okay"; 225 pinctrl-0 = <&sdio_pins>; 226 pinctrl-1 = <&sdio_clk_gate_pins>; 227 pinctrl-names = "default", "clk-gate"; 228 #address-cells = <1>; 229 #size-cells = <0>; 230 bus-width = <4>; 231 cap-sd-highspeed; 232 sd-uhs-sdr50; 233 sd-uhs-sdr104; 234 max-frequency = <50000000>; 235 non-removable; 236 disable-wp; 237 238 no-sd; 239 no-mmc; 240 mmc-pwrseq = <&sdio_pwrseq>; 241 vmmc-supply = <&vddao_3v3>; 242 vqmmc-supply = <&vddio_ao1v8>; 243 244 brcmf: wifi@1 { 245 reg = <1>; 246 compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac"; 247 }; 248}; 249 250&spicc0 { 251 status = "okay"; 252 pinctrl-names = "default"; 253 pinctrl-0 = <&spicc0_pins_x>; 254 cs-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; 255}; 256 257&uart_b { 258 status = "okay"; 259}; 260