Commit 3e26eccd authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'omap-for-v5.13/genpd-cleanup-signed' of...

Merge tag 'omap-for-v5.13/genpd-cleanup-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc

Drop legacy data for dra7 and omap4/5 for genpd support for v5.13

Similar to what we have already done for am3 and 4, we can now boot dra7,
omap4, and omap5 with devicetree data and genpd without legacy SoC specific
built-in data.

Let's drop the legacy data for these SoCs, and the related "ti,hwmods"
custom devicetree property. As with these changes we now expect to have
complete devicetree data, let's also warn in the case if an old devicetree
data is noticed. And with the warning provided, there should not be any
need to delay dropping the legacy data as it just unnecessarily complicates
things.

The main reasons for dropping the legacy data is to avoid the burden of
maintaining a mixed boot process where both legacy built-in data and
devicetree data are needed. And we can now use standard reset driver,
genpd, and simple-pm-bus features.

These patches are based on the related devicetree changes to add the
missing interconnect target module configuration for these SoCs.

* tag 'omap-for-v5.13/genpd-cleanup-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (87 commits)
  bus: ti-sysc: Warn about old dtb for dra7 and omap4/5
  ARM: OMAP2+: Stop building legacy code for dra7 and omap4/5
  ARM: OMAP2+: Drop legacy platform data for omap5 hwmod
  ARM: OMAP2+: Drop legacy platform data for omap5 l3
  ARM: OMAP2+: Drop legacy platform data for omap5 l4_cfg
  ARM: OMAP2+: Drop legacy platform data for omap5 l4_per
  ARM: OMAP2+: Drop legacy platform data for omap5 l4_wkup
  ARM: OMAP2+: Drop legacy platform data for omap5 sata
  ARM: OMAP2+: Drop legacy platform data for omap5 mpu
  ARM: OMAP2+: Drop legacy platform data for omap5 emif
  ARM: OMAP2+: Drop legacy platform data for omap5 dmm
  ARM: dts: Configure simple-pm-bus for omap5 l3
  ARM: dts: Configure simple-pm-bus for omap5 l4_cfg
  ARM: dts: Configure simple-pm-bus for omap5 l4_per
  ARM: dts: Configure simple-pm-bus for omap5 l4_wkup
  ARM: dts: Move omap5 l3-noc to a separate node
  ARM: dts: Move omap5 mmio-sram out of l3 interconnect
  ARM: dts: Configure interconnect target module for omap5 sata
  ARM: dts: Configure interconnect target module for omap5 gpmc
  ARM: dts: Configure interconnect target module for omap5 mpu
  ...

