162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#include <dt-bindings/bus/ti-sysc.h>
462306a36Sopenharmony_ci#include <dt-bindings/clock/dm816.h>
562306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
662306a36Sopenharmony_ci#include <dt-bindings/pinctrl/omap.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/ {
962306a36Sopenharmony_ci	compatible = "ti,dm816";
1062306a36Sopenharmony_ci	interrupt-parent = <&intc>;
1162306a36Sopenharmony_ci	#address-cells = <1>;
1262306a36Sopenharmony_ci	#size-cells = <1>;
1362306a36Sopenharmony_ci	chosen { };
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	aliases {
1662306a36Sopenharmony_ci		i2c0 = &i2c1;
1762306a36Sopenharmony_ci		i2c1 = &i2c2;
1862306a36Sopenharmony_ci		serial0 = &uart1;
1962306a36Sopenharmony_ci		serial1 = &uart2;
2062306a36Sopenharmony_ci		serial2 = &uart3;
2162306a36Sopenharmony_ci		ethernet0 = &eth0;
2262306a36Sopenharmony_ci		ethernet1 = &eth1;
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	cpus {
2662306a36Sopenharmony_ci		#address-cells = <1>;
2762306a36Sopenharmony_ci		#size-cells = <0>;
2862306a36Sopenharmony_ci		cpu@0 {
2962306a36Sopenharmony_ci			compatible = "arm,cortex-a8";
3062306a36Sopenharmony_ci			device_type = "cpu";
3162306a36Sopenharmony_ci			reg = <0>;
3262306a36Sopenharmony_ci		};
3362306a36Sopenharmony_ci	};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	pmu {
3662306a36Sopenharmony_ci		compatible = "arm,cortex-a8-pmu";
3762306a36Sopenharmony_ci		interrupts = <3>;
3862306a36Sopenharmony_ci	};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	/*
4162306a36Sopenharmony_ci	 * The soc node represents the soc top level view. It is used for IPs
4262306a36Sopenharmony_ci	 * that are not memory mapped in the MPU view or for the MPU itself.
4362306a36Sopenharmony_ci	 */
4462306a36Sopenharmony_ci	soc {
4562306a36Sopenharmony_ci		compatible = "ti,omap-infra";
4662306a36Sopenharmony_ci		mpu {
4762306a36Sopenharmony_ci			compatible = "ti,omap3-mpu";
4862306a36Sopenharmony_ci			ti,hwmods = "mpu";
4962306a36Sopenharmony_ci		};
5062306a36Sopenharmony_ci	};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	/*
5362306a36Sopenharmony_ci	 * XXX: Use a flat representation of the dm816x interconnect.
5462306a36Sopenharmony_ci	 * The real dm816x interconnect network is quite complex. Since
5562306a36Sopenharmony_ci	 * it will not bring real advantage to represent that in DT
5662306a36Sopenharmony_ci	 * for the moment, just use a fake OCP bus entry to represent
5762306a36Sopenharmony_ci	 * the whole bus hierarchy.
5862306a36Sopenharmony_ci	 */
5962306a36Sopenharmony_ci	ocp {
6062306a36Sopenharmony_ci		compatible = "simple-bus";
6162306a36Sopenharmony_ci		reg = <0x44000000 0x10000>;
6262306a36Sopenharmony_ci		interrupts = <9 10>;
6362306a36Sopenharmony_ci		#address-cells = <1>;
6462306a36Sopenharmony_ci		#size-cells = <1>;
6562306a36Sopenharmony_ci		ranges;
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci		prcm: prcm@48180000 {
6862306a36Sopenharmony_ci			compatible = "ti,dm816-prcm", "simple-bus";
6962306a36Sopenharmony_ci			reg = <0x48180000 0x4000>;
7062306a36Sopenharmony_ci			#address-cells = <1>;
7162306a36Sopenharmony_ci			#size-cells = <1>;
7262306a36Sopenharmony_ci			ranges = <0 0x48180000 0x4000>;
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci			prcm_clocks: clocks {
7562306a36Sopenharmony_ci				#address-cells = <1>;
7662306a36Sopenharmony_ci				#size-cells = <0>;
7762306a36Sopenharmony_ci			};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci			prcm_clockdomains: clockdomains {
8062306a36Sopenharmony_ci			};
8162306a36Sopenharmony_ci		};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci		scrm: scrm@48140000 {
8462306a36Sopenharmony_ci			compatible = "ti,dm816-scrm", "simple-bus";
8562306a36Sopenharmony_ci			reg = <0x48140000 0x21000>;
8662306a36Sopenharmony_ci			#address-cells = <1>;
8762306a36Sopenharmony_ci			#size-cells = <1>;
8862306a36Sopenharmony_ci			#pinctrl-cells = <1>;
8962306a36Sopenharmony_ci			ranges = <0 0x48140000 0x21000>;
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci			dm816x_pinmux: pinmux@800 {
9262306a36Sopenharmony_ci				compatible = "pinctrl-single";
9362306a36Sopenharmony_ci				reg = <0x800 0x50a>;
9462306a36Sopenharmony_ci				#address-cells = <1>;
9562306a36Sopenharmony_ci				#size-cells = <0>;
9662306a36Sopenharmony_ci				#pinctrl-cells = <1>;
9762306a36Sopenharmony_ci				pinctrl-single,register-width = <16>;
9862306a36Sopenharmony_ci				pinctrl-single,function-mask = <0xf>;
9962306a36Sopenharmony_ci			};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci			/* Device Configuration Registers */
10262306a36Sopenharmony_ci			scm_conf: syscon@600 {
10362306a36Sopenharmony_ci				compatible = "syscon", "simple-bus";
10462306a36Sopenharmony_ci				reg = <0x600 0x110>;
10562306a36Sopenharmony_ci				#address-cells = <1>;
10662306a36Sopenharmony_ci				#size-cells = <1>;
10762306a36Sopenharmony_ci				ranges = <0 0x600 0x110>;
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci				usb_phy0: usb-phy@20 {
11062306a36Sopenharmony_ci					compatible = "ti,dm8168-usb-phy";
11162306a36Sopenharmony_ci					reg = <0x20 0x8>;
11262306a36Sopenharmony_ci					reg-names = "phy";
11362306a36Sopenharmony_ci					clocks = <&main_fapll 6>;
11462306a36Sopenharmony_ci					clock-names = "refclk";
11562306a36Sopenharmony_ci					#phy-cells = <0>;
11662306a36Sopenharmony_ci					syscon = <&scm_conf>;
11762306a36Sopenharmony_ci				};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci				usb_phy1: usb-phy@28 {
12062306a36Sopenharmony_ci					compatible = "ti,dm8168-usb-phy";
12162306a36Sopenharmony_ci					reg = <0x28 0x8>;
12262306a36Sopenharmony_ci					reg-names = "phy";
12362306a36Sopenharmony_ci					clocks = <&main_fapll 6>;
12462306a36Sopenharmony_ci					clock-names = "refclk";
12562306a36Sopenharmony_ci					#phy-cells = <0>;
12662306a36Sopenharmony_ci					syscon = <&scm_conf>;
12762306a36Sopenharmony_ci				};
12862306a36Sopenharmony_ci			};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci			scrm_clocks: clocks {
13162306a36Sopenharmony_ci				#address-cells = <1>;
13262306a36Sopenharmony_ci				#size-cells = <0>;
13362306a36Sopenharmony_ci			};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci			scrm_clockdomains: clockdomains {
13662306a36Sopenharmony_ci			};
13762306a36Sopenharmony_ci		};
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci		target-module@49000000 {
14062306a36Sopenharmony_ci			compatible = "ti,sysc-omap4", "ti,sysc";
14162306a36Sopenharmony_ci			reg = <0x49000000 0x4>;
14262306a36Sopenharmony_ci			reg-names = "rev";
14362306a36Sopenharmony_ci			clocks = <&alwon_clkctrl DM816_TPCC_CLKCTRL 0>;
14462306a36Sopenharmony_ci			clock-names = "fck";
14562306a36Sopenharmony_ci			#address-cells = <1>;
14662306a36Sopenharmony_ci			#size-cells = <1>;
14762306a36Sopenharmony_ci			ranges = <0x0 0x49000000 0x10000>;
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci			edma: dma@0 {
15062306a36Sopenharmony_ci				compatible = "ti,edma3-tpcc";
15162306a36Sopenharmony_ci				reg = <0 0x10000>;
15262306a36Sopenharmony_ci				reg-names = "edma3_cc";
15362306a36Sopenharmony_ci				interrupts = <12 13 14>;
15462306a36Sopenharmony_ci				interrupt-names = "edma3_ccint", "edma3_mperr",
15562306a36Sopenharmony_ci						  "edma3_ccerrint";
15662306a36Sopenharmony_ci				dma-requests = <64>;
15762306a36Sopenharmony_ci				#dma-cells = <2>;
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci				ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
16062306a36Sopenharmony_ci					   <&edma_tptc2 3>, <&edma_tptc3 0>;
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci				ti,edma-memcpy-channels = <20 21>;
16362306a36Sopenharmony_ci			};
16462306a36Sopenharmony_ci		};
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci		target-module@49800000 {
16762306a36Sopenharmony_ci			compatible = "ti,sysc-omap4", "ti,sysc";
16862306a36Sopenharmony_ci			reg = <0x49800000 0x4>,
16962306a36Sopenharmony_ci			      <0x49800010 0x4>;
17062306a36Sopenharmony_ci			reg-names = "rev", "sysc";
17162306a36Sopenharmony_ci			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
17262306a36Sopenharmony_ci			ti,sysc-midle = <SYSC_IDLE_FORCE>;
17362306a36Sopenharmony_ci			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
17462306a36Sopenharmony_ci					<SYSC_IDLE_SMART>;
17562306a36Sopenharmony_ci			clocks = <&alwon_clkctrl DM816_TPTC0_CLKCTRL 0>;
17662306a36Sopenharmony_ci			clock-names = "fck";
17762306a36Sopenharmony_ci			#address-cells = <1>;
17862306a36Sopenharmony_ci			#size-cells = <1>;
17962306a36Sopenharmony_ci			ranges = <0x0 0x49800000 0x100000>;
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ci			edma_tptc0: dma@0 {
18262306a36Sopenharmony_ci				compatible = "ti,edma3-tptc";
18362306a36Sopenharmony_ci				reg = <0 0x100000>;
18462306a36Sopenharmony_ci				interrupts = <112>;
18562306a36Sopenharmony_ci				interrupt-names = "edma3_tcerrint";
18662306a36Sopenharmony_ci			};
18762306a36Sopenharmony_ci		};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci		target-module@49900000 {
19062306a36Sopenharmony_ci			compatible = "ti,sysc-omap4", "ti,sysc";
19162306a36Sopenharmony_ci			reg = <0x49900000 0x4>,
19262306a36Sopenharmony_ci			      <0x49900010 0x4>;
19362306a36Sopenharmony_ci			reg-names = "rev", "sysc";
19462306a36Sopenharmony_ci			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
19562306a36Sopenharmony_ci			ti,sysc-midle = <SYSC_IDLE_FORCE>;
19662306a36Sopenharmony_ci			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
19762306a36Sopenharmony_ci					<SYSC_IDLE_SMART>;
19862306a36Sopenharmony_ci			clocks = <&alwon_clkctrl DM816_TPTC1_CLKCTRL 0>;
19962306a36Sopenharmony_ci			clock-names = "fck";
20062306a36Sopenharmony_ci			#address-cells = <1>;
20162306a36Sopenharmony_ci			#size-cells = <1>;
20262306a36Sopenharmony_ci			ranges = <0x0 0x49900000 0x100000>;
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci			edma_tptc1: dma@0 {
20562306a36Sopenharmony_ci				compatible = "ti,edma3-tptc";
20662306a36Sopenharmony_ci				reg = <0 0x100000>;
20762306a36Sopenharmony_ci				interrupts = <113>;
20862306a36Sopenharmony_ci				interrupt-names = "edma3_tcerrint";
20962306a36Sopenharmony_ci			};
21062306a36Sopenharmony_ci		};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci		target-module@49a00000 {
21362306a36Sopenharmony_ci			compatible = "ti,sysc-omap4", "ti,sysc";
21462306a36Sopenharmony_ci			reg = <0x49a00000 0x4>,
21562306a36Sopenharmony_ci			      <0x49a00010 0x4>;
21662306a36Sopenharmony_ci			reg-names = "rev", "sysc";
21762306a36Sopenharmony_ci			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
21862306a36Sopenharmony_ci			ti,sysc-midle = <SYSC_IDLE_FORCE>;
21962306a36Sopenharmony_ci			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
22062306a36Sopenharmony_ci					<SYSC_IDLE_SMART>;
22162306a36Sopenharmony_ci			clocks = <&alwon_clkctrl DM816_TPTC2_CLKCTRL 0>;
22262306a36Sopenharmony_ci			clock-names = "fck";
22362306a36Sopenharmony_ci			#address-cells = <1>;
22462306a36Sopenharmony_ci			#size-cells = <1>;
22562306a36Sopenharmony_ci			ranges = <0x0 0x49a00000 0x100000>;
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci			edma_tptc2: dma@0 {
22862306a36Sopenharmony_ci				compatible = "ti,edma3-tptc";
22962306a36Sopenharmony_ci				reg = <0 0x100000>;
23062306a36Sopenharmony_ci				interrupts = <114>;
23162306a36Sopenharmony_ci				interrupt-names = "edma3_tcerrint";
23262306a36Sopenharmony_ci			};
23362306a36Sopenharmony_ci		};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci		target-module@49b00000 {
23662306a36Sopenharmony_ci			compatible = "ti,sysc-omap4", "ti,sysc";
23762306a36Sopenharmony_ci			reg = <0x49b00000 0x4>,
23862306a36Sopenharmony_ci			      <0x49b00010 0x4>;
23962306a36Sopenharmony_ci			reg-names = "rev", "sysc";
24062306a36Sopenharmony_ci			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
24162306a36Sopenharmony_ci			ti,sysc-midle = <SYSC_IDLE_FORCE>;
24262306a36Sopenharmony_ci			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
24362306a36Sopenharmony_ci					<SYSC_IDLE_SMART>;
24462306a36Sopenharmony_ci			clocks = <&alwon_clkctrl DM816_TPTC3_CLKCTRL 0>;
24562306a36Sopenharmony_ci			clock-names = "fck";
24662306a36Sopenharmony_ci			#address-cells = <1>;
24762306a36Sopenharmony_ci			#size-cells = <1>;
24862306a36Sopenharmony_ci			ranges = <0x0 0x49b00000 0x100000>;
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci			edma_tptc3: dma@0 {
25162306a36Sopenharmony_ci				compatible = "ti,edma3-tptc";
25262306a36Sopenharmony_ci				reg = <0 0x100000>;
25362306a36Sopenharmony_ci				interrupts = <115>;
25462306a36Sopenharmony_ci				interrupt-names = "edma3_tcerrint";
25562306a36Sopenharmony_ci			};
25662306a36Sopenharmony_ci		};
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ci		elm: elm@48080000 {
25962306a36Sopenharmony_ci			compatible = "ti,am3352-elm";
26062306a36Sopenharmony_ci			ti,hwmods = "elm";
26162306a36Sopenharmony_ci			reg = <0x48080000 0x2000>;
26262306a36Sopenharmony_ci			interrupts = <4>;
26362306a36Sopenharmony_ci		};
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci		gpio1: gpio@48032000 {
26662306a36Sopenharmony_ci			compatible = "ti,omap4-gpio";
26762306a36Sopenharmony_ci			ti,hwmods = "gpio1";
26862306a36Sopenharmony_ci			ti,gpio-always-on;
26962306a36Sopenharmony_ci			reg = <0x48032000 0x1000>;
27062306a36Sopenharmony_ci			interrupts = <96>;
27162306a36Sopenharmony_ci			gpio-controller;
27262306a36Sopenharmony_ci			#gpio-cells = <2>;
27362306a36Sopenharmony_ci			interrupt-controller;
27462306a36Sopenharmony_ci			#interrupt-cells = <2>;
27562306a36Sopenharmony_ci		};
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci		gpio2: gpio@4804c000 {
27862306a36Sopenharmony_ci			compatible = "ti,omap4-gpio";
27962306a36Sopenharmony_ci			ti,hwmods = "gpio2";
28062306a36Sopenharmony_ci			ti,gpio-always-on;
28162306a36Sopenharmony_ci			reg = <0x4804c000 0x1000>;
28262306a36Sopenharmony_ci			interrupts = <98>;
28362306a36Sopenharmony_ci			gpio-controller;
28462306a36Sopenharmony_ci			#gpio-cells = <2>;
28562306a36Sopenharmony_ci			interrupt-controller;
28662306a36Sopenharmony_ci			#interrupt-cells = <2>;
28762306a36Sopenharmony_ci		};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci		gpmc: gpmc@50000000 {
29062306a36Sopenharmony_ci			compatible = "ti,am3352-gpmc";
29162306a36Sopenharmony_ci			ti,hwmods = "gpmc";
29262306a36Sopenharmony_ci			reg = <0x50000000 0x2000>;
29362306a36Sopenharmony_ci			#address-cells = <2>;
29462306a36Sopenharmony_ci			#size-cells = <1>;
29562306a36Sopenharmony_ci			interrupts = <100>;
29662306a36Sopenharmony_ci			dmas = <&edma 52 0>;
29762306a36Sopenharmony_ci			dma-names = "rxtx";
29862306a36Sopenharmony_ci			gpmc,num-cs = <6>;
29962306a36Sopenharmony_ci			gpmc,num-waitpins = <2>;
30062306a36Sopenharmony_ci			interrupt-controller;
30162306a36Sopenharmony_ci			#interrupt-cells = <2>;
30262306a36Sopenharmony_ci			gpio-controller;
30362306a36Sopenharmony_ci			#gpio-cells = <2>;
30462306a36Sopenharmony_ci		};
30562306a36Sopenharmony_ci
30662306a36Sopenharmony_ci		i2c1: i2c@48028000 {
30762306a36Sopenharmony_ci			compatible = "ti,omap4-i2c";
30862306a36Sopenharmony_ci			ti,hwmods = "i2c1";
30962306a36Sopenharmony_ci			reg = <0x48028000 0x1000>;
31062306a36Sopenharmony_ci			#address-cells = <1>;
31162306a36Sopenharmony_ci			#size-cells = <0>;
31262306a36Sopenharmony_ci			interrupts = <70>;
31362306a36Sopenharmony_ci		};
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci		i2c2: i2c@4802a000 {
31662306a36Sopenharmony_ci			compatible = "ti,omap4-i2c";
31762306a36Sopenharmony_ci			ti,hwmods = "i2c2";
31862306a36Sopenharmony_ci			reg = <0x4802a000 0x1000>;
31962306a36Sopenharmony_ci			#address-cells = <1>;
32062306a36Sopenharmony_ci			#size-cells = <0>;
32162306a36Sopenharmony_ci			interrupts = <71>;
32262306a36Sopenharmony_ci		};
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci		intc: interrupt-controller@48200000 {
32562306a36Sopenharmony_ci			compatible = "ti,dm816-intc";
32662306a36Sopenharmony_ci			interrupt-controller;
32762306a36Sopenharmony_ci			#interrupt-cells = <1>;
32862306a36Sopenharmony_ci			reg = <0x48200000 0x1000>;
32962306a36Sopenharmony_ci		};
33062306a36Sopenharmony_ci
33162306a36Sopenharmony_ci		rtc: rtc@480c0000 {
33262306a36Sopenharmony_ci			compatible = "ti,am3352-rtc", "ti,da830-rtc";
33362306a36Sopenharmony_ci			reg = <0x480c0000 0x1000>;
33462306a36Sopenharmony_ci			interrupts = <75 76>;
33562306a36Sopenharmony_ci			ti,hwmods = "rtc";
33662306a36Sopenharmony_ci		};
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ci		mailbox: mailbox@480c8000 {
33962306a36Sopenharmony_ci			compatible = "ti,omap4-mailbox";
34062306a36Sopenharmony_ci			reg = <0x480c8000 0x2000>;
34162306a36Sopenharmony_ci			interrupts = <77>;
34262306a36Sopenharmony_ci			ti,hwmods = "mailbox";
34362306a36Sopenharmony_ci			#mbox-cells = <1>;
34462306a36Sopenharmony_ci			ti,mbox-num-users = <4>;
34562306a36Sopenharmony_ci			ti,mbox-num-fifos = <12>;
34662306a36Sopenharmony_ci			mbox_dsp: mbox-dsp {
34762306a36Sopenharmony_ci				ti,mbox-tx = <3 0 0>;
34862306a36Sopenharmony_ci				ti,mbox-rx = <0 0 0>;
34962306a36Sopenharmony_ci			};
35062306a36Sopenharmony_ci		};
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ci		spinbox: spinbox@480ca000 {
35362306a36Sopenharmony_ci			compatible = "ti,omap4-hwspinlock";
35462306a36Sopenharmony_ci			reg = <0x480ca000 0x2000>;
35562306a36Sopenharmony_ci			ti,hwmods = "spinbox";
35662306a36Sopenharmony_ci			#hwlock-cells = <1>;
35762306a36Sopenharmony_ci		};
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ci		mdio: mdio@4a100800 {
36062306a36Sopenharmony_ci			compatible = "ti,davinci_mdio";
36162306a36Sopenharmony_ci			#address-cells = <1>;
36262306a36Sopenharmony_ci			#size-cells = <0>;
36362306a36Sopenharmony_ci			reg = <0x4a100800 0x100>;
36462306a36Sopenharmony_ci			ti,hwmods = "davinci_mdio";
36562306a36Sopenharmony_ci			bus_freq = <1000000>;
36662306a36Sopenharmony_ci			phy0: ethernet-phy@0 {
36762306a36Sopenharmony_ci				reg = <1>;
36862306a36Sopenharmony_ci			};
36962306a36Sopenharmony_ci			phy1: ethernet-phy@1 {
37062306a36Sopenharmony_ci				reg = <2>;
37162306a36Sopenharmony_ci			};
37262306a36Sopenharmony_ci		};
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci		eth0: ethernet@4a100000 {
37562306a36Sopenharmony_ci			compatible = "ti,dm816-emac";
37662306a36Sopenharmony_ci			ti,hwmods = "emac0";
37762306a36Sopenharmony_ci			reg = <0x4a100000 0x800
37862306a36Sopenharmony_ci			       0x4a100900 0x3700>;
37962306a36Sopenharmony_ci			clocks = <&sysclk24_ck>;
38062306a36Sopenharmony_ci			syscon = <&scm_conf>;
38162306a36Sopenharmony_ci			ti,davinci-ctrl-reg-offset = <0>;
38262306a36Sopenharmony_ci			ti,davinci-ctrl-mod-reg-offset = <0x900>;
38362306a36Sopenharmony_ci			ti,davinci-ctrl-ram-offset = <0x2000>;
38462306a36Sopenharmony_ci			ti,davinci-ctrl-ram-size = <0x2000>;
38562306a36Sopenharmony_ci			interrupts = <40 41 42 43>;
38662306a36Sopenharmony_ci			phy-handle = <&phy0>;
38762306a36Sopenharmony_ci		};
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ci		eth1: ethernet@4a120000 {
39062306a36Sopenharmony_ci			compatible = "ti,dm816-emac";
39162306a36Sopenharmony_ci			ti,hwmods = "emac1";
39262306a36Sopenharmony_ci			reg = <0x4a120000 0x4000>;
39362306a36Sopenharmony_ci			clocks = <&sysclk24_ck>;
39462306a36Sopenharmony_ci			syscon = <&scm_conf>;
39562306a36Sopenharmony_ci			ti,davinci-ctrl-reg-offset = <0>;
39662306a36Sopenharmony_ci			ti,davinci-ctrl-mod-reg-offset = <0x900>;
39762306a36Sopenharmony_ci			ti,davinci-ctrl-ram-offset = <0x2000>;
39862306a36Sopenharmony_ci			ti,davinci-ctrl-ram-size = <0x2000>;
39962306a36Sopenharmony_ci			interrupts = <44 45 46 47>;
40062306a36Sopenharmony_ci			phy-handle = <&phy1>;
40162306a36Sopenharmony_ci		};
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci		sata: sata@4a140000 {
40462306a36Sopenharmony_ci			compatible = "ti,dm816-ahci";
40562306a36Sopenharmony_ci			reg = <0x4a140000 0x10000>;
40662306a36Sopenharmony_ci			interrupts = <16>;
40762306a36Sopenharmony_ci			ti,hwmods = "sata";
40862306a36Sopenharmony_ci		};
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_ci		mcspi1: spi@48030000 {
41162306a36Sopenharmony_ci			compatible = "ti,omap4-mcspi";
41262306a36Sopenharmony_ci			reg = <0x48030000 0x1000>;
41362306a36Sopenharmony_ci			#address-cells = <1>;
41462306a36Sopenharmony_ci			#size-cells = <0>;
41562306a36Sopenharmony_ci			interrupts = <65>;
41662306a36Sopenharmony_ci			ti,spi-num-cs = <4>;
41762306a36Sopenharmony_ci			ti,hwmods = "mcspi1";
41862306a36Sopenharmony_ci			dmas = <&edma 16 0 &edma 17 0
41962306a36Sopenharmony_ci				&edma 18 0 &edma 19 0
42062306a36Sopenharmony_ci				&edma 20 0 &edma 21 0
42162306a36Sopenharmony_ci				&edma 22 0 &edma 23 0>;
42262306a36Sopenharmony_ci			dma-names = "tx0", "rx0", "tx1", "rx1",
42362306a36Sopenharmony_ci				    "tx2", "rx2", "tx3", "rx3";
42462306a36Sopenharmony_ci		};
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci		mmc1: mmc@48060000 {
42762306a36Sopenharmony_ci			compatible = "ti,omap4-hsmmc";
42862306a36Sopenharmony_ci			reg = <0x48060000 0x11000>;
42962306a36Sopenharmony_ci			ti,hwmods = "mmc1";
43062306a36Sopenharmony_ci			interrupts = <64>;
43162306a36Sopenharmony_ci			dmas = <&edma 24 0 &edma 25 0>;
43262306a36Sopenharmony_ci			dma-names = "tx", "rx";
43362306a36Sopenharmony_ci		};
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci		timer1_target: target-module@4802e000 {
43662306a36Sopenharmony_ci			compatible = "ti,sysc-omap4-timer", "ti,sysc";
43762306a36Sopenharmony_ci			reg = <0x4802e000 0x4>,
43862306a36Sopenharmony_ci			      <0x4802e010 0x4>;
43962306a36Sopenharmony_ci			reg-names = "rev", "sysc";
44062306a36Sopenharmony_ci			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
44162306a36Sopenharmony_ci			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
44262306a36Sopenharmony_ci					<SYSC_IDLE_NO>,
44362306a36Sopenharmony_ci					<SYSC_IDLE_SMART>,
44462306a36Sopenharmony_ci					<SYSC_IDLE_SMART_WKUP>;
44562306a36Sopenharmony_ci			clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>;
44662306a36Sopenharmony_ci			clock-names = "fck";
44762306a36Sopenharmony_ci			#address-cells = <1>;
44862306a36Sopenharmony_ci			#size-cells = <1>;
44962306a36Sopenharmony_ci			ranges = <0x0 0x4802e000 0x1000>;
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ci			timer1: timer@0 {
45262306a36Sopenharmony_ci				compatible = "ti,dm816-timer";
45362306a36Sopenharmony_ci				reg = <0 0x1000>;
45462306a36Sopenharmony_ci				interrupts = <67>;
45562306a36Sopenharmony_ci				ti,timer-alwon;
45662306a36Sopenharmony_ci				clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>;
45762306a36Sopenharmony_ci				clock-names = "fck";
45862306a36Sopenharmony_ci			};
45962306a36Sopenharmony_ci		};
46062306a36Sopenharmony_ci
46162306a36Sopenharmony_ci		timer2_target: target-module@48040000 {
46262306a36Sopenharmony_ci			compatible = "ti,sysc-omap4-timer", "ti,sysc";
46362306a36Sopenharmony_ci			reg = <0x48040000 0x4>,
46462306a36Sopenharmony_ci			      <0x48040010 0x4>;
46562306a36Sopenharmony_ci			reg-names = "rev", "sysc";
46662306a36Sopenharmony_ci			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
46762306a36Sopenharmony_ci			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
46862306a36Sopenharmony_ci					<SYSC_IDLE_NO>,
46962306a36Sopenharmony_ci					<SYSC_IDLE_SMART>,
47062306a36Sopenharmony_ci					<SYSC_IDLE_SMART_WKUP>;
47162306a36Sopenharmony_ci			clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>;
47262306a36Sopenharmony_ci			clock-names = "fck";
47362306a36Sopenharmony_ci			#address-cells = <1>;
47462306a36Sopenharmony_ci			#size-cells = <1>;
47562306a36Sopenharmony_ci			ranges = <0x0 0x48040000 0x1000>;
47662306a36Sopenharmony_ci
47762306a36Sopenharmony_ci			timer2: timer@0 {
47862306a36Sopenharmony_ci				compatible = "ti,dm816-timer";
47962306a36Sopenharmony_ci				reg = <0 0x1000>;
48062306a36Sopenharmony_ci				interrupts = <68>;
48162306a36Sopenharmony_ci				clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>;
48262306a36Sopenharmony_ci				clock-names = "fck";
48362306a36Sopenharmony_ci			};
48462306a36Sopenharmony_ci		};
48562306a36Sopenharmony_ci
48662306a36Sopenharmony_ci		timer3: timer@48042000 {
48762306a36Sopenharmony_ci			compatible = "ti,dm816-timer";
48862306a36Sopenharmony_ci			reg = <0x48042000 0x2000>;
48962306a36Sopenharmony_ci			interrupts = <69>;
49062306a36Sopenharmony_ci			ti,hwmods = "timer3";
49162306a36Sopenharmony_ci		};
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_ci		timer4: timer@48044000 {
49462306a36Sopenharmony_ci			compatible = "ti,dm816-timer";
49562306a36Sopenharmony_ci			reg = <0x48044000 0x2000>;
49662306a36Sopenharmony_ci			interrupts = <92>;
49762306a36Sopenharmony_ci			ti,hwmods = "timer4";
49862306a36Sopenharmony_ci			ti,timer-pwm;
49962306a36Sopenharmony_ci		};
50062306a36Sopenharmony_ci
50162306a36Sopenharmony_ci		timer5: timer@48046000 {
50262306a36Sopenharmony_ci			compatible = "ti,dm816-timer";
50362306a36Sopenharmony_ci			reg = <0x48046000 0x2000>;
50462306a36Sopenharmony_ci			interrupts = <93>;
50562306a36Sopenharmony_ci			ti,hwmods = "timer5";
50662306a36Sopenharmony_ci			ti,timer-pwm;
50762306a36Sopenharmony_ci		};
50862306a36Sopenharmony_ci
50962306a36Sopenharmony_ci		timer6: timer@48048000 {
51062306a36Sopenharmony_ci			compatible = "ti,dm816-timer";
51162306a36Sopenharmony_ci			reg = <0x48048000 0x2000>;
51262306a36Sopenharmony_ci			interrupts = <94>;
51362306a36Sopenharmony_ci			ti,hwmods = "timer6";
51462306a36Sopenharmony_ci			ti,timer-pwm;
51562306a36Sopenharmony_ci		};
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ci		timer7: timer@4804a000 {
51862306a36Sopenharmony_ci			compatible = "ti,dm816-timer";
51962306a36Sopenharmony_ci			reg = <0x4804a000 0x2000>;
52062306a36Sopenharmony_ci			interrupts = <95>;
52162306a36Sopenharmony_ci			ti,hwmods = "timer7";
52262306a36Sopenharmony_ci			ti,timer-pwm;
52362306a36Sopenharmony_ci		};
52462306a36Sopenharmony_ci
52562306a36Sopenharmony_ci		uart1: serial@48020000 {
52662306a36Sopenharmony_ci			compatible = "ti,am3352-uart", "ti,omap3-uart";
52762306a36Sopenharmony_ci			ti,hwmods = "uart1";
52862306a36Sopenharmony_ci			reg = <0x48020000 0x2000>;
52962306a36Sopenharmony_ci			clock-frequency = <48000000>;
53062306a36Sopenharmony_ci			interrupts = <72>;
53162306a36Sopenharmony_ci			dmas = <&edma 26 0 &edma 27 0>;
53262306a36Sopenharmony_ci			dma-names = "tx", "rx";
53362306a36Sopenharmony_ci		};
53462306a36Sopenharmony_ci
53562306a36Sopenharmony_ci		uart2: serial@48022000 {
53662306a36Sopenharmony_ci			compatible = "ti,am3352-uart", "ti,omap3-uart";
53762306a36Sopenharmony_ci			ti,hwmods = "uart2";
53862306a36Sopenharmony_ci			reg = <0x48022000 0x2000>;
53962306a36Sopenharmony_ci			clock-frequency = <48000000>;
54062306a36Sopenharmony_ci			interrupts = <73>;
54162306a36Sopenharmony_ci			dmas = <&edma 28 0 &edma 29 0>;
54262306a36Sopenharmony_ci			dma-names = "tx", "rx";
54362306a36Sopenharmony_ci		};
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci		uart3: serial@48024000 {
54662306a36Sopenharmony_ci			compatible = "ti,am3352-uart", "ti,omap3-uart";
54762306a36Sopenharmony_ci			ti,hwmods = "uart3";
54862306a36Sopenharmony_ci			reg = <0x48024000 0x2000>;
54962306a36Sopenharmony_ci			clock-frequency = <48000000>;
55062306a36Sopenharmony_ci			interrupts = <74>;
55162306a36Sopenharmony_ci			dmas = <&edma 30 0 &edma 31 0>;
55262306a36Sopenharmony_ci			dma-names = "tx", "rx";
55362306a36Sopenharmony_ci		};
55462306a36Sopenharmony_ci
55562306a36Sopenharmony_ci		/* NOTE: USB needs a transceiver driver for phys to work */
55662306a36Sopenharmony_ci		usb: usb_otg_hs@47401000 {
55762306a36Sopenharmony_ci			compatible = "ti,am33xx-usb";
55862306a36Sopenharmony_ci			reg = <0x47401000 0x400000>;
55962306a36Sopenharmony_ci			ranges;
56062306a36Sopenharmony_ci			#address-cells = <1>;
56162306a36Sopenharmony_ci			#size-cells = <1>;
56262306a36Sopenharmony_ci			ti,hwmods = "usb_otg_hs";
56362306a36Sopenharmony_ci
56462306a36Sopenharmony_ci			usb0: usb@47401000 {
56562306a36Sopenharmony_ci				compatible = "ti,musb-dm816";
56662306a36Sopenharmony_ci				reg = <0x47401400 0x400
56762306a36Sopenharmony_ci				       0x47401000 0x200>;
56862306a36Sopenharmony_ci				reg-names = "mc", "control";
56962306a36Sopenharmony_ci				interrupts = <18>;
57062306a36Sopenharmony_ci				interrupt-names = "mc";
57162306a36Sopenharmony_ci				dr_mode = "host";
57262306a36Sopenharmony_ci				interface-type = <0>;
57362306a36Sopenharmony_ci				phys = <&usb_phy0>;
57462306a36Sopenharmony_ci				phy-names = "usb2-phy";
57562306a36Sopenharmony_ci				mentor,multipoint = <1>;
57662306a36Sopenharmony_ci				mentor,num-eps = <16>;
57762306a36Sopenharmony_ci				mentor,ram-bits = <12>;
57862306a36Sopenharmony_ci				mentor,power = <500>;
57962306a36Sopenharmony_ci
58062306a36Sopenharmony_ci				dmas = <&cppi41dma  0 0 &cppi41dma  1 0
58162306a36Sopenharmony_ci					&cppi41dma  2 0 &cppi41dma  3 0
58262306a36Sopenharmony_ci					&cppi41dma  4 0 &cppi41dma  5 0
58362306a36Sopenharmony_ci					&cppi41dma  6 0 &cppi41dma  7 0
58462306a36Sopenharmony_ci					&cppi41dma  8 0 &cppi41dma  9 0
58562306a36Sopenharmony_ci					&cppi41dma 10 0 &cppi41dma 11 0
58662306a36Sopenharmony_ci					&cppi41dma 12 0 &cppi41dma 13 0
58762306a36Sopenharmony_ci					&cppi41dma 14 0 &cppi41dma  0 1
58862306a36Sopenharmony_ci					&cppi41dma  1 1 &cppi41dma  2 1
58962306a36Sopenharmony_ci					&cppi41dma  3 1 &cppi41dma  4 1
59062306a36Sopenharmony_ci					&cppi41dma  5 1 &cppi41dma  6 1
59162306a36Sopenharmony_ci					&cppi41dma  7 1 &cppi41dma  8 1
59262306a36Sopenharmony_ci					&cppi41dma  9 1 &cppi41dma 10 1
59362306a36Sopenharmony_ci					&cppi41dma 11 1 &cppi41dma 12 1
59462306a36Sopenharmony_ci					&cppi41dma 13 1 &cppi41dma 14 1>;
59562306a36Sopenharmony_ci				dma-names =
59662306a36Sopenharmony_ci					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
59762306a36Sopenharmony_ci					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
59862306a36Sopenharmony_ci					"rx14", "rx15",
59962306a36Sopenharmony_ci					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
60062306a36Sopenharmony_ci					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
60162306a36Sopenharmony_ci					"tx14", "tx15";
60262306a36Sopenharmony_ci			};
60362306a36Sopenharmony_ci
60462306a36Sopenharmony_ci			usb1: usb@47401800 {
60562306a36Sopenharmony_ci				compatible = "ti,musb-dm816";
60662306a36Sopenharmony_ci				reg = <0x47401c00 0x400
60762306a36Sopenharmony_ci				       0x47401800 0x200>;
60862306a36Sopenharmony_ci				reg-names = "mc", "control";
60962306a36Sopenharmony_ci				interrupts = <19>;
61062306a36Sopenharmony_ci				interrupt-names = "mc";
61162306a36Sopenharmony_ci				dr_mode = "host";
61262306a36Sopenharmony_ci				interface-type = <0>;
61362306a36Sopenharmony_ci				phys = <&usb_phy1>;
61462306a36Sopenharmony_ci				phy-names = "usb2-phy";
61562306a36Sopenharmony_ci				mentor,multipoint = <1>;
61662306a36Sopenharmony_ci				mentor,num-eps = <16>;
61762306a36Sopenharmony_ci				mentor,ram-bits = <12>;
61862306a36Sopenharmony_ci				mentor,power = <500>;
61962306a36Sopenharmony_ci
62062306a36Sopenharmony_ci				dmas = <&cppi41dma 15 0 &cppi41dma 16 0
62162306a36Sopenharmony_ci					&cppi41dma 17 0 &cppi41dma 18 0
62262306a36Sopenharmony_ci					&cppi41dma 19 0 &cppi41dma 20 0
62362306a36Sopenharmony_ci					&cppi41dma 21 0 &cppi41dma 22 0
62462306a36Sopenharmony_ci					&cppi41dma 23 0 &cppi41dma 24 0
62562306a36Sopenharmony_ci					&cppi41dma 25 0 &cppi41dma 26 0
62662306a36Sopenharmony_ci					&cppi41dma 27 0 &cppi41dma 28 0
62762306a36Sopenharmony_ci					&cppi41dma 29 0 &cppi41dma 15 1
62862306a36Sopenharmony_ci					&cppi41dma 16 1 &cppi41dma 17 1
62962306a36Sopenharmony_ci					&cppi41dma 18 1 &cppi41dma 19 1
63062306a36Sopenharmony_ci					&cppi41dma 20 1 &cppi41dma 21 1
63162306a36Sopenharmony_ci					&cppi41dma 22 1 &cppi41dma 23 1
63262306a36Sopenharmony_ci					&cppi41dma 24 1 &cppi41dma 25 1
63362306a36Sopenharmony_ci					&cppi41dma 26 1 &cppi41dma 27 1
63462306a36Sopenharmony_ci					&cppi41dma 28 1 &cppi41dma 29 1>;
63562306a36Sopenharmony_ci				dma-names =
63662306a36Sopenharmony_ci					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
63762306a36Sopenharmony_ci					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
63862306a36Sopenharmony_ci					"rx14", "rx15",
63962306a36Sopenharmony_ci					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
64062306a36Sopenharmony_ci					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
64162306a36Sopenharmony_ci					"tx14", "tx15";
64262306a36Sopenharmony_ci			};
64362306a36Sopenharmony_ci
64462306a36Sopenharmony_ci			cppi41dma: dma-controller@47402000 {
64562306a36Sopenharmony_ci				compatible = "ti,am3359-cppi41";
64662306a36Sopenharmony_ci				reg =  <0x47400000 0x1000
64762306a36Sopenharmony_ci					0x47402000 0x1000
64862306a36Sopenharmony_ci					0x47403000 0x1000
64962306a36Sopenharmony_ci					0x47404000 0x4000>;
65062306a36Sopenharmony_ci				reg-names = "glue", "controller", "scheduler", "queuemgr";
65162306a36Sopenharmony_ci				interrupts = <17>;
65262306a36Sopenharmony_ci				interrupt-names = "glue";
65362306a36Sopenharmony_ci				#dma-cells = <2>;
65462306a36Sopenharmony_ci				/* For backwards compatibility: */
65562306a36Sopenharmony_ci				#dma-channels = <30>;
65662306a36Sopenharmony_ci				dma-channels = <30>;
65762306a36Sopenharmony_ci				#dma-requests = <256>;
65862306a36Sopenharmony_ci				dma-requests = <256>;
65962306a36Sopenharmony_ci			};
66062306a36Sopenharmony_ci		};
66162306a36Sopenharmony_ci
66262306a36Sopenharmony_ci		wd_timer2: wd_timer@480c2000 {
66362306a36Sopenharmony_ci			compatible = "ti,omap3-wdt";
66462306a36Sopenharmony_ci			ti,hwmods = "wd_timer";
66562306a36Sopenharmony_ci			reg = <0x480c2000 0x1000>;
66662306a36Sopenharmony_ci			interrupts = <0>;
66762306a36Sopenharmony_ci		};
66862306a36Sopenharmony_ci	};
66962306a36Sopenharmony_ci};
67062306a36Sopenharmony_ci
67162306a36Sopenharmony_ci#include "dm816x-clocks.dtsi"
67262306a36Sopenharmony_ci
67362306a36Sopenharmony_ci/* Preferred always-on timer for clocksource */
67462306a36Sopenharmony_ci&timer1_target {
67562306a36Sopenharmony_ci	ti,no-reset-on-init;
67662306a36Sopenharmony_ci	ti,no-idle;
67762306a36Sopenharmony_ci	timer@0 {
67862306a36Sopenharmony_ci		assigned-clocks = <&timer1_fck>;
67962306a36Sopenharmony_ci		assigned-clock-parents = <&sys_clkin_ck>;
68062306a36Sopenharmony_ci	};
68162306a36Sopenharmony_ci};
68262306a36Sopenharmony_ci
68362306a36Sopenharmony_ci/* Preferred timer for clockevent */
68462306a36Sopenharmony_ci&timer2_target {
68562306a36Sopenharmony_ci	ti,no-reset-on-init;
68662306a36Sopenharmony_ci	ti,no-idle;
68762306a36Sopenharmony_ci	timer@0 {
68862306a36Sopenharmony_ci		assigned-clocks = <&timer2_fck>;
68962306a36Sopenharmony_ci		assigned-clock-parents = <&sys_clkin_ck>;
69062306a36Sopenharmony_ci	};
69162306a36Sopenharmony_ci};
692