162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci//
362306a36Sopenharmony_ci// Copyright 2011 Freescale Semiconductor, Inc.
462306a36Sopenharmony_ci// Copyright 2011 Linaro Ltd.
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include "imx51-pinfunc.h"
762306a36Sopenharmony_ci#include <dt-bindings/clock/imx5-clock.h>
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1062306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	#address-cells = <1>;
1462306a36Sopenharmony_ci	#size-cells = <1>;
1562306a36Sopenharmony_ci	/*
1662306a36Sopenharmony_ci	 * The decompressor and also some bootloaders rely on a
1762306a36Sopenharmony_ci	 * pre-existing /chosen node to be available to insert the
1862306a36Sopenharmony_ci	 * command line and merge other ATAGS info.
1962306a36Sopenharmony_ci	 */
2062306a36Sopenharmony_ci	chosen {};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	aliases {
2362306a36Sopenharmony_ci		ethernet0 = &fec;
2462306a36Sopenharmony_ci		gpio0 = &gpio1;
2562306a36Sopenharmony_ci		gpio1 = &gpio2;
2662306a36Sopenharmony_ci		gpio2 = &gpio3;
2762306a36Sopenharmony_ci		gpio3 = &gpio4;
2862306a36Sopenharmony_ci		i2c0 = &i2c1;
2962306a36Sopenharmony_ci		i2c1 = &i2c2;
3062306a36Sopenharmony_ci		mmc0 = &esdhc1;
3162306a36Sopenharmony_ci		mmc1 = &esdhc2;
3262306a36Sopenharmony_ci		mmc2 = &esdhc3;
3362306a36Sopenharmony_ci		mmc3 = &esdhc4;
3462306a36Sopenharmony_ci		serial0 = &uart1;
3562306a36Sopenharmony_ci		serial1 = &uart2;
3662306a36Sopenharmony_ci		serial2 = &uart3;
3762306a36Sopenharmony_ci		spi0 = &ecspi1;
3862306a36Sopenharmony_ci		spi1 = &ecspi2;
3962306a36Sopenharmony_ci		spi2 = &cspi;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	tzic: tz-interrupt-controller@e0000000 {
4362306a36Sopenharmony_ci		compatible = "fsl,imx51-tzic", "fsl,tzic";
4462306a36Sopenharmony_ci		interrupt-controller;
4562306a36Sopenharmony_ci		#interrupt-cells = <1>;
4662306a36Sopenharmony_ci		reg = <0xe0000000 0x4000>;
4762306a36Sopenharmony_ci	};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	clocks {
5062306a36Sopenharmony_ci		ckil {
5162306a36Sopenharmony_ci			compatible = "fixed-clock";
5262306a36Sopenharmony_ci			#clock-cells = <0>;
5362306a36Sopenharmony_ci			clock-frequency = <32768>;
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		ckih1 {
5762306a36Sopenharmony_ci			compatible = "fixed-clock";
5862306a36Sopenharmony_ci			#clock-cells = <0>;
5962306a36Sopenharmony_ci			clock-frequency = <0>;
6062306a36Sopenharmony_ci		};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci		ckih2 {
6362306a36Sopenharmony_ci			compatible = "fixed-clock";
6462306a36Sopenharmony_ci			#clock-cells = <0>;
6562306a36Sopenharmony_ci			clock-frequency = <0>;
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci		osc {
6962306a36Sopenharmony_ci			compatible = "fixed-clock";
7062306a36Sopenharmony_ci			#clock-cells = <0>;
7162306a36Sopenharmony_ci			clock-frequency = <24000000>;
7262306a36Sopenharmony_ci		};
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	cpus {
7662306a36Sopenharmony_ci		#address-cells = <1>;
7762306a36Sopenharmony_ci		#size-cells = <0>;
7862306a36Sopenharmony_ci		cpu: cpu@0 {
7962306a36Sopenharmony_ci			device_type = "cpu";
8062306a36Sopenharmony_ci			compatible = "arm,cortex-a8";
8162306a36Sopenharmony_ci			reg = <0>;
8262306a36Sopenharmony_ci			clock-latency = <62500>;
8362306a36Sopenharmony_ci			clocks = <&clks IMX5_CLK_CPU_PODF>;
8462306a36Sopenharmony_ci			clock-names = "cpu";
8562306a36Sopenharmony_ci			operating-points = <
8662306a36Sopenharmony_ci				166000	1000000
8762306a36Sopenharmony_ci				600000	1050000
8862306a36Sopenharmony_ci				800000	1100000
8962306a36Sopenharmony_ci			>;
9062306a36Sopenharmony_ci			voltage-tolerance = <5>;
9162306a36Sopenharmony_ci		};
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	pmu: pmu {
9562306a36Sopenharmony_ci		compatible = "arm,cortex-a8-pmu";
9662306a36Sopenharmony_ci		interrupt-parent = <&tzic>;
9762306a36Sopenharmony_ci		interrupts = <77>;
9862306a36Sopenharmony_ci	};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci	usbphy0: usbphy0 {
10162306a36Sopenharmony_ci		compatible = "usb-nop-xceiv";
10262306a36Sopenharmony_ci		clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
10362306a36Sopenharmony_ci		clock-names = "main_clk";
10462306a36Sopenharmony_ci		#phy-cells = <0>;
10562306a36Sopenharmony_ci	};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	capture-subsystem {
10862306a36Sopenharmony_ci		compatible = "fsl,imx-capture-subsystem";
10962306a36Sopenharmony_ci		ports = <&ipu_csi0>, <&ipu_csi1>;
11062306a36Sopenharmony_ci	};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	display-subsystem {
11362306a36Sopenharmony_ci		compatible = "fsl,imx-display-subsystem";
11462306a36Sopenharmony_ci		ports = <&ipu_di0>, <&ipu_di1>;
11562306a36Sopenharmony_ci	};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci	soc: soc {
11862306a36Sopenharmony_ci		#address-cells = <1>;
11962306a36Sopenharmony_ci		#size-cells = <1>;
12062306a36Sopenharmony_ci		compatible = "simple-bus";
12162306a36Sopenharmony_ci		interrupt-parent = <&tzic>;
12262306a36Sopenharmony_ci		ranges;
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci		iram: sram@1ffe0000 {
12562306a36Sopenharmony_ci			compatible = "mmio-sram";
12662306a36Sopenharmony_ci			reg = <0x1ffe0000 0x20000>;
12762306a36Sopenharmony_ci			ranges = <0 0x1ffe0000 0x20000>;
12862306a36Sopenharmony_ci			#address-cells = <1>;
12962306a36Sopenharmony_ci			#size-cells = <1>;
13062306a36Sopenharmony_ci		};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci		gpu: gpu@30000000 {
13362306a36Sopenharmony_ci			compatible = "amd,imageon-200.1", "amd,imageon";
13462306a36Sopenharmony_ci			reg = <0x30000000 0x20000>;
13562306a36Sopenharmony_ci			reg-names = "kgsl_3d0_reg_memory";
13662306a36Sopenharmony_ci			interrupts = <12>;
13762306a36Sopenharmony_ci			interrupt-names = "kgsl_3d0_irq";
13862306a36Sopenharmony_ci			clocks = <&clks IMX5_CLK_GPU3D_GATE>, <&clks IMX5_CLK_GARB_GATE>;
13962306a36Sopenharmony_ci			clock-names = "core_clk", "mem_iface_clk";
14062306a36Sopenharmony_ci		};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci		ipu: ipu@40000000 {
14362306a36Sopenharmony_ci			#address-cells = <1>;
14462306a36Sopenharmony_ci			#size-cells = <0>;
14562306a36Sopenharmony_ci			compatible = "fsl,imx51-ipu";
14662306a36Sopenharmony_ci			reg = <0x40000000 0x20000000>;
14762306a36Sopenharmony_ci			interrupts = <11 10>;
14862306a36Sopenharmony_ci			clocks = <&clks IMX5_CLK_IPU_GATE>,
14962306a36Sopenharmony_ci				 <&clks IMX5_CLK_IPU_DI0_GATE>,
15062306a36Sopenharmony_ci				 <&clks IMX5_CLK_IPU_DI1_GATE>;
15162306a36Sopenharmony_ci			clock-names = "bus", "di0", "di1";
15262306a36Sopenharmony_ci			resets = <&src 2>;
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci			ipu_csi0: port@0 {
15562306a36Sopenharmony_ci				reg = <0>;
15662306a36Sopenharmony_ci			};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci			ipu_csi1: port@1 {
15962306a36Sopenharmony_ci				reg = <1>;
16062306a36Sopenharmony_ci			};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci			ipu_di0: port@2 {
16362306a36Sopenharmony_ci				reg = <2>;
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci				ipu_di0_disp1: endpoint {
16662306a36Sopenharmony_ci				};
16762306a36Sopenharmony_ci			};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci			ipu_di1: port@3 {
17062306a36Sopenharmony_ci				reg = <3>;
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci				ipu_di1_disp2: endpoint {
17362306a36Sopenharmony_ci				};
17462306a36Sopenharmony_ci			};
17562306a36Sopenharmony_ci		};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci		aips1: bus@70000000 { /* AIPS1 */
17862306a36Sopenharmony_ci			compatible = "fsl,aips-bus", "simple-bus";
17962306a36Sopenharmony_ci			#address-cells = <1>;
18062306a36Sopenharmony_ci			#size-cells = <1>;
18162306a36Sopenharmony_ci			reg = <0x70000000 0x10000000>;
18262306a36Sopenharmony_ci			ranges;
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci			spba-bus@70000000 {
18562306a36Sopenharmony_ci				compatible = "fsl,spba-bus", "simple-bus";
18662306a36Sopenharmony_ci				#address-cells = <1>;
18762306a36Sopenharmony_ci				#size-cells = <1>;
18862306a36Sopenharmony_ci				reg = <0x70000000 0x40000>;
18962306a36Sopenharmony_ci				ranges;
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci				esdhc1: mmc@70004000 {
19262306a36Sopenharmony_ci					compatible = "fsl,imx51-esdhc";
19362306a36Sopenharmony_ci					reg = <0x70004000 0x4000>;
19462306a36Sopenharmony_ci					interrupts = <1>;
19562306a36Sopenharmony_ci					clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
19662306a36Sopenharmony_ci						 <&clks IMX5_CLK_DUMMY>,
19762306a36Sopenharmony_ci						 <&clks IMX5_CLK_ESDHC1_PER_GATE>;
19862306a36Sopenharmony_ci					clock-names = "ipg", "ahb", "per";
19962306a36Sopenharmony_ci					status = "disabled";
20062306a36Sopenharmony_ci				};
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci				esdhc2: mmc@70008000 {
20362306a36Sopenharmony_ci					compatible = "fsl,imx51-esdhc";
20462306a36Sopenharmony_ci					reg = <0x70008000 0x4000>;
20562306a36Sopenharmony_ci					interrupts = <2>;
20662306a36Sopenharmony_ci					clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
20762306a36Sopenharmony_ci						 <&clks IMX5_CLK_DUMMY>,
20862306a36Sopenharmony_ci						 <&clks IMX5_CLK_ESDHC2_PER_GATE>;
20962306a36Sopenharmony_ci					clock-names = "ipg", "ahb", "per";
21062306a36Sopenharmony_ci					bus-width = <4>;
21162306a36Sopenharmony_ci					status = "disabled";
21262306a36Sopenharmony_ci				};
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci				uart3: serial@7000c000 {
21562306a36Sopenharmony_ci					compatible = "fsl,imx51-uart", "fsl,imx21-uart";
21662306a36Sopenharmony_ci					reg = <0x7000c000 0x4000>;
21762306a36Sopenharmony_ci					interrupts = <33>;
21862306a36Sopenharmony_ci					clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
21962306a36Sopenharmony_ci						 <&clks IMX5_CLK_UART3_PER_GATE>;
22062306a36Sopenharmony_ci					clock-names = "ipg", "per";
22162306a36Sopenharmony_ci					dmas = <&sdma 43 5 1>, <&sdma 44 5 2>;
22262306a36Sopenharmony_ci					dma-names = "rx", "tx";
22362306a36Sopenharmony_ci					status = "disabled";
22462306a36Sopenharmony_ci				};
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci				ecspi1: spi@70010000 {
22762306a36Sopenharmony_ci					#address-cells = <1>;
22862306a36Sopenharmony_ci					#size-cells = <0>;
22962306a36Sopenharmony_ci					compatible = "fsl,imx51-ecspi";
23062306a36Sopenharmony_ci					reg = <0x70010000 0x4000>;
23162306a36Sopenharmony_ci					interrupts = <36>;
23262306a36Sopenharmony_ci					clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
23362306a36Sopenharmony_ci						 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
23462306a36Sopenharmony_ci					clock-names = "ipg", "per";
23562306a36Sopenharmony_ci					status = "disabled";
23662306a36Sopenharmony_ci				};
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci				ssi2: ssi@70014000 {
23962306a36Sopenharmony_ci					#sound-dai-cells = <0>;
24062306a36Sopenharmony_ci					compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
24162306a36Sopenharmony_ci					reg = <0x70014000 0x4000>;
24262306a36Sopenharmony_ci					interrupts = <30>;
24362306a36Sopenharmony_ci					clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
24462306a36Sopenharmony_ci						 <&clks IMX5_CLK_SSI2_ROOT_GATE>;
24562306a36Sopenharmony_ci					clock-names = "ipg", "baud";
24662306a36Sopenharmony_ci					dmas = <&sdma 24 1 0>,
24762306a36Sopenharmony_ci					       <&sdma 25 1 0>;
24862306a36Sopenharmony_ci					dma-names = "rx", "tx";
24962306a36Sopenharmony_ci					fsl,fifo-depth = <15>;
25062306a36Sopenharmony_ci					status = "disabled";
25162306a36Sopenharmony_ci				};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci				esdhc3: mmc@70020000 {
25462306a36Sopenharmony_ci					compatible = "fsl,imx51-esdhc";
25562306a36Sopenharmony_ci					reg = <0x70020000 0x4000>;
25662306a36Sopenharmony_ci					interrupts = <3>;
25762306a36Sopenharmony_ci					clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
25862306a36Sopenharmony_ci						 <&clks IMX5_CLK_DUMMY>,
25962306a36Sopenharmony_ci						 <&clks IMX5_CLK_ESDHC3_PER_GATE>;
26062306a36Sopenharmony_ci					clock-names = "ipg", "ahb", "per";
26162306a36Sopenharmony_ci					bus-width = <4>;
26262306a36Sopenharmony_ci					status = "disabled";
26362306a36Sopenharmony_ci				};
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci				esdhc4: mmc@70024000 {
26662306a36Sopenharmony_ci					compatible = "fsl,imx51-esdhc";
26762306a36Sopenharmony_ci					reg = <0x70024000 0x4000>;
26862306a36Sopenharmony_ci					interrupts = <4>;
26962306a36Sopenharmony_ci					clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
27062306a36Sopenharmony_ci						 <&clks IMX5_CLK_DUMMY>,
27162306a36Sopenharmony_ci						 <&clks IMX5_CLK_ESDHC4_PER_GATE>;
27262306a36Sopenharmony_ci					clock-names = "ipg", "ahb", "per";
27362306a36Sopenharmony_ci					bus-width = <4>;
27462306a36Sopenharmony_ci					status = "disabled";
27562306a36Sopenharmony_ci				};
27662306a36Sopenharmony_ci			};
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci			aipstz1: bridge@73f00000 {
27962306a36Sopenharmony_ci				compatible = "fsl,imx51-aipstz";
28062306a36Sopenharmony_ci				reg = <0x73f00000 0x60>;
28162306a36Sopenharmony_ci			};
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ci			usbotg: usb@73f80000 {
28462306a36Sopenharmony_ci				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
28562306a36Sopenharmony_ci				reg = <0x73f80000 0x0200>;
28662306a36Sopenharmony_ci				interrupts = <18>;
28762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
28862306a36Sopenharmony_ci				fsl,usbmisc = <&usbmisc 0>;
28962306a36Sopenharmony_ci				fsl,usbphy = <&usbphy0>;
29062306a36Sopenharmony_ci				status = "disabled";
29162306a36Sopenharmony_ci			};
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci			usbh1: usb@73f80200 {
29462306a36Sopenharmony_ci				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
29562306a36Sopenharmony_ci				reg = <0x73f80200 0x0200>;
29662306a36Sopenharmony_ci				interrupts = <14>;
29762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
29862306a36Sopenharmony_ci				fsl,usbmisc = <&usbmisc 1>;
29962306a36Sopenharmony_ci				dr_mode = "host";
30062306a36Sopenharmony_ci				status = "disabled";
30162306a36Sopenharmony_ci			};
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci			usbh2: usb@73f80400 {
30462306a36Sopenharmony_ci				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
30562306a36Sopenharmony_ci				reg = <0x73f80400 0x0200>;
30662306a36Sopenharmony_ci				interrupts = <16>;
30762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
30862306a36Sopenharmony_ci				fsl,usbmisc = <&usbmisc 2>;
30962306a36Sopenharmony_ci				dr_mode = "host";
31062306a36Sopenharmony_ci				status = "disabled";
31162306a36Sopenharmony_ci			};
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci			usbh3: usb@73f80600 {
31462306a36Sopenharmony_ci				compatible = "fsl,imx51-usb", "fsl,imx27-usb";
31562306a36Sopenharmony_ci				reg = <0x73f80600 0x0200>;
31662306a36Sopenharmony_ci				interrupts = <17>;
31762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
31862306a36Sopenharmony_ci				fsl,usbmisc = <&usbmisc 3>;
31962306a36Sopenharmony_ci				dr_mode = "host";
32062306a36Sopenharmony_ci				status = "disabled";
32162306a36Sopenharmony_ci			};
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci			usbmisc: usbmisc@73f80800 {
32462306a36Sopenharmony_ci				#index-cells = <1>;
32562306a36Sopenharmony_ci				compatible = "fsl,imx51-usbmisc";
32662306a36Sopenharmony_ci				reg = <0x73f80800 0x200>;
32762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
32862306a36Sopenharmony_ci			};
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_ci			gpio1: gpio@73f84000 {
33162306a36Sopenharmony_ci				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
33262306a36Sopenharmony_ci				reg = <0x73f84000 0x4000>;
33362306a36Sopenharmony_ci				interrupts = <50 51>;
33462306a36Sopenharmony_ci				gpio-controller;
33562306a36Sopenharmony_ci				#gpio-cells = <2>;
33662306a36Sopenharmony_ci				interrupt-controller;
33762306a36Sopenharmony_ci				#interrupt-cells = <2>;
33862306a36Sopenharmony_ci			};
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci			gpio2: gpio@73f88000 {
34162306a36Sopenharmony_ci				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
34262306a36Sopenharmony_ci				reg = <0x73f88000 0x4000>;
34362306a36Sopenharmony_ci				interrupts = <52 53>;
34462306a36Sopenharmony_ci				gpio-controller;
34562306a36Sopenharmony_ci				#gpio-cells = <2>;
34662306a36Sopenharmony_ci				interrupt-controller;
34762306a36Sopenharmony_ci				#interrupt-cells = <2>;
34862306a36Sopenharmony_ci			};
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ci			gpio3: gpio@73f8c000 {
35162306a36Sopenharmony_ci				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
35262306a36Sopenharmony_ci				reg = <0x73f8c000 0x4000>;
35362306a36Sopenharmony_ci				interrupts = <54 55>;
35462306a36Sopenharmony_ci				gpio-controller;
35562306a36Sopenharmony_ci				#gpio-cells = <2>;
35662306a36Sopenharmony_ci				interrupt-controller;
35762306a36Sopenharmony_ci				#interrupt-cells = <2>;
35862306a36Sopenharmony_ci			};
35962306a36Sopenharmony_ci
36062306a36Sopenharmony_ci			gpio4: gpio@73f90000 {
36162306a36Sopenharmony_ci				compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
36262306a36Sopenharmony_ci				reg = <0x73f90000 0x4000>;
36362306a36Sopenharmony_ci				interrupts = <56 57>;
36462306a36Sopenharmony_ci				gpio-controller;
36562306a36Sopenharmony_ci				#gpio-cells = <2>;
36662306a36Sopenharmony_ci				interrupt-controller;
36762306a36Sopenharmony_ci				#interrupt-cells = <2>;
36862306a36Sopenharmony_ci			};
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci			kpp: kpp@73f94000 {
37162306a36Sopenharmony_ci				compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
37262306a36Sopenharmony_ci				reg = <0x73f94000 0x4000>;
37362306a36Sopenharmony_ci				interrupts = <60>;
37462306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_DUMMY>;
37562306a36Sopenharmony_ci				status = "disabled";
37662306a36Sopenharmony_ci			};
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ci			wdog1: watchdog@73f98000 {
37962306a36Sopenharmony_ci				compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
38062306a36Sopenharmony_ci				reg = <0x73f98000 0x4000>;
38162306a36Sopenharmony_ci				interrupts = <58>;
38262306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_DUMMY>;
38362306a36Sopenharmony_ci			};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci			wdog2: watchdog@73f9c000 {
38662306a36Sopenharmony_ci				compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
38762306a36Sopenharmony_ci				reg = <0x73f9c000 0x4000>;
38862306a36Sopenharmony_ci				interrupts = <59>;
38962306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_DUMMY>;
39062306a36Sopenharmony_ci				status = "disabled";
39162306a36Sopenharmony_ci			};
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci			gpt: timer@73fa0000 {
39462306a36Sopenharmony_ci				compatible = "fsl,imx51-gpt", "fsl,imx31-gpt";
39562306a36Sopenharmony_ci				reg = <0x73fa0000 0x4000>;
39662306a36Sopenharmony_ci				interrupts = <39>;
39762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
39862306a36Sopenharmony_ci					 <&clks IMX5_CLK_GPT_HF_GATE>;
39962306a36Sopenharmony_ci				clock-names = "ipg", "per";
40062306a36Sopenharmony_ci			};
40162306a36Sopenharmony_ci
40262306a36Sopenharmony_ci			iomuxc: iomuxc@73fa8000 {
40362306a36Sopenharmony_ci				compatible = "fsl,imx51-iomuxc";
40462306a36Sopenharmony_ci				reg = <0x73fa8000 0x4000>;
40562306a36Sopenharmony_ci			};
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_ci			pwm1: pwm@73fb4000 {
40862306a36Sopenharmony_ci				#pwm-cells = <3>;
40962306a36Sopenharmony_ci				compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
41062306a36Sopenharmony_ci				reg = <0x73fb4000 0x4000>;
41162306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
41262306a36Sopenharmony_ci					 <&clks IMX5_CLK_PWM1_HF_GATE>;
41362306a36Sopenharmony_ci				clock-names = "ipg", "per";
41462306a36Sopenharmony_ci				interrupts = <61>;
41562306a36Sopenharmony_ci			};
41662306a36Sopenharmony_ci
41762306a36Sopenharmony_ci			pwm2: pwm@73fb8000 {
41862306a36Sopenharmony_ci				#pwm-cells = <3>;
41962306a36Sopenharmony_ci				compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
42062306a36Sopenharmony_ci				reg = <0x73fb8000 0x4000>;
42162306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
42262306a36Sopenharmony_ci					 <&clks IMX5_CLK_PWM2_HF_GATE>;
42362306a36Sopenharmony_ci				clock-names = "ipg", "per";
42462306a36Sopenharmony_ci				interrupts = <94>;
42562306a36Sopenharmony_ci			};
42662306a36Sopenharmony_ci
42762306a36Sopenharmony_ci			uart1: serial@73fbc000 {
42862306a36Sopenharmony_ci				compatible = "fsl,imx51-uart", "fsl,imx21-uart";
42962306a36Sopenharmony_ci				reg = <0x73fbc000 0x4000>;
43062306a36Sopenharmony_ci				interrupts = <31>;
43162306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
43262306a36Sopenharmony_ci					 <&clks IMX5_CLK_UART1_PER_GATE>;
43362306a36Sopenharmony_ci				clock-names = "ipg", "per";
43462306a36Sopenharmony_ci				dmas = <&sdma 18 4 1>, <&sdma 19 4 2>;
43562306a36Sopenharmony_ci				dma-names = "rx", "tx";
43662306a36Sopenharmony_ci				status = "disabled";
43762306a36Sopenharmony_ci			};
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ci			uart2: serial@73fc0000 {
44062306a36Sopenharmony_ci				compatible = "fsl,imx51-uart", "fsl,imx21-uart";
44162306a36Sopenharmony_ci				reg = <0x73fc0000 0x4000>;
44262306a36Sopenharmony_ci				interrupts = <32>;
44362306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
44462306a36Sopenharmony_ci					 <&clks IMX5_CLK_UART2_PER_GATE>;
44562306a36Sopenharmony_ci				clock-names = "ipg", "per";
44662306a36Sopenharmony_ci				dmas = <&sdma 16 4 1>, <&sdma 17 4 2>;
44762306a36Sopenharmony_ci				dma-names = "rx", "tx";
44862306a36Sopenharmony_ci				status = "disabled";
44962306a36Sopenharmony_ci			};
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ci			src: reset-controller@73fd0000 {
45262306a36Sopenharmony_ci				compatible = "fsl,imx51-src";
45362306a36Sopenharmony_ci				reg = <0x73fd0000 0x4000>;
45462306a36Sopenharmony_ci				interrupts = <75>;
45562306a36Sopenharmony_ci				#reset-cells = <1>;
45662306a36Sopenharmony_ci			};
45762306a36Sopenharmony_ci
45862306a36Sopenharmony_ci			clks: ccm@73fd4000 {
45962306a36Sopenharmony_ci				compatible = "fsl,imx51-ccm";
46062306a36Sopenharmony_ci				reg = <0x73fd4000 0x4000>;
46162306a36Sopenharmony_ci				interrupts = <0 71 0x04 0 72 0x04>;
46262306a36Sopenharmony_ci				#clock-cells = <1>;
46362306a36Sopenharmony_ci			};
46462306a36Sopenharmony_ci		};
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci		aips2: bus@80000000 {	/* AIPS2 */
46762306a36Sopenharmony_ci			compatible = "fsl,aips-bus", "simple-bus";
46862306a36Sopenharmony_ci			#address-cells = <1>;
46962306a36Sopenharmony_ci			#size-cells = <1>;
47062306a36Sopenharmony_ci			reg = <0x80000000 0x10000000>;
47162306a36Sopenharmony_ci			ranges;
47262306a36Sopenharmony_ci
47362306a36Sopenharmony_ci			aipstz2: bridge@83f00000 {
47462306a36Sopenharmony_ci				compatible = "fsl,imx51-aipstz";
47562306a36Sopenharmony_ci				reg = <0x83f00000 0x60>;
47662306a36Sopenharmony_ci			};
47762306a36Sopenharmony_ci
47862306a36Sopenharmony_ci			iim: efuse@83f98000 {
47962306a36Sopenharmony_ci				compatible = "fsl,imx51-iim", "fsl,imx27-iim", "syscon";
48062306a36Sopenharmony_ci				reg = <0x83f98000 0x4000>;
48162306a36Sopenharmony_ci				interrupts = <69>;
48262306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_IIM_GATE>;
48362306a36Sopenharmony_ci			};
48462306a36Sopenharmony_ci
48562306a36Sopenharmony_ci			tigerp: tigerp@83fa0000 {
48662306a36Sopenharmony_ci				compatible = "fsl,imx51-tigerp";
48762306a36Sopenharmony_ci				reg = <0x83fa0000 0x28>;
48862306a36Sopenharmony_ci			};
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_ci			owire: owire@83fa4000 {
49162306a36Sopenharmony_ci				compatible = "fsl,imx51-owire", "fsl,imx21-owire";
49262306a36Sopenharmony_ci				reg = <0x83fa4000 0x4000>;
49362306a36Sopenharmony_ci				interrupts = <88>;
49462306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_OWIRE_GATE>;
49562306a36Sopenharmony_ci				status = "disabled";
49662306a36Sopenharmony_ci			};
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci			ecspi2: spi@83fac000 {
49962306a36Sopenharmony_ci				#address-cells = <1>;
50062306a36Sopenharmony_ci				#size-cells = <0>;
50162306a36Sopenharmony_ci				compatible = "fsl,imx51-ecspi";
50262306a36Sopenharmony_ci				reg = <0x83fac000 0x4000>;
50362306a36Sopenharmony_ci				interrupts = <37>;
50462306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
50562306a36Sopenharmony_ci					 <&clks IMX5_CLK_ECSPI2_PER_GATE>;
50662306a36Sopenharmony_ci				clock-names = "ipg", "per";
50762306a36Sopenharmony_ci				status = "disabled";
50862306a36Sopenharmony_ci			};
50962306a36Sopenharmony_ci
51062306a36Sopenharmony_ci			sdma: dma-controller@83fb0000 {
51162306a36Sopenharmony_ci				compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
51262306a36Sopenharmony_ci				reg = <0x83fb0000 0x4000>;
51362306a36Sopenharmony_ci				interrupts = <6>;
51462306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_SDMA_GATE>,
51562306a36Sopenharmony_ci					 <&clks IMX5_CLK_AHB>;
51662306a36Sopenharmony_ci				clock-names = "ipg", "ahb";
51762306a36Sopenharmony_ci				#dma-cells = <3>;
51862306a36Sopenharmony_ci				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
51962306a36Sopenharmony_ci			};
52062306a36Sopenharmony_ci
52162306a36Sopenharmony_ci			cspi: spi@83fc0000 {
52262306a36Sopenharmony_ci				#address-cells = <1>;
52362306a36Sopenharmony_ci				#size-cells = <0>;
52462306a36Sopenharmony_ci				compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
52562306a36Sopenharmony_ci				reg = <0x83fc0000 0x4000>;
52662306a36Sopenharmony_ci				interrupts = <38>;
52762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
52862306a36Sopenharmony_ci					 <&clks IMX5_CLK_CSPI_IPG_GATE>;
52962306a36Sopenharmony_ci				clock-names = "ipg", "per";
53062306a36Sopenharmony_ci				status = "disabled";
53162306a36Sopenharmony_ci			};
53262306a36Sopenharmony_ci
53362306a36Sopenharmony_ci			i2c2: i2c@83fc4000 {
53462306a36Sopenharmony_ci				#address-cells = <1>;
53562306a36Sopenharmony_ci				#size-cells = <0>;
53662306a36Sopenharmony_ci				compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
53762306a36Sopenharmony_ci				reg = <0x83fc4000 0x4000>;
53862306a36Sopenharmony_ci				interrupts = <63>;
53962306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_I2C2_GATE>;
54062306a36Sopenharmony_ci				status = "disabled";
54162306a36Sopenharmony_ci			};
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ci			i2c1: i2c@83fc8000 {
54462306a36Sopenharmony_ci				#address-cells = <1>;
54562306a36Sopenharmony_ci				#size-cells = <0>;
54662306a36Sopenharmony_ci				compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
54762306a36Sopenharmony_ci				reg = <0x83fc8000 0x4000>;
54862306a36Sopenharmony_ci				interrupts = <62>;
54962306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_I2C1_GATE>;
55062306a36Sopenharmony_ci				status = "disabled";
55162306a36Sopenharmony_ci			};
55262306a36Sopenharmony_ci
55362306a36Sopenharmony_ci			ssi1: ssi@83fcc000 {
55462306a36Sopenharmony_ci				#sound-dai-cells = <0>;
55562306a36Sopenharmony_ci				compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
55662306a36Sopenharmony_ci				reg = <0x83fcc000 0x4000>;
55762306a36Sopenharmony_ci				interrupts = <29>;
55862306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
55962306a36Sopenharmony_ci					 <&clks IMX5_CLK_SSI1_ROOT_GATE>;
56062306a36Sopenharmony_ci				clock-names = "ipg", "baud";
56162306a36Sopenharmony_ci				dmas = <&sdma 28 0 0>,
56262306a36Sopenharmony_ci				       <&sdma 29 0 0>;
56362306a36Sopenharmony_ci				dma-names = "rx", "tx";
56462306a36Sopenharmony_ci				fsl,fifo-depth = <15>;
56562306a36Sopenharmony_ci				status = "disabled";
56662306a36Sopenharmony_ci			};
56762306a36Sopenharmony_ci
56862306a36Sopenharmony_ci			audmux: audmux@83fd0000 {
56962306a36Sopenharmony_ci				compatible = "fsl,imx51-audmux", "fsl,imx31-audmux";
57062306a36Sopenharmony_ci				reg = <0x83fd0000 0x4000>;
57162306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_DUMMY>;
57262306a36Sopenharmony_ci				clock-names = "audmux";
57362306a36Sopenharmony_ci				status = "disabled";
57462306a36Sopenharmony_ci			};
57562306a36Sopenharmony_ci
57662306a36Sopenharmony_ci			m4if: m4if@83fd8000 {
57762306a36Sopenharmony_ci				compatible = "fsl,imx51-m4if";
57862306a36Sopenharmony_ci				reg = <0x83fd8000 0x1000>;
57962306a36Sopenharmony_ci			};
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ci			weim: weim@83fda000 {
58262306a36Sopenharmony_ci				#address-cells = <2>;
58362306a36Sopenharmony_ci				#size-cells = <1>;
58462306a36Sopenharmony_ci				compatible = "fsl,imx51-weim";
58562306a36Sopenharmony_ci				reg = <0x83fda000 0x1000>;
58662306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>;
58762306a36Sopenharmony_ci				ranges = <
58862306a36Sopenharmony_ci					0 0 0xb0000000 0x08000000
58962306a36Sopenharmony_ci					1 0 0xb8000000 0x08000000
59062306a36Sopenharmony_ci					2 0 0xc0000000 0x08000000
59162306a36Sopenharmony_ci					3 0 0xc8000000 0x04000000
59262306a36Sopenharmony_ci					4 0 0xcc000000 0x02000000
59362306a36Sopenharmony_ci					5 0 0xce000000 0x02000000
59462306a36Sopenharmony_ci				>;
59562306a36Sopenharmony_ci				status = "disabled";
59662306a36Sopenharmony_ci			};
59762306a36Sopenharmony_ci
59862306a36Sopenharmony_ci			nfc: nand@83fdb000 {
59962306a36Sopenharmony_ci				#address-cells = <1>;
60062306a36Sopenharmony_ci				#size-cells = <1>;
60162306a36Sopenharmony_ci				compatible = "fsl,imx51-nand";
60262306a36Sopenharmony_ci				reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>;
60362306a36Sopenharmony_ci				interrupts = <8>;
60462306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_NFC_GATE>;
60562306a36Sopenharmony_ci				status = "disabled";
60662306a36Sopenharmony_ci			};
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_ci			pata: pata@83fe0000 {
60962306a36Sopenharmony_ci				compatible = "fsl,imx51-pata", "fsl,imx27-pata";
61062306a36Sopenharmony_ci				reg = <0x83fe0000 0x4000>;
61162306a36Sopenharmony_ci				interrupts = <70>;
61262306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_PATA_GATE>;
61362306a36Sopenharmony_ci				status = "disabled";
61462306a36Sopenharmony_ci			};
61562306a36Sopenharmony_ci
61662306a36Sopenharmony_ci			ssi3: ssi@83fe8000 {
61762306a36Sopenharmony_ci				#sound-dai-cells = <0>;
61862306a36Sopenharmony_ci				compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
61962306a36Sopenharmony_ci				reg = <0x83fe8000 0x4000>;
62062306a36Sopenharmony_ci				interrupts = <96>;
62162306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
62262306a36Sopenharmony_ci					 <&clks IMX5_CLK_SSI3_ROOT_GATE>;
62362306a36Sopenharmony_ci				clock-names = "ipg", "baud";
62462306a36Sopenharmony_ci				dmas = <&sdma 46 0 0>,
62562306a36Sopenharmony_ci				       <&sdma 47 0 0>;
62662306a36Sopenharmony_ci				dma-names = "rx", "tx";
62762306a36Sopenharmony_ci				fsl,fifo-depth = <15>;
62862306a36Sopenharmony_ci				status = "disabled";
62962306a36Sopenharmony_ci			};
63062306a36Sopenharmony_ci
63162306a36Sopenharmony_ci			fec: ethernet@83fec000 {
63262306a36Sopenharmony_ci				compatible = "fsl,imx51-fec", "fsl,imx27-fec";
63362306a36Sopenharmony_ci				reg = <0x83fec000 0x4000>;
63462306a36Sopenharmony_ci				interrupts = <87>;
63562306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_FEC_GATE>,
63662306a36Sopenharmony_ci					 <&clks IMX5_CLK_FEC_GATE>,
63762306a36Sopenharmony_ci					 <&clks IMX5_CLK_FEC_GATE>;
63862306a36Sopenharmony_ci				clock-names = "ipg", "ahb", "ptp";
63962306a36Sopenharmony_ci				status = "disabled";
64062306a36Sopenharmony_ci			};
64162306a36Sopenharmony_ci
64262306a36Sopenharmony_ci			vpu: vpu@83ff4000 {
64362306a36Sopenharmony_ci				compatible = "fsl,imx51-vpu", "cnm,codahx4";
64462306a36Sopenharmony_ci				reg = <0x83ff4000 0x1000>;
64562306a36Sopenharmony_ci				interrupts = <9>;
64662306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
64762306a36Sopenharmony_ci					 <&clks IMX5_CLK_VPU_GATE>;
64862306a36Sopenharmony_ci				clock-names = "per", "ahb";
64962306a36Sopenharmony_ci				resets = <&src 1>;
65062306a36Sopenharmony_ci				iram = <&iram>;
65162306a36Sopenharmony_ci			};
65262306a36Sopenharmony_ci
65362306a36Sopenharmony_ci			sahara: crypto@83ff8000 {
65462306a36Sopenharmony_ci				compatible = "fsl,imx53-sahara", "fsl,imx51-sahara";
65562306a36Sopenharmony_ci				reg = <0x83ff8000 0x4000>;
65662306a36Sopenharmony_ci				interrupts = <19 20>;
65762306a36Sopenharmony_ci				clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
65862306a36Sopenharmony_ci					 <&clks IMX5_CLK_SAHARA_IPG_GATE>;
65962306a36Sopenharmony_ci				clock-names = "ipg", "ahb";
66062306a36Sopenharmony_ci			};
66162306a36Sopenharmony_ci		};
66262306a36Sopenharmony_ci	};
66362306a36Sopenharmony_ci};
664