xref: /freebsd-src/sys/contrib/device-tree/src/arm64/freescale/imx8dxl.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
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