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 }; 163}; 164 165&efuse { 166 sn: sn@32 { 167 reg = <0x32 0x20>; 168 }; 169 170 eth_mac: eth-mac@0 { 171 reg = <0x0 0x6>; 172 }; 173 174 bt_mac: bt-mac@6 { 175 reg = <0x6 0x6>; 176 }; 177 178 wifi_mac: wifi-mac@c { 179 reg = <0xc 0x6>; 180 }; 181 182 bid: bid@12 { 183 reg = <0x12 0x20>; 184 }; 185}; 186 187ðmac { 188 status = "okay"; 189 pinctrl-0 = <ð_rmii_x_pins>; 190 pinctrl-names = "default"; 191 phy-handle = <ð_phy0>; 192 phy-mode = "rmii"; 193 194 mdio { 195 compatible = "snps,dwmac-mdio"; 196 #address-cells = <1>; 197 #size-cells = <0>; 198 199 /* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */ 200 eth_phy0: ethernet-phy@0 { 201 /* compatible = "ethernet-phy-id0243.0c54";*/ 202 max-speed = <100>; 203 reg = <0>; 204 205 reset-assert-us = <10000>; 206 reset-deassert-us = <10000>; 207 reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>; 208 }; 209 }; 210}; 211 212/* Internal I2C bus (on CPU module) */ 213&i2c1 { 214 status = "okay"; 215 pinctrl-0 = <&i2c1_z_pins>; 216 pinctrl-names = "default"; 217 218 /* RTC */ 219 pcf8563: rtc@51 { 220 compatible = "nxp,pcf8563"; 221 reg = <0x51>; 222 status = "okay"; 223 }; 224}; 225 226/* Peripheral I2C bus (on motherboard) */ 227&i2c_AO { 228 status = "okay"; 229 pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; 230 pinctrl-names = "default"; 231}; 232 233&pwm_ab { 234 status = "okay"; 235 pinctrl-0 = <&pwm_a_x20_pins>; 236 pinctrl-names = "default"; 237}; 238 239/* wifi module */ 240&sd_emmc_b { 241 status = "okay"; 242 #address-cells = <1>; 243 #size-cells = <0>; 244 245 pinctrl-0 = <&sdio_pins>; 246 pinctrl-1 = <&sdio_clk_gate_pins>; 247 pinctrl-names = "default", "clk-gate"; 248 249 bus-width = <4>; 250 cap-sd-highspeed; 251 max-frequency = <50000000>; 252 disable-wp; 253 254 mmc-pwrseq = <&sdio_pwrseq>; 255 256 vmmc-supply = <&vddao_3v3>; 257 vqmmc-supply = <&vddio_boot>; 258}; 259 260/* emmc storage */ 261&sd_emmc_c { 262 status = "okay"; 263 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 264 pinctrl-1 = <&emmc_clk_gate_pins>; 265 pinctrl-names = "default", "clk-gate"; 266 267 bus-width = <8>; 268 cap-mmc-highspeed; 269 max-frequency = <200000000>; 270 non-removable; 271 disable-wp; 272 mmc-ddr-1_8v; 273 mmc-hs200-1_8v; 274 275 mmc-pwrseq = <&emmc_pwrseq>; 276 277 vmmc-supply = <&vcc_3v3>; 278 vqmmc-supply = <&vccq_1v8>; 279}; 280 281/* UART Bluetooth */ 282&uart_B { 283 status = "okay"; 284 pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; 285 pinctrl-names = "default"; 286 uart-has-rtscts; 287}; 288 289/* UART Console */ 290&uart_AO { 291 status = "okay"; 292 pinctrl-0 = <&uart_ao_a_pins>; 293 pinctrl-names = "default"; 294}; 295 296/* UART Wireless module */ 297&uart_AO_B { 298 status = "okay"; 299 pinctrl-0 = <&uart_ao_b_pins>; 300 pinctrl-names = "default"; 301}; 302 303&usb { 304 status = "okay"; 305 vbus-supply = <&usb_pwr>; 306}; 307 308&spicc1 { 309 status = "okay"; 310 pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>; 311 pinctrl-names = "default"; 312}; 313 314&gpio { 315 gpio-line-names = 316 "", "", "", "", "", // 0 - 4 317 "", "", "", "", "", // 5 - 9 318 "UserButton", "", "", "", "", // 10 - 14 319 "", "", "", "", "", // 15 - 19 320 "", "", "", "", "", // 20 - 24 321 "", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29 322 "Output1", "", "", "", "", // 30 - 34 323 "", "ZigBeeBOOT", "", "", "", // 35 - 39 324 "1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44 325 "Input2", "Input1", "", "", "", // 45 - 49 326 "", "", "", "", "", // 50 - 54 327 "", "", "", "", "", // 55 - 59 328 "", "", "", "", "", // 60 - 64 329 "", "", "", "", "", // 65 - 69 330 "", "", "", "", "", // 70 - 74 331 "", "", "", "", "", // 75 - 79 332 "", "", "", "", "", // 80 - 84 333 "", ""; // 85-86 334}; 335 336&cpu0 { 337 #cooling-cells = <2>; 338}; 339 340&cpu1 { 341 #cooling-cells = <2>; 342}; 343 344&cpu2 { 345 #cooling-cells = <2>; 346}; 347 348&cpu3 { 349 #cooling-cells = <2>; 350}; 351