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