17ef62cebSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 27ef62cebSEmmanuel Vadot/* 37ef62cebSEmmanuel Vadot * Copyright 2019~2020, 2022 NXP 47ef62cebSEmmanuel Vadot */ 57ef62cebSEmmanuel Vadot 67ef62cebSEmmanuel Vadot#include <dt-bindings/clock/imx8-clock.h> 77ef62cebSEmmanuel Vadot#include <dt-bindings/firmware/imx/rsrc.h> 87ef62cebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 97ef62cebSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 107ef62cebSEmmanuel Vadot#include <dt-bindings/input/input.h> 117ef62cebSEmmanuel Vadot#include <dt-bindings/pinctrl/pads-imx8dxl.h> 127ef62cebSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 137ef62cebSEmmanuel Vadot 147ef62cebSEmmanuel Vadot/ { 157ef62cebSEmmanuel Vadot interrupt-parent = <&gic>; 167ef62cebSEmmanuel Vadot #address-cells = <2>; 177ef62cebSEmmanuel Vadot #size-cells = <2>; 187ef62cebSEmmanuel Vadot 197ef62cebSEmmanuel Vadot aliases { 207ef62cebSEmmanuel Vadot ethernet0 = &fec1; 217ef62cebSEmmanuel Vadot ethernet1 = &eqos; 227ef62cebSEmmanuel Vadot gpio0 = &lsio_gpio0; 237ef62cebSEmmanuel Vadot gpio1 = &lsio_gpio1; 247ef62cebSEmmanuel Vadot gpio2 = &lsio_gpio2; 257ef62cebSEmmanuel Vadot gpio3 = &lsio_gpio3; 267ef62cebSEmmanuel Vadot gpio4 = &lsio_gpio4; 277ef62cebSEmmanuel Vadot gpio5 = &lsio_gpio5; 287ef62cebSEmmanuel Vadot gpio6 = &lsio_gpio6; 297ef62cebSEmmanuel Vadot gpio7 = &lsio_gpio7; 307ef62cebSEmmanuel Vadot mu1 = &lsio_mu1; 317ef62cebSEmmanuel Vadot }; 327ef62cebSEmmanuel Vadot 337ef62cebSEmmanuel Vadot cpus: cpus { 347ef62cebSEmmanuel Vadot #address-cells = <2>; 357ef62cebSEmmanuel Vadot #size-cells = <0>; 367ef62cebSEmmanuel Vadot 377ef62cebSEmmanuel Vadot /* We have 1 clusters with 2 Cortex-A35 cores */ 387ef62cebSEmmanuel Vadot A35_0: cpu@0 { 397ef62cebSEmmanuel Vadot device_type = "cpu"; 407ef62cebSEmmanuel Vadot compatible = "arm,cortex-a35"; 417ef62cebSEmmanuel Vadot reg = <0x0 0x0>; 427ef62cebSEmmanuel Vadot enable-method = "psci"; 437ef62cebSEmmanuel Vadot next-level-cache = <&A35_L2>; 447ef62cebSEmmanuel Vadot clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>; 457ef62cebSEmmanuel Vadot #cooling-cells = <2>; 467ef62cebSEmmanuel Vadot operating-points-v2 = <&a35_opp_table>; 477ef62cebSEmmanuel Vadot }; 487ef62cebSEmmanuel Vadot 497ef62cebSEmmanuel Vadot A35_1: cpu@1 { 507ef62cebSEmmanuel Vadot device_type = "cpu"; 517ef62cebSEmmanuel Vadot compatible = "arm,cortex-a35"; 527ef62cebSEmmanuel Vadot reg = <0x0 0x1>; 537ef62cebSEmmanuel Vadot enable-method = "psci"; 547ef62cebSEmmanuel Vadot next-level-cache = <&A35_L2>; 557ef62cebSEmmanuel Vadot clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>; 567ef62cebSEmmanuel Vadot #cooling-cells = <2>; 577ef62cebSEmmanuel Vadot operating-points-v2 = <&a35_opp_table>; 587ef62cebSEmmanuel Vadot }; 597ef62cebSEmmanuel Vadot 607ef62cebSEmmanuel Vadot A35_L2: l2-cache0 { 617ef62cebSEmmanuel Vadot compatible = "cache"; 628bab661aSEmmanuel Vadot cache-level = <2>; 63f126890aSEmmanuel Vadot cache-unified; 647ef62cebSEmmanuel Vadot }; 657ef62cebSEmmanuel Vadot }; 667ef62cebSEmmanuel Vadot 677ef62cebSEmmanuel Vadot a35_opp_table: opp-table { 687ef62cebSEmmanuel Vadot compatible = "operating-points-v2"; 697ef62cebSEmmanuel Vadot opp-shared; 707ef62cebSEmmanuel Vadot 717ef62cebSEmmanuel Vadot opp-900000000 { 727ef62cebSEmmanuel Vadot opp-hz = /bits/ 64 <900000000>; 737ef62cebSEmmanuel Vadot opp-microvolt = <1000000>; 747ef62cebSEmmanuel Vadot clock-latency-ns = <150000>; 757ef62cebSEmmanuel Vadot }; 767ef62cebSEmmanuel Vadot 777ef62cebSEmmanuel Vadot opp-1200000000 { 787ef62cebSEmmanuel Vadot opp-hz = /bits/ 64 <1200000000>; 797ef62cebSEmmanuel Vadot opp-microvolt = <1100000>; 807ef62cebSEmmanuel Vadot clock-latency-ns = <150000>; 817ef62cebSEmmanuel Vadot opp-suspend; 827ef62cebSEmmanuel Vadot }; 837ef62cebSEmmanuel Vadot }; 847ef62cebSEmmanuel Vadot 857ef62cebSEmmanuel Vadot gic: interrupt-controller@51a00000 { 867ef62cebSEmmanuel Vadot compatible = "arm,gic-v3"; 877ef62cebSEmmanuel Vadot reg = <0x0 0x51a00000 0 0x10000>, /* GIC Dist */ 887ef62cebSEmmanuel Vadot <0x0 0x51b00000 0 0xc0000>; /* GICR (RD_base + SGI_base) */ 897ef62cebSEmmanuel Vadot #interrupt-cells = <3>; 907ef62cebSEmmanuel Vadot interrupt-controller; 917ef62cebSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 927ef62cebSEmmanuel Vadot }; 937ef62cebSEmmanuel Vadot 947ef62cebSEmmanuel Vadot reserved-memory { 957ef62cebSEmmanuel Vadot #address-cells = <2>; 967ef62cebSEmmanuel Vadot #size-cells = <2>; 977ef62cebSEmmanuel Vadot ranges; 987ef62cebSEmmanuel Vadot 997ef62cebSEmmanuel Vadot dsp_reserved: dsp@92400000 { 1007ef62cebSEmmanuel Vadot reg = <0 0x92400000 0 0x2000000>; 1017ef62cebSEmmanuel Vadot no-map; 1027ef62cebSEmmanuel Vadot }; 1037ef62cebSEmmanuel Vadot }; 1047ef62cebSEmmanuel Vadot 1057ef62cebSEmmanuel Vadot pmu { 1067ef62cebSEmmanuel Vadot compatible = "arm,armv8-pmuv3"; 1077ef62cebSEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 1087ef62cebSEmmanuel Vadot }; 1097ef62cebSEmmanuel Vadot 1107ef62cebSEmmanuel Vadot psci { 1117ef62cebSEmmanuel Vadot compatible = "arm,psci-1.0"; 1127ef62cebSEmmanuel Vadot method = "smc"; 1137ef62cebSEmmanuel Vadot }; 1147ef62cebSEmmanuel Vadot 1157ef62cebSEmmanuel Vadot system-controller { 1167ef62cebSEmmanuel Vadot compatible = "fsl,imx-scu"; 1177ef62cebSEmmanuel Vadot mbox-names = "tx0", 1187ef62cebSEmmanuel Vadot "rx0", 1197ef62cebSEmmanuel Vadot "gip3"; 1207ef62cebSEmmanuel Vadot mboxes = <&lsio_mu1 0 0 1217ef62cebSEmmanuel Vadot &lsio_mu1 1 0 1227ef62cebSEmmanuel Vadot &lsio_mu1 3 3>; 1237ef62cebSEmmanuel Vadot 1247ef62cebSEmmanuel Vadot pd: power-controller { 125*84943d6fSEmmanuel Vadot compatible = "fsl,imx8dl-scu-pd", "fsl,scu-pd"; 1267ef62cebSEmmanuel Vadot #power-domain-cells = <1>; 1277ef62cebSEmmanuel Vadot }; 1287ef62cebSEmmanuel Vadot 1297ef62cebSEmmanuel Vadot clk: clock-controller { 1307ef62cebSEmmanuel Vadot compatible = "fsl,imx8dxl-clk", "fsl,scu-clk"; 1317ef62cebSEmmanuel Vadot #clock-cells = <2>; 1327ef62cebSEmmanuel Vadot }; 1337ef62cebSEmmanuel Vadot 1348bab661aSEmmanuel Vadot scu_gpio: gpio { 1358bab661aSEmmanuel Vadot compatible = "fsl,imx8qxp-sc-gpio"; 1368bab661aSEmmanuel Vadot gpio-controller; 1378bab661aSEmmanuel Vadot #gpio-cells = <2>; 1388bab661aSEmmanuel Vadot }; 1398bab661aSEmmanuel Vadot 1407ef62cebSEmmanuel Vadot iomuxc: pinctrl { 1417ef62cebSEmmanuel Vadot compatible = "fsl,imx8dxl-iomuxc"; 1427ef62cebSEmmanuel Vadot }; 1437ef62cebSEmmanuel Vadot 1447ef62cebSEmmanuel Vadot ocotp: ocotp { 1457ef62cebSEmmanuel Vadot compatible = "fsl,imx8qxp-scu-ocotp"; 1467ef62cebSEmmanuel Vadot #address-cells = <1>; 1477ef62cebSEmmanuel Vadot #size-cells = <1>; 1487ef62cebSEmmanuel Vadot 1497ef62cebSEmmanuel Vadot fec_mac0: mac@2c4 { 1507ef62cebSEmmanuel Vadot reg = <0x2c4 6>; 1517ef62cebSEmmanuel Vadot }; 1527ef62cebSEmmanuel Vadot 1537ef62cebSEmmanuel Vadot fec_mac1: mac@2c6 { 1547ef62cebSEmmanuel Vadot reg = <0x2c6 6>; 1557ef62cebSEmmanuel Vadot }; 1567ef62cebSEmmanuel Vadot }; 1577ef62cebSEmmanuel Vadot 1587ef62cebSEmmanuel Vadot rtc: rtc { 1597ef62cebSEmmanuel Vadot compatible = "fsl,imx8qxp-sc-rtc"; 1607ef62cebSEmmanuel Vadot }; 1617ef62cebSEmmanuel Vadot 1627ef62cebSEmmanuel Vadot sc_pwrkey: keys { 1637ef62cebSEmmanuel Vadot compatible = "fsl,imx8qxp-sc-key", "fsl,imx-sc-key"; 1648bab661aSEmmanuel Vadot linux,keycodes = <KEY_POWER>; 1657ef62cebSEmmanuel Vadot wakeup-source; 1667ef62cebSEmmanuel Vadot }; 1677ef62cebSEmmanuel Vadot 1687ef62cebSEmmanuel Vadot watchdog { 169*84943d6fSEmmanuel Vadot compatible = "fsl,imx8dxl-sc-wdt", "fsl,imx-sc-wdt"; 1707ef62cebSEmmanuel Vadot timeout-sec = <60>; 1717ef62cebSEmmanuel Vadot }; 1727ef62cebSEmmanuel Vadot 1737ef62cebSEmmanuel Vadot tsens: thermal-sensor { 174*84943d6fSEmmanuel Vadot compatible = "fsl,imx8dxl-sc-thermal", "fsl,imx-sc-thermal"; 1757ef62cebSEmmanuel Vadot #thermal-sensor-cells = <1>; 1767ef62cebSEmmanuel Vadot }; 1777ef62cebSEmmanuel Vadot }; 1787ef62cebSEmmanuel Vadot 1797ef62cebSEmmanuel Vadot timer { 1807ef62cebSEmmanuel Vadot compatible = "arm,armv8-timer"; 1817ef62cebSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */ 1827ef62cebSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */ 1837ef62cebSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */ 1847ef62cebSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */ 1857ef62cebSEmmanuel Vadot }; 1867ef62cebSEmmanuel Vadot 1877ef62cebSEmmanuel Vadot thermal_zones: thermal-zones { 188fac71e4eSEmmanuel Vadot cpu-thermal { 1897ef62cebSEmmanuel Vadot polling-delay-passive = <250>; 1907ef62cebSEmmanuel Vadot polling-delay = <2000>; 1917ef62cebSEmmanuel Vadot thermal-sensors = <&tsens IMX_SC_R_SYSTEM>; 1927ef62cebSEmmanuel Vadot 1937ef62cebSEmmanuel Vadot trips { 1947ef62cebSEmmanuel Vadot cpu_alert0: trip0 { 1957ef62cebSEmmanuel Vadot temperature = <107000>; 1967ef62cebSEmmanuel Vadot hysteresis = <2000>; 1977ef62cebSEmmanuel Vadot type = "passive"; 1987ef62cebSEmmanuel Vadot }; 1997ef62cebSEmmanuel Vadot cpu_crit0: trip1 { 2007ef62cebSEmmanuel Vadot temperature = <127000>; 2017ef62cebSEmmanuel Vadot hysteresis = <2000>; 2027ef62cebSEmmanuel Vadot type = "critical"; 2037ef62cebSEmmanuel Vadot }; 2047ef62cebSEmmanuel Vadot }; 2057ef62cebSEmmanuel Vadot 2067ef62cebSEmmanuel Vadot cooling-maps { 2077ef62cebSEmmanuel Vadot map0 { 2087ef62cebSEmmanuel Vadot trip = <&cpu_alert0>; 2097ef62cebSEmmanuel Vadot cooling-device = 2107ef62cebSEmmanuel Vadot <&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2117ef62cebSEmmanuel Vadot <&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2127ef62cebSEmmanuel Vadot }; 2137ef62cebSEmmanuel Vadot }; 2147ef62cebSEmmanuel Vadot }; 2157ef62cebSEmmanuel Vadot }; 2167ef62cebSEmmanuel Vadot 2177ef62cebSEmmanuel Vadot /* The two values below cannot be changed by the board */ 2187ef62cebSEmmanuel Vadot xtal32k: clock-xtal32k { 2197ef62cebSEmmanuel Vadot compatible = "fixed-clock"; 2207ef62cebSEmmanuel Vadot #clock-cells = <0>; 2217ef62cebSEmmanuel Vadot clock-frequency = <32768>; 2227ef62cebSEmmanuel Vadot clock-output-names = "xtal_32KHz"; 2237ef62cebSEmmanuel Vadot }; 2247ef62cebSEmmanuel Vadot 2257ef62cebSEmmanuel Vadot xtal24m: clock-xtal24m { 2267ef62cebSEmmanuel Vadot compatible = "fixed-clock"; 2277ef62cebSEmmanuel Vadot #clock-cells = <0>; 2287ef62cebSEmmanuel Vadot clock-frequency = <24000000>; 2297ef62cebSEmmanuel Vadot clock-output-names = "xtal_24MHz"; 2307ef62cebSEmmanuel Vadot }; 2317ef62cebSEmmanuel Vadot 2327ef62cebSEmmanuel Vadot /* sorted in register address */ 2337ef62cebSEmmanuel Vadot #include "imx8-ss-adma.dtsi" 2347ef62cebSEmmanuel Vadot #include "imx8-ss-conn.dtsi" 2357ef62cebSEmmanuel Vadot #include "imx8-ss-ddr.dtsi" 2367ef62cebSEmmanuel Vadot #include "imx8-ss-lsio.dtsi" 2377ef62cebSEmmanuel Vadot}; 2387ef62cebSEmmanuel Vadot 2397ef62cebSEmmanuel Vadot#include "imx8dxl-ss-adma.dtsi" 2407ef62cebSEmmanuel Vadot#include "imx8dxl-ss-conn.dtsi" 2417ef62cebSEmmanuel Vadot#include "imx8dxl-ss-lsio.dtsi" 2427ef62cebSEmmanuel Vadot#include "imx8dxl-ss-ddr.dtsi" 243