1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in> 4 * Copyright (c) 2022 JetHome 5 * Author: Vyacheslav Bocharov <adeep@lexina.in> 6 * Author: Aleksandr Kazantsev <ak@tvip.ru> 7 * Author: Alexey Shevelkin <ash@tvip.ru> 8 */ 9 10/dts-v1/; 11 12#include "meson-axg.dtsi" 13#include <dt-bindings/input/input.h> 14#include <dt-bindings/thermal/thermal.h> 15 16/ { 17 aliases { 18 serial0 = &uart_AO; /* Console */ 19 serial2 = &uart_AO_B; /* External UART (Wireless Module) */ 20 ethernet0 = ðmac; 21 }; 22 23 chosen { 24 stdout-path = "serial0:115200n8"; 25 }; 26 27 reserved-memory { 28 linux,cma { 29 size = <0x0 0x400000>; 30 }; 31 }; 32 33 emmc_pwrseq: emmc-pwrseq { 34 compatible = "mmc-pwrseq-emmc"; 35 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 36 }; 37 38 vcc_3v3: regulator-vcc_3v3 { 39 compatible = "regulator-fixed"; 40 regulator-name = "VCC_3V3"; 41 regulator-min-microvolt = <3300000>; 42 regulator-max-microvolt = <3300000>; 43 vin-supply = <&vddao_3v3>; 44 regulator-always-on; 45 }; 46 47 vcc_5v: regulator-vcc_5v { 48 compatible = "regulator-fixed"; 49 regulator-name = "VCC5V"; 50 regulator-min-microvolt = <5000000>; 51 regulator-max-microvolt = <5000000>; 52 regulator-always-on; 53 }; 54 55 vddao_3v3: regulator-vddao_3v3 { 56 compatible = "regulator-fixed"; 57 regulator-name = "VDDAO_3V3"; 58 regulator-min-microvolt = <3300000>; 59 regulator-max-microvolt = <3300000>; 60 vin-supply = <&vcc_5v>; 61 regulator-always-on; 62 }; 63 64 vddio_ao18: regulator-vddio_ao18 { 65 compatible = "regulator-fixed"; 66 regulator-name = "VDDIO_AO18"; 67 regulator-min-microvolt = <1800000>; 68 regulator-max-microvolt = <1800000>; 69 vin-supply = <&vddao_3v3>; 70 regulator-always-on; 71 }; 72 73 vddio_boot: regulator-vddio_boot { 74 compatible = "regulator-fixed"; 75 regulator-name = "VDDIO_BOOT"; 76 regulator-min-microvolt = <3300000>; 77 regulator-max-microvolt = <3300000>; 78 vin-supply = <&vddao_3v3>; 79 regulator-always-on; 80 }; 81 82 vccq_1v8: regulator-vccq_1v8 { 83 compatible = "regulator-fixed"; 84 regulator-name = "VCCQ_1V8"; 85 regulator-min-microvolt = <1800000>; 86 regulator-max-microvolt = <1800000>; 87 vin-supply = <&vddao_3v3>; 88 regulator-always-on; 89 }; 90 91 usb_pwr: regulator-usb_pwr { 92 compatible = "regulator-fixed"; 93 regulator-name = "USB_PWR"; 94 regulator-min-microvolt = <5000000>; 95 regulator-max-microvolt = <5000000>; 96 vin-supply = <&vcc_5v>; 97 regulator-always-on; 98 }; 99 100 sdio_pwrseq: sdio-pwrseq { 101 compatible = "mmc-pwrseq-simple"; 102 reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; 103 clocks = <&wifi32k>; 104 clock-names = "ext_clock"; 105 }; 106 107 wifi32k: wifi32k { 108 compatible = "pwm-clock"; 109 #clock-cells = <0>; 110 clock-frequency = <32768>; 111 pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ 112 }; 113 114 thermal-zones { 115 cpu_thermal: cpu-thermal { 116 polling-delay-passive = <250>; 117 polling-delay = <1000>; 118 thermal-sensors = <&scpi_sensors 0>; 119 trips { 120 cpu_passive: cpu-passive { 121 temperature = <70000>; /* millicelsius */ 122 hysteresis = <2000>; /* millicelsius */ 123 type = "passive"; 124 }; 125 126 cpu_hot: cpu-hot { 127 temperature = <80000>; /* millicelsius */ 128 hysteresis = <2000>; /* millicelsius */ 129 type = "hot"; 130 }; 131 132 cpu_critical: cpu-critical { 133 temperature = <100000>; /* millicelsius */ 134 hysteresis = <2000>; /* millicelsius */ 135 type = "critical"; 136 }; 137 }; 138 139 cpu_cooling_maps: cooling-maps { 140 map0 { 141 trip = <&cpu_passive>; 142 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 143 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 144 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 145 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 146 }; 147 148 map1 { 149 trip = <&cpu_hot>; 150 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 151 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 152 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 153 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 154 }; 155 }; 156 }; 157 }; 158 159 onewire { 160 compatible = "w1-gpio"; 161 gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>; 162 #gpio-cells = <1>; 163 }; 164}; 165 166&efuse { 167 sn: sn@32 { 168 reg = <0x32 0x20>; 169 }; 170 171 eth_mac: eth_mac@0 { 172 reg = <0x0 0x6>; 173 }; 174 175 bt_mac: bt_mac@6 { 176 reg = <0x6 0x6>; 177 }; 178 179 wifi_mac: wifi_mac@c { 180 reg = <0xc 0x6>; 181 }; 182 183 bid: bid@12 { 184 reg = <0x12 0x20>; 185 }; 186}; 187 188ðmac { 189 status = "okay"; 190 pinctrl-0 = <ð_rmii_x_pins>; 191 pinctrl-names = "default"; 192 phy-handle = <ð_phy0>; 193 phy-mode = "rmii"; 194 195 mdio { 196 compatible = "snps,dwmac-mdio"; 197 #address-cells = <1>; 198 #size-cells = <0>; 199 200 /* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */ 201 eth_phy0: ethernet-phy@0 { 202 /* compatible = "ethernet-phy-id0243.0c54";*/ 203 max-speed = <100>; 204 reg = <0>; 205 206 reset-assert-us = <10000>; 207 reset-deassert-us = <10000>; 208 reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>; 209 }; 210 }; 211}; 212 213/* Internal I2C bus (on CPU module) */ 214&i2c1 { 215 status = "okay"; 216 pinctrl-0 = <&i2c1_z_pins>; 217 pinctrl-names = "default"; 218 219 /* RTC */ 220 pcf8563: pcf8563@51 { 221 compatible = "nxp,pcf8563"; 222 reg = <0x51>; 223 status = "okay"; 224 }; 225}; 226 227/* Peripheral I2C bus (on motherboard) */ 228&i2c_AO { 229 status = "okay"; 230 pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; 231 pinctrl-names = "default"; 232}; 233 234&pwm_ab { 235 status = "okay"; 236 pinctrl-0 = <&pwm_a_x20_pins>; 237 pinctrl-names = "default"; 238}; 239 240/* wifi module */ 241&sd_emmc_b { 242 status = "okay"; 243 #address-cells = <1>; 244 #size-cells = <0>; 245 246 pinctrl-0 = <&sdio_pins>; 247 pinctrl-1 = <&sdio_clk_gate_pins>; 248 pinctrl-names = "default", "clk-gate"; 249 250 bus-width = <4>; 251 cap-sd-highspeed; 252 max-frequency = <50000000>; 253 disable-wp; 254 255 mmc-pwrseq = <&sdio_pwrseq>; 256 257 vmmc-supply = <&vddao_3v3>; 258 vqmmc-supply = <&vddio_boot>; 259}; 260 261/* emmc storage */ 262&sd_emmc_c { 263 status = "okay"; 264 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 265 pinctrl-1 = <&emmc_clk_gate_pins>; 266 pinctrl-names = "default", "clk-gate"; 267 268 bus-width = <8>; 269 cap-mmc-highspeed; 270 max-frequency = <200000000>; 271 non-removable; 272 disable-wp; 273 mmc-ddr-1_8v; 274 mmc-hs200-1_8v; 275 276 mmc-pwrseq = <&emmc_pwrseq>; 277 278 vmmc-supply = <&vcc_3v3>; 279 vqmmc-supply = <&vccq_1v8>; 280}; 281 282/* UART Bluetooth */ 283&uart_B { 284 status = "okay"; 285 pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; 286 pinctrl-names = "default"; 287 uart-has-rtscts; 288}; 289 290/* UART Console */ 291&uart_AO { 292 status = "okay"; 293 pinctrl-0 = <&uart_ao_a_pins>; 294 pinctrl-names = "default"; 295}; 296 297/* UART Wireless module */ 298&uart_AO_B { 299 status = "okay"; 300 pinctrl-0 = <&uart_ao_b_pins>; 301 pinctrl-names = "default"; 302}; 303 304&usb { 305 status = "okay"; 306 phy-supply = <&usb_pwr>; 307}; 308 309&spicc1 { 310 status = "okay"; 311 pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>; 312 pinctrl-names = "default"; 313}; 314 315&gpio { 316 gpio-line-names = 317 "", "", "", "", "", // 0 - 4 318 "", "", "", "", "", // 5 - 9 319 "UserButton", "", "", "", "", // 10 - 14 320 "", "", "", "", "", // 15 - 19 321 "", "", "", "", "", // 20 - 24 322 "", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29 323 "Output1", "", "", "", "", // 30 - 34 324 "", "ZigBeeBOOT", "", "", "", // 35 - 39 325 "1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44 326 "Input2", "Input1", "", "", "", // 45 - 49 327 "", "", "", "", "", // 50 - 54 328 "", "", "", "", "", // 55 - 59 329 "", "", "", "", "", // 60 - 64 330 "", "", "", "", "", // 65 - 69 331 "", "", "", "", "", // 70 - 74 332 "", "", "", "", "", // 75 - 79 333 "", "", "", "", "", // 80 - 84 334 "", ""; // 85-86 335}; 336 337&cpu0 { 338 #cooling-cells = <2>; 339}; 340 341&cpu1 { 342 #cooling-cells = <2>; 343}; 344 345&cpu2 { 346 #cooling-cells = <2>; 347}; 348 349&cpu3 { 350 #cooling-cells = <2>; 351}; 352