17ef62cebSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 27ef62cebSEmmanuel Vadot/* 37ef62cebSEmmanuel Vadot * Copyright (c) 2022 Vyacheslav Bocharov <adeep@lexina.in> 47ef62cebSEmmanuel Vadot * Copyright (c) 2022 JetHome 57ef62cebSEmmanuel Vadot * Author: Vyacheslav Bocharov <adeep@lexina.in> 67ef62cebSEmmanuel Vadot * Author: Aleksandr Kazantsev <ak@tvip.ru> 77ef62cebSEmmanuel Vadot * Author: Alexey Shevelkin <ash@tvip.ru> 87ef62cebSEmmanuel Vadot */ 97ef62cebSEmmanuel Vadot 107ef62cebSEmmanuel Vadot/dts-v1/; 117ef62cebSEmmanuel Vadot 127ef62cebSEmmanuel Vadot#include "meson-axg.dtsi" 137ef62cebSEmmanuel Vadot#include <dt-bindings/input/input.h> 147ef62cebSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 157ef62cebSEmmanuel Vadot 167ef62cebSEmmanuel Vadot/ { 177ef62cebSEmmanuel Vadot aliases { 187ef62cebSEmmanuel Vadot serial0 = &uart_AO; /* Console */ 197ef62cebSEmmanuel Vadot serial2 = &uart_AO_B; /* External UART (Wireless Module) */ 207ef62cebSEmmanuel Vadot ethernet0 = ðmac; 217ef62cebSEmmanuel Vadot }; 227ef62cebSEmmanuel Vadot 237ef62cebSEmmanuel Vadot chosen { 247ef62cebSEmmanuel Vadot stdout-path = "serial0:115200n8"; 257ef62cebSEmmanuel Vadot }; 267ef62cebSEmmanuel Vadot 277ef62cebSEmmanuel Vadot reserved-memory { 287ef62cebSEmmanuel Vadot linux,cma { 297ef62cebSEmmanuel Vadot size = <0x0 0x400000>; 307ef62cebSEmmanuel Vadot }; 317ef62cebSEmmanuel Vadot }; 327ef62cebSEmmanuel Vadot 337ef62cebSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 347ef62cebSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 357ef62cebSEmmanuel Vadot reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 367ef62cebSEmmanuel Vadot }; 377ef62cebSEmmanuel Vadot 38*01950c46SEmmanuel Vadot vcc_3v3: regulator-vcc-3v3 { 397ef62cebSEmmanuel Vadot compatible = "regulator-fixed"; 407ef62cebSEmmanuel Vadot regulator-name = "VCC_3V3"; 417ef62cebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 427ef62cebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 437ef62cebSEmmanuel Vadot vin-supply = <&vddao_3v3>; 447ef62cebSEmmanuel Vadot regulator-always-on; 457ef62cebSEmmanuel Vadot }; 467ef62cebSEmmanuel Vadot 47*01950c46SEmmanuel Vadot vcc_5v: regulator-vcc-5v { 487ef62cebSEmmanuel Vadot compatible = "regulator-fixed"; 497ef62cebSEmmanuel Vadot regulator-name = "VCC5V"; 507ef62cebSEmmanuel Vadot regulator-min-microvolt = <5000000>; 517ef62cebSEmmanuel Vadot regulator-max-microvolt = <5000000>; 527ef62cebSEmmanuel Vadot regulator-always-on; 537ef62cebSEmmanuel Vadot }; 547ef62cebSEmmanuel Vadot 55*01950c46SEmmanuel Vadot vddao_3v3: regulator-vddao-3v3 { 567ef62cebSEmmanuel Vadot compatible = "regulator-fixed"; 577ef62cebSEmmanuel Vadot regulator-name = "VDDAO_3V3"; 587ef62cebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 597ef62cebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 607ef62cebSEmmanuel Vadot vin-supply = <&vcc_5v>; 617ef62cebSEmmanuel Vadot regulator-always-on; 627ef62cebSEmmanuel Vadot }; 637ef62cebSEmmanuel Vadot 64*01950c46SEmmanuel Vadot vddio_ao18: regulator-vddio-ao18 { 657ef62cebSEmmanuel Vadot compatible = "regulator-fixed"; 667ef62cebSEmmanuel Vadot regulator-name = "VDDIO_AO18"; 677ef62cebSEmmanuel Vadot regulator-min-microvolt = <1800000>; 687ef62cebSEmmanuel Vadot regulator-max-microvolt = <1800000>; 697ef62cebSEmmanuel Vadot vin-supply = <&vddao_3v3>; 707ef62cebSEmmanuel Vadot regulator-always-on; 717ef62cebSEmmanuel Vadot }; 727ef62cebSEmmanuel Vadot 73*01950c46SEmmanuel Vadot vddio_boot: regulator-vddio-boot { 747ef62cebSEmmanuel Vadot compatible = "regulator-fixed"; 757ef62cebSEmmanuel Vadot regulator-name = "VDDIO_BOOT"; 767ef62cebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 777ef62cebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 787ef62cebSEmmanuel Vadot vin-supply = <&vddao_3v3>; 797ef62cebSEmmanuel Vadot regulator-always-on; 807ef62cebSEmmanuel Vadot }; 817ef62cebSEmmanuel Vadot 82*01950c46SEmmanuel Vadot vccq_1v8: regulator-vccq-1v8 { 837ef62cebSEmmanuel Vadot compatible = "regulator-fixed"; 847ef62cebSEmmanuel Vadot regulator-name = "VCCQ_1V8"; 857ef62cebSEmmanuel Vadot regulator-min-microvolt = <1800000>; 867ef62cebSEmmanuel Vadot regulator-max-microvolt = <1800000>; 877ef62cebSEmmanuel Vadot vin-supply = <&vddao_3v3>; 887ef62cebSEmmanuel Vadot regulator-always-on; 897ef62cebSEmmanuel Vadot }; 907ef62cebSEmmanuel Vadot 91*01950c46SEmmanuel Vadot usb_pwr: regulator-usb-pwr { 927ef62cebSEmmanuel Vadot compatible = "regulator-fixed"; 937ef62cebSEmmanuel Vadot regulator-name = "USB_PWR"; 947ef62cebSEmmanuel Vadot regulator-min-microvolt = <5000000>; 957ef62cebSEmmanuel Vadot regulator-max-microvolt = <5000000>; 967ef62cebSEmmanuel Vadot vin-supply = <&vcc_5v>; 977ef62cebSEmmanuel Vadot regulator-always-on; 987ef62cebSEmmanuel Vadot }; 997ef62cebSEmmanuel Vadot 1007ef62cebSEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 1017ef62cebSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 1027ef62cebSEmmanuel Vadot reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; 1037ef62cebSEmmanuel Vadot clocks = <&wifi32k>; 1047ef62cebSEmmanuel Vadot clock-names = "ext_clock"; 1057ef62cebSEmmanuel Vadot }; 1067ef62cebSEmmanuel Vadot 1077ef62cebSEmmanuel Vadot wifi32k: wifi32k { 1087ef62cebSEmmanuel Vadot compatible = "pwm-clock"; 1097ef62cebSEmmanuel Vadot #clock-cells = <0>; 1107ef62cebSEmmanuel Vadot clock-frequency = <32768>; 1117ef62cebSEmmanuel Vadot pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ 1127ef62cebSEmmanuel Vadot }; 1137ef62cebSEmmanuel Vadot 1147ef62cebSEmmanuel Vadot thermal-zones { 1157ef62cebSEmmanuel Vadot cpu_thermal: cpu-thermal { 1167ef62cebSEmmanuel Vadot polling-delay-passive = <250>; 1177ef62cebSEmmanuel Vadot polling-delay = <1000>; 1187ef62cebSEmmanuel Vadot thermal-sensors = <&scpi_sensors 0>; 1197ef62cebSEmmanuel Vadot trips { 1207ef62cebSEmmanuel Vadot cpu_passive: cpu-passive { 1217ef62cebSEmmanuel Vadot temperature = <70000>; /* millicelsius */ 1227ef62cebSEmmanuel Vadot hysteresis = <2000>; /* millicelsius */ 1237ef62cebSEmmanuel Vadot type = "passive"; 1247ef62cebSEmmanuel Vadot }; 1257ef62cebSEmmanuel Vadot 1267ef62cebSEmmanuel Vadot cpu_hot: cpu-hot { 1277ef62cebSEmmanuel Vadot temperature = <80000>; /* millicelsius */ 1287ef62cebSEmmanuel Vadot hysteresis = <2000>; /* millicelsius */ 1297ef62cebSEmmanuel Vadot type = "hot"; 1307ef62cebSEmmanuel Vadot }; 1317ef62cebSEmmanuel Vadot 1327ef62cebSEmmanuel Vadot cpu_critical: cpu-critical { 1337ef62cebSEmmanuel Vadot temperature = <100000>; /* millicelsius */ 1347ef62cebSEmmanuel Vadot hysteresis = <2000>; /* millicelsius */ 1357ef62cebSEmmanuel Vadot type = "critical"; 1367ef62cebSEmmanuel Vadot }; 1377ef62cebSEmmanuel Vadot }; 1387ef62cebSEmmanuel Vadot 1397ef62cebSEmmanuel Vadot cpu_cooling_maps: cooling-maps { 1407ef62cebSEmmanuel Vadot map0 { 1417ef62cebSEmmanuel Vadot trip = <&cpu_passive>; 1427ef62cebSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1437ef62cebSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1447ef62cebSEmmanuel Vadot <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1457ef62cebSEmmanuel Vadot <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1467ef62cebSEmmanuel Vadot }; 1477ef62cebSEmmanuel Vadot 1487ef62cebSEmmanuel Vadot map1 { 1497ef62cebSEmmanuel Vadot trip = <&cpu_hot>; 1507ef62cebSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1517ef62cebSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1527ef62cebSEmmanuel Vadot <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1537ef62cebSEmmanuel Vadot <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1547ef62cebSEmmanuel Vadot }; 1557ef62cebSEmmanuel Vadot }; 1567ef62cebSEmmanuel Vadot }; 1577ef62cebSEmmanuel Vadot }; 1587ef62cebSEmmanuel Vadot 1597ef62cebSEmmanuel Vadot onewire { 1607ef62cebSEmmanuel Vadot compatible = "w1-gpio"; 1617ef62cebSEmmanuel Vadot gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>; 1627ef62cebSEmmanuel Vadot }; 1637ef62cebSEmmanuel Vadot}; 1647ef62cebSEmmanuel Vadot 1657ef62cebSEmmanuel Vadot&efuse { 1667ef62cebSEmmanuel Vadot sn: sn@32 { 1677ef62cebSEmmanuel Vadot reg = <0x32 0x20>; 1687ef62cebSEmmanuel Vadot }; 1697ef62cebSEmmanuel Vadot 170cb7aa33aSEmmanuel Vadot eth_mac: eth-mac@0 { 1717ef62cebSEmmanuel Vadot reg = <0x0 0x6>; 1727ef62cebSEmmanuel Vadot }; 1737ef62cebSEmmanuel Vadot 174cb7aa33aSEmmanuel Vadot bt_mac: bt-mac@6 { 1757ef62cebSEmmanuel Vadot reg = <0x6 0x6>; 1767ef62cebSEmmanuel Vadot }; 1777ef62cebSEmmanuel Vadot 178cb7aa33aSEmmanuel Vadot wifi_mac: wifi-mac@c { 1797ef62cebSEmmanuel Vadot reg = <0xc 0x6>; 1807ef62cebSEmmanuel Vadot }; 1817ef62cebSEmmanuel Vadot 1827ef62cebSEmmanuel Vadot bid: bid@12 { 1837ef62cebSEmmanuel Vadot reg = <0x12 0x20>; 1847ef62cebSEmmanuel Vadot }; 1857ef62cebSEmmanuel Vadot}; 1867ef62cebSEmmanuel Vadot 1877ef62cebSEmmanuel Vadotðmac { 1887ef62cebSEmmanuel Vadot status = "okay"; 1897ef62cebSEmmanuel Vadot pinctrl-0 = <ð_rmii_x_pins>; 1907ef62cebSEmmanuel Vadot pinctrl-names = "default"; 1917ef62cebSEmmanuel Vadot phy-handle = <ð_phy0>; 1927ef62cebSEmmanuel Vadot phy-mode = "rmii"; 1937ef62cebSEmmanuel Vadot 1947ef62cebSEmmanuel Vadot mdio { 1957ef62cebSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 1967ef62cebSEmmanuel Vadot #address-cells = <1>; 1977ef62cebSEmmanuel Vadot #size-cells = <0>; 1987ef62cebSEmmanuel Vadot 1997ef62cebSEmmanuel Vadot /* ICPlus IP101A/G Ethernet PHY (vendor_id=0x0243, model_id=0x0c54) */ 2007ef62cebSEmmanuel Vadot eth_phy0: ethernet-phy@0 { 2017ef62cebSEmmanuel Vadot /* compatible = "ethernet-phy-id0243.0c54";*/ 2027ef62cebSEmmanuel Vadot max-speed = <100>; 2037ef62cebSEmmanuel Vadot reg = <0>; 2047ef62cebSEmmanuel Vadot 2057ef62cebSEmmanuel Vadot reset-assert-us = <10000>; 2067ef62cebSEmmanuel Vadot reset-deassert-us = <10000>; 2077ef62cebSEmmanuel Vadot reset-gpios = <&gpio GPIOZ_5 GPIO_ACTIVE_LOW>; 2087ef62cebSEmmanuel Vadot }; 2097ef62cebSEmmanuel Vadot }; 2107ef62cebSEmmanuel Vadot}; 2117ef62cebSEmmanuel Vadot 2127ef62cebSEmmanuel Vadot/* Internal I2C bus (on CPU module) */ 2137ef62cebSEmmanuel Vadot&i2c1 { 2147ef62cebSEmmanuel Vadot status = "okay"; 2157ef62cebSEmmanuel Vadot pinctrl-0 = <&i2c1_z_pins>; 2167ef62cebSEmmanuel Vadot pinctrl-names = "default"; 2177ef62cebSEmmanuel Vadot 2187ef62cebSEmmanuel Vadot /* RTC */ 219cb7aa33aSEmmanuel Vadot pcf8563: rtc@51 { 2207ef62cebSEmmanuel Vadot compatible = "nxp,pcf8563"; 2217ef62cebSEmmanuel Vadot reg = <0x51>; 2227ef62cebSEmmanuel Vadot status = "okay"; 2237ef62cebSEmmanuel Vadot }; 2247ef62cebSEmmanuel Vadot}; 2257ef62cebSEmmanuel Vadot 2267ef62cebSEmmanuel Vadot/* Peripheral I2C bus (on motherboard) */ 2277ef62cebSEmmanuel Vadot&i2c_AO { 2287ef62cebSEmmanuel Vadot status = "okay"; 2297ef62cebSEmmanuel Vadot pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; 2307ef62cebSEmmanuel Vadot pinctrl-names = "default"; 2317ef62cebSEmmanuel Vadot}; 2327ef62cebSEmmanuel Vadot 2337ef62cebSEmmanuel Vadot&pwm_ab { 2347ef62cebSEmmanuel Vadot status = "okay"; 2357ef62cebSEmmanuel Vadot pinctrl-0 = <&pwm_a_x20_pins>; 2367ef62cebSEmmanuel Vadot pinctrl-names = "default"; 2377ef62cebSEmmanuel Vadot}; 2387ef62cebSEmmanuel Vadot 2397ef62cebSEmmanuel Vadot/* wifi module */ 2407ef62cebSEmmanuel Vadot&sd_emmc_b { 2417ef62cebSEmmanuel Vadot status = "okay"; 2427ef62cebSEmmanuel Vadot #address-cells = <1>; 2437ef62cebSEmmanuel Vadot #size-cells = <0>; 2447ef62cebSEmmanuel Vadot 2457ef62cebSEmmanuel Vadot pinctrl-0 = <&sdio_pins>; 2467ef62cebSEmmanuel Vadot pinctrl-1 = <&sdio_clk_gate_pins>; 2477ef62cebSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 2487ef62cebSEmmanuel Vadot 2497ef62cebSEmmanuel Vadot bus-width = <4>; 2507ef62cebSEmmanuel Vadot cap-sd-highspeed; 2517ef62cebSEmmanuel Vadot max-frequency = <50000000>; 2527ef62cebSEmmanuel Vadot disable-wp; 2537ef62cebSEmmanuel Vadot 2547ef62cebSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 2557ef62cebSEmmanuel Vadot 2567ef62cebSEmmanuel Vadot vmmc-supply = <&vddao_3v3>; 2577ef62cebSEmmanuel Vadot vqmmc-supply = <&vddio_boot>; 2587ef62cebSEmmanuel Vadot}; 2597ef62cebSEmmanuel Vadot 2607ef62cebSEmmanuel Vadot/* emmc storage */ 2617ef62cebSEmmanuel Vadot&sd_emmc_c { 2627ef62cebSEmmanuel Vadot status = "okay"; 2637ef62cebSEmmanuel Vadot pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 2647ef62cebSEmmanuel Vadot pinctrl-1 = <&emmc_clk_gate_pins>; 2657ef62cebSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 2667ef62cebSEmmanuel Vadot 2677ef62cebSEmmanuel Vadot bus-width = <8>; 2687ef62cebSEmmanuel Vadot cap-mmc-highspeed; 2697ef62cebSEmmanuel Vadot max-frequency = <200000000>; 2707ef62cebSEmmanuel Vadot non-removable; 2717ef62cebSEmmanuel Vadot disable-wp; 2727ef62cebSEmmanuel Vadot mmc-ddr-1_8v; 2737ef62cebSEmmanuel Vadot mmc-hs200-1_8v; 2747ef62cebSEmmanuel Vadot 2757ef62cebSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 2767ef62cebSEmmanuel Vadot 2777ef62cebSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 2787ef62cebSEmmanuel Vadot vqmmc-supply = <&vccq_1v8>; 2797ef62cebSEmmanuel Vadot}; 2807ef62cebSEmmanuel Vadot 2817ef62cebSEmmanuel Vadot/* UART Bluetooth */ 2827ef62cebSEmmanuel Vadot&uart_B { 2837ef62cebSEmmanuel Vadot status = "okay"; 2847ef62cebSEmmanuel Vadot pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; 2857ef62cebSEmmanuel Vadot pinctrl-names = "default"; 2867ef62cebSEmmanuel Vadot uart-has-rtscts; 2877ef62cebSEmmanuel Vadot}; 2887ef62cebSEmmanuel Vadot 2897ef62cebSEmmanuel Vadot/* UART Console */ 2907ef62cebSEmmanuel Vadot&uart_AO { 2917ef62cebSEmmanuel Vadot status = "okay"; 2927ef62cebSEmmanuel Vadot pinctrl-0 = <&uart_ao_a_pins>; 2937ef62cebSEmmanuel Vadot pinctrl-names = "default"; 2947ef62cebSEmmanuel Vadot}; 2957ef62cebSEmmanuel Vadot 2967ef62cebSEmmanuel Vadot/* UART Wireless module */ 2977ef62cebSEmmanuel Vadot&uart_AO_B { 2987ef62cebSEmmanuel Vadot status = "okay"; 2997ef62cebSEmmanuel Vadot pinctrl-0 = <&uart_ao_b_pins>; 3007ef62cebSEmmanuel Vadot pinctrl-names = "default"; 3017ef62cebSEmmanuel Vadot}; 3027ef62cebSEmmanuel Vadot 3037ef62cebSEmmanuel Vadot&usb { 3047ef62cebSEmmanuel Vadot status = "okay"; 305cb7aa33aSEmmanuel Vadot vbus-supply = <&usb_pwr>; 3067ef62cebSEmmanuel Vadot}; 3077ef62cebSEmmanuel Vadot 3087ef62cebSEmmanuel Vadot&spicc1 { 3097ef62cebSEmmanuel Vadot status = "okay"; 3107ef62cebSEmmanuel Vadot pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>; 3117ef62cebSEmmanuel Vadot pinctrl-names = "default"; 3127ef62cebSEmmanuel Vadot}; 3137ef62cebSEmmanuel Vadot 3147ef62cebSEmmanuel Vadot&gpio { 3157ef62cebSEmmanuel Vadot gpio-line-names = 3167ef62cebSEmmanuel Vadot "", "", "", "", "", // 0 - 4 3177ef62cebSEmmanuel Vadot "", "", "", "", "", // 5 - 9 3187ef62cebSEmmanuel Vadot "UserButton", "", "", "", "", // 10 - 14 3197ef62cebSEmmanuel Vadot "", "", "", "", "", // 15 - 19 3207ef62cebSEmmanuel Vadot "", "", "", "", "", // 20 - 24 3217ef62cebSEmmanuel Vadot "", "LedRed", "LedGreen", "Output3", "Output2", // 25 - 29 3227ef62cebSEmmanuel Vadot "Output1", "", "", "", "", // 30 - 34 3237ef62cebSEmmanuel Vadot "", "ZigBeeBOOT", "", "", "", // 35 - 39 3247ef62cebSEmmanuel Vadot "1Wire", "ZigBeeRESET", "", "Input4", "Input3", // 40 - 44 3257ef62cebSEmmanuel Vadot "Input2", "Input1", "", "", "", // 45 - 49 3267ef62cebSEmmanuel Vadot "", "", "", "", "", // 50 - 54 3277ef62cebSEmmanuel Vadot "", "", "", "", "", // 55 - 59 3287ef62cebSEmmanuel Vadot "", "", "", "", "", // 60 - 64 3297ef62cebSEmmanuel Vadot "", "", "", "", "", // 65 - 69 3307ef62cebSEmmanuel Vadot "", "", "", "", "", // 70 - 74 3317ef62cebSEmmanuel Vadot "", "", "", "", "", // 75 - 79 3327ef62cebSEmmanuel Vadot "", "", "", "", "", // 80 - 84 3337ef62cebSEmmanuel Vadot "", ""; // 85-86 3347ef62cebSEmmanuel Vadot}; 335