xref: /openbmc/linux/arch/arm/boot/dts/nxp/imx/imxrt1050.dtsi (revision d32fd6bb9f2bc8178cdd65ebec1ad670a8bfa241)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2019
4724ba675SRob Herring * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
5724ba675SRob Herring */
6724ba675SRob Herring
7724ba675SRob Herring#include "../../armv7-m.dtsi"
8724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
9724ba675SRob Herring#include <dt-bindings/clock/imxrt1050-clock.h>
10724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	#address-cells = <1>;
14724ba675SRob Herring	#size-cells = <1>;
15724ba675SRob Herring
16724ba675SRob Herring	clocks {
17724ba675SRob Herring		osc: osc {
18724ba675SRob Herring			compatible = "fixed-clock";
19724ba675SRob Herring			#clock-cells = <0>;
20724ba675SRob Herring			clock-frequency = <24000000>;
21724ba675SRob Herring		};
22724ba675SRob Herring
23724ba675SRob Herring		osc3M: osc3M {
24724ba675SRob Herring			compatible = "fixed-clock";
25724ba675SRob Herring			#clock-cells = <0>;
26724ba675SRob Herring			clock-frequency = <3000000>;
27724ba675SRob Herring		};
28724ba675SRob Herring	};
29724ba675SRob Herring
30724ba675SRob Herring	soc {
31724ba675SRob Herring		lpuart1: serial@40184000 {
32724ba675SRob Herring			compatible = "fsl,imxrt1050-lpuart", "fsl,imx7ulp-lpuart";
33724ba675SRob Herring			reg = <0x40184000 0x4000>;
34724ba675SRob Herring			interrupts = <20>;
35724ba675SRob Herring			clocks = <&clks IMXRT1050_CLK_LPUART1>;
36724ba675SRob Herring			clock-names = "ipg";
37724ba675SRob Herring			status = "disabled";
38724ba675SRob Herring		};
39724ba675SRob Herring
40724ba675SRob Herring		iomuxc: pinctrl@401f8000 {
41724ba675SRob Herring			compatible = "fsl,imxrt1050-iomuxc";
42724ba675SRob Herring			reg = <0x401f8000 0x4000>;
43724ba675SRob Herring			fsl,mux_mask = <0x7>;
44724ba675SRob Herring		};
45724ba675SRob Herring
46724ba675SRob Herring		anatop: anatop@400d8000 {
47724ba675SRob Herring			compatible = "fsl,imxrt-anatop";
48724ba675SRob Herring			reg = <0x400d8000 0x4000>;
49724ba675SRob Herring		};
50724ba675SRob Herring
51724ba675SRob Herring		clks: clock-controller@400fc000 {
52724ba675SRob Herring			compatible = "fsl,imxrt1050-ccm";
53724ba675SRob Herring			reg = <0x400fc000 0x4000>;
54724ba675SRob Herring			interrupts = <95>, <96>;
55724ba675SRob Herring			clocks = <&osc>;
56724ba675SRob Herring			clock-names = "osc";
57724ba675SRob Herring			#clock-cells = <1>;
58724ba675SRob Herring			assigned-clocks = <&clks IMXRT1050_CLK_PLL1_BYPASS>,
59724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL1_BYPASS>,
60724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL2_BYPASS>,
61724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL3_BYPASS>,
62724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL3_PFD1_664_62M>,
63724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL2_PFD2_396M>;
64724ba675SRob Herring			assigned-clock-parents = <&clks IMXRT1050_CLK_PLL1_REF_SEL>,
65724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL1_ARM>,
66724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL2_SYS>,
67724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL3_USB_OTG>,
68724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL3_USB_OTG>,
69724ba675SRob Herring				<&clks IMXRT1050_CLK_PLL2_SYS>;
70724ba675SRob Herring		};
71724ba675SRob Herring
72724ba675SRob Herring		edma1: dma-controller@400e8000 {
73724ba675SRob Herring			#dma-cells = <2>;
74724ba675SRob Herring			compatible = "fsl,imx7ulp-edma";
75724ba675SRob Herring			reg = <0x400e8000 0x4000>,
76724ba675SRob Herring				<0x400ec000 0x4000>;
77724ba675SRob Herring			dma-channels = <32>;
78724ba675SRob Herring			interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>,
79724ba675SRob Herring				<9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
80724ba675SRob Herring			clock-names = "dma", "dmamux0";
81724ba675SRob Herring			clocks = <&clks IMXRT1050_CLK_DMA>,
82724ba675SRob Herring				 <&clks IMXRT1050_CLK_DMA_MUX>;
83724ba675SRob Herring		};
84724ba675SRob Herring
85724ba675SRob Herring		usdhc1: mmc@402c0000 {
86724ba675SRob Herring			compatible = "fsl,imxrt1050-usdhc", "fsl,imx6sl-usdhc";
87724ba675SRob Herring			reg = <0x402c0000 0x4000>;
88724ba675SRob Herring			interrupts = <110>;
89724ba675SRob Herring			clocks = <&clks IMXRT1050_CLK_IPG_PDOF>,
90*a4b01371SJesse Taube				<&clks IMXRT1050_CLK_AHB_PODF>,
91724ba675SRob Herring				<&clks IMXRT1050_CLK_USDHC1>;
92724ba675SRob Herring			clock-names = "ipg", "ahb", "per";
93724ba675SRob Herring			bus-width = <4>;
94724ba675SRob Herring			fsl,wp-controller;
95724ba675SRob Herring			no-1-8-v;
96724ba675SRob Herring			max-frequency = <200000000>;
97724ba675SRob Herring			fsl,tuning-start-tap = <20>;
98724ba675SRob Herring			fsl,tuning-step = <2>;
99724ba675SRob Herring			status = "disabled";
100724ba675SRob Herring		};
101724ba675SRob Herring
102724ba675SRob Herring		gpio1: gpio@401b8000 {
103724ba675SRob Herring			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
104724ba675SRob Herring			reg = <0x401b8000 0x4000>;
105724ba675SRob Herring			interrupts = <80>, <81>;
106724ba675SRob Herring			gpio-controller;
107724ba675SRob Herring			#gpio-cells = <2>;
108724ba675SRob Herring			interrupt-controller;
109724ba675SRob Herring			#interrupt-cells = <2>;
110724ba675SRob Herring		};
111724ba675SRob Herring
112724ba675SRob Herring		gpio2: gpio@401bc000 {
113724ba675SRob Herring			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
114724ba675SRob Herring			reg = <0x401bc000 0x4000>;
115724ba675SRob Herring			interrupts = <82>, <83>;
116724ba675SRob Herring			gpio-controller;
117724ba675SRob Herring			#gpio-cells = <2>;
118724ba675SRob Herring			interrupt-controller;
119724ba675SRob Herring			#interrupt-cells = <2>;
120724ba675SRob Herring		};
121724ba675SRob Herring
122724ba675SRob Herring		gpio3: gpio@401c0000 {
123724ba675SRob Herring			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
124724ba675SRob Herring			reg = <0x401c0000 0x4000>;
125724ba675SRob Herring			interrupts = <84>, <85>;
126724ba675SRob Herring			gpio-controller;
127724ba675SRob Herring			#gpio-cells = <2>;
128724ba675SRob Herring			interrupt-controller;
129724ba675SRob Herring			#interrupt-cells = <2>;
130724ba675SRob Herring		};
131724ba675SRob Herring
132724ba675SRob Herring		gpio4: gpio@401c4000 {
133724ba675SRob Herring			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
134724ba675SRob Herring			reg = <0x401c4000 0x4000>;
135724ba675SRob Herring			interrupts = <86>, <87>;
136724ba675SRob Herring			gpio-controller;
137724ba675SRob Herring			#gpio-cells = <2>;
138724ba675SRob Herring			interrupt-controller;
139724ba675SRob Herring			#interrupt-cells = <2>;
140724ba675SRob Herring		};
141724ba675SRob Herring
142724ba675SRob Herring		gpio5: gpio@400c0000 {
143724ba675SRob Herring			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
144724ba675SRob Herring			reg = <0x400c0000 0x4000>;
145724ba675SRob Herring			interrupts = <88>, <89>;
146724ba675SRob Herring			gpio-controller;
147724ba675SRob Herring			#gpio-cells = <2>;
148724ba675SRob Herring			interrupt-controller;
149724ba675SRob Herring			#interrupt-cells = <2>;
150724ba675SRob Herring		};
151724ba675SRob Herring
152724ba675SRob Herring		gpt: timer@401ec000 {
153724ba675SRob Herring			compatible = "fsl,imxrt1050-gpt", "fsl,imx6dl-gpt", "fsl,imx6sl-gpt";
154724ba675SRob Herring			reg = <0x401ec000 0x4000>;
155724ba675SRob Herring			interrupts = <100>;
156724ba675SRob Herring			clocks = <&osc3M>;
157724ba675SRob Herring			clock-names = "per";
158724ba675SRob Herring		};
159724ba675SRob Herring	};
160724ba675SRob Herring};
161