162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci//
362306a36Sopenharmony_ci// Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include "imx1-pinfunc.h"
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <dt-bindings/clock/imx1-clock.h>
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	#address-cells = <1>;
1362306a36Sopenharmony_ci	#size-cells = <1>;
1462306a36Sopenharmony_ci	/*
1562306a36Sopenharmony_ci	 * The decompressor and also some bootloaders rely on a
1662306a36Sopenharmony_ci	 * pre-existing /chosen node to be available to insert the
1762306a36Sopenharmony_ci	 * command line and merge other ATAGS info.
1862306a36Sopenharmony_ci	 */
1962306a36Sopenharmony_ci	chosen {};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	aliases {
2262306a36Sopenharmony_ci		gpio0 = &gpio1;
2362306a36Sopenharmony_ci		gpio1 = &gpio2;
2462306a36Sopenharmony_ci		gpio2 = &gpio3;
2562306a36Sopenharmony_ci		gpio3 = &gpio4;
2662306a36Sopenharmony_ci		i2c0 = &i2c;
2762306a36Sopenharmony_ci		serial0 = &uart1;
2862306a36Sopenharmony_ci		serial1 = &uart2;
2962306a36Sopenharmony_ci		serial2 = &uart3;
3062306a36Sopenharmony_ci		spi0 = &cspi1;
3162306a36Sopenharmony_ci		spi1 = &cspi2;
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	aitc: aitc-interrupt-controller@223000 {
3562306a36Sopenharmony_ci		compatible = "fsl,imx1-aitc", "fsl,avic";
3662306a36Sopenharmony_ci		interrupt-controller;
3762306a36Sopenharmony_ci		#interrupt-cells = <1>;
3862306a36Sopenharmony_ci		reg = <0x00223000 0x1000>;
3962306a36Sopenharmony_ci	};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	cpus {
4262306a36Sopenharmony_ci		#size-cells = <0>;
4362306a36Sopenharmony_ci		#address-cells = <1>;
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci		cpu@0 {
4662306a36Sopenharmony_ci			device_type = "cpu";
4762306a36Sopenharmony_ci			reg = <0>;
4862306a36Sopenharmony_ci			compatible = "arm,arm920t";
4962306a36Sopenharmony_ci			operating-points = <200000 1900000>;
5062306a36Sopenharmony_ci			clock-latency = <62500>;
5162306a36Sopenharmony_ci			clocks = <&clks IMX1_CLK_MCU>;
5262306a36Sopenharmony_ci			voltage-tolerance = <5>;
5362306a36Sopenharmony_ci		};
5462306a36Sopenharmony_ci	};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	clocks {
5762306a36Sopenharmony_ci		clk32 {
5862306a36Sopenharmony_ci			compatible = "fixed-clock";
5962306a36Sopenharmony_ci			#clock-cells = <0>;
6062306a36Sopenharmony_ci			clock-frequency = <32000>;
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci	};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	soc {
6562306a36Sopenharmony_ci		#address-cells = <1>;
6662306a36Sopenharmony_ci		#size-cells = <1>;
6762306a36Sopenharmony_ci		compatible = "simple-bus";
6862306a36Sopenharmony_ci		interrupt-parent = <&aitc>;
6962306a36Sopenharmony_ci		ranges;
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci		aipi@200000 {
7262306a36Sopenharmony_ci			compatible = "fsl,aipi-bus", "simple-bus";
7362306a36Sopenharmony_ci			#address-cells = <1>;
7462306a36Sopenharmony_ci			#size-cells = <1>;
7562306a36Sopenharmony_ci			reg = <0x00200000 0x10000>;
7662306a36Sopenharmony_ci			ranges;
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci			gpt1: timer@202000 {
7962306a36Sopenharmony_ci				compatible = "fsl,imx1-gpt";
8062306a36Sopenharmony_ci				reg = <0x00202000 0x1000>;
8162306a36Sopenharmony_ci				interrupts = <59>;
8262306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_HCLK>,
8362306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
8462306a36Sopenharmony_ci				clock-names = "ipg", "per";
8562306a36Sopenharmony_ci			};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci			gpt2: timer@203000 {
8862306a36Sopenharmony_ci				compatible = "fsl,imx1-gpt";
8962306a36Sopenharmony_ci				reg = <0x00203000 0x1000>;
9062306a36Sopenharmony_ci				interrupts = <58>;
9162306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_HCLK>,
9262306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
9362306a36Sopenharmony_ci				clock-names = "ipg", "per";
9462306a36Sopenharmony_ci			};
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci			fb: fb@205000 {
9762306a36Sopenharmony_ci				compatible = "fsl,imx1-fb";
9862306a36Sopenharmony_ci				reg = <0x00205000 0x1000>;
9962306a36Sopenharmony_ci				interrupts = <14>;
10062306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_DUMMY>,
10162306a36Sopenharmony_ci					 <&clks IMX1_CLK_DUMMY>,
10262306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER2>;
10362306a36Sopenharmony_ci				clock-names = "ipg", "ahb", "per";
10462306a36Sopenharmony_ci				status = "disabled";
10562306a36Sopenharmony_ci			};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci			uart1: serial@206000 {
10862306a36Sopenharmony_ci				compatible = "fsl,imx1-uart";
10962306a36Sopenharmony_ci				reg = <0x00206000 0x1000>;
11062306a36Sopenharmony_ci				interrupts = <30 29 26>;
11162306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_HCLK>,
11262306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
11362306a36Sopenharmony_ci				clock-names = "ipg", "per";
11462306a36Sopenharmony_ci				status = "disabled";
11562306a36Sopenharmony_ci			};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci			uart2: serial@207000 {
11862306a36Sopenharmony_ci				compatible = "fsl,imx1-uart";
11962306a36Sopenharmony_ci				reg = <0x00207000 0x1000>;
12062306a36Sopenharmony_ci				interrupts = <24 23 20>;
12162306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_HCLK>,
12262306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
12362306a36Sopenharmony_ci				clock-names = "ipg", "per";
12462306a36Sopenharmony_ci				status = "disabled";
12562306a36Sopenharmony_ci			};
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci			pwm: pwm@208000 {
12862306a36Sopenharmony_ci				#pwm-cells = <3>;
12962306a36Sopenharmony_ci				compatible = "fsl,imx1-pwm";
13062306a36Sopenharmony_ci				reg = <0x00208000 0x1000>;
13162306a36Sopenharmony_ci				interrupts = <34>;
13262306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_DUMMY>,
13362306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
13462306a36Sopenharmony_ci				clock-names = "ipg", "per";
13562306a36Sopenharmony_ci			};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci			dma: dma@209000 {
13862306a36Sopenharmony_ci				compatible = "fsl,imx1-dma";
13962306a36Sopenharmony_ci				reg = <0x00209000 0x1000>;
14062306a36Sopenharmony_ci				interrupts = <61 60>;
14162306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_HCLK>,
14262306a36Sopenharmony_ci					 <&clks IMX1_CLK_DMA_GATE>;
14362306a36Sopenharmony_ci				clock-names = "ipg", "ahb";
14462306a36Sopenharmony_ci				#dma-cells = <1>;
14562306a36Sopenharmony_ci			};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci			uart3: serial@20a000 {
14862306a36Sopenharmony_ci				compatible = "fsl,imx1-uart";
14962306a36Sopenharmony_ci				reg = <0x0020a000 0x1000>;
15062306a36Sopenharmony_ci				interrupts = <54 4 1>;
15162306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_UART3_GATE>,
15262306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
15362306a36Sopenharmony_ci				clock-names = "ipg", "per";
15462306a36Sopenharmony_ci				status = "disabled";
15562306a36Sopenharmony_ci			};
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci		aipi@210000 {
15962306a36Sopenharmony_ci			compatible = "fsl,aipi-bus", "simple-bus";
16062306a36Sopenharmony_ci			#address-cells = <1>;
16162306a36Sopenharmony_ci			#size-cells = <1>;
16262306a36Sopenharmony_ci			reg = <0x00210000 0x10000>;
16362306a36Sopenharmony_ci			ranges;
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci			cspi1: spi@213000 {
16662306a36Sopenharmony_ci				#address-cells = <1>;
16762306a36Sopenharmony_ci				#size-cells = <0>;
16862306a36Sopenharmony_ci				compatible = "fsl,imx1-cspi";
16962306a36Sopenharmony_ci				reg = <0x00213000 0x1000>;
17062306a36Sopenharmony_ci				interrupts = <41>;
17162306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_DUMMY>,
17262306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
17362306a36Sopenharmony_ci				clock-names = "ipg", "per";
17462306a36Sopenharmony_ci				status = "disabled";
17562306a36Sopenharmony_ci			};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci			i2c: i2c@217000 {
17862306a36Sopenharmony_ci				#address-cells = <1>;
17962306a36Sopenharmony_ci				#size-cells = <0>;
18062306a36Sopenharmony_ci				compatible = "fsl,imx1-i2c";
18162306a36Sopenharmony_ci				reg = <0x00217000 0x1000>;
18262306a36Sopenharmony_ci				interrupts = <39>;
18362306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_HCLK>;
18462306a36Sopenharmony_ci				status = "disabled";
18562306a36Sopenharmony_ci			};
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci			cspi2: spi@219000 {
18862306a36Sopenharmony_ci				#address-cells = <1>;
18962306a36Sopenharmony_ci				#size-cells = <0>;
19062306a36Sopenharmony_ci				compatible = "fsl,imx1-cspi";
19162306a36Sopenharmony_ci				reg = <0x00219000 0x1000>;
19262306a36Sopenharmony_ci				interrupts = <40>;
19362306a36Sopenharmony_ci				clocks = <&clks IMX1_CLK_DUMMY>,
19462306a36Sopenharmony_ci					 <&clks IMX1_CLK_PER1>;
19562306a36Sopenharmony_ci				clock-names = "ipg", "per";
19662306a36Sopenharmony_ci				status = "disabled";
19762306a36Sopenharmony_ci			};
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci			clks: ccm@21b000 {
20062306a36Sopenharmony_ci				compatible = "fsl,imx1-ccm";
20162306a36Sopenharmony_ci				reg = <0x0021b000 0x1000>;
20262306a36Sopenharmony_ci				#clock-cells = <1>;
20362306a36Sopenharmony_ci			};
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci			iomuxc: iomuxc@21c000 {
20662306a36Sopenharmony_ci				compatible = "fsl,imx1-iomuxc";
20762306a36Sopenharmony_ci				reg = <0x0021c000 0x1000>;
20862306a36Sopenharmony_ci				#address-cells = <1>;
20962306a36Sopenharmony_ci				#size-cells = <1>;
21062306a36Sopenharmony_ci				ranges;
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci				gpio1: gpio@21c000 {
21362306a36Sopenharmony_ci					compatible = "fsl,imx1-gpio";
21462306a36Sopenharmony_ci					reg = <0x0021c000 0x100>;
21562306a36Sopenharmony_ci					interrupts = <11>;
21662306a36Sopenharmony_ci					gpio-controller;
21762306a36Sopenharmony_ci					#gpio-cells = <2>;
21862306a36Sopenharmony_ci					interrupt-controller;
21962306a36Sopenharmony_ci					#interrupt-cells = <2>;
22062306a36Sopenharmony_ci				};
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci				gpio2: gpio@21c100 {
22362306a36Sopenharmony_ci					compatible = "fsl,imx1-gpio";
22462306a36Sopenharmony_ci					reg = <0x0021c100 0x100>;
22562306a36Sopenharmony_ci					interrupts = <12>;
22662306a36Sopenharmony_ci					gpio-controller;
22762306a36Sopenharmony_ci					#gpio-cells = <2>;
22862306a36Sopenharmony_ci					interrupt-controller;
22962306a36Sopenharmony_ci					#interrupt-cells = <2>;
23062306a36Sopenharmony_ci				};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci				gpio3: gpio@21c200 {
23362306a36Sopenharmony_ci					compatible = "fsl,imx1-gpio";
23462306a36Sopenharmony_ci					reg = <0x0021c200 0x100>;
23562306a36Sopenharmony_ci					interrupts = <13>;
23662306a36Sopenharmony_ci					gpio-controller;
23762306a36Sopenharmony_ci					#gpio-cells = <2>;
23862306a36Sopenharmony_ci					interrupt-controller;
23962306a36Sopenharmony_ci					#interrupt-cells = <2>;
24062306a36Sopenharmony_ci				};
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ci				gpio4: gpio@21c300 {
24362306a36Sopenharmony_ci					compatible = "fsl,imx1-gpio";
24462306a36Sopenharmony_ci					reg = <0x0021c300 0x100>;
24562306a36Sopenharmony_ci					interrupts = <62>;
24662306a36Sopenharmony_ci					gpio-controller;
24762306a36Sopenharmony_ci					#gpio-cells = <2>;
24862306a36Sopenharmony_ci					interrupt-controller;
24962306a36Sopenharmony_ci					#interrupt-cells = <2>;
25062306a36Sopenharmony_ci				};
25162306a36Sopenharmony_ci			};
25262306a36Sopenharmony_ci		};
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci		weim: weim@220000 {
25562306a36Sopenharmony_ci			#address-cells = <2>;
25662306a36Sopenharmony_ci			#size-cells = <1>;
25762306a36Sopenharmony_ci			compatible = "fsl,imx1-weim";
25862306a36Sopenharmony_ci			reg = <0x00220000 0x1000>;
25962306a36Sopenharmony_ci			clocks = <&clks IMX1_CLK_DUMMY>;
26062306a36Sopenharmony_ci			ranges = <
26162306a36Sopenharmony_ci				0 0 0x10000000 0x02000000
26262306a36Sopenharmony_ci				1 0 0x12000000 0x01000000
26362306a36Sopenharmony_ci				2 0 0x13000000 0x01000000
26462306a36Sopenharmony_ci				3 0 0x14000000 0x01000000
26562306a36Sopenharmony_ci				4 0 0x15000000 0x01000000
26662306a36Sopenharmony_ci				5 0 0x16000000 0x01000000
26762306a36Sopenharmony_ci			>;
26862306a36Sopenharmony_ci			status = "disabled";
26962306a36Sopenharmony_ci		};
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci		esram: sram@300000 {
27262306a36Sopenharmony_ci			compatible = "mmio-sram";
27362306a36Sopenharmony_ci			reg = <0x00300000 0x20000>;
27462306a36Sopenharmony_ci			ranges = <0 0x00300000 0x20000>;
27562306a36Sopenharmony_ci			#address-cells = <1>;
27662306a36Sopenharmony_ci			#size-cells = <1>;
27762306a36Sopenharmony_ci		};
27862306a36Sopenharmony_ci	};
27962306a36Sopenharmony_ci};
280