162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Common PRUSS data for TI AM57xx platforms
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci&ocp {
962306a36Sopenharmony_ci	pruss1_tm: target-module@4b226000 {
1062306a36Sopenharmony_ci		compatible = "ti,sysc-pruss", "ti,sysc";
1162306a36Sopenharmony_ci		reg = <0x4b226000 0x4>,
1262306a36Sopenharmony_ci		      <0x4b226004 0x4>;
1362306a36Sopenharmony_ci		reg-names = "rev", "sysc";
1462306a36Sopenharmony_ci		ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT |
1562306a36Sopenharmony_ci				 SYSC_PRUSS_SUB_MWAIT)>;
1662306a36Sopenharmony_ci		ti,sysc-midle = <SYSC_IDLE_FORCE>,
1762306a36Sopenharmony_ci				<SYSC_IDLE_NO>,
1862306a36Sopenharmony_ci				<SYSC_IDLE_SMART>;
1962306a36Sopenharmony_ci		ti,sysc-sidle = <SYSC_IDLE_FORCE>,
2062306a36Sopenharmony_ci				<SYSC_IDLE_NO>,
2162306a36Sopenharmony_ci				<SYSC_IDLE_SMART>;
2262306a36Sopenharmony_ci		/* Domains (P, C): coreaon_pwrdm, l4per2_clkdm */
2362306a36Sopenharmony_ci		clocks = <&l4per2_clkctrl DRA7_L4PER2_PRUSS1_CLKCTRL 0>;
2462306a36Sopenharmony_ci		clock-names = "fck";
2562306a36Sopenharmony_ci		#address-cells = <1>;
2662306a36Sopenharmony_ci		#size-cells = <1>;
2762306a36Sopenharmony_ci		ranges = <0x00000000 0x4b200000 0x80000>;
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		pruss1: pruss@0 {
3062306a36Sopenharmony_ci			compatible = "ti,am5728-pruss";
3162306a36Sopenharmony_ci			reg = <0x0 0x80000>;
3262306a36Sopenharmony_ci			#address-cells = <1>;
3362306a36Sopenharmony_ci			#size-cells = <1>;
3462306a36Sopenharmony_ci			ranges;
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci			pruss1_mem: memories@0 {
3762306a36Sopenharmony_ci				reg = <0x0 0x2000>,
3862306a36Sopenharmony_ci				      <0x2000 0x2000>,
3962306a36Sopenharmony_ci				      <0x10000 0x8000>;
4062306a36Sopenharmony_ci				reg-names = "dram0", "dram1",
4162306a36Sopenharmony_ci					    "shrdram2";
4262306a36Sopenharmony_ci			};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci			pruss1_cfg: cfg@26000 {
4562306a36Sopenharmony_ci				compatible = "ti,pruss-cfg", "syscon";
4662306a36Sopenharmony_ci				reg = <0x26000 0x2000>;
4762306a36Sopenharmony_ci				#address-cells = <1>;
4862306a36Sopenharmony_ci				#size-cells = <1>;
4962306a36Sopenharmony_ci				ranges = <0x0 0x26000 0x2000>;
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci				clocks {
5262306a36Sopenharmony_ci					#address-cells = <1>;
5362306a36Sopenharmony_ci					#size-cells = <0>;
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci					pruss1_iepclk_mux: iepclk-mux@30 {
5662306a36Sopenharmony_ci						reg = <0x30>;
5762306a36Sopenharmony_ci						#clock-cells = <0>;
5862306a36Sopenharmony_ci						clocks = <&dpll_gmac_m3x2_ck>,  /* icss_iep_clk */
5962306a36Sopenharmony_ci							 <&dpll_gmac_h13x2_ck>; /* icss_clk */
6062306a36Sopenharmony_ci					};
6162306a36Sopenharmony_ci				};
6262306a36Sopenharmony_ci			};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci			pruss1_mii_rt: mii-rt@32000 {
6562306a36Sopenharmony_ci				compatible = "ti,pruss-mii", "syscon";
6662306a36Sopenharmony_ci				reg = <0x32000 0x58>;
6762306a36Sopenharmony_ci			};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci			pruss1_intc: interrupt-controller@20000 {
7062306a36Sopenharmony_ci				compatible = "ti,pruss-intc";
7162306a36Sopenharmony_ci				reg = <0x20000 0x2000>;
7262306a36Sopenharmony_ci				interrupt-controller;
7362306a36Sopenharmony_ci				#interrupt-cells = <3>;
7462306a36Sopenharmony_ci				interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
7562306a36Sopenharmony_ci					     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
7662306a36Sopenharmony_ci					     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
7762306a36Sopenharmony_ci					     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
7862306a36Sopenharmony_ci					     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
7962306a36Sopenharmony_ci					     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
8062306a36Sopenharmony_ci					     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
8162306a36Sopenharmony_ci					     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
8262306a36Sopenharmony_ci				interrupt-names = "host_intr0", "host_intr1",
8362306a36Sopenharmony_ci						  "host_intr2", "host_intr3",
8462306a36Sopenharmony_ci						  "host_intr4", "host_intr5",
8562306a36Sopenharmony_ci						  "host_intr6", "host_intr7";
8662306a36Sopenharmony_ci			};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci			pru1_0: pru@34000 {
8962306a36Sopenharmony_ci				compatible = "ti,am5728-pru";
9062306a36Sopenharmony_ci				reg = <0x34000 0x3000>,
9162306a36Sopenharmony_ci				      <0x22000 0x400>,
9262306a36Sopenharmony_ci				      <0x22400 0x100>;
9362306a36Sopenharmony_ci				reg-names = "iram", "control", "debug";
9462306a36Sopenharmony_ci				firmware-name = "am57xx-pru1_0-fw";
9562306a36Sopenharmony_ci			};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci			pru1_1: pru@38000 {
9862306a36Sopenharmony_ci				compatible = "ti,am5728-pru";
9962306a36Sopenharmony_ci				reg = <0x38000 0x3000>,
10062306a36Sopenharmony_ci				      <0x24000 0x400>,
10162306a36Sopenharmony_ci				      <0x24400 0x100>;
10262306a36Sopenharmony_ci				reg-names = "iram", "control", "debug";
10362306a36Sopenharmony_ci				firmware-name = "am57xx-pru1_1-fw";
10462306a36Sopenharmony_ci			};
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci			pruss1_mdio: mdio@32400 {
10762306a36Sopenharmony_ci				compatible = "ti,davinci_mdio";
10862306a36Sopenharmony_ci				#address-cells = <1>;
10962306a36Sopenharmony_ci				#size-cells = <0>;
11062306a36Sopenharmony_ci				clocks = <&dpll_gmac_h13x2_ck>;
11162306a36Sopenharmony_ci				clock-names = "fck";
11262306a36Sopenharmony_ci				bus_freq = <1000000>;
11362306a36Sopenharmony_ci				reg = <0x32400 0x90>;
11462306a36Sopenharmony_ci			};
11562306a36Sopenharmony_ci		};
11662306a36Sopenharmony_ci	};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	pruss2_tm: target-module@4b2a6000 {
11962306a36Sopenharmony_ci		compatible = "ti,sysc-pruss", "ti,sysc";
12062306a36Sopenharmony_ci		reg = <0x4b2a6000 0x4>,
12162306a36Sopenharmony_ci		      <0x4b2a6004 0x4>;
12262306a36Sopenharmony_ci		reg-names = "rev", "sysc";
12362306a36Sopenharmony_ci		ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT |
12462306a36Sopenharmony_ci				 SYSC_PRUSS_SUB_MWAIT)>;
12562306a36Sopenharmony_ci		ti,sysc-midle = <SYSC_IDLE_FORCE>,
12662306a36Sopenharmony_ci				<SYSC_IDLE_NO>,
12762306a36Sopenharmony_ci				<SYSC_IDLE_SMART>;
12862306a36Sopenharmony_ci		ti,sysc-sidle = <SYSC_IDLE_FORCE>,
12962306a36Sopenharmony_ci				<SYSC_IDLE_NO>,
13062306a36Sopenharmony_ci				<SYSC_IDLE_SMART>;
13162306a36Sopenharmony_ci		/* Domains (P, C): coreaon_pwrdm, l4per2_clkdm */
13262306a36Sopenharmony_ci		clocks = <&l4per2_clkctrl DRA7_L4PER2_PRUSS2_CLKCTRL 0>;
13362306a36Sopenharmony_ci		clock-names = "fck";
13462306a36Sopenharmony_ci		#address-cells = <1>;
13562306a36Sopenharmony_ci		#size-cells = <1>;
13662306a36Sopenharmony_ci		ranges = <0x00000000 0x4b280000 0x80000>;
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci		pruss2: pruss@0 {
13962306a36Sopenharmony_ci			compatible = "ti,am5728-pruss";
14062306a36Sopenharmony_ci			reg = <0x0 0x80000>;
14162306a36Sopenharmony_ci			#address-cells = <1>;
14262306a36Sopenharmony_ci			#size-cells = <1>;
14362306a36Sopenharmony_ci			ranges;
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci			pruss2_mem: memories@0 {
14662306a36Sopenharmony_ci				reg = <0x0 0x2000>,
14762306a36Sopenharmony_ci				      <0x2000 0x2000>,
14862306a36Sopenharmony_ci				      <0x10000 0x8000>;
14962306a36Sopenharmony_ci				reg-names = "dram0", "dram1",
15062306a36Sopenharmony_ci					    "shrdram2";
15162306a36Sopenharmony_ci			};
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci			pruss2_cfg: cfg@26000 {
15462306a36Sopenharmony_ci				compatible = "ti,pruss-cfg", "syscon";
15562306a36Sopenharmony_ci				reg = <0x26000 0x2000>;
15662306a36Sopenharmony_ci				#address-cells = <1>;
15762306a36Sopenharmony_ci				#size-cells = <1>;
15862306a36Sopenharmony_ci				ranges = <0x0 0x26000 0x2000>;
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci				clocks {
16162306a36Sopenharmony_ci					#address-cells = <1>;
16262306a36Sopenharmony_ci					#size-cells = <0>;
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci					pruss2_iepclk_mux: iepclk-mux@30 {
16562306a36Sopenharmony_ci						reg = <0x30>;
16662306a36Sopenharmony_ci						#clock-cells = <0>;
16762306a36Sopenharmony_ci						clocks = <&dpll_gmac_m3x2_ck>,  /* icss_iep_clk */
16862306a36Sopenharmony_ci							 <&dpll_gmac_h13x2_ck>; /* icss_clk */
16962306a36Sopenharmony_ci					};
17062306a36Sopenharmony_ci				};
17162306a36Sopenharmony_ci			};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci			pruss2_mii_rt: mii-rt@32000 {
17462306a36Sopenharmony_ci				compatible = "ti,pruss-mii", "syscon";
17562306a36Sopenharmony_ci				reg = <0x32000 0x58>;
17662306a36Sopenharmony_ci			};
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci			pruss2_intc: interrupt-controller@20000 {
17962306a36Sopenharmony_ci				compatible = "ti,pruss-intc";
18062306a36Sopenharmony_ci				reg = <0x20000 0x2000>;
18162306a36Sopenharmony_ci				interrupt-controller;
18262306a36Sopenharmony_ci				#interrupt-cells = <3>;
18362306a36Sopenharmony_ci				interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
18462306a36Sopenharmony_ci					     <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
18562306a36Sopenharmony_ci					     <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
18662306a36Sopenharmony_ci					     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
18762306a36Sopenharmony_ci					     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
18862306a36Sopenharmony_ci					     <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
18962306a36Sopenharmony_ci					     <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
19062306a36Sopenharmony_ci					     <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
19162306a36Sopenharmony_ci				interrupt-names = "host_intr0", "host_intr1",
19262306a36Sopenharmony_ci						  "host_intr2", "host_intr3",
19362306a36Sopenharmony_ci						  "host_intr4", "host_intr5",
19462306a36Sopenharmony_ci						  "host_intr6", "host_intr7";
19562306a36Sopenharmony_ci			};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci			pru2_0: pru@34000 {
19862306a36Sopenharmony_ci				compatible = "ti,am5728-pru";
19962306a36Sopenharmony_ci				reg = <0x34000 0x3000>,
20062306a36Sopenharmony_ci				      <0x22000 0x400>,
20162306a36Sopenharmony_ci				      <0x22400 0x100>;
20262306a36Sopenharmony_ci				reg-names = "iram", "control", "debug";
20362306a36Sopenharmony_ci				firmware-name = "am57xx-pru2_0-fw";
20462306a36Sopenharmony_ci			};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci			pru2_1: pru@38000 {
20762306a36Sopenharmony_ci				compatible = "ti,am5728-pru";
20862306a36Sopenharmony_ci				reg = <0x38000 0x3000>,
20962306a36Sopenharmony_ci				      <0x24000 0x400>,
21062306a36Sopenharmony_ci				      <0x24400 0x100>;
21162306a36Sopenharmony_ci				reg-names = "iram", "control", "debug";
21262306a36Sopenharmony_ci				firmware-name = "am57xx-pru2_1-fw";
21362306a36Sopenharmony_ci			};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci			pruss2_mdio: mdio@32400 {
21662306a36Sopenharmony_ci				compatible = "ti,davinci_mdio";
21762306a36Sopenharmony_ci				#address-cells = <1>;
21862306a36Sopenharmony_ci				#size-cells = <0>;
21962306a36Sopenharmony_ci				clocks = <&dpll_gmac_h13x2_ck>;
22062306a36Sopenharmony_ci				clock-names = "fck";
22162306a36Sopenharmony_ci				bus_freq = <1000000>;
22262306a36Sopenharmony_ci				reg = <0x32400 0x90>;
22362306a36Sopenharmony_ci			};
22462306a36Sopenharmony_ci		};
22562306a36Sopenharmony_ci	};
22662306a36Sopenharmony_ci};
227