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