162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2019
462306a36Sopenharmony_ci * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "../../armv7-m.dtsi"
862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
962306a36Sopenharmony_ci#include <dt-bindings/clock/imxrt1050-clock.h>
1062306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	#address-cells = <1>;
1462306a36Sopenharmony_ci	#size-cells = <1>;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	clocks {
1762306a36Sopenharmony_ci		osc: osc {
1862306a36Sopenharmony_ci			compatible = "fixed-clock";
1962306a36Sopenharmony_ci			#clock-cells = <0>;
2062306a36Sopenharmony_ci			clock-frequency = <24000000>;
2162306a36Sopenharmony_ci		};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci		osc3M: osc3M {
2462306a36Sopenharmony_ci			compatible = "fixed-clock";
2562306a36Sopenharmony_ci			#clock-cells = <0>;
2662306a36Sopenharmony_ci			clock-frequency = <3000000>;
2762306a36Sopenharmony_ci		};
2862306a36Sopenharmony_ci	};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	soc {
3162306a36Sopenharmony_ci		lpuart1: serial@40184000 {
3262306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-lpuart", "fsl,imx7ulp-lpuart";
3362306a36Sopenharmony_ci			reg = <0x40184000 0x4000>;
3462306a36Sopenharmony_ci			interrupts = <20>;
3562306a36Sopenharmony_ci			clocks = <&clks IMXRT1050_CLK_LPUART1>;
3662306a36Sopenharmony_ci			clock-names = "ipg";
3762306a36Sopenharmony_ci			status = "disabled";
3862306a36Sopenharmony_ci		};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		iomuxc: pinctrl@401f8000 {
4162306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-iomuxc";
4262306a36Sopenharmony_ci			reg = <0x401f8000 0x4000>;
4362306a36Sopenharmony_ci			fsl,mux_mask = <0x7>;
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci		anatop: anatop@400d8000 {
4762306a36Sopenharmony_ci			compatible = "fsl,imxrt-anatop";
4862306a36Sopenharmony_ci			reg = <0x400d8000 0x4000>;
4962306a36Sopenharmony_ci		};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		clks: clock-controller@400fc000 {
5262306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-ccm";
5362306a36Sopenharmony_ci			reg = <0x400fc000 0x4000>;
5462306a36Sopenharmony_ci			interrupts = <95>, <96>;
5562306a36Sopenharmony_ci			clocks = <&osc>;
5662306a36Sopenharmony_ci			clock-names = "osc";
5762306a36Sopenharmony_ci			#clock-cells = <1>;
5862306a36Sopenharmony_ci			assigned-clocks = <&clks IMXRT1050_CLK_PLL1_BYPASS>,
5962306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL1_BYPASS>,
6062306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL2_BYPASS>,
6162306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL3_BYPASS>,
6262306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL3_PFD1_664_62M>,
6362306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL2_PFD2_396M>;
6462306a36Sopenharmony_ci			assigned-clock-parents = <&clks IMXRT1050_CLK_PLL1_REF_SEL>,
6562306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL1_ARM>,
6662306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL2_SYS>,
6762306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL3_USB_OTG>,
6862306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL3_USB_OTG>,
6962306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_PLL2_SYS>;
7062306a36Sopenharmony_ci		};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		edma1: dma-controller@400e8000 {
7362306a36Sopenharmony_ci			#dma-cells = <2>;
7462306a36Sopenharmony_ci			compatible = "fsl,imx7ulp-edma";
7562306a36Sopenharmony_ci			reg = <0x400e8000 0x4000>,
7662306a36Sopenharmony_ci				<0x400ec000 0x4000>;
7762306a36Sopenharmony_ci			dma-channels = <32>;
7862306a36Sopenharmony_ci			interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>,
7962306a36Sopenharmony_ci				<9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
8062306a36Sopenharmony_ci			clock-names = "dma", "dmamux0";
8162306a36Sopenharmony_ci			clocks = <&clks IMXRT1050_CLK_DMA>,
8262306a36Sopenharmony_ci				 <&clks IMXRT1050_CLK_DMA_MUX>;
8362306a36Sopenharmony_ci		};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		usdhc1: mmc@402c0000 {
8662306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-usdhc", "fsl,imx6sl-usdhc";
8762306a36Sopenharmony_ci			reg = <0x402c0000 0x4000>;
8862306a36Sopenharmony_ci			interrupts = <110>;
8962306a36Sopenharmony_ci			clocks = <&clks IMXRT1050_CLK_IPG_PDOF>,
9062306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_OSC>,
9162306a36Sopenharmony_ci				<&clks IMXRT1050_CLK_USDHC1>;
9262306a36Sopenharmony_ci			clock-names = "ipg", "ahb", "per";
9362306a36Sopenharmony_ci			bus-width = <4>;
9462306a36Sopenharmony_ci			fsl,wp-controller;
9562306a36Sopenharmony_ci			no-1-8-v;
9662306a36Sopenharmony_ci			max-frequency = <200000000>;
9762306a36Sopenharmony_ci			fsl,tuning-start-tap = <20>;
9862306a36Sopenharmony_ci			fsl,tuning-step = <2>;
9962306a36Sopenharmony_ci			status = "disabled";
10062306a36Sopenharmony_ci		};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci		gpio1: gpio@401b8000 {
10362306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
10462306a36Sopenharmony_ci			reg = <0x401b8000 0x4000>;
10562306a36Sopenharmony_ci			interrupts = <80>, <81>;
10662306a36Sopenharmony_ci			gpio-controller;
10762306a36Sopenharmony_ci			#gpio-cells = <2>;
10862306a36Sopenharmony_ci			interrupt-controller;
10962306a36Sopenharmony_ci			#interrupt-cells = <2>;
11062306a36Sopenharmony_ci		};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci		gpio2: gpio@401bc000 {
11362306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
11462306a36Sopenharmony_ci			reg = <0x401bc000 0x4000>;
11562306a36Sopenharmony_ci			interrupts = <82>, <83>;
11662306a36Sopenharmony_ci			gpio-controller;
11762306a36Sopenharmony_ci			#gpio-cells = <2>;
11862306a36Sopenharmony_ci			interrupt-controller;
11962306a36Sopenharmony_ci			#interrupt-cells = <2>;
12062306a36Sopenharmony_ci		};
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci		gpio3: gpio@401c0000 {
12362306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
12462306a36Sopenharmony_ci			reg = <0x401c0000 0x4000>;
12562306a36Sopenharmony_ci			interrupts = <84>, <85>;
12662306a36Sopenharmony_ci			gpio-controller;
12762306a36Sopenharmony_ci			#gpio-cells = <2>;
12862306a36Sopenharmony_ci			interrupt-controller;
12962306a36Sopenharmony_ci			#interrupt-cells = <2>;
13062306a36Sopenharmony_ci		};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci		gpio4: gpio@401c4000 {
13362306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
13462306a36Sopenharmony_ci			reg = <0x401c4000 0x4000>;
13562306a36Sopenharmony_ci			interrupts = <86>, <87>;
13662306a36Sopenharmony_ci			gpio-controller;
13762306a36Sopenharmony_ci			#gpio-cells = <2>;
13862306a36Sopenharmony_ci			interrupt-controller;
13962306a36Sopenharmony_ci			#interrupt-cells = <2>;
14062306a36Sopenharmony_ci		};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci		gpio5: gpio@400c0000 {
14362306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-gpio", "fsl,imx35-gpio";
14462306a36Sopenharmony_ci			reg = <0x400c0000 0x4000>;
14562306a36Sopenharmony_ci			interrupts = <88>, <89>;
14662306a36Sopenharmony_ci			gpio-controller;
14762306a36Sopenharmony_ci			#gpio-cells = <2>;
14862306a36Sopenharmony_ci			interrupt-controller;
14962306a36Sopenharmony_ci			#interrupt-cells = <2>;
15062306a36Sopenharmony_ci		};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci		gpt: timer@401ec000 {
15362306a36Sopenharmony_ci			compatible = "fsl,imxrt1050-gpt", "fsl,imx6dl-gpt", "fsl,imx6sl-gpt";
15462306a36Sopenharmony_ci			reg = <0x401ec000 0x4000>;
15562306a36Sopenharmony_ci			interrupts = <100>;
15662306a36Sopenharmony_ci			clocks = <&osc3M>;
15762306a36Sopenharmony_ci			clock-names = "per";
15862306a36Sopenharmony_ci		};
15962306a36Sopenharmony_ci	};
16062306a36Sopenharmony_ci};
161