Link: https://lore.kernel.org/r/pull-1617004205-537424@atomide.com-3


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 758c5408 4adcf4c2
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -40,6 +40,9 @@ aliases {
		ethernet1 = &cpsw_emac1;
		ethernet1 = &cpsw_emac1;
		spi0 = &spi0;
		spi0 = &spi0;
		spi1 = &spi1;
		spi1 = &spi1;
		mmc0 = &mmc1;
		mmc1 = &mmc2;
		mmc2 = &mmc3;
	};
	};


	cpus {
	cpus {
+56 −19
Original line number Original line Diff line number Diff line
&l4_cfg {						/* 0x4a000000 */
&l4_cfg {						/* 0x4a000000 */
	compatible = "ti,dra7-l4-cfg", "simple-bus";
	compatible = "ti,dra7-l4-cfg", "simple-pm-bus";
	power-domains = <&prm_coreaon>;
	clocks = <&l4cfg_clkctrl DRA7_L4CFG_L4_CFG_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x4a000000 0x800>,
	reg = <0x4a000000 0x800>,
	      <0x4a000800 0x800>,
	      <0x4a000800 0x800>,
	      <0x4a001000 0x1000>;
	      <0x4a001000 0x1000>;
@@ -11,7 +14,7 @@ &l4_cfg { /* 0x4a000000 */
		 <0x00200000 0x4a200000 0x100000>;	/* segment 2 */
		 <0x00200000 0x4a200000 0x100000>;	/* segment 2 */


	segment@0 {					/* 0x4a000000 */
	segment@0 {					/* 0x4a000000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -493,7 +496,7 @@ hwspinlock: spinlock@0 {
	};
	};


	segment@100000 {					/* 0x4a100000 */
	segment@100000 {					/* 0x4a100000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00002000 0x00102000 0x001000>,	/* ap 27 */
		ranges = <0x00002000 0x00102000 0x001000>,	/* ap 27 */
@@ -572,11 +575,33 @@ target-module@8000 { /* 0x4a108000, ap 29 1e.0 */
		};
		};


		target-module@40000 {			/* 0x4a140000, ap 31 06.0 */
		target-module@40000 {			/* 0x4a140000, ap 31 06.0 */
			compatible = "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			status = "disabled";
			reg = <0x400fc 4>,
			#address-cells = <1>;
			      <0x41100 4>;
			reg-names = "rev", "sysc";
			ti,sysc-midle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>,
					<SYSC_IDLE_SMART_WKUP>;
			power-domains = <&prm_l3init>;
			clocks = <&l3init_clkctrl DRA7_L3INIT_SATA_CLKCTRL 0>;
			clock-names = "fck";
			#size-cells = <1>;
			#size-cells = <1>;
			#address-cells = <1>;
			ranges = <0x0 0x40000 0x10000>;
			ranges = <0x0 0x40000 0x10000>;

			sata: sata@0 {
				compatible = "snps,dwc-ahci";
				reg = <0 0x1100>, <0x1100 0x8>;
				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
				phys = <&sata_phy>;
				phy-names = "sata-phy";
				clocks = <&l3init_clkctrl DRA7_L3INIT_SATA_CLKCTRL 8>;
				ports-implemented = <0x1>;
			};
		};
		};


		target-module@51000 {			/* 0x4a151000, ap 33 50.0 */
		target-module@51000 {			/* 0x4a151000, ap 33 50.0 */
@@ -789,7 +814,7 @@ target-module@87000 { /* 0x4a187000, ap 75 74.0 */
	};
	};


	segment@200000 {					/* 0x4a200000 */
	segment@200000 {					/* 0x4a200000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00018000 0x00218000 0x001000>,	/* ap 43 */
		ranges = <0x00018000 0x00218000 0x001000>,	/* ap 43 */
@@ -1006,7 +1031,10 @@ target-module@36000 { /* 0x4a236000, ap 119 62.0 */
};
};


&l4_per1 {						/* 0x48000000 */
&l4_per1 {						/* 0x48000000 */
	compatible = "ti,dra7-l4-per1", "simple-bus";
	compatible = "ti,dra7-l4-per1", "simple-pm-bus";
	power-domains = <&prm_l4per>;
	clocks = <&l4per_clkctrl DRA7_L4PER_L4_PER1_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x48000000 0x800>,
	reg = <0x48000000 0x800>,
	      <0x48000800 0x800>,
	      <0x48000800 0x800>,
	      <0x48001000 0x400>,
	      <0x48001000 0x400>,
@@ -1020,7 +1048,7 @@ &l4_per1 { /* 0x48000000 */
		 <0x00200000 0x48200000 0x200000>;	/* segment 1 */
		 <0x00200000 0x48200000 0x200000>;	/* segment 1 */


	segment@0 {					/* 0x48000000 */
	segment@0 {					/* 0x48000000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -2269,14 +2297,17 @@ target-module@d5000 { /* 0x480d5000, ap 73 30.0 */
	};
	};


	segment@200000 {					/* 0x48200000 */
	segment@200000 {					/* 0x48200000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
	};
	};
};
};


&l4_per2 {						/* 0x48400000 */
&l4_per2 {						/* 0x48400000 */
	compatible = "ti,dra7-l4-per2", "simple-bus";
	compatible = "ti,dra7-l4-per2", "simple-pm-bus";
	power-domains = <&prm_l4per>;
	clocks = <&l4per2_clkctrl DRA7_L4PER2_L4_PER2_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x48400000 0x800>,
	reg = <0x48400000 0x800>,
	      <0x48400800 0x800>,
	      <0x48400800 0x800>,
	      <0x48401000 0x400>,
	      <0x48401000 0x400>,
@@ -2296,7 +2327,7 @@ &l4_per2 { /* 0x48400000 */
		 <0x48454000 0x48454000 0x400000>;	/* L3 data port */
		 <0x48454000 0x48454000 0x400000>;	/* L3 data port */


	segment@0 {					/* 0x48400000 */
	segment@0 {					/* 0x48400000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -3094,7 +3125,10 @@ cpts {
};
};


&l4_per3 {						/* 0x48800000 */
&l4_per3 {						/* 0x48800000 */
	compatible = "ti,dra7-l4-per3", "simple-bus";
	compatible = "ti,dra7-l4-per3", "simple-pm-bus";
	power-domains = <&prm_l4per>;
	clocks = <&l4per3_clkctrl DRA7_L4PER3_L4_PER3_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x48800000 0x800>,
	reg = <0x48800000 0x800>,
	      <0x48800800 0x800>,
	      <0x48800800 0x800>,
	      <0x48801000 0x400>,
	      <0x48801000 0x400>,
@@ -3106,7 +3140,7 @@ &l4_per3 { /* 0x48800000 */
	ranges = <0x00000000 0x48800000 0x200000>;	/* segment 0 */
	ranges = <0x00000000 0x48800000 0x200000>;	/* segment 0 */


	segment@0 {					/* 0x48800000 */
	segment@0 {					/* 0x48800000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -4205,7 +4239,10 @@ vpe: vpe@0 {
};
};


&l4_wkup {						/* 0x4ae00000 */
&l4_wkup {						/* 0x4ae00000 */
	compatible = "ti,dra7-l4-wkup", "simple-bus";
	compatible = "ti,dra7-l4-wkup", "simple-pm-bus";
	power-domains = <&prm_wkupaon>;
	clocks = <&wkupaon_clkctrl DRA7_WKUPAON_L4_WKUP_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x4ae00000 0x800>,
	reg = <0x4ae00000 0x800>,
	      <0x4ae00800 0x800>,
	      <0x4ae00800 0x800>,
	      <0x4ae01000 0x1000>;
	      <0x4ae01000 0x1000>;
@@ -4218,7 +4255,7 @@ &l4_wkup { /* 0x4ae00000 */
		 <0x00030000 0x4ae30000 0x010000>;	/* segment 3 */
		 <0x00030000 0x4ae30000 0x010000>;	/* segment 3 */


	segment@0 {					/* 0x4ae00000 */
	segment@0 {					/* 0x4ae00000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -4295,7 +4332,7 @@ scm_wkup: scm_conf@0 {
	};
	};


	segment@10000 {					/* 0x4ae10000 */
	segment@10000 {					/* 0x4ae10000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00010000 0x001000>,	/* ap 5 */
		ranges = <0x00000000 0x00010000 0x001000>,	/* ap 5 */
@@ -4405,7 +4442,7 @@ target-module@c000 { /* 0x4ae1c000, ap 11 38.0 */
	};
	};


	segment@20000 {					/* 0x4ae20000 */
	segment@20000 {					/* 0x4ae20000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00006000 0x00026000 0x001000>,	/* ap 13 */
		ranges = <0x00006000 0x00026000 0x001000>,	/* ap 13 */
@@ -4511,7 +4548,7 @@ target-module@f000 { /* 0x4ae2f000, ap 32 58.0 */
	};
	};


	segment@30000 {					/* 0x4ae30000 */
	segment@30000 {					/* 0x4ae30000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x0000c000 0x0003c000 0x002000>,	/* ap 30 */
		ranges = <0x0000c000 0x0003c000 0x002000>,	/* ap 30 */
+148 −72
Original line number Original line Diff line number Diff line
@@ -124,18 +124,6 @@ opp_high@1500000000 {
		};
		};
	};
	};


	/*
	 * The soc node represents the soc top level view. It is used for IPs
	 * that are not memory mapped in the MPU view or for the MPU itself.
	 */
	soc {
		compatible = "ti,omap-infra";
		mpu {
			compatible = "ti,omap5-mpu";
			ti,hwmods = "mpu";
		};
	};

	/*
	/*
	 * XXX: Use a flat representation of the SOC interconnect.
	 * XXX: Use a flat representation of the SOC interconnect.
	 * The real OMAP interconnect network is quite complex.
	 * The real OMAP interconnect network is quite complex.
@@ -144,16 +132,22 @@ mpu {
	 * hierarchy.
	 * hierarchy.
	 */
	 */
	ocp: ocp {
	ocp: ocp {
		compatible = "ti,dra7-l3-noc", "simple-bus";
		compatible = "simple-pm-bus";
		power-domains = <&prm_core>;
		clocks = <&l3main1_clkctrl DRA7_L3MAIN1_L3_MAIN_1_CLKCTRL 0>,
			 <&l3instr_clkctrl DRA7_L3INSTR_L3_MAIN_2_CLKCTRL 0>;
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x0 0x0 0x0 0xc0000000>;
		ranges = <0x0 0x0 0x0 0xc0000000>;
		dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
		dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
		ti,hwmods = "l3_main_1", "l3_main_2";

		reg = <0x0 0x44000000 0x0 0x1000000>,
		l3-noc@44000000 {
		      <0x0 0x45000000 0x0 0x1000>;
			compatible = "ti,dra7-l3-noc";
			reg = <0x44000000 0x1000>,
			      <0x45000000 0x1000>;
			interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
			interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
					      <&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
					      <&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
		};


		l4_cfg: interconnect@4a000000 {
		l4_cfg: interconnect@4a000000 {
		};
		};
@@ -161,36 +155,65 @@ l4_wkup: interconnect@4ae00000 {
		};
		};
		l4_per1: interconnect@48000000 {
		l4_per1: interconnect@48000000 {
		};
		};

		target-module@48210000 {
			compatible = "ti,sysc-omap4-simple", "ti,sysc";
			power-domains = <&prm_mpu>;
			clocks = <&mpu_clkctrl DRA7_MPU_CLKCTRL 0>;
			clock-names = "fck";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x48210000 0x1f0000>;

			mpu {
				compatible = "ti,omap5-mpu";
			};
		};

		l4_per2: interconnect@48400000 {
		l4_per2: interconnect@48400000 {
		};
		};
		l4_per3: interconnect@48800000 {
		l4_per3: interconnect@48800000 {
		};
		};


		axi@0 {
		/*
			compatible = "simple-bus";
		 * Register access seems to have complex dependencies and also
		 * seems to need an enabled phy. See the TRM chapter for "Table
		 * 26-678. Main Sequence PCIe Controller Global Initialization"
		 * and also dra7xx_pcie_probe().
		 */
		axi0: target-module@51000000 {
			compatible = "ti,sysc-omap4", "ti,sysc";
			power-domains = <&prm_l3init>;
			resets = <&prm_l3init 0>;
			reset-names = "rstctrl";
			clocks = <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 0>,
				 <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 9>,
				 <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 10>;
			clock-names = "fck", "phy-clk", "phy-clk-div";
			#size-cells = <1>;
			#size-cells = <1>;
			#address-cells = <1>;
			#address-cells = <1>;
			ranges = <0x51000000 0x51000000 0x3000
			ranges = <0x51000000 0x51000000 0x3000>,
				  0x0	     0x20000000 0x10000000>;
				 <0x20000000 0x20000000 0x10000000>;
			dma-ranges;
			dma-ranges;
			/**
			/**
			 * To enable PCI endpoint mode, disable the pcie1_rc
			 * To enable PCI endpoint mode, disable the pcie1_rc
			 * node and enable pcie1_ep mode.
			 * node and enable pcie1_ep mode.
			 */
			 */
			pcie1_rc: pcie@51000000 {
			pcie1_rc: pcie@51000000 {
				reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
				reg = <0x51000000 0x2000>,
				      <0x51002000 0x14c>,
				      <0x20001000 0x2000>;
				reg-names = "rc_dbics", "ti_conf", "config";
				reg-names = "rc_dbics", "ti_conf", "config";
				interrupts = <0 232 0x4>, <0 233 0x4>;
				interrupts = <0 232 0x4>, <0 233 0x4>;
				#address-cells = <3>;
				#address-cells = <3>;
				#size-cells = <2>;
				#size-cells = <2>;
				device_type = "pci";
				device_type = "pci";
				ranges = <0x81000000 0 0          0x03000 0 0x00010000
				ranges = <0x81000000 0 0x00000000 0x20003000 0 0x00010000>,
					  0x82000000 0 0x20013000 0x13000 0 0xffed000>;
					 <0x82000000 0 0x20013000 0x20013000 0 0x0ffed000>;
				bus-range = <0x00 0xff>;
				bus-range = <0x00 0xff>;
				#interrupt-cells = <1>;
				#interrupt-cells = <1>;
				num-lanes = <1>;
				num-lanes = <1>;
				linux,pci-domain = <0>;
				linux,pci-domain = <0>;
				ti,hwmods = "pcie1";
				phys = <&pcie1_phy>;
				phys = <&pcie1_phy>;
				phy-names = "pcie-phy0";
				phy-names = "pcie-phy0";
				ti,syscon-lane-sel = <&scm_conf_pcie 0x18>;
				ti,syscon-lane-sel = <&scm_conf_pcie 0x18>;
@@ -209,13 +232,15 @@ pcie1_intc: interrupt-controller {
			};
			};


			pcie1_ep: pcie_ep@51000000 {
			pcie1_ep: pcie_ep@51000000 {
				reg = <0x51000000 0x28>, <0x51002000 0x14c>, <0x51001000 0x28>, <0x1000 0x10000000>;
				reg = <0x51000000 0x28>,
				      <0x51002000 0x14c>,
				      <0x51001000 0x28>,
				      <0x20001000 0x10000000>;
				reg-names = "ep_dbics", "ti_conf", "ep_dbics2", "addr_space";
				reg-names = "ep_dbics", "ti_conf", "ep_dbics2", "addr_space";
				interrupts = <0 232 0x4>;
				interrupts = <0 232 0x4>;
				num-lanes = <1>;
				num-lanes = <1>;
				num-ib-windows = <4>;
				num-ib-windows = <4>;
				num-ob-windows = <16>;
				num-ob-windows = <16>;
				ti,hwmods = "pcie1";
				phys = <&pcie1_phy>;
				phys = <&pcie1_phy>;
				phy-names = "pcie-phy0";
				phy-names = "pcie-phy0";
				ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
				ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
@@ -224,28 +249,42 @@ pcie1_ep: pcie_ep@51000000 {
			};
			};
		};
		};


		axi@1 {
		/*
			compatible = "simple-bus";
		 * Register access seems to have complex dependencies and also
		 * seems to need an enabled phy. See the TRM chapter for "Table
		 * 26-678. Main Sequence PCIe Controller Global Initialization"
		 * and also dra7xx_pcie_probe().
		 */
		axi1: target-module@51800000 {
			compatible = "ti,sysc-omap4", "ti,sysc";
			clocks = <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 0>,
				 <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 9>,
				 <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 10>;
			clock-names = "fck", "phy-clk", "phy-clk-div";
			power-domains = <&prm_l3init>;
			resets = <&prm_l3init 1>;
			reset-names = "rstctrl";
			#size-cells = <1>;
			#size-cells = <1>;
			#address-cells = <1>;
			#address-cells = <1>;
			ranges = <0x51800000 0x51800000 0x3000
			ranges = <0x51800000 0x51800000 0x3000>,
				  0x0	     0x30000000 0x10000000>;
				 <0x30000000 0x30000000 0x10000000>;
			dma-ranges;
			dma-ranges;
			status = "disabled";
			status = "disabled";
			pcie2_rc: pcie@51800000 {
			pcie2_rc: pcie@51800000 {
				reg = <0x51800000 0x2000>, <0x51802000 0x14c>, <0x1000 0x2000>;
				reg = <0x51800000 0x2000>,
				      <0x51802000 0x14c>,
				      <0x30001000 0x2000>;
				reg-names = "rc_dbics", "ti_conf", "config";
				reg-names = "rc_dbics", "ti_conf", "config";
				interrupts = <0 355 0x4>, <0 356 0x4>;
				interrupts = <0 355 0x4>, <0 356 0x4>;
				#address-cells = <3>;
				#address-cells = <3>;
				#size-cells = <2>;
				#size-cells = <2>;
				device_type = "pci";
				device_type = "pci";
				ranges = <0x81000000 0 0          0x03000 0 0x00010000
				ranges = <0x81000000 0 0x00000000 0x30003000 0 0x00010000>,
					  0x82000000 0 0x30013000 0x13000 0 0xffed000>;
					 <0x82000000 0 0x30013000 0x30013000 0 0x0ffed000>;
				bus-range = <0x00 0xff>;
				bus-range = <0x00 0xff>;
				#interrupt-cells = <1>;
				#interrupt-cells = <1>;
				num-lanes = <1>;
				num-lanes = <1>;
				linux,pci-domain = <1>;
				linux,pci-domain = <1>;
				ti,hwmods = "pcie2";
				phys = <&pcie2_phy>;
				phys = <&pcie2_phy>;
				phy-names = "pcie-phy0";
				phy-names = "pcie-phy0";
				interrupt-map-mask = <0 0 0 7>;
				interrupt-map-mask = <0 0 0 7>;
@@ -336,8 +375,15 @@ dra7_iodelay_core: padconf@4844a000 {


		target-module@43300000 {
		target-module@43300000 {
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			reg = <0x43300000 0x4>;
			reg = <0x43300000 0x4>,
			reg-names = "rev";
			      <0x43300010 0x4>;
			reg-names = "rev", "sysc";
			ti,sysc-midle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPCC_CLKCTRL 0>;
			clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPCC_CLKCTRL 0>;
			clock-names = "fck";
			clock-names = "fck";
			#address-cells = <1>;
			#address-cells = <1>;
@@ -369,8 +415,15 @@ edma: dma@0 {


		target-module@43400000 {
		target-module@43400000 {
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			reg = <0x43400000 0x4>;
			reg = <0x43400000 0x4>,
			reg-names = "rev";
			      <0x43400010 0x4>;
			reg-names = "rev", "sysc";
			ti,sysc-midle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC0_CLKCTRL 0>;
			clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC0_CLKCTRL 0>;
			clock-names = "fck";
			clock-names = "fck";
			#address-cells = <1>;
			#address-cells = <1>;
@@ -387,8 +440,15 @@ edma_tptc0: dma@0 {


		target-module@43500000 {
		target-module@43500000 {
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			reg = <0x43500000 0x4>;
			reg = <0x43500000 0x4>,
			reg-names = "rev";
			      <0x43500010 0x4>;
			reg-names = "rev", "sysc";
			ti,sysc-midle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC1_CLKCTRL 0>;
			clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC1_CLKCTRL 0>;
			clock-names = "fck";
			clock-names = "fck";
			#address-cells = <1>;
			#address-cells = <1>;
@@ -403,11 +463,23 @@ edma_tptc1: dma@0 {
			};
			};
		};
		};


		dmm@4e000000 {
		target-module@4e000000 {
			compatible = "ti,sysc-omap2", "ti,sysc";
			reg = <0x4e000000 0x4>,
			      <0x4e000010 0x4>;
			reg-names = "rev", "sysc";
			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			ranges = <0x0 0x4e000000 0x2000000>;
			#size-cells = <1>;
			#address-cells = <1>;

			dmm@0 {
				compatible = "ti,omap5-dmm";
				compatible = "ti,omap5-dmm";
			reg = <0x4e000000 0x800>;
				reg = <0 0x800>;
				interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
				interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
			ti,hwmods = "dmm";
			};
		};
		};


		ipu1: ipu@58820000 {
		ipu1: ipu@58820000 {
@@ -694,32 +766,36 @@ abb_gpu: regulator-abb-gpu {
			>;
			>;
		};
		};


		qspi: spi@4b300000 {
		target-module@4b300000 {
			compatible = "ti,sysc-omap4", "ti,sysc";
			reg = <0x4b300000 0x4>,
			      <0x4b300010 0x4>;
			reg-names = "rev", "sysc";
			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>,
					<SYSC_IDLE_SMART_WKUP>;
			clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 0>;
			clock-names = "fck";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x0 0x4b300000 0x1000>,
				 <0x5c000000 0x5c000000 0x4000000>;

			qspi: spi@0 {
				compatible = "ti,dra7xxx-qspi";
				compatible = "ti,dra7xxx-qspi";
			reg = <0x4b300000 0x100>,
				reg = <0 0x100>,
				      <0x5c000000 0x4000000>;
				      <0x5c000000 0x4000000>;
				reg-names = "qspi_base", "qspi_mmap";
				reg-names = "qspi_base", "qspi_mmap";
				syscon-chipselects = <&scm_conf 0x558>;
				syscon-chipselects = <&scm_conf 0x558>;
				#address-cells = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				#size-cells = <0>;
			ti,hwmods = "qspi";
				clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 25>;
				clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 25>;
				clock-names = "fck";
				clock-names = "fck";
				num-cs = <4>;
				num-cs = <4>;
				interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
				interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
				status = "disabled";
				status = "disabled";
			};
			};

		/* OCP2SCP3 */
		sata: sata@4a141100 {
			compatible = "snps,dwc-ahci";
			reg = <0x4a140000 0x1100>, <0x4a141100 0x7>;
			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
			phys = <&sata_phy>;
			phy-names = "sata-phy";
			clocks = <&l3init_clkctrl DRA7_L3INIT_SATA_CLKCTRL 8>;
			ti,hwmods = "sata";
			ports-implemented = <0x1>;
		};
		};


		/* OCP2SCP1 */
		/* OCP2SCP1 */
+24 −19
Original line number Original line Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0
&l4_cfg {						/* 0x4a000000 */
&l4_cfg {						/* 0x4a000000 */
	compatible = "ti,omap4-l4-cfg", "simple-bus";
	compatible = "ti,omap4-l4-cfg", "simple-pm-bus";
	power-domains = <&prm_core>;
	clocks = <&l4_cfg_clkctrl OMAP4_L4_CFG_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x4a000000 0x800>,
	reg = <0x4a000000 0x800>,
	      <0x4a000800 0x800>,
	      <0x4a000800 0x800>,
	      <0x4a001000 0x1000>;
	      <0x4a001000 0x1000>;
@@ -16,7 +19,7 @@ &l4_cfg { /* 0x4a000000 */
		 <0x00300000 0x4a300000 0x080000>;	/* segment 6 */
		 <0x00300000 0x4a300000 0x080000>;	/* segment 6 */


	segment@0 {					/* 0x4a000000 */
	segment@0 {					/* 0x4a000000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -43,7 +46,6 @@ segment@0 { /* 0x4a000000 */


		target-module@2000 {			/* 0x4a002000, ap 3 06.0 */
		target-module@2000 {			/* 0x4a002000, ap 3 06.0 */
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			ti,hwmods = "ctrl_module_core";
			reg = <0x2000 0x4>,
			reg = <0x2000 0x4>,
			      <0x2010 0x4>;
			      <0x2010 0x4>;
			reg-names = "rev", "sysc";
			reg-names = "rev", "sysc";
@@ -347,7 +349,7 @@ mmu_dsp: mmu@0 {
	};
	};


	segment@80000 {					/* 0x4a080000 */
	segment@80000 {					/* 0x4a080000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00059000 0x000d9000 0x001000>,	/* ap 13 */
		ranges = <0x00059000 0x000d9000 0x001000>,	/* ap 13 */
@@ -639,7 +641,7 @@ hwspinlock: spinlock@0 {
	};
	};


	segment@100000 {					/* 0x4a100000 */
	segment@100000 {					/* 0x4a100000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00100000 0x001000>,	/* ap 21 */
		ranges = <0x00000000 0x00100000 0x001000>,	/* ap 21 */
@@ -653,7 +655,6 @@ segment@100000 { /* 0x4a100000 */


		target-module@0 {			/* 0x4a100000, ap 21 2a.0 */
		target-module@0 {			/* 0x4a100000, ap 21 2a.0 */
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			ti,hwmods = "ctrl_module_pad_core";
			reg = <0x0 0x4>,
			reg = <0x0 0x4>,
			      <0x10 0x4>;
			      <0x10 0x4>;
			reg-names = "rev", "sysc";
			reg-names = "rev", "sysc";
@@ -741,13 +742,13 @@ target-module@a000 { /* 0x4a10a000, ap 65 50.0 */
	};
	};


	segment@180000 {					/* 0x4a180000 */
	segment@180000 {					/* 0x4a180000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
	};
	};


	segment@200000 {					/* 0x4a200000 */
	segment@200000 {					/* 0x4a200000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x0001e000 0x0021e000 0x001000>,	/* ap 31 */
		ranges = <0x0001e000 0x0021e000 0x001000>,	/* ap 31 */
@@ -903,13 +904,13 @@ target-module@2a000 { /* 0x4a22a000, ap 57 48.0 */
	};
	};


	segment@280000 {					/* 0x4a280000 */
	segment@280000 {					/* 0x4a280000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
	};
	};


	l4_cfg_segment_300000: segment@300000 {			/* 0x4a300000 */
	l4_cfg_segment_300000: segment@300000 {			/* 0x4a300000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00300000 0x020000>,	/* ap 67 */
		ranges = <0x00000000 0x00300000 0x020000>,	/* ap 67 */
@@ -944,7 +945,10 @@ l4_cfg_target_0: target-module@0 { /* 0x4a300000, ap 67 14.0 */
};
};


&l4_wkup {						/* 0x4a300000 */
&l4_wkup {						/* 0x4a300000 */
	compatible = "ti,omap4-l4-wkup", "simple-bus";
	compatible = "ti,omap4-l4-wkup", "simple-pm-bus";
	power-domains = <&prm_wkup>;
	clocks = <&l4_wkup_clkctrl OMAP4_L4_WKUP_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x4a300000 0x800>,
	reg = <0x4a300000 0x800>,
	      <0x4a300800 0x800>,
	      <0x4a300800 0x800>,
	      <0x4a301000 0x1000>;
	      <0x4a301000 0x1000>;
@@ -956,7 +960,7 @@ &l4_wkup { /* 0x4a300000 */
		 <0x00020000 0x4a320000 0x010000>;	/* segment 2 */
		 <0x00020000 0x4a320000 0x010000>;	/* segment 2 */


	segment@0 {					/* 0x4a300000 */
	segment@0 {					/* 0x4a300000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -1041,7 +1045,6 @@ scrm_clockdomains: clockdomains {


		target-module@c000 {			/* 0x4a30c000, ap 19 2c.0 */
		target-module@c000 {			/* 0x4a30c000, ap 19 2c.0 */
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			ti,hwmods = "ctrl_module_wkup";
			reg = <0xc000 0x4>,
			reg = <0xc000 0x4>,
			      <0xc010 0x4>;
			      <0xc010 0x4>;
			reg-names = "rev", "sysc";
			reg-names = "rev", "sysc";
@@ -1062,7 +1065,7 @@ omap4_scm_wkup: scm@c000 {
	};
	};


	segment@10000 {					/* 0x4a310000 */
	segment@10000 {					/* 0x4a310000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00010000 0x001000>,	/* ap 5 */
		ranges = <0x00000000 0x00010000 0x001000>,	/* ap 5 */
@@ -1202,7 +1205,6 @@ keypad: keypad@0 {


		target-module@e000 {			/* 0x4a31e000, ap 21 30.0 */
		target-module@e000 {			/* 0x4a31e000, ap 21 30.0 */
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			ti,hwmods = "ctrl_module_pad_wkup";
			reg = <0xe000 0x4>,
			reg = <0xe000 0x4>,
			      <0xe010 0x4>;
			      <0xe010 0x4>;
			reg-names = "rev", "sysc";
			reg-names = "rev", "sysc";
@@ -1231,7 +1233,7 @@ omap4_pmx_wkup: pinmux@40 {
	};
	};


	segment@20000 {					/* 0x4a320000 */
	segment@20000 {					/* 0x4a320000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00006000 0x00026000 0x001000>,	/* ap 13 */
		ranges = <0x00006000 0x00026000 0x001000>,	/* ap 13 */
@@ -1284,7 +1286,10 @@ target-module@6000 { /* 0x4a326000, ap 13 28.0 */
};
};


&l4_per {						/* 0x48000000 */
&l4_per {						/* 0x48000000 */
	compatible = "ti,omap4-l4-per", "simple-bus";
	compatible = "ti,omap4-l4-per", "simple-pm-bus";
	power-domains = <&prm_l4per>;
	clocks = <&l4_per_clkctrl OMAP4_L4_PER_CLKCTRL 0>;
	clock-names = "fck";
	reg = <0x48000000 0x800>,
	reg = <0x48000000 0x800>,
	      <0x48000800 0x800>,
	      <0x48000800 0x800>,
	      <0x48001000 0x400>,
	      <0x48001000 0x400>,
@@ -1298,7 +1303,7 @@ &l4_per { /* 0x48000000 */
		 <0x00200000 0x48200000 0x200000>;	/* segment 1 */
		 <0x00200000 0x48200000 0x200000>;	/* segment 1 */


	segment@0 {					/* 0x48000000 */
	segment@0 {					/* 0x48000000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -2437,7 +2442,7 @@ mmc5: mmc@0 {
	};
	};


	segment@200000 {					/* 0x48200000 */
	segment@200000 {					/* 0x48200000 */
		compatible = "simple-bus";
		compatible = "simple-pm-bus";
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00150000 0x00350000 0x001000>,	/* ap 77 */
		ranges = <0x00150000 0x00350000 0x001000>,	/* ap 77 */
+117 −57
Original line number Original line Diff line number Diff line
@@ -22,6 +22,11 @@ aliases {
		i2c1 = &i2c2;
		i2c1 = &i2c2;
		i2c2 = &i2c3;
		i2c2 = &i2c3;
		i2c3 = &i2c4;
		i2c3 = &i2c4;
		mmc0 = &mmc1;
		mmc1 = &mmc2;
		mmc2 = &mmc3;
		mmc3 = &mmc4;
		mmc4 = &mmc5;
		serial0 = &uart1;
		serial0 = &uart1;
		serial1 = &uart2;
		serial1 = &uart2;
		serial2 = &uart3;
		serial2 = &uart3;
@@ -54,14 +59,12 @@ cpu@1 {
	};
	};


	/*
	/*
	 * Note that 4430 needs cross trigger interface (CTI) supported
	 * Needed early by omap4_sram_init() for barrier, do not move to l3
	 * before we can configure the interrupts. This means sampling
	 * interconnect as simple-pm-bus probes at module_init() time.
	 * events are not supported for pmu. Note that 4460 does not use
	 * CTI, see also 4460.dtsi.
	 */
	 */
	pmu {
	ocmcram: sram@40304000 {
		compatible = "arm,cortex-a9-pmu";
		compatible = "mmio-sram";
		ti,hwmods = "debugss";
		reg = <0x40304000 0xa000>; /* 40k */
	};
	};


	gic: interrupt-controller@48241000 {
	gic: interrupt-controller@48241000 {
@@ -96,19 +99,6 @@ wakeupgen: interrupt-controller@48281000 {
		interrupt-parent = <&gic>;
		interrupt-parent = <&gic>;
	};
	};


	/*
	 * The soc node represents the soc top level view. It is used for IPs
	 * that are not memory mapped in the MPU view or for the MPU itself.
	 */
	soc {
		compatible = "ti,omap-infra";
		mpu {
			compatible = "ti,omap4-mpu";
			ti,hwmods = "mpu";
			sram = <&ocmcram>;
		};
	};

	/*
	/*
	 * XXX: Use a flat representation of the OMAP4 interconnect.
	 * XXX: Use a flat representation of the OMAP4 interconnect.
	 * The real OMAP interconnect network is quite complex.
	 * The real OMAP interconnect network is quite complex.
@@ -117,16 +107,23 @@ mpu {
	 * hierarchy.
	 * hierarchy.
	 */
	 */
	ocp {
	ocp {
		compatible = "ti,omap4-l3-noc", "simple-bus";
		compatible = "simple-pm-bus";
		power-domains = <&prm_l4per>;
		clocks = <&l3_1_clkctrl OMAP4_L3_MAIN_1_CLKCTRL 0>,
			 <&l3_2_clkctrl OMAP4_L3_MAIN_2_CLKCTRL 0>,
			 <&l3_instr_clkctrl OMAP4_L3_MAIN_3_CLKCTRL 0>;
		#address-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		#size-cells = <1>;
		ranges;
		ranges;
		ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";

		l3-noc@44000000 {
			compatible = "ti,omap4-l3-noc";
			reg = <0x44000000 0x1000>,
			reg = <0x44000000 0x1000>,
			      <0x44800000 0x2000>,
			      <0x44800000 0x2000>,
			      <0x45000000 0x1000>;
			      <0x45000000 0x1000>;
			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
				     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
		};


		l4_wkup: interconnect@4a300000 {
		l4_wkup: interconnect@4a300000 {
		};
		};
@@ -137,12 +134,22 @@ l4_cfg: interconnect@4a000000 {
		l4_per: interconnect@48000000 {
		l4_per: interconnect@48000000 {
		};
		};


		l4_abe: interconnect@40100000 {
		target-module@48210000 {
			compatible = "ti,sysc-omap4-simple", "ti,sysc";
			power-domains = <&prm_mpu>;
			clocks = <&mpuss_clkctrl OMAP4_MPU_CLKCTRL 0>;
			clock-names = "fck";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x48210000 0x1f0000>;

			mpu {
				compatible = "ti,omap4-mpu";
				sram = <&ocmcram>;
			};
		};
		};


		ocmcram: sram@40304000 {
		l4_abe: interconnect@40100000 {
			compatible = "mmio-sram";
			reg = <0x40304000 0xa000>; /* 40k */
		};
		};


		target-module@50000000 {
		target-module@50000000 {
@@ -184,7 +191,6 @@ gpmc: gpmc@50000000 {


		target-module@52000000 {
		target-module@52000000 {
			compatible = "ti,sysc-omap4", "ti,sysc";
			compatible = "ti,sysc-omap4", "ti,sysc";
			ti,hwmods = "iss";
			reg = <0x52000000 0x4>,
			reg = <0x52000000 0x4>,
			      <0x52000010 0x4>;
			      <0x52000010 0x4>;
			reg-names = "rev", "sysc";
			reg-names = "rev", "sysc";
@@ -198,6 +204,7 @@ target-module@52000000 {
					<SYSC_IDLE_SMART>,
					<SYSC_IDLE_SMART>,
					<SYSC_IDLE_SMART_WKUP>;
					<SYSC_IDLE_SMART_WKUP>;
			ti,sysc-delay-us = <2>;
			ti,sysc-delay-us = <2>;
			power-domains = <&prm_cam>;
			clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>;
			clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>;
			clock-names = "fck";
			clock-names = "fck";
			#address-cells = <1>;
			#address-cells = <1>;
@@ -207,6 +214,26 @@ target-module@52000000 {
			/* No child device binding, driver in staging */
			/* No child device binding, driver in staging */
		};
		};


		/*
		 * Note that 4430 needs cross trigger interface (CTI) supported
		 * before we can configure the interrupts. This means sampling
		 * events are not supported for pmu. Note that 4460 does not use
		 * CTI, see also 4460.dtsi.
		 */
		target-module@54000000 {
			compatible = "ti,sysc-omap4-simple", "ti,sysc";
			power-domains = <&prm_emu>;
			clocks = <&emu_sys_clkctrl OMAP4_DEBUGSS_CLKCTRL 0>;
			clock-names = "fck";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x0 0x54000000 0x1000000>;

			pmu: pmu {
				compatible = "arm,cortex-a9-pmu";
			};
		};

		target-module@55082000 {
		target-module@55082000 {
			compatible = "ti,sysc-omap2", "ti,sysc";
			compatible = "ti,sysc-omap2", "ti,sysc";
			reg = <0x55082000 0x4>,
			reg = <0x55082000 0x4>,
@@ -256,36 +283,68 @@ target-module@4012c000 {
			/* No child device binding or driver in mainline */
			/* No child device binding or driver in mainline */
		};
		};


		dmm@4e000000 {
		target-module@4e000000 {
			compatible = "ti,sysc-omap2", "ti,sysc";
			reg = <0x4e000000 0x4>,
			      <0x4e000010 0x4>;
			reg-names = "rev", "sysc";
			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>;
			ranges = <0x0 0x4e000000 0x2000000>;
			#size-cells = <1>;
			#address-cells = <1>;

			dmm@0 {
				compatible = "ti,omap4-dmm";
				compatible = "ti,omap4-dmm";
			reg = <0x4e000000 0x800>;
				reg = <0 0x800>;
			interrupts = <0 113 0x4>;
				interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
			ti,hwmods = "dmm";
			};
		};
		};


		emif1: emif@4c000000 {
		target-module@4c000000 {
			compatible = "ti,sysc-omap4-simple", "ti,sysc";
			reg = <0x4c000000 0x4>;
			reg-names = "rev";
			clocks = <&l3_emif_clkctrl OMAP4_EMIF1_CLKCTRL 0>;
			clock-names = "fck";
			ti,no-idle;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x0 0x4c000000 0x1000000>;

			emif1: emif@0 {
				compatible = "ti,emif-4d";
				compatible = "ti,emif-4d";
			reg = <0x4c000000 0x100>;
				reg = <0 0x100>;
				interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
				interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
			ti,hwmods = "emif1";
			ti,no-idle-on-init;
				phy-type = <1>;
				phy-type = <1>;
				hw-caps-read-idle-ctrl;
				hw-caps-read-idle-ctrl;
				hw-caps-ll-interface;
				hw-caps-ll-interface;
				hw-caps-temp-alert;
				hw-caps-temp-alert;
			};
			};
		};


		emif2: emif@4d000000 {
		target-module@4d000000 {
			compatible = "ti,sysc-omap4-simple", "ti,sysc";
			reg = <0x4d000000 0x4>;
			reg-names = "rev";
			clocks = <&l3_emif_clkctrl OMAP4_EMIF2_CLKCTRL 0>;
			clock-names = "fck";
			ti,no-idle;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x0 0x4d000000 0x1000000>;

			emif2: emif@0 {
				compatible = "ti,emif-4d";
				compatible = "ti,emif-4d";
			reg = <0x4d000000 0x100>;
				reg = <0 0x100>;
				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
			ti,hwmods = "emif2";
			ti,no-idle-on-init;
				phy-type = <1>;
				phy-type = <1>;
				hw-caps-read-idle-ctrl;
				hw-caps-read-idle-ctrl;
				hw-caps-ll-interface;
				hw-caps-ll-interface;
				hw-caps-temp-alert;
				hw-caps-temp-alert;
			};
			};
		};


		dsp: dsp {
		dsp: dsp {
			compatible = "ti,omap4-dsp";
			compatible = "ti,omap4-dsp";
@@ -435,6 +494,7 @@ sgx_module: target-module@56000000 {
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_NO>,
					<SYSC_IDLE_SMART>,
					<SYSC_IDLE_SMART>,
					<SYSC_IDLE_SMART_WKUP>;
					<SYSC_IDLE_SMART_WKUP>;
			power-domains = <&prm_gfx>;
			clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>;
			clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>;
			clock-names = "fck";
			clock-names = "fck";
			#address-cells = <1>;
			#address-cells = <1>;
Loading