xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imxrt1050.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (C) 2019
4*f126890aSEmmanuel Vadot * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
5*f126890aSEmmanuel Vadot */
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot#include "../../armv7-m.dtsi"
8*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/clock/imxrt1050-clock.h>
10*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot/ {
13*f126890aSEmmanuel Vadot	#address-cells = <1>;
14*f126890aSEmmanuel Vadot	#size-cells = <1>;
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot	clocks {
17*f126890aSEmmanuel Vadot		osc: osc {
18*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
19*f126890aSEmmanuel Vadot			#clock-cells = <0>;
20*f126890aSEmmanuel Vadot			clock-frequency = <24000000>;
21*f126890aSEmmanuel Vadot		};
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot		osc3M: osc3M {
24*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
25*f126890aSEmmanuel Vadot			#clock-cells = <0>;
26*f126890aSEmmanuel Vadot			clock-frequency = <3000000>;
27*f126890aSEmmanuel Vadot		};
28*f126890aSEmmanuel Vadot	};
29*f126890aSEmmanuel Vadot
30*f126890aSEmmanuel Vadot	soc {
31*f126890aSEmmanuel Vadot		lpuart1: serial@40184000 {
32*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-lpuart", "fsl,imx7ulp-lpuart";
33*f126890aSEmmanuel Vadot			reg = <0x40184000 0x4000>;
34*f126890aSEmmanuel Vadot			interrupts = <20>;
35*f126890aSEmmanuel Vadot			clocks = <&clks IMXRT1050_CLK_LPUART1>;
36*f126890aSEmmanuel Vadot			clock-names = "ipg";
37*f126890aSEmmanuel Vadot			status = "disabled";
38*f126890aSEmmanuel Vadot		};
39*f126890aSEmmanuel Vadot
40*f126890aSEmmanuel Vadot		iomuxc: pinctrl@401f8000 {
41*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-iomuxc";
42*f126890aSEmmanuel Vadot			reg = <0x401f8000 0x4000>;
43*f126890aSEmmanuel Vadot			fsl,mux_mask = <0x7>;
44*f126890aSEmmanuel Vadot		};
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot		anatop: anatop@400d8000 {
47*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt-anatop";
48*f126890aSEmmanuel Vadot			reg = <0x400d8000 0x4000>;
49*f126890aSEmmanuel Vadot		};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot		clks: clock-controller@400fc000 {
52*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-ccm";
53*f126890aSEmmanuel Vadot			reg = <0x400fc000 0x4000>;
54*f126890aSEmmanuel Vadot			interrupts = <95>, <96>;
55*f126890aSEmmanuel Vadot			clocks = <&osc>;
56*f126890aSEmmanuel Vadot			clock-names = "osc";
57*f126890aSEmmanuel Vadot			#clock-cells = <1>;
58*f126890aSEmmanuel Vadot			assigned-clocks = <&clks IMXRT1050_CLK_PLL1_BYPASS>,
59*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL1_BYPASS>,
60*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL2_BYPASS>,
61*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL3_BYPASS>,
62*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL3_PFD1_664_62M>,
63*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL2_PFD2_396M>;
64*f126890aSEmmanuel Vadot			assigned-clock-parents = <&clks IMXRT1050_CLK_PLL1_REF_SEL>,
65*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL1_ARM>,
66*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL2_SYS>,
67*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL3_USB_OTG>,
68*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL3_USB_OTG>,
69*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_PLL2_SYS>;
70*f126890aSEmmanuel Vadot		};
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot		edma1: dma-controller@400e8000 {
73*f126890aSEmmanuel Vadot			#dma-cells = <2>;
74*f126890aSEmmanuel Vadot			compatible = "fsl,imx7ulp-edma";
75*f126890aSEmmanuel Vadot			reg = <0x400e8000 0x4000>,
76*f126890aSEmmanuel Vadot				<0x400ec000 0x4000>;
77*f126890aSEmmanuel Vadot			dma-channels = <32>;
78*f126890aSEmmanuel Vadot			interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>,
79*f126890aSEmmanuel Vadot				<9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
80*f126890aSEmmanuel Vadot			clock-names = "dma", "dmamux0";
81*f126890aSEmmanuel Vadot			clocks = <&clks IMXRT1050_CLK_DMA>,
82*f126890aSEmmanuel Vadot				 <&clks IMXRT1050_CLK_DMA_MUX>;
83*f126890aSEmmanuel Vadot		};
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot		usdhc1: mmc@402c0000 {
86*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-usdhc", "fsl,imx6sl-usdhc";
87*f126890aSEmmanuel Vadot			reg = <0x402c0000 0x4000>;
88*f126890aSEmmanuel Vadot			interrupts = <110>;
89*f126890aSEmmanuel Vadot			clocks = <&clks IMXRT1050_CLK_IPG_PDOF>,
90*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_OSC>,
91*f126890aSEmmanuel Vadot				<&clks IMXRT1050_CLK_USDHC1>;
92*f126890aSEmmanuel Vadot			clock-names = "ipg", "ahb", "per";
93*f126890aSEmmanuel Vadot			bus-width = <4>;
94*f126890aSEmmanuel Vadot			fsl,wp-controller;
95*f126890aSEmmanuel Vadot			no-1-8-v;
96*f126890aSEmmanuel Vadot			max-frequency = <200000000>;
97*f126890aSEmmanuel Vadot			fsl,tuning-start-tap = <20>;
98*f126890aSEmmanuel Vadot			fsl,tuning-step = <2>;
99*f126890aSEmmanuel Vadot			status = "disabled";
100*f126890aSEmmanuel Vadot		};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot		gpio1: gpio@401b8000 {
103*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
104*f126890aSEmmanuel Vadot			reg = <0x401b8000 0x4000>;
105*f126890aSEmmanuel Vadot			interrupts = <80>, <81>;
106*f126890aSEmmanuel Vadot			gpio-controller;
107*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
108*f126890aSEmmanuel Vadot			interrupt-controller;
109*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
110*f126890aSEmmanuel Vadot		};
111*f126890aSEmmanuel Vadot
112*f126890aSEmmanuel Vadot		gpio2: gpio@401bc000 {
113*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
114*f126890aSEmmanuel Vadot			reg = <0x401bc000 0x4000>;
115*f126890aSEmmanuel Vadot			interrupts = <82>, <83>;
116*f126890aSEmmanuel Vadot			gpio-controller;
117*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
118*f126890aSEmmanuel Vadot			interrupt-controller;
119*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
120*f126890aSEmmanuel Vadot		};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot		gpio3: gpio@401c0000 {
123*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
124*f126890aSEmmanuel Vadot			reg = <0x401c0000 0x4000>;
125*f126890aSEmmanuel Vadot			interrupts = <84>, <85>;
126*f126890aSEmmanuel Vadot			gpio-controller;
127*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
128*f126890aSEmmanuel Vadot			interrupt-controller;
129*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
130*f126890aSEmmanuel Vadot		};
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot		gpio4: gpio@401c4000 {
133*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
134*f126890aSEmmanuel Vadot			reg = <0x401c4000 0x4000>;
135*f126890aSEmmanuel Vadot			interrupts = <86>, <87>;
136*f126890aSEmmanuel Vadot			gpio-controller;
137*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
138*f126890aSEmmanuel Vadot			interrupt-controller;
139*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
140*f126890aSEmmanuel Vadot		};
141*f126890aSEmmanuel Vadot
142*f126890aSEmmanuel Vadot		gpio5: gpio@400c0000 {
143*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
144*f126890aSEmmanuel Vadot			reg = <0x400c0000 0x4000>;
145*f126890aSEmmanuel Vadot			interrupts = <88>, <89>;
146*f126890aSEmmanuel Vadot			gpio-controller;
147*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
148*f126890aSEmmanuel Vadot			interrupt-controller;
149*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
150*f126890aSEmmanuel Vadot		};
151*f126890aSEmmanuel Vadot
152*f126890aSEmmanuel Vadot		gpt: timer@401ec000 {
153*f126890aSEmmanuel Vadot			compatible = "fsl,imxrt1050-gpt", "fsl,imx6dl-gpt", "fsl,imx6sl-gpt";
154*f126890aSEmmanuel Vadot			reg = <0x401ec000 0x4000>;
155*f126890aSEmmanuel Vadot			interrupts = <100>;
156*f126890aSEmmanuel Vadot			clocks = <&osc3M>;
157*f126890aSEmmanuel Vadot			clock-names = "per";
158*f126890aSEmmanuel Vadot		};
159*f126890aSEmmanuel Vadot	};
160*f126890aSEmmanuel Vadot};
161