diff options
Diffstat (limited to 'arch/powerpc/boot/dts')
129 files changed, 4914 insertions, 615 deletions
diff --git a/arch/powerpc/boot/dts/ac14xx.dts b/arch/powerpc/boot/dts/ac14xx.dts index a543c4088cb..a1b883730b3 100644 --- a/arch/powerpc/boot/dts/ac14xx.dts +++ b/arch/powerpc/boot/dts/ac14xx.dts @@ -139,7 +139,14 @@  		};  	}; +	clocks { +		osc { +			clock-frequency = <25000000>; +		}; +	}; +  	soc@80000000 { +		bus-frequency = <80000000>;	/* 80 MHz ips bus */  		clock@f00 {  			compatible = "fsl,mpc5121rev2-clock", "fsl,mpc5121-clock"; diff --git a/arch/powerpc/boot/dts/adder875-redboot.dts b/arch/powerpc/boot/dts/adder875-redboot.dts index 28e9cd3d7a2..083984720b2 100644 --- a/arch/powerpc/boot/dts/adder875-redboot.dts +++ b/arch/powerpc/boot/dts/adder875-redboot.dts @@ -87,12 +87,10 @@  			PHY0: ethernet-phy@0 {  				reg = <0>; -				device_type = "ethernet-phy";  			};  			PHY1: ethernet-phy@1 {  				reg = <1>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/adder875-uboot.dts b/arch/powerpc/boot/dts/adder875-uboot.dts index 54fb60ec03e..e4554caf8f8 100644 --- a/arch/powerpc/boot/dts/adder875-uboot.dts +++ b/arch/powerpc/boot/dts/adder875-uboot.dts @@ -86,12 +86,10 @@  			PHY0: ethernet-phy@0 {  				reg = <0>; -				device_type = "ethernet-phy";  			};  			PHY1: ethernet-phy@1 {  				reg = <1>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/akebono.dts b/arch/powerpc/boot/dts/akebono.dts new file mode 100644 index 00000000000..f92ecfed3d2 --- /dev/null +++ b/arch/powerpc/boot/dts/akebono.dts @@ -0,0 +1,415 @@ +/* + * Device Tree Source for IBM Embedded PPC 476 Platform + * + * Copyright © 2013 Tony Breeds IBM Corporation + * Copyright © 2013 Alistair Popple IBM Corporation + * + * This file is licensed under the terms of the GNU General Public + * License version 2.  This program is licensed "as is" without + * any warranty of any kind, whether express or implied. + */ + +/dts-v1/; + +/memreserve/ 0x01f00000 0x00100000;	// spin table + +/ { +	#address-cells = <2>; +	#size-cells = <2>; +	model = "ibm,akebono"; +	compatible = "ibm,akebono", "ibm,476gtr"; +	dcr-parent = <&{/cpus/cpu@0}>; + +	aliases { +		serial0 = &UART0; +	}; + +	cpus { +		#address-cells = <1>; +		#size-cells = <0>; + +		cpu@0 { +			device_type = "cpu"; +			model = "PowerPC,476"; +			reg = <0>; +			clock-frequency = <1600000000>; // 1.6 GHz +			timebase-frequency = <100000000>; // 100Mhz +			i-cache-line-size = <32>; +			d-cache-line-size = <32>; +			i-cache-size = <32768>; +			d-cache-size = <32768>; +			dcr-controller; +			dcr-access-method = "native"; +			status = "ok"; +		}; +		cpu@1 { +			device_type = "cpu"; +			model = "PowerPC,476"; +			reg = <1>; +			clock-frequency = <1600000000>; // 1.6 GHz +			timebase-frequency = <100000000>; // 100Mhz +			i-cache-line-size = <32>; +			d-cache-line-size = <32>; +			i-cache-size = <32768>; +			d-cache-size = <32768>; +			dcr-controller; +			dcr-access-method = "native"; +			status = "disabled"; +			enable-method = "spin-table"; +			cpu-release-addr = <0x0 0x01f00000>; +		}; +	}; + +	memory { +		device_type = "memory"; +		reg = <0x0 0x0 0x0 0x0>; // filled in by zImage +	}; + +	MPIC: interrupt-controller { +		compatible = "chrp,open-pic"; +		interrupt-controller; +		dcr-reg = <0xffc00000 0x00040000>; +		#address-cells = <0>; +		#size-cells = <0>; +		#interrupt-cells = <2>; +		single-cpu-affinity; +	}; + +	plb { +		compatible = "ibm,plb6"; +		#address-cells = <2>; +		#size-cells = <2>; +		ranges; +		clock-frequency = <200000000>; // 200Mhz + +		HSTA0: hsta@310000e0000 { +			compatible = "ibm,476gtr-hsta-msi", "ibm,hsta-msi"; +			reg = <0x310 0x000e0000 0x0 0xf0>; +			interrupt-parent = <&MPIC>; +			interrupts = <108 0 +				      109 0 +				      110 0 +				      111 0 +				      112 0 +				      113 0 +				      114 0 +				      115 0 +				      116 0 +				      117 0 +				      118 0 +				      119 0 +				      120 0 +				      121 0 +				      122 0 +				      123 0>; +		}; + +		MAL0: mcmal { +			compatible = "ibm,mcmal-476gtr", "ibm,mcmal2"; +			dcr-reg = <0xc0000000 0x062>; +			num-tx-chans = <1>; +			num-rx-chans = <1>; +			#address-cells = <0>; +			#size-cells = <0>; +			interrupt-parent = <&MPIC>; +			interrupts = <	/*TXEOB*/ 77 0x4 +					/*RXEOB*/ 78 0x4 +					/*SERR*/  76 0x4 +					/*TXDE*/  79 0x4 +					/*RXDE*/  80 0x4>; +		}; + +		SATA0: sata@30000010000 { +			compatible = "ibm,476gtr-ahci"; +			reg = <0x300 0x00010000 0x0 0x10000>; +			interrupt-parent = <&MPIC>; +			interrupts = <93 2>; +		}; + +		EHCI0: ehci@30010000000 { +			compatible = "ibm,476gtr-ehci", "generic-ehci"; +			reg = <0x300 0x10000000 0x0 0x10000>; +			interrupt-parent = <&MPIC>; +			interrupts = <85 2>; +		}; + +		SD0: sd@30000000000 { +			compatible = "ibm,476gtr-sdhci", "generic-sdhci"; +			reg = <0x300 0x00000000 0x0 0x10000>; +			interrupts = <91 2>; +			interrupt-parent = <&MPIC>; +		}; + +		OHCI0: ohci@30010010000 { +			compatible = "ibm,476gtr-ohci", "generic-ohci"; +			reg = <0x300 0x10010000 0x0 0x10000>; +			interrupt-parent = <&MPIC>; +			interrupts = <89 1>; +			}; + +		OHCI1: ohci@30010020000 { +			compatible = "ibm,476gtr-ohci", "generic-ohci"; +			reg = <0x300 0x10020000 0x0 0x10000>; +			interrupt-parent = <&MPIC>; +			interrupts = <88 1>; +			}; + +		POB0: opb { +			compatible = "ibm,opb-4xx", "ibm,opb"; +			#address-cells = <1>; +			#size-cells = <1>; +			/* Wish there was a nicer way of specifying a full +			 * 32-bit range +			 */ +			ranges = <0x00000000 0x0000033f 0x00000000 0x80000000 +				  0x80000000 0x0000033f 0x80000000 0x80000000>; +			clock-frequency = <100000000>; + +			RGMII0: emac-rgmii-wol@50004 { +				compatible = "ibm,rgmii-wol-476gtr", "ibm,rgmii-wol"; +				reg = <0x50004 0x00000008>; +				has-mdio; +			}; + +			EMAC0: ethernet@30000 { +				device_type = "network"; +				compatible = "ibm,emac-476gtr", "ibm,emac4sync"; +				interrupt-parent = <&EMAC0>; +				interrupts = <0x0 0x1>; +				#interrupt-cells = <1>; +				#address-cells = <0>; +				#size-cells = <0>; +				interrupt-map = </*Status*/ 0x0 &MPIC 81 0x4 +						 /*Wake*/   0x1 &MPIC 82 0x4>; +				reg = <0x30000 0x78>; + +				/* local-mac-address will normally be added by +				 * the wrapper. If your device doesn't support +				 * passing data to the wrapper (in the form +				 * local-mac-addr=<hwaddr>) then you will need +				 * to set it manually here. */ +				//local-mac-address = [000000000000]; + +				mal-device = <&MAL0>; +				mal-tx-channel = <0>; +				mal-rx-channel = <0>; +				cell-index = <0>; +				max-frame-size = <9000>; +				rx-fifo-size = <4096>; +				tx-fifo-size = <2048>; +				rx-fifo-size-gige = <16384>; +				phy-mode = "rgmii"; +				phy-map = <0x00000000>; +				rgmii-wol-device = <&RGMII0>; +				has-inverted-stacr-oc; +				has-new-stacr-staopc; +			}; + +			UART0: serial@10000 { +				device_type = "serial"; +				compatible = "ns16750", "ns16550"; +				reg = <0x10000 0x00000008>; +				virtual-reg = <0xe8010000>; +				clock-frequency = <1851851>; +				current-speed = <38400>; +				interrupt-parent = <&MPIC>; +				interrupts = <39 2>; +			}; + +			IIC0: i2c@00000000 { +				compatible = "ibm,iic-476gtr", "ibm,iic"; +				reg = <0x0 0x00000020>; +				interrupt-parent = <&MPIC>; +				interrupts = <37 2>; +				#address-cells = <1>; +				#size-cells = <0>; +				rtc@68 { +					compatible = "stm,m41t80", "m41st85"; +					reg = <0x68>; +				}; +			}; + +			IIC1: i2c@00000100 { +				compatible = "ibm,iic-476gtr", "ibm,iic"; +				reg = <0x100 0x00000020>; +				interrupt-parent = <&MPIC>; +				interrupts = <38 2>; +				#address-cells = <1>; +				#size-cells = <0>; +				avr@58 { +					compatible = "ibm,akebono-avr"; +					reg = <0x58>; +				}; +			}; + +			FPGA0: fpga@ebc00000 { +				compatible = "ibm,akebono-fpga"; +				reg = <0xebc00000 0x8>; +			}; +		}; + +		PCIE0: pciex@10100000000 { +			device_type = "pci"; +			#interrupt-cells = <1>; +			#size-cells = <2>; +			#address-cells = <3>; +			compatible = "ibm,plb-pciex-476fpe", "ibm,plb-pciex"; +			primary; +			port = <0x0>; /* port number */ +			reg = <0x00000101 0x00000000 0x0 0x10000000	       /* Config space access */ +			       0x00000100 0x00000000 0x0 0x00001000>;	/* UTL Registers space access */ +			dcr-reg = <0xc0 0x20>; + +//                                pci_space  < pci_addr          > < cpu_addr          > < size       > +			ranges = <0x02000000 0x00000000 0x80000000 0x00000110 0x80000000 0x0 0x80000000 +			          0x01000000 0x0        0x0        0x00000140 0x0        0x0 0x00010000>; + +			/* Inbound starting at 0x0 to 0x40000000000. In order to use MSI +			 * PCI devices must be able to write to the HSTA module. +			 */ +			dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x400 0x0>; + +			/* This drives busses 0 to 0xf */ +			bus-range = <0x0 0xf>; + +			/* Legacy interrupts (note the weird polarity, the bridge seems +			 * to invert PCIe legacy interrupts). +			 * We are de-swizzling here because the numbers are actually for +			 * port of the root complex virtual P2P bridge. But I want +			 * to avoid putting a node for it in the tree, so the numbers +			 * below are basically de-swizzled numbers. +			 * The real slot is on idsel 0, so the swizzling is 1:1 +			 */ +			interrupt-map-mask = <0x0 0x0 0x0 0x7>; +			interrupt-map = < +				0x0 0x0 0x0 0x1 &MPIC 45 0x2 /* int A */ +				0x0 0x0 0x0 0x2 &MPIC 46 0x2 /* int B */ +				0x0 0x0 0x0 0x3 &MPIC 47 0x2 /* int C */ +				0x0 0x0 0x0 0x4 &MPIC 48 0x2 /* int D */>; +		}; + +		PCIE1: pciex@20100000000 { +			device_type = "pci"; +			#interrupt-cells = <1>; +			#size-cells = <2>; +			#address-cells = <3>; +			compatible = "ibm,plb-pciex-476fpe", "ibm,plb-pciex"; +			primary; +			port = <0x1>; /* port number */ +			reg = <0x00000201 0x00000000 0x0 0x10000000	       /* Config space access */ +			       0x00000200 0x00000000 0x0 0x00001000>;	/* UTL Registers space access */ +			dcr-reg = <0x100 0x20>; + +//                                pci_space  < pci_addr          > < cpu_addr          > < size       > +			ranges = <0x02000000 0x00000000 0x80000000 0x00000210 0x80000000 0x0 0x80000000 +			          0x01000000 0x0        0x0        0x00000240 0x0        0x0 0x00010000>; + +			/* Inbound starting at 0x0 to 0x40000000000. In order to use MSI +			 * PCI devices must be able to write to the HSTA module. +			 */ +			dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x400 0x0>; + +			/* This drives busses 0 to 0xf */ +			bus-range = <0x0 0xf>; + +			/* Legacy interrupts (note the weird polarity, the bridge seems +			 * to invert PCIe legacy interrupts). +			 * We are de-swizzling here because the numbers are actually for +			 * port of the root complex virtual P2P bridge. But I want +			 * to avoid putting a node for it in the tree, so the numbers +			 * below are basically de-swizzled numbers. +			 * The real slot is on idsel 0, so the swizzling is 1:1 +			 */ +			interrupt-map-mask = <0x0 0x0 0x0 0x7>; +			interrupt-map = < +				0x0 0x0 0x0 0x1 &MPIC 53 0x2 /* int A */ +				0x0 0x0 0x0 0x2 &MPIC 54 0x2 /* int B */ +				0x0 0x0 0x0 0x3 &MPIC 55 0x2 /* int C */ +				0x0 0x0 0x0 0x4 &MPIC 56 0x2 /* int D */>; +		}; + +		PCIE2: pciex@18100000000 { +			device_type = "pci"; +			#interrupt-cells = <1>; +			#size-cells = <2>; +			#address-cells = <3>; +			compatible = "ibm,plb-pciex-476fpe", "ibm,plb-pciex"; +			primary; +			port = <0x2>; /* port number */ +			reg = <0x00000181 0x00000000 0x0 0x10000000	       /* Config space access */ +			       0x00000180 0x00000000 0x0 0x00001000>;	/* UTL Registers space access */ +			dcr-reg = <0xe0 0x20>; + +//                                pci_space  < pci_addr          > < cpu_addr          > < size       > +			ranges = <0x02000000 0x00000000 0x80000000 0x00000190 0x80000000 0x0 0x80000000 +			          0x01000000 0x0        0x0        0x000001c0 0x0        0x0 0x00010000>; + +			/* Inbound starting at 0x0 to 0x40000000000. In order to use MSI +			 * PCI devices must be able to write to the HSTA module. +			 */ +			dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x400 0x0>; + +			/* This drives busses 0 to 0xf */ +			bus-range = <0x0 0xf>; + +			/* Legacy interrupts (note the weird polarity, the bridge seems +			 * to invert PCIe legacy interrupts). +			 * We are de-swizzling here because the numbers are actually for +			 * port of the root complex virtual P2P bridge. But I want +			 * to avoid putting a node for it in the tree, so the numbers +			 * below are basically de-swizzled numbers. +			 * The real slot is on idsel 0, so the swizzling is 1:1 +			 */ +			interrupt-map-mask = <0x0 0x0 0x0 0x7>; +			interrupt-map = < +				0x0 0x0 0x0 0x1 &MPIC 61 0x2 /* int A */ +				0x0 0x0 0x0 0x2 &MPIC 62 0x2 /* int B */ +				0x0 0x0 0x0 0x3 &MPIC 63 0x2 /* int C */ +				0x0 0x0 0x0 0x4 &MPIC 64 0x2 /* int D */>; +		}; + +		PCIE3: pciex@28100000000 { +			device_type = "pci"; +			#interrupt-cells = <1>; +			#size-cells = <2>; +			#address-cells = <3>; +			compatible = "ibm,plb-pciex-476fpe", "ibm,plb-pciex"; +			primary; +			port = <0x3>; /* port number */ +			reg = <0x00000281 0x00000000 0x0 0x10000000	       /* Config space access */ +			       0x00000280 0x00000000 0x0 0x00001000>;	/* UTL Registers space access */ +			dcr-reg = <0x120 0x20>; + +//                                pci_space  < pci_addr          > < cpu_addr          > < size       > +			ranges = <0x02000000 0x00000000 0x80000000 0x00000290 0x80000000 0x0 0x80000000 +			          0x01000000 0x0        0x0        0x000002c0 0x0        0x0 0x00010000>; + +			/* Inbound starting at 0x0 to 0x40000000000. In order to use MSI +			 * PCI devices must be able to write to the HSTA module. +			 */ +			dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x400 0x0>; + +			/* This drives busses 0 to 0xf */ +			bus-range = <0x0 0xf>; + +			/* Legacy interrupts (note the weird polarity, the bridge seems +			 * to invert PCIe legacy interrupts). +			 * We are de-swizzling here because the numbers are actually for +			 * port of the root complex virtual P2P bridge. But I want +			 * to avoid putting a node for it in the tree, so the numbers +			 * below are basically de-swizzled numbers. +			 * The real slot is on idsel 0, so the swizzling is 1:1 +			 */ +			interrupt-map-mask = <0x0 0x0 0x0 0x7>; +			interrupt-map = < +				0x0 0x0 0x0 0x1 &MPIC 69 0x2 /* int A */ +				0x0 0x0 0x0 0x2 &MPIC 70 0x2 /* int B */ +				0x0 0x0 0x0 0x3 &MPIC 71 0x2 /* int C */ +				0x0 0x0 0x0 0x4 &MPIC 72 0x2 /* int D */>; +		}; +	}; + +	chosen { +		linux,stdout-path = &UART0; +	}; +}; diff --git a/arch/powerpc/boot/dts/apollo3g.dts b/arch/powerpc/boot/dts/apollo3g.dts new file mode 100644 index 00000000000..c2e2af9d19e --- /dev/null +++ b/arch/powerpc/boot/dts/apollo3g.dts @@ -0,0 +1,419 @@ +/* + * Device Tree for Bluestone (APM821xx) board. + * + * Copyright (c) 2010, Applied Micro Circuits Corporation + * Author: Tirumala R Marri <tmarri@apm.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + */ + +/dts-v1/; + +/ { +	#address-cells = <2>; +	#size-cells = <1>; +	model = "apm,bluestone"; +	compatible = "apm,bluestone"; +	dcr-parent = <&{/cpus/cpu@0}>; + +	aliases { +		ethernet0 = &EMAC0; +		serial0 = &UART0; +	}; + +	cpus { +		#address-cells = <1>; +		#size-cells = <0>; + +		cpu@0 { +			device_type = "cpu"; +			model = "PowerPC,apm821xx"; +			reg = <0x00000000>; +			clock-frequency = <0>; /* Filled in by U-Boot */ +			timebase-frequency = <0>; /* Filled in by U-Boot */ +			i-cache-line-size = <32>; +			d-cache-line-size = <32>; +			i-cache-size = <32768>; +			d-cache-size = <32768>; +			dcr-controller; +			dcr-access-method = "native"; +			next-level-cache = <&L2C0>; +		}; +	}; + +	memory { +		device_type = "memory"; +		reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by U-Boot */ +	}; + +	UIC0: interrupt-controller0 { +		compatible = "ibm,uic"; +		interrupt-controller; +		cell-index = <0>; +		dcr-reg = <0x0c0 0x009>; +		#address-cells = <0>; +		#size-cells = <0>; +		#interrupt-cells = <2>; +	}; + +	UIC1: interrupt-controller1 { +		compatible = "ibm,uic"; +		interrupt-controller; +		cell-index = <1>; +		dcr-reg = <0x0d0 0x009>; +		#address-cells = <0>; +		#size-cells = <0>; +		#interrupt-cells = <2>; +		interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ +		interrupt-parent = <&UIC0>; +	}; + +	UIC2: interrupt-controller2 { +		compatible = "ibm,uic"; +		interrupt-controller; +		cell-index = <2>; +		dcr-reg = <0x0e0 0x009>; +		#address-cells = <0>; +		#size-cells = <0>; +		#interrupt-cells = <2>; +		interrupts = <0xa 0x4 0xb 0x4>; /* cascade */ +		interrupt-parent = <&UIC0>; +	}; + +	UIC3: interrupt-controller3 { +		compatible = "ibm,uic"; +		interrupt-controller; +		cell-index = <3>; +		dcr-reg = <0x0f0 0x009>; +		#address-cells = <0>; +		#size-cells = <0>; +		#interrupt-cells = <2>; +		interrupts = <0x10 0x4 0x11 0x4>; /* cascade */ +		interrupt-parent = <&UIC0>; +	}; + +	OCM: ocm@400040000 { +		compatible = "ibm,ocm"; +		status = "ok"; +		cell-index = <1>; +		/* configured in U-Boot */ +		reg = <4 0x00040000 0x8000>; /* 32K */ +	}; + +	SDR0: sdr { +		compatible = "ibm,sdr-apm821xx"; +		dcr-reg = <0x00e 0x002>; +	}; + +	CPR0: cpr { +		compatible = "ibm,cpr-apm821xx"; +		dcr-reg = <0x00c 0x002>; +	}; + +	L2C0: l2c { +		compatible = "ibm,l2-cache-apm82181", "ibm,l2-cache"; +		dcr-reg = <0x020 0x008 +			   0x030 0x008>; +		cache-line-size = <32>; +		cache-size = <262144>; +		interrupt-parent = <&UIC1>; +		interrupts = <11 1>; +	}; + +	plb { +		compatible = "ibm,plb4"; +		#address-cells = <2>; +		#size-cells = <1>; +		ranges; +		clock-frequency = <0>; /* Filled in by U-Boot */ + +		SDRAM0: sdram { +			compatible = "ibm,sdram-apm821xx"; +			dcr-reg = <0x010 0x002>; +		}; + +		MAL0: mcmal { +			compatible = "ibm,mcmal2"; +			descriptor-memory = "ocm"; +			dcr-reg = <0x180 0x062>; +			num-tx-chans = <1>; +			num-rx-chans = <1>; +			#address-cells = <0>; +			#size-cells = <0>; +			interrupt-parent = <&UIC2>; +			interrupts = <	/*TXEOB*/ 0x6 0x4 +					/*RXEOB*/ 0x7 0x4 +					/*SERR*/  0x3 0x4 +					/*TXDE*/  0x4 0x4 +					/*RXDE*/  0x5 0x4 +					/*TX0 COAL*/  0x8 0x2 +					/*TX1 COAL  0x9 0x2*/ +					/*RX0 COAL*/  0xc 0x2 +					/*RX1 COAL  0xd 0x2*/>; +		}; + +		/* SATA DWC devices */ +		SATA0: sata@bffd1000 { +				compatible = "amcc,sata-460ex"; +				reg = <4 0xbffd1000 0x800       /* SATA0 */ +					   4 0xbffd0800 0x400>;     /* AHBDMA */ +				dma-channel=<0>; +				interrupt-parent = <&UIC0>; +				interrupts = <26 4      /* SATA0 */ +							  25 4>;    /* AHBDMA */ +		}; + +		SATA1: sata@bffd1800 { +			compatible = "amcc,sata-460ex"; +			reg = <4 0xbffd1800 0x800       /* SATA1 */ +			       4 0xbffd0800 0x400>;     /* AHBDMA */ +			dma-channel=<1>; +			interrupt-parent = <&UIC0>; +			interrupts = <27 4      /* SATA1 */ +				      25 4>;    /* AHBDMA */ +		}; + +		ADMA: adma { +			compatible = "amcc,apm82181-adma"; +			device_type = "dma"; +			#address-cells = <2>; +			#size-cells = <1>; + +			/*dma-4channel@0{ +				compatible = "amcc,apm82181-dma-4channel"; +				cell-index = <0>; +				label = "plb_dma0"; +				interrupt-parent = <&UIC0>; +				interrupts = <0xc 0x4>; +				pool_size = <0x4000>; +				dcr-reg = <0x200 0x207>; +			};*/ + +			dma-4channel@1 { +				compatible = "amcc,apm82181-dma-4channel"; +				cell-index = <1>; +				label = "plb_dma1"; +				interrupt-parent = <&UIC0>; +				interrupts = <0xd 0x4>; +				pool_size = <0x4000>; +				dcr-reg = <0x208 0x20f>; +			}; +			dma-4channel@2 { +				compatible = "amcc,apm82181-dma-4channel"; +				cell-index = <2>; +				label = "plb_dma2"; +				interrupt-parent = <&UIC0>; +				interrupts = <0xe 0x4>; +				pool_size = <0x4000>; +				dcr-reg = <0x210 0x217>; +			}; +			dma-4channel@3 { +				compatible = "amcc,apm82181-dma-4channel"; +				cell-index = <3>; +				label = "plb_dma3"; +				interrupt-parent = <&UIC0>; +				interrupts = <0xf 0x4>; +				pool_size = <0x4000>; +				dcr-reg = <0x218 0x21f>; +			}; +		}; + +		POB0: opb { +			compatible = "ibm,opb"; +			#address-cells = <1>; +			#size-cells = <1>; +			ranges = <0xb0000000 0x00000004 0xb0000000 0x50000000>; +			clock-frequency = <0>; /* Filled in by U-Boot */ + +			EBC0: ebc { +				compatible = "ibm,ebc"; +				dcr-reg = <0x012 0x002>; +				#address-cells = <2>; +				#size-cells = <1>; +				clock-frequency = <0>; /* Filled in by U-Boot */ +				/* ranges property is supplied by U-Boot */ +				ranges = < 0x00000003 0x00000000 0xe0000000 0x8000000>; +				interrupts = <0x6 0x4>; +				interrupt-parent = <&UIC1>; + +				nor_flash@0,0 { +					compatible = "amd,s29gl512n", "jedec-flash", "cfi-flash"; +					bank-width = <1>; +					reg = <0x00000000 0x00000000 0x00080000>; +					#address-cells = <1>; +					#size-cells = <1>; +					partition@0 { +						label = "3genv"; +						reg = <0x00000000 0x20000>; +					}; +					partition@1 { +						label = "u-boot"; +						reg = <0x20000 0x60000>; +					}; +				}; + +				ndfc@1,0 { +					compatible = "ibm,ndfc"; +					reg = <0x00000003 0x00000000 0x00002000>; +					ccr = <0x00001000>; +					bank-settings = <0x80002222>; +					#address-cells = <1>; +					#size-cells = <1>; +					/* 2Gb Nand Flash */ +					nand { +						#address-cells = <1>; +						#size-cells = <1>; + +						partition@0 { +							label = "firmware"; +							reg   = <0x00000000 0x00C00000>; +						}; +						partition@c00000 { +							label = "environment"; +							reg   = <0x00C00000 0x00B00000>; +						}; +						partition@1700000 { +							label = "kernel"; +							reg   = <0x01700000 0x00E00000>; +						}; +						partition@2500000 { +							label = "root"; +							reg   = <0x02500000 0x08200000>; +						}; +						partition@a700000 { +							label = "device-tree"; +							reg   = <0x0A700000 0x00B00000>; +						}; +						partition@b200000 { +							label = "config"; +							reg   = <0x0B200000 0x00D00000>; +						}; +						partition@bf00000 { +							label = "diag"; +							reg   = <0x0BF00000 0x00C00000>; +						}; +						partition@cb00000 { +							label = "vendor"; +							reg   = <0x0CB00000 0x3500000>; +						}; +					}; +				}; +			}; + +			UART0: serial@ef600300 { +				device_type = "serial"; +				compatible = "ns16550"; +				reg = <0xef600300 0x00000008>; +				virtual-reg = <0xef600300>; +				clock-frequency = <0>; /* Filled in by U-Boot */ +				current-speed = <0>; /* Filled in by U-Boot */ +				interrupt-parent = <&UIC1>; +				interrupts = <0x1 0x4>; +			}; + +			IIC0: i2c@ef600700 { +				compatible = "ibm,iic"; +				reg = <0xef600700 0x00000014>; +				interrupt-parent = <&UIC0>; +				interrupts = <0x2 0x4>; +			}; + +			RGMII0: emac-rgmii@ef601500 { +				compatible = "ibm,rgmii"; +				reg = <0xef601500 0x00000008>; +				has-mdio; +			}; + +			TAH0: emac-tah@ef601350 { +				compatible = "ibm,tah"; +				reg = <0xef601350 0x00000030>; +			}; + +			EMAC0: ethernet@ef600c00 { +				device_type = "network"; +				compatible = "ibm,emac-apm821xx", "ibm,emac4sync"; +				interrupt-parent = <&EMAC0>; +				interrupts = <0x0 0x1>; +				#interrupt-cells = <1>; +				#address-cells = <0>; +				#size-cells = <0>; +				interrupt-map = </*Status*/ 0x0 &UIC2 0x10 0x4 +						 /*Wake*/   0x1 &UIC2 0x14 0x4>; +				reg = <0xef600c00 0x000000c4>; +				local-mac-address = [000000000000]; /* Filled in by U-Boot */ +				mal-device = <&MAL0>; +				mal-tx-channel = <0>; +				mal-rx-channel = <0>; +				cell-index = <0>; +				max-frame-size = <9000>; +				rx-fifo-size = <16384>; +				tx-fifo-size = <2048>; +				phy-mode = "rgmii"; +				phy-map = <0x00000000>; +				rgmii-device = <&RGMII0>; +				rgmii-channel = <0>; +				tah-device = <&TAH0>; +				tah-channel = <0>; +				has-inverted-stacr-oc; +				has-new-stacr-staopc; +			}; +		}; + +		DMA: plb_dma@400300200 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "amcc,dma"; +			cell-index = <0>; +			reg = <4 0x00300200 0x200>; +			dcr-reg = <0x100 0x13f>; +			interrupt-parent = <&UIC0>; +			interrupts = <0 1 2 3>; +			interrupt-map = < /*chan 0*/ 0 &UIC0 12 4 +					  /* chan1*/ 1 &UIC0 13 4 +					  /* chan2*/ 2 &UIC0 14 4 +					  /* chan3*/ 3 &UIC0 15 4>; + + +			dma-4channel@0{ +				compatible = "amcc,dma-4channel"; +				cell-index = <0>; +				label = "channel0"; +				reg = <0x100 0x107>; +			}; +			/* +			dma-4channel@1 { +				compatible = "amcc,dma-4channel"; +				cell-index = <1>; +				label = "channel1"; +				reg = <0x108 0x10f>; +			}; +			dma-4channel@2 { +				compatible = "amcc,dma-4channel"; +				cell-index = <2>; +				label = "channel2"; +				reg = <0x110 0x117>; +			}; +			dma-4channel@3 { +				compatible = "amcc,dma-4channel"; +				cell-index = <3>; +				label = "channel3"; +				reg = <0x118 0x11f>; +			}; +			*/ +		}; +	}; +}; diff --git a/arch/powerpc/boot/dts/asp834x-redboot.dts b/arch/powerpc/boot/dts/asp834x-redboot.dts index 227290db866..9198745f45f 100644 --- a/arch/powerpc/boot/dts/asp834x-redboot.dts +++ b/arch/powerpc/boot/dts/asp834x-redboot.dts @@ -207,14 +207,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/b4860emu.dts b/arch/powerpc/boot/dts/b4860emu.dts new file mode 100644 index 00000000000..85646b4f96e --- /dev/null +++ b/arch/powerpc/boot/dts/b4860emu.dts @@ -0,0 +1,223 @@ +/* + * B4860 emulator Device Tree Source + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * This software is provided by Freescale Semiconductor "as is" and any + * express or implied warranties, including, but not limited to, the implied + * warranties of merchantability and fitness for a particular purpose are + * disclaimed. In no event shall Freescale Semiconductor be liable for any + * direct, indirect, incidental, special, exemplary, or consequential damages + * (including, but not limited to, procurement of substitute goods or services; + * loss of use, data, or profits; or business interruption) however caused and + * on any theory of liability, whether in contract, strict liability, or tort + * (including negligence or otherwise) arising in any way out of the use of + * this software, even if advised of the possibility of such damage. + */ + +/dts-v1/; + +/include/ "fsl/e6500_power_isa.dtsi" + +/ { +	compatible = "fsl,B4860"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	aliases { +		ccsr = &soc; + +		serial0 = &serial0; +		serial1 = &serial1; +		serial2 = &serial2; +		serial3 = &serial3; +		dma0 = &dma0; +		dma1 = &dma1; +	}; + +	cpus { +		#address-cells = <1>; +		#size-cells = <0>; + +		cpu0: PowerPC,e6500@0 { +			device_type = "cpu"; +			reg = <0 1>; +			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>; +		}; +		cpu1: PowerPC,e6500@2 { +			device_type = "cpu"; +			reg = <2 3>; +			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>; +		}; +		cpu2: PowerPC,e6500@4 { +			device_type = "cpu"; +			reg = <4 5>; +			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>; +		}; +		cpu3: PowerPC,e6500@6 { +			device_type = "cpu"; +			reg = <6 7>; +			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>; +		}; +	}; +}; + +/ { +	model = "fsl,B4860QDS"; +	compatible = "fsl,B4860EMU", "fsl,B4860QDS"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	ifc: localbus@ffe124000 { +		reg = <0xf 0xfe124000 0 0x2000>; +		ranges = <0 0 0xf 0xe8000000 0x08000000 +			  2 0 0xf 0xff800000 0x00010000 +			  3 0 0xf 0xffdf0000 0x00008000>; + +		nor@0,0 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "cfi-flash"; +			reg = <0x0 0x0 0x8000000>; +			bank-width = <2>; +			device-width = <1>; +		}; +	}; + +	memory { +		device_type = "memory"; +	}; + +	soc: soc@ffe000000 { +		ranges = <0x00000000 0xf 0xfe000000 0x1000000>; +		reg = <0xf 0xfe000000 0 0x00001000>; +	}; +}; + +&ifc { +	#address-cells = <2>; +	#size-cells = <1>; +	compatible = "fsl,ifc", "simple-bus"; +	interrupts = <25 2 0 0>; +}; + +&soc { +	#address-cells = <1>; +	#size-cells = <1>; +	device_type = "soc"; +	compatible = "simple-bus"; + +	soc-sram-error { +		compatible = "fsl,soc-sram-error"; +		interrupts = <16 2 1 2>; +	}; + +	corenet-law@0 { +		compatible = "fsl,corenet-law"; +		reg = <0x0 0x1000>; +		fsl,num-laws = <32>; +	}; + +	ddr1: memory-controller@8000 { +		compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller"; +		reg = <0x8000 0x1000>; +		interrupts = <16 2 1 8>; +	}; + +	ddr2: memory-controller@9000 { +		compatible = "fsl,qoriq-memory-controller-v4.5","fsl,qoriq-memory-controller"; +		reg = <0x9000 0x1000>; +		interrupts = <16 2 1 9>; +	}; + +	cpc: l3-cache-controller@10000 { +		compatible = "fsl,b4-l3-cache-controller", "cache"; +		reg = <0x10000 0x1000 +		       0x11000 0x1000>; +		interrupts = <16 2 1 4>; +	}; + +	corenet-cf@18000 { +		compatible = "fsl,corenet2-cf", "fsl,corenet-cf"; +		reg = <0x18000 0x1000>; +		interrupts = <16 2 1 0>; +		fsl,ccf-num-csdids = <32>; +		fsl,ccf-num-snoopids = <32>; +	}; + +	iommu@20000 { +		compatible = "fsl,pamu-v1.0", "fsl,pamu"; +		reg = <0x20000 0x4000>; +		fsl,portid-mapping = <0x8000>; +		#address-cells = <1>; +		#size-cells = <1>; +		interrupts = < +			24 2 0 0 +			16 2 1 1>; +		pamu0: pamu@0 { +			reg = <0 0x1000>; +			fsl,primary-cache-geometry = <8 1>; +			fsl,secondary-cache-geometry = <32 2>; +		}; +	}; + +/include/ "fsl/qoriq-mpic.dtsi" + +	guts: global-utilities@e0000 { +		compatible = "fsl,b4-device-config"; +		reg = <0xe0000 0xe00>; +		fsl,has-rstcr; +		fsl,liodn-bits = <12>; +	}; + +	clockgen: global-utilities@e1000 { +		compatible = "fsl,b4-clockgen", "fsl,qoriq-clockgen-2.0"; +		reg = <0xe1000 0x1000>; +	}; + +/include/ "fsl/qoriq-dma-0.dtsi" +	dma@100300 { +		fsl,iommu-parent = <&pamu0>; +		fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */ +	}; + +/include/ "fsl/qoriq-dma-1.dtsi" +	dma@101300 { +		fsl,iommu-parent = <&pamu0>; +		fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ +	}; + +/include/ "fsl/qoriq-i2c-0.dtsi" +/include/ "fsl/qoriq-i2c-1.dtsi" +/include/ "fsl/qoriq-duart-0.dtsi" +/include/ "fsl/qoriq-duart-1.dtsi" + +	L2: l2-cache-controller@c20000 { +		compatible = "fsl,b4-l2-cache-controller"; +		reg = <0xc20000 0x1000>; +		next-level-cache = <&cpc>; +	}; +}; diff --git a/arch/powerpc/boot/dts/b4qds.dtsi b/arch/powerpc/boot/dts/b4qds.dtsi index e6d2f8f9054..8b47edcfabf 100644 --- a/arch/powerpc/boot/dts/b4qds.dtsi +++ b/arch/powerpc/boot/dts/b4qds.dtsi @@ -120,25 +120,38 @@  		};  		i2c@118000 { -			eeprom@50 { -				compatible = "at24,24c64"; -				reg = <0x50>; -			}; -			eeprom@51 { -				compatible = "at24,24c256"; -				reg = <0x51>; -			}; -			eeprom@53 { -				compatible = "at24,24c256"; -				reg = <0x53>; -			}; -			eeprom@57 { -				compatible = "at24,24c256"; -				reg = <0x57>; -			}; -			rtc@68 { -				compatible = "dallas,ds3232"; -				reg = <0x68>; +			mux@77 { +				compatible = "nxp,pca9547"; +				reg = <0x77>; +				#address-cells = <1>; +				#size-cells = <0>; + +				i2c@0 { +					#address-cells = <1>; +					#size-cells = <0>; +					reg = <0>; + +					eeprom@50 { +						compatible = "at24,24c64"; +						reg = <0x50>; +					}; +					eeprom@51 { +						compatible = "at24,24c256"; +						reg = <0x51>; +					}; +					eeprom@53 { +						compatible = "at24,24c256"; +						reg = <0x53>; +					}; +					eeprom@57 { +						compatible = "at24,24c256"; +						reg = <0x57>; +					}; +					rtc@68 { +						compatible = "dallas,ds3232"; +						reg = <0x68>; +					}; +				};  			};  		}; diff --git a/arch/powerpc/boot/dts/bsc9132qds.dts b/arch/powerpc/boot/dts/bsc9132qds.dts new file mode 100644 index 00000000000..6cab1062bc7 --- /dev/null +++ b/arch/powerpc/boot/dts/bsc9132qds.dts @@ -0,0 +1,35 @@ +/* + * BSC9132 QDS Device Tree Source + * + * Copyright 2014 Freescale Semiconductor Inc. + * + * This program is free software; you can redistribute  it and/or modify it + * under  the terms of  the GNU General  Public License as published by the + * Free Software Foundation;  either version 2 of the  License, or (at your + * option) any later version. + */ + +/include/ "fsl/bsc9132si-pre.dtsi" + +/ { +	model = "fsl,bsc9132qds"; +	compatible = "fsl,bsc9132qds"; + +	memory { +		device_type = "memory"; +	}; + +	ifc: ifc@ff71e000 { +		/* NOR, NAND Flash on board */ +		ranges = <0x0 0x0 0x0 0x88000000 0x08000000 +			  0x1 0x0 0x0 0xff800000 0x00010000>; +		reg = <0x0 0xff71e000 0x0 0x2000>; +	}; + +	soc: soc@ff700000 { +		ranges = <0x0 0x0 0xff700000 0x100000>; +	}; +}; + +/include/ "bsc9132qds.dtsi" +/include/ "fsl/bsc9132si-post.dtsi" diff --git a/arch/powerpc/boot/dts/bsc9132qds.dtsi b/arch/powerpc/boot/dts/bsc9132qds.dtsi new file mode 100644 index 00000000000..af8e8883022 --- /dev/null +++ b/arch/powerpc/boot/dts/bsc9132qds.dtsi @@ -0,0 +1,101 @@ +/* + * BSC9132 QDS Device Tree Source stub (no addresses or top-level ranges) + * + * Copyright 2014 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +&ifc { +	nor@0,0 { +		#address-cells = <1>; +		#size-cells = <1>; +		compatible = "cfi-flash"; +		reg = <0x0 0x0 0x8000000>; +		bank-width = <2>; +		device-width = <1>; +	}; + +	nand@1,0 { +		#address-cells = <1>; +		#size-cells = <1>; +		compatible = "fsl,ifc-nand"; +		reg = <0x1 0x0 0x4000>; +	}; +}; + +&soc { +	spi@7000 { +		flash@0 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "spansion,s25sl12801"; +			reg = <0>; +			spi-max-frequency = <30000000>; +		}; +	}; + +	i2c@3000 { +		fpga: fpga@66 { +			compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c"; +			reg = <0x66>; +		}; +	}; + +	usb@22000 { +		phy_type = "ulpi"; +	}; + +	mdio@24000 { +		phy0: ethernet-phy@0 { +			reg = <0x0>; +		}; + +		phy1: ethernet-phy@1 { +			reg = <0x1>; +		}; + +		tbi0: tbi-phy@11 { +			reg = <0x1f>; +			device_type = "tbi-phy"; +		}; +	}; + +	enet0: ethernet@b0000 { +		phy-handle = <&phy0>; +		tbi-handle = <&tbi0>; +		phy-connection-type = "sgmii"; +	}; + +	enet1: ethernet@b1000 { +		phy-handle = <&phy1>; +		tbi-handle = <&tbi0>; +		phy-connection-type = "sgmii"; +	}; +}; diff --git a/arch/powerpc/boot/dts/c293pcie.dts b/arch/powerpc/boot/dts/c293pcie.dts index 1238bda8901..6681cc21030 100644 --- a/arch/powerpc/boot/dts/c293pcie.dts +++ b/arch/powerpc/boot/dts/c293pcie.dts @@ -45,6 +45,7 @@  	ifc: ifc@fffe1e000 {  		reg = <0xf 0xffe1e000 0 0x2000>;  		ranges = <0x0 0x0 0xf 0xec000000 0x04000000 +			  0x1 0x0 0xf 0xff800000 0x00010000  			  0x2 0x0 0xf 0xffdf0000 0x00010000>;  	}; diff --git a/arch/powerpc/boot/dts/c2k.dts b/arch/powerpc/boot/dts/c2k.dts index f5d625fa3e5..1e32903cb0a 100644 --- a/arch/powerpc/boot/dts/c2k.dts +++ b/arch/powerpc/boot/dts/c2k.dts @@ -73,19 +73,16 @@  			compatible = "marvell,mv64360-mdio";  			reg = <0x2000 4>;  			PHY0: ethernet-phy@0 { -				device_type = "ethernet-phy";  				interrupts = <76>;	/* GPP 12 */  				interrupt-parent = <&PIC>;  				reg = <0>;  			};  			PHY1: ethernet-phy@1 { -				device_type = "ethernet-phy";  				interrupts = <76>;	/* GPP 12 */  				interrupt-parent = <&PIC>;  				reg = <1>;  			};  			PHY2: ethernet-phy@2 { -				device_type = "ethernet-phy";  				interrupts = <76>;	/* GPP 12 */  				interrupt-parent = <&PIC>;  				reg = <2>; @@ -174,7 +171,6 @@  		};  		MPSC0: mpsc@8000 { -			device_type = "serial";  			compatible = "marvell,mv64360-mpsc";  			reg = <0x8000 0x38>;  			virtual-reg = <0xd8008000>; @@ -189,7 +185,6 @@  		};  		MPSC1: mpsc@9000 { -			device_type = "serial";  			compatible = "marvell,mv64360-mpsc";  			reg = <0x9000 0x38>;  			virtual-reg = <0xd8009000>; diff --git a/arch/powerpc/boot/dts/ep8248e.dts b/arch/powerpc/boot/dts/ep8248e.dts index 756758fb5b7..8b3a49f34f5 100644 --- a/arch/powerpc/boot/dts/ep8248e.dts +++ b/arch/powerpc/boot/dts/ep8248e.dts @@ -67,7 +67,6 @@  			ranges;  			mdio { -				device_type = "mdio";  				compatible = "fsl,ep8248e-mdio-bitbang";  				#address-cells = <1>;  				#size-cells = <0>; @@ -76,13 +75,11 @@  				PHY0: ethernet-phy@0 {  					interrupt-parent = <&PIC>;  					reg = <0>; -					device_type = "ethernet-phy";  				};  				PHY1: ethernet-phy@1 {  					interrupt-parent = <&PIC>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  			};  		}; diff --git a/arch/powerpc/boot/dts/ep88xc.dts b/arch/powerpc/boot/dts/ep88xc.dts index ae57d624012..2aa5bf55964 100644 --- a/arch/powerpc/boot/dts/ep88xc.dts +++ b/arch/powerpc/boot/dts/ep88xc.dts @@ -85,12 +85,10 @@  			PHY0: ethernet-phy@0 {  				reg = <0x0>; -				device_type = "ethernet-phy";  			};  			PHY1: ethernet-phy@1 {  				reg = <0x1>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi b/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi index 5a6615d0ade..d67894459ac 100644 --- a/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi @@ -76,16 +76,48 @@  		compatible = "fsl,b4420-l3-cache-controller", "cache";  	}; -	corenet-cf@18000 { -		compatible = "fsl,b4420-corenet-cf"; -	}; -  	guts: global-utilities@e0000 {  		compatible = "fsl,b4420-device-config", "fsl,qoriq-device-config-2.0";  	};  	clockgen: global-utilities@e1000 {  		compatible = "fsl,b4420-clockgen", "fsl,qoriq-clockgen-2.0"; +		ranges = <0x0 0xe1000 0x1000>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-2.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2", "pll0-div4"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2", "pll1-div4"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				<&pll1 0>, <&pll1 1>, <&pll1 2>; +			clock-names = "pll0", "pll0-div2", "pll0-div4", +				"pll1", "pll1-div2", "pll1-div4"; +			clock-output-names = "cmux0"; +		};  	};  	rcpm: global-utilities@e2000 { diff --git a/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi b/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi index 7b4426e0a5a..338af7e39dd 100644 --- a/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi @@ -34,6 +34,8 @@  /dts-v1/; +/include/ "e6500_power_isa.dtsi" +  / {  	compatible = "fsl,B4420";  	#address-cells = <2>; @@ -62,12 +64,16 @@  		cpu0: PowerPC,e6500@0 {  			device_type = "cpu";  			reg = <0 1>; +			clocks = <&mux0>;  			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu1: PowerPC,e6500@2 {  			device_type = "cpu";  			reg = <2 3>; +			clocks = <&mux0>;  			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>;  		};  	};  }; diff --git a/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi b/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi index e5cf6c81dd6..582381dba1d 100644 --- a/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi @@ -41,7 +41,7 @@  &rio {  	compatible = "fsl,srio"; -	interrupts = <16 2 1 11>; +	interrupts = <16 2 1 20>;  	#address-cells = <2>;  	#size-cells = <2>;  	fsl,iommu-parent = <&pamu0>; @@ -120,16 +120,48 @@  		compatible = "fsl,b4860-l3-cache-controller", "cache";  	}; -	corenet-cf@18000 { -		compatible = "fsl,b4860-corenet-cf"; -	}; -  	guts: global-utilities@e0000 {  		compatible = "fsl,b4860-device-config", "fsl,qoriq-device-config-2.0";  	};  	clockgen: global-utilities@e1000 {  		compatible = "fsl,b4860-clockgen", "fsl,qoriq-clockgen-2.0"; +		ranges = <0x0 0xe1000 0x1000>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-2.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2", "pll0-div4"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2", "pll1-div4"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				<&pll1 0>, <&pll1 1>, <&pll1 2>; +			clock-names = "pll0", "pll0-div2", "pll0-div4", +				"pll1", "pll1-div2", "pll1-div4"; +			clock-output-names = "cmux0"; +		};  	};  	rcpm: global-utilities@e2000 { diff --git a/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi b/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi index 5263fa46a3f..1948f73fd26 100644 --- a/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi @@ -34,6 +34,8 @@  /dts-v1/; +/include/ "e6500_power_isa.dtsi" +  / {  	compatible = "fsl,B4860";  	#address-cells = <2>; @@ -62,22 +64,30 @@  		cpu0: PowerPC,e6500@0 {  			device_type = "cpu";  			reg = <0 1>; +			clocks = <&mux0>;  			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu1: PowerPC,e6500@2 {  			device_type = "cpu";  			reg = <2 3>; +			clocks = <&mux0>;  			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu2: PowerPC,e6500@4 {  			device_type = "cpu";  			reg = <4 5>; +			clocks = <&mux0>;  			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu3: PowerPC,e6500@6 {  			device_type = "cpu";  			reg = <6 7>; +			clocks = <&mux0>;  			next-level-cache = <&L2>; +			fsl,portid-mapping = <0x80000000>;  		};  	};  }; diff --git a/arch/powerpc/boot/dts/fsl/b4si-post.dtsi b/arch/powerpc/boot/dts/fsl/b4si-post.dtsi index 4c617bf8cdb..1a54ba71f68 100644 --- a/arch/powerpc/boot/dts/fsl/b4si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/b4si-post.dtsi @@ -158,7 +158,7 @@  	};  	corenet-cf@18000 { -		compatible = "fsl,b4-corenet-cf"; +		compatible = "fsl,corenet2-cf", "fsl,corenet-cf";  		reg = <0x18000 0x1000>;  		interrupts = <16 2 1 0>;  		fsl,ccf-num-csdids = <32>; @@ -168,6 +168,7 @@  	iommu@20000 {  		compatible =  "fsl,pamu-v1.0", "fsl,pamu";  		reg = <0x20000 0x4000>; +		fsl,portid-mapping = <0x8000>;  		#address-cells = <1>;  		#size-cells = <1>;  		interrupts = < @@ -223,13 +224,13 @@  		reg = <0xe2000 0x1000>;  	}; -/include/ "qoriq-dma-0.dtsi" +/include/ "elo3-dma-0.dtsi"  	dma@100300 {  		fsl,iommu-parent = <&pamu0>;  		fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */  	}; -/include/ "qoriq-dma-1.dtsi" +/include/ "elo3-dma-1.dtsi"  	dma@101300 {  		fsl,iommu-parent = <&pamu0>;  		fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */ diff --git a/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi b/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi index 5180d9d3798..0c0efa94cfb 100644 --- a/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi @@ -130,7 +130,7 @@ usb@22000 {  /include/ "pq3-esdhc-0.dtsi"  	sdhc@2e000 { -		fsl,sdhci-auto-cmd12; +		sdhci,auto-cmd12;  		interrupts = <41 0x2 0 0>;  	}; diff --git a/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi b/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi index 743e4aeda34..f6ec4a67560 100644 --- a/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi @@ -33,6 +33,9 @@   */  /dts-v1/; + +/include/ "e500v2_power_isa.dtsi" +  / {  	compatible = "fsl,BSC9131";  	#address-cells = <2>; diff --git a/arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi b/arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi new file mode 100644 index 00000000000..c7230719814 --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi @@ -0,0 +1,185 @@ +/* + * BSC9132 Silicon/SoC Device Tree Source (post include) + * + * Copyright 2014 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +&ifc { +	#address-cells = <2>; +	#size-cells = <1>; +	compatible = "fsl,ifc", "simple-bus"; +	/* FIXME: Test whether interrupts are split */ +	interrupts = <16 2 0 0 20 2 0 0>; +}; + +&soc { +	#address-cells = <1>; +	#size-cells = <1>; +	device_type = "soc"; +	compatible = "fsl,bsc9132-immr", "simple-bus"; +	bus-frequency = <0>;		// Filled out by uboot. + +	ecm-law@0 { +		compatible = "fsl,ecm-law"; +		reg = <0x0 0x1000>; +		fsl,num-laws = <12>; +	}; + +	ecm@1000 { +		compatible = "fsl,bsc9132-ecm", "fsl,ecm"; +		reg = <0x1000 0x1000>; +		interrupts = <16 2 0 0>; +	}; + +	memory-controller@2000 { +		compatible = "fsl,bsc9132-memory-controller"; +		reg = <0x2000 0x1000>; +		interrupts = <16 2 1 8>; +	}; + +/include/ "pq3-i2c-0.dtsi" +	i2c@3000 { +		interrupts = <17 2 0 0>; +	}; + +/include/ "pq3-i2c-1.dtsi" +	i2c@3100 { +		interrupts = <17 2 0 0>; +	}; + +/include/ "pq3-duart-0.dtsi" +	serial0: serial@4500 { +		interrupts = <18 2 0 0>; +	}; + +	serial1: serial@4600 { +		interrupts = <18 2 0 0 >; +	}; +/include/ "pq3-espi-0.dtsi" +	spi0: spi@7000 { +		fsl,espi-num-chipselects = <1>; +		interrupts = <22 0x2 0 0>; +	}; + +/include/ "pq3-gpio-0.dtsi" +	gpio-controller@f000 { +		interrupts = <19 0x2 0 0>; +		}; + +	L2: l2-cache-controller@20000 { +		compatible = "fsl,bsc9132-l2-cache-controller"; +		reg = <0x20000 0x1000>; +		cache-line-size = <32>;	// 32 bytes +		cache-size = <0x40000>; // L2,256K +		interrupts = <16 2 1 0>; +	}; + +/include/ "pq3-dma-0.dtsi" + +dma@21300 { + +	dma-channel@0 { +		interrupts = <62 2 0 0>; +	}; + +	dma-channel@80 { +		interrupts = <63 2 0 0>; +	}; + +	dma-channel@100 { +		interrupts = <64 2 0 0>; +	}; + +	dma-channel@180 { +		interrupts = <65 2 0 0>; +	}; +}; + +/include/ "pq3-usb2-dr-0.dtsi" +usb@22000 { +	compatible = "fsl-usb2-dr","fsl-usb2-dr-v2.2"; +	interrupts = <40 0x2 0 0>; +}; + +/include/ "pq3-esdhc-0.dtsi" +	sdhc@2e000 { +		fsl,sdhci-auto-cmd12; +		interrupts = <41 0x2 0 0>; +	}; + +/include/ "pq3-sec4.4-0.dtsi" +crypto@30000 { +	interrupts	 = <57 2 0 0>; + +	sec_jr0: jr@1000 { +		interrupts	 = <58 2 0 0>; +	}; + +	sec_jr1: jr@2000 { +		interrupts	 = <59 2 0 0>; +	}; + +	sec_jr2: jr@3000 { +		interrupts	 = <60 2 0 0>; +	}; + +	sec_jr3: jr@4000 { +		interrupts	 = <61 2 0 0>; +	}; +}; + +/include/ "pq3-mpic.dtsi" +/include/ "pq3-mpic-timer-B.dtsi" + +/include/ "pq3-etsec2-0.dtsi" +enet0: ethernet@b0000 { +	queue-group@b0000 { +		fsl,rx-bit-map = <0xff>; +		fsl,tx-bit-map = <0xff>; +		interrupts = <26 2 0 0 27 2 0 0 28 2 0 0>; +	}; +}; + +/include/ "pq3-etsec2-1.dtsi" +enet1: ethernet@b1000 { +	queue-group@b1000 { +		fsl,rx-bit-map = <0xff>; +		fsl,tx-bit-map = <0xff>; +		interrupts = <33 2 0 0 34 2 0 0 35 2 0 0>; +	}; +}; + +global-utilities@e0000 { +		compatible = "fsl,bsc9132-guts"; +		reg = <0xe0000 0x1000>; +		fsl,has-rstcr; +	}; +}; diff --git a/arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi b/arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi new file mode 100644 index 00000000000..301a9dba579 --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi @@ -0,0 +1,66 @@ +/* + * BSC9132 Silicon/SoC Device Tree Source (pre include) + * + * Copyright 2014 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/dts-v1/; + +/include/ "e500v2_power_isa.dtsi" + +/ { +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	aliases { +		serial0 = &serial0; +		ethernet0 = &enet0; +		ethernet1 = &enet1; +	}; + +	cpus { +		#address-cells = <1>; +		#size-cells = <0>; + +		cpu0: PowerPC,e500v2@0 { +			device_type = "cpu"; +			reg = <0x0>; +			next-level-cache = <&L2>; +		}; + +		cpu1: PowerPC,e500v2@1 { +			device_type = "cpu"; +			reg = <0x1>; +			next-level-cache = <&L2>; +		}; +	}; +}; diff --git a/arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi b/arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi new file mode 100644 index 00000000000..3c210e0d520 --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi @@ -0,0 +1,82 @@ +/* + * QorIQ Elo3 DMA device tree stub [ controller @ offset 0x100000 ] + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +dma0: dma@100300 { +	#address-cells = <1>; +	#size-cells = <1>; +	compatible = "fsl,elo3-dma"; +	reg = <0x100300 0x4>, +	      <0x100600 0x4>; +	ranges = <0x0 0x100100 0x500>; +	dma-channel@0 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x0 0x80>; +		interrupts = <28 2 0 0>; +	}; +	dma-channel@80 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x80 0x80>; +		interrupts = <29 2 0 0>; +	}; +	dma-channel@100 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x100 0x80>; +		interrupts = <30 2 0 0>; +	}; +	dma-channel@180 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x180 0x80>; +		interrupts = <31 2 0 0>; +	}; +	dma-channel@300 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x300 0x80>; +		interrupts = <76 2 0 0>; +	}; +	dma-channel@380 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x380 0x80>; +		interrupts = <77 2 0 0>; +	}; +	dma-channel@400 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x400 0x80>; +		interrupts = <78 2 0 0>; +	}; +	dma-channel@480 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x480 0x80>; +		interrupts = <79 2 0 0>; +	}; +}; diff --git a/arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi b/arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi new file mode 100644 index 00000000000..cccf3bb3822 --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi @@ -0,0 +1,82 @@ +/* + * QorIQ Elo3 DMA device tree stub [ controller @ offset 0x101000 ] + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +dma1: dma@101300 { +	#address-cells = <1>; +	#size-cells = <1>; +	compatible = "fsl,elo3-dma"; +	reg = <0x101300 0x4>, +	      <0x101600 0x4>; +	ranges = <0x0 0x101100 0x500>; +	dma-channel@0 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x0 0x80>; +		interrupts = <32 2 0 0>; +	}; +	dma-channel@80 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x80 0x80>; +		interrupts = <33 2 0 0>; +	}; +	dma-channel@100 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x100 0x80>; +		interrupts = <34 2 0 0>; +	}; +	dma-channel@180 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x180 0x80>; +		interrupts = <35 2 0 0>; +	}; +	dma-channel@300 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x300 0x80>; +		interrupts = <80 2 0 0>; +	}; +	dma-channel@380 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x380 0x80>; +		interrupts = <81 2 0 0>; +	}; +	dma-channel@400 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x400 0x80>; +		interrupts = <82 2 0 0>; +	}; +	dma-channel@480 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x480 0x80>; +		interrupts = <83 2 0 0>; +	}; +}; diff --git a/arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi b/arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi new file mode 100644 index 00000000000..d3cc8d0f7c2 --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi @@ -0,0 +1,82 @@ +/* + * QorIQ Elo3 DMA device tree stub [ controller @ offset 0x102300 ] + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +dma2: dma@102300 { +	#address-cells = <1>; +	#size-cells = <1>; +	compatible = "fsl,elo3-dma"; +	reg = <0x102300 0x4>, +	      <0x102600 0x4>; +	ranges = <0x0 0x102100 0x500>; +	dma-channel@0 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x0 0x80>; +		interrupts = <464 2 0 0>; +	}; +	dma-channel@80 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x80 0x80>; +		interrupts = <465 2 0 0>; +	}; +	dma-channel@100 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x100 0x80>; +		interrupts = <466 2 0 0>; +	}; +	dma-channel@180 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x180 0x80>; +		interrupts = <467 2 0 0>; +	}; +	dma-channel@300 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x300 0x80>; +		interrupts = <468 2 0 0>; +	}; +	dma-channel@380 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x380 0x80>; +		interrupts = <469 2 0 0>; +	}; +	dma-channel@400 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x400 0x80>; +		interrupts = <470 2 0 0>; +	}; +	dma-channel@480 { +		compatible = "fsl,eloplus-dma-channel"; +		reg = <0x480 0x80>; +		interrupts = <471 2 0 0>; +	}; +}; diff --git a/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi index 68cc5e7f647..642dc3a83d0 100644 --- a/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi @@ -36,7 +36,8 @@  	#address-cells = <2>;  	#size-cells = <1>;  	compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus"; -	interrupts = <19 2 0 0>; +	interrupts = <19 2 0 0>, +		     <16 2 0 0>;  };  /* controller at 0x9000 */ diff --git a/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi index adb82fd9057..407cb5fd0f5 100644 --- a/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi @@ -36,7 +36,8 @@  	#address-cells = <2>;  	#size-cells = <1>;  	compatible = "fsl,p1021-elbc", "fsl,elbc", "simple-bus"; -	interrupts = <19 2 0 0>; +	interrupts = <19 2 0 0>, +		     <16 2 0 0>;  };  /* controller at 0x9000 */ diff --git a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi index e179803a81e..ebf20223454 100644 --- a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi @@ -40,7 +40,8 @@  	 * pin muxing when the DIU is enabled.  	 */  	compatible = "fsl,p1022-elbc", "fsl,elbc"; -	interrupts = <19 2 0 0>; +	interrupts = <19 2 0 0>, +		     <16 2 0 0>;  };  /* controller at 0x9000 */ diff --git a/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi index f1105bffa91..81437fdf1db 100644 --- a/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi @@ -36,7 +36,8 @@  	#address-cells = <2>;  	#size-cells = <1>;  	compatible = "fsl,p1023-elbc", "fsl,elbc", "simple-bus"; -	interrupts = <19 2 0 0>; +	interrupts = <19 2 0 0>, +		     <16 2 0 0>;  };  /* controller at 0xa000 */ diff --git a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi index dc6cc5afd18..5290df83ff3 100644 --- a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi @@ -246,7 +246,7 @@  	};  	corenet-cf@18000 { -		compatible = "fsl,corenet-cf"; +		compatible = "fsl,corenet1-cf", "fsl,corenet-cf";  		reg = <0x18000 0x1000>;  		interrupts = <16 2 1 31>;  		fsl,ccf-num-csdids = <32>; @@ -262,6 +262,7 @@  		interrupts = <  			24 2 0 0  			16 2 1 30>; +		fsl,portid-mapping = <0x0f000000>;  		pamu0: pamu@0 {  			reg = <0 0x1000>; @@ -306,8 +307,68 @@  	clockgen: global-utilities@e1000 {  		compatible = "fsl,p2041-clockgen", "fsl,qoriq-clockgen-1.0"; +		ranges = <0x0 0xe1000 0x1000>;  		reg = <0xe1000 0x1000>;  		clock-frequency = <0>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-1.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux0"; +		}; + +		mux1: mux1@20 { +			#clock-cells = <0>; +			reg = <0x20 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux1"; +		}; + +		mux2: mux2@40 { +			#clock-cells = <0>; +			reg = <0x40 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +		}; + +		mux3: mux3@60 { +			#clock-cells = <0>; +			reg = <0x60 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux3"; +		};  	};  	rcpm: global-utilities@e2000 { diff --git a/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi index 7a2697d0454..b1ea147f299 100644 --- a/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi @@ -81,7 +81,9 @@  		cpu0: PowerPC,e500mc@0 {  			device_type = "cpu";  			reg = <0>; +			clocks = <&mux0>;  			next-level-cache = <&L2_0>; +			fsl,portid-mapping = <0x80000000>;  			L2_0: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -89,7 +91,9 @@  		cpu1: PowerPC,e500mc@1 {  			device_type = "cpu";  			reg = <1>; +			clocks = <&mux1>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x40000000>;  			L2_1: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -97,7 +101,9 @@  		cpu2: PowerPC,e500mc@2 {  			device_type = "cpu";  			reg = <2>; +			clocks = <&mux2>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x20000000>;  			L2_2: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -105,7 +111,9 @@  		cpu3: PowerPC,e500mc@3 {  			device_type = "cpu";  			reg = <3>; +			clocks = <&mux3>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x10000000>;  			L2_3: l2-cache {  				next-level-cache = <&cpc>;  			}; diff --git a/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi b/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi index 3fa1e22d544..cd63cb1b104 100644 --- a/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi @@ -273,7 +273,7 @@  	};  	corenet-cf@18000 { -		compatible = "fsl,corenet-cf"; +		compatible = "fsl,corenet1-cf", "fsl,corenet-cf";  		reg = <0x18000 0x1000>;  		interrupts = <16 2 1 31>;  		fsl,ccf-num-csdids = <32>; @@ -289,6 +289,7 @@  		interrupts = <  			24 2 0 0  			16 2 1 30>; +		fsl,portid-mapping = <0x0f000000>;  		pamu0: pamu@0 {  			reg = <0 0x1000>; @@ -333,8 +334,69 @@  	clockgen: global-utilities@e1000 {  		compatible = "fsl,p3041-clockgen", "fsl,qoriq-clockgen-1.0"; +		ranges = <0x0 0xe1000 0x1000>;  		reg = <0xe1000 0x1000>;  		clock-frequency = <0>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-1.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux0"; +		}; + +		mux1: mux1@20 { +			#clock-cells = <0>; +			reg = <0x20 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux1"; +		}; + +		mux2: mux2@40 { +			#clock-cells = <0>; +			reg = <0x40 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux2"; +		}; + +		mux3: mux3@60 { +			#clock-cells = <0>; +			reg = <0x60 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux3"; +		};  	};  	rcpm: global-utilities@e2000 { diff --git a/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi index c9ca2c305cf..dc5f4b362c2 100644 --- a/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi @@ -82,7 +82,9 @@  		cpu0: PowerPC,e500mc@0 {  			device_type = "cpu";  			reg = <0>; +			clocks = <&mux0>;  			next-level-cache = <&L2_0>; +			fsl,portid-mapping = <0x80000000>;  			L2_0: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -90,7 +92,9 @@  		cpu1: PowerPC,e500mc@1 {  			device_type = "cpu";  			reg = <1>; +			clocks = <&mux1>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x40000000>;  			L2_1: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -98,7 +102,9 @@  		cpu2: PowerPC,e500mc@2 {  			device_type = "cpu";  			reg = <2>; +			clocks = <&mux2>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x20000000>;  			L2_2: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -106,7 +112,9 @@  		cpu3: PowerPC,e500mc@3 {  			device_type = "cpu";  			reg = <3>; +			clocks = <&mux3>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x10000000>;  			L2_3: l2-cache {  				next-level-cache = <&cpc>;  			}; diff --git a/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi b/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi index 34769a7eafe..12947ccddf2 100644 --- a/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi @@ -281,7 +281,7 @@  	};  	corenet-cf@18000 { -		compatible = "fsl,corenet-cf"; +		compatible = "fsl,corenet1-cf", "fsl,corenet-cf";  		reg = <0x18000 0x1000>;  		interrupts = <16 2 1 31>;  		fsl,ccf-num-csdids = <32>; @@ -297,6 +297,7 @@  		interrupts = <  			24 2 0 0  			16 2 1 30>; +		fsl,portid-mapping = <0x00f80000>;  		pamu0: pamu@0 {  			reg = <0 0x1000>; @@ -353,8 +354,121 @@  	clockgen: global-utilities@e1000 {  		compatible = "fsl,p4080-clockgen", "fsl,qoriq-clockgen-1.0"; +		ranges = <0x0 0xe1000 0x1000>;  		reg = <0xe1000 0x1000>;  		clock-frequency = <0>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-1.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2"; +		}; + +		pll2: pll2@840 { +			#clock-cells = <1>; +			reg = <0x840 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll2", "pll2-div2"; +		}; + +		pll3: pll3@860 { +			#clock-cells = <1>; +			reg = <0x860 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll3", "pll3-div2"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux0"; +		}; + +		mux1: mux1@20 { +			#clock-cells = <0>; +			reg = <0x20 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux1"; +		}; + +		mux2: mux2@40 { +			#clock-cells = <0>; +			reg = <0x40 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux2"; +		}; + +		mux3: mux3@60 { +			#clock-cells = <0>; +			reg = <0x60 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux3"; +		}; + +		mux4: mux4@80 { +			#clock-cells = <0>; +			reg = <0x80 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll2 0>, <&pll2 1>, <&pll3 0>, <&pll3 1>; +			clock-names = "pll2", "pll2-div2", "pll3", "pll3-div2"; +			clock-output-names = "cmux4"; +		}; + +		mux5: mux5@a0 { +			#clock-cells = <0>; +			reg = <0xa0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll2 0>, <&pll2 1>, <&pll3 0>, <&pll3 1>; +			clock-names = "pll2", "pll2-div2", "pll3", "pll3-div2"; +			clock-output-names = "cmux5"; +		}; + +		mux6: mux6@c0 { +			#clock-cells = <0>; +			reg = <0xc0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll2 0>, <&pll2 1>, <&pll3 0>, <&pll3 1>; +			clock-names = "pll2", "pll2-div2", "pll3", "pll3-div2"; +			clock-output-names = "cmux6"; +		}; + +		mux7: mux7@e0 { +			#clock-cells = <0>; +			reg = <0xe0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll2 0>, <&pll2 1>, <&pll3 0>, <&pll3 1>; +			clock-names = "pll2", "pll2-div2", "pll3", "pll3-div2"; +			clock-output-names = "cmux7"; +		};  	};  	rcpm: global-utilities@e2000 { diff --git a/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi index 493d9a056b5..38bde095867 100644 --- a/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi @@ -81,7 +81,9 @@  		cpu0: PowerPC,e500mc@0 {  			device_type = "cpu";  			reg = <0>; +			clocks = <&mux0>;  			next-level-cache = <&L2_0>; +			fsl,portid-mapping = <0x80000000>;  			L2_0: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -89,7 +91,9 @@  		cpu1: PowerPC,e500mc@1 {  			device_type = "cpu";  			reg = <1>; +			clocks = <&mux1>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x40000000>;  			L2_1: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -97,7 +101,9 @@  		cpu2: PowerPC,e500mc@2 {  			device_type = "cpu";  			reg = <2>; +			clocks = <&mux2>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x20000000>;  			L2_2: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -105,7 +111,9 @@  		cpu3: PowerPC,e500mc@3 {  			device_type = "cpu";  			reg = <3>; +			clocks = <&mux3>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x10000000>;  			L2_3: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -113,7 +121,9 @@  		cpu4: PowerPC,e500mc@4 {  			device_type = "cpu";  			reg = <4>; +			clocks = <&mux4>;  			next-level-cache = <&L2_4>; +			fsl,portid-mapping = <0x08000000>;  			L2_4: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -121,7 +131,9 @@  		cpu5: PowerPC,e500mc@5 {  			device_type = "cpu";  			reg = <5>; +			clocks = <&mux5>;  			next-level-cache = <&L2_5>; +			fsl,portid-mapping = <0x04000000>;  			L2_5: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -129,7 +141,9 @@  		cpu6: PowerPC,e500mc@6 {  			device_type = "cpu";  			reg = <6>; +			clocks = <&mux6>;  			next-level-cache = <&L2_6>; +			fsl,portid-mapping = <0x02000000>;  			L2_6: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -137,7 +151,9 @@  		cpu7: PowerPC,e500mc@7 {  			device_type = "cpu";  			reg = <7>; +			clocks = <&mux7>;  			next-level-cache = <&L2_7>; +			fsl,portid-mapping = <0x01000000>;  			L2_7: l2-cache {  				next-level-cache = <&cpc>;  			}; diff --git a/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi index bc3ae5a2252..4c4a2b0436b 100644 --- a/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi @@ -278,7 +278,7 @@  	};  	corenet-cf@18000 { -		compatible = "fsl,corenet-cf"; +		compatible = "fsl,corenet1-cf", "fsl,corenet-cf";  		reg = <0x18000 0x1000>;  		interrupts = <16 2 1 31>;  		fsl,ccf-num-csdids = <32>; @@ -294,6 +294,7 @@  		interrupts = <  			24 2 0 0  			16 2 1 30>; +		fsl,portid-mapping = <0x3c000000>;  		pamu0: pamu@0 {  			reg = <0 0x1000>; @@ -338,8 +339,51 @@  	clockgen: global-utilities@e1000 {  		compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0"; +		ranges = <0x0 0xe1000 0x1000>;  		reg = <0xe1000 0x1000>;  		clock-frequency = <0>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-1.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux0"; +		}; + +		mux1: mux1@20 { +			#clock-cells = <0>; +			reg = <0x20 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux1"; +		};  	};  	rcpm: global-utilities@e2000 { diff --git a/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi index 8df47fc45ab..1cc61e126e4 100644 --- a/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi @@ -88,7 +88,9 @@  		cpu0: PowerPC,e5500@0 {  			device_type = "cpu";  			reg = <0>; +			clocks = <&mux0>;  			next-level-cache = <&L2_0>; +			fsl,portid-mapping = <0x80000000>;  			L2_0: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -96,7 +98,9 @@  		cpu1: PowerPC,e5500@1 {  			device_type = "cpu";  			reg = <1>; +			clocks = <&mux1>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x40000000>;  			L2_1: l2-cache {  				next-level-cache = <&cpc>;  			}; diff --git a/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi b/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi index a91897f6af0..67296fdd969 100644 --- a/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi @@ -233,7 +233,7 @@  	};  	corenet-cf@18000 { -		compatible = "fsl,corenet-cf"; +		compatible = "fsl,corenet1-cf", "fsl,corenet-cf";  		reg = <0x18000 0x1000>;  		interrupts = <16 2 1 31>;  		fsl,ccf-num-csdids = <32>; @@ -248,6 +248,7 @@  		#size-cells = <1>;  		interrupts = <24 2 0 0  			      16 2 1 30>; +		fsl,portid-mapping = <0x0f800000>;  		pamu0: pamu@0 {  			reg = <0 0x1000>; @@ -298,8 +299,69 @@  	clockgen: global-utilities@e1000 {  		compatible = "fsl,p5040-clockgen", "fsl,qoriq-clockgen-1.0"; +		ranges = <0x0 0xe1000 0x1000>;  		reg = <0xe1000 0x1000>;  		clock-frequency = <0>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-1.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-1.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux0"; +		}; + +		mux1: mux1@20 { +			#clock-cells = <0>; +			reg = <0x20 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux1"; +		}; + +		mux2: mux2@40 { +			#clock-cells = <0>; +			reg = <0x40 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux2"; +		}; + +		mux3: mux3@60 { +			#clock-cells = <0>; +			reg = <0x60 0x4>; +			compatible = "fsl,qoriq-core-mux-1.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; +			clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; +			clock-output-names = "cmux3"; +		};  	};  	rcpm: global-utilities@e2000 { diff --git a/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi index 40ca943f5d1..b048a2be05a 100644 --- a/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi @@ -81,7 +81,9 @@  		cpu0: PowerPC,e5500@0 {  			device_type = "cpu";  			reg = <0>; +			clocks = <&mux0>;  			next-level-cache = <&L2_0>; +			fsl,portid-mapping = <0x80000000>;  			L2_0: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -89,7 +91,9 @@  		cpu1: PowerPC,e5500@1 {  			device_type = "cpu";  			reg = <1>; +			clocks = <&mux1>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x40000000>;  			L2_1: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -97,7 +101,9 @@  		cpu2: PowerPC,e5500@2 {  			device_type = "cpu";  			reg = <2>; +			clocks = <&mux2>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x20000000>;  			L2_2: l2-cache {  				next-level-cache = <&cpc>;  			}; @@ -105,7 +111,9 @@  		cpu3: PowerPC,e5500@3 {  			device_type = "cpu";  			reg = <3>; +			clocks = <&mux3>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x10000000>;  			L2_3: l2-cache {  				next-level-cache = <&cpc>;  			}; diff --git a/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi new file mode 100644 index 00000000000..12e597eea3c --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi @@ -0,0 +1,430 @@ +/* + * T1040 Silicon/SoC Device Tree Source (post include) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *	 notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *	 notice, this list of conditions and the following disclaimer in the + *	 documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *	 names of its contributors may be used to endorse or promote products + *	 derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +&ifc { +	#address-cells = <2>; +	#size-cells = <1>; +	compatible = "fsl,ifc", "simple-bus"; +	interrupts = <25 2 0 0>; +}; + +&pci0 { +	compatible = "fsl,t1040-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie"; +	device_type = "pci"; +	#size-cells = <2>; +	#address-cells = <3>; +	bus-range = <0x0 0xff>; +	interrupts = <20 2 0 0>; +	fsl,iommu-parent = <&pamu0>; +	pcie@0 { +		reg = <0 0 0 0 0>; +		#interrupt-cells = <1>; +		#size-cells = <2>; +		#address-cells = <3>; +		device_type = "pci"; +		interrupts = <20 2 0 0>; +		interrupt-map-mask = <0xf800 0 0 7>; +		interrupt-map = < +			/* IDSEL 0x0 */ +			0000 0 0 1 &mpic 40 1 0 0 +			0000 0 0 2 &mpic 1 1 0 0 +			0000 0 0 3 &mpic 2 1 0 0 +			0000 0 0 4 &mpic 3 1 0 0 +			>; +	}; +}; + +&pci1 { +	compatible = "fsl,t1040-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie"; +	device_type = "pci"; +	#size-cells = <2>; +	#address-cells = <3>; +	bus-range = <0 0xff>; +	interrupts = <21 2 0 0>; +	fsl,iommu-parent = <&pamu0>; +	pcie@0 { +		reg = <0 0 0 0 0>; +		#interrupt-cells = <1>; +		#size-cells = <2>; +		#address-cells = <3>; +		device_type = "pci"; +		interrupts = <21 2 0 0>; +		interrupt-map-mask = <0xf800 0 0 7>; +		interrupt-map = < +			/* IDSEL 0x0 */ +			0000 0 0 1 &mpic 41 1 0 0 +			0000 0 0 2 &mpic 5 1 0 0 +			0000 0 0 3 &mpic 6 1 0 0 +			0000 0 0 4 &mpic 7 1 0 0 +			>; +	}; +}; + +&pci2 { +	compatible = "fsl,t1040-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie"; +	device_type = "pci"; +	#size-cells = <2>; +	#address-cells = <3>; +	bus-range = <0x0 0xff>; +	interrupts = <22 2 0 0>; +	fsl,iommu-parent = <&pamu0>; +	pcie@0 { +		reg = <0 0 0 0 0>; +		#interrupt-cells = <1>; +		#size-cells = <2>; +		#address-cells = <3>; +		device_type = "pci"; +		interrupts = <22 2 0 0>; +		interrupt-map-mask = <0xf800 0 0 7>; +		interrupt-map = < +			/* IDSEL 0x0 */ +			0000 0 0 1 &mpic 42 1 0 0 +			0000 0 0 2 &mpic 9 1 0 0 +			0000 0 0 3 &mpic 10 1 0 0 +			0000 0 0 4 &mpic 11 1 0 0 +			>; +	}; +}; + +&pci3 { +	compatible = "fsl,t1040-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie"; +	device_type = "pci"; +	#size-cells = <2>; +	#address-cells = <3>; +	bus-range = <0x0 0xff>; +	interrupts = <23 2 0 0>; +	fsl,iommu-parent = <&pamu0>; +	pcie@0 { +		reg = <0 0 0 0 0>; +		#interrupt-cells = <1>; +		#size-cells = <2>; +		#address-cells = <3>; +		device_type = "pci"; +		interrupts = <23 2 0 0>; +		interrupt-map-mask = <0xf800 0 0 7>; +		interrupt-map = < +			/* IDSEL 0x0 */ +			0000 0 0 1 &mpic 43 1 0 0 +			0000 0 0 2 &mpic 0 1 0 0 +			0000 0 0 3 &mpic 4 1 0 0 +			0000 0 0 4 &mpic 8 1 0 0 +			>; +	}; +}; + +&dcsr { +	#address-cells = <1>; +	#size-cells = <1>; +	compatible = "fsl,dcsr", "simple-bus"; + +	dcsr-epu@0 { +		compatible = "fsl,t1040-dcsr-epu", "fsl,dcsr-epu"; +		interrupts = <52 2 0 0 +			      84 2 0 0 +			      85 2 0 0>; +		reg = <0x0 0x1000>; +	}; +	dcsr-npc { +		compatible = "fsl,t1040-dcsr-cnpc", "fsl,dcsr-cnpc"; +		reg = <0x1000 0x1000 0x1002000 0x10000>; +	}; +	dcsr-nxc@2000 { +		compatible = "fsl,dcsr-nxc"; +		reg = <0x2000 0x1000>; +	}; +	dcsr-corenet { +		compatible = "fsl,dcsr-corenet"; +		reg = <0x8000 0x1000 0x1A000 0x1000>; +	}; +	dcsr-dpaa@9000 { +		compatible = "fsl,t1040-dcsr-dpaa", "fsl,dcsr-dpaa"; +		reg = <0x9000 0x1000>; +	}; +	dcsr-ocn@11000 { +		compatible = "fsl,t1040-dcsr-ocn", "fsl,dcsr-ocn"; +		reg = <0x11000 0x1000>; +	}; +	dcsr-ddr@12000 { +		compatible = "fsl,dcsr-ddr"; +		dev-handle = <&ddr1>; +		reg = <0x12000 0x1000>; +	}; +	dcsr-nal@18000 { +		compatible = "fsl,t1040-dcsr-nal", "fsl,dcsr-nal"; +		reg = <0x18000 0x1000>; +	}; +	dcsr-rcpm@22000 { +		compatible = "fsl,t1040-dcsr-rcpm", "fsl,dcsr-rcpm"; +		reg = <0x22000 0x1000>; +	}; +	dcsr-snpc@30000 { +		compatible = "fsl,t1040-dcsr-snpc", "fsl,dcsr-snpc"; +		reg = <0x30000 0x1000 0x1022000 0x10000>; +	}; +	dcsr-snpc@31000 { +		compatible = "fsl,t1040-dcsr-snpc", "fsl,dcsr-snpc"; +		reg = <0x31000 0x1000 0x1042000 0x10000>; +	}; +	dcsr-cpu-sb-proxy@100000 { +		compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy"; +		cpu-handle = <&cpu0>; +		reg = <0x100000 0x1000 0x101000 0x1000>; +	}; +	dcsr-cpu-sb-proxy@108000 { +		compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy"; +		cpu-handle = <&cpu1>; +		reg = <0x108000 0x1000 0x109000 0x1000>; +	}; +	dcsr-cpu-sb-proxy@110000 { +		compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy"; +		cpu-handle = <&cpu2>; +		reg = <0x110000 0x1000 0x111000 0x1000>; +	}; +	dcsr-cpu-sb-proxy@118000 { +		compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy"; +		cpu-handle = <&cpu3>; +		reg = <0x118000 0x1000 0x119000 0x1000>; +	}; +}; + +&soc { +	#address-cells = <1>; +	#size-cells = <1>; +	device_type = "soc"; +	compatible = "simple-bus"; + +	soc-sram-error { +		compatible = "fsl,soc-sram-error"; +		interrupts = <16 2 1 29>; +	}; + +	corenet-law@0 { +		compatible = "fsl,corenet-law"; +		reg = <0x0 0x1000>; +		fsl,num-laws = <16>; +	}; + +	ddr1: memory-controller@8000 { +		compatible = "fsl,qoriq-memory-controller-v5.0", +				"fsl,qoriq-memory-controller"; +		reg = <0x8000 0x1000>; +		interrupts = <16 2 1 23>; +	}; + +	cpc: l3-cache-controller@10000 { +		compatible = "fsl,t1040-l3-cache-controller", "cache"; +		reg = <0x10000 0x1000>; +		interrupts = <16 2 1 27>; +	}; + +	corenet-cf@18000 { +		compatible = "fsl,corenet2-cf", "fsl,corenet-cf"; +		reg = <0x18000 0x1000>; +		interrupts = <16 2 1 31>; +		fsl,ccf-num-csdids = <32>; +		fsl,ccf-num-snoopids = <32>; +	}; + +	iommu@20000 { +		compatible = "fsl,pamu-v1.0", "fsl,pamu"; +		reg = <0x20000 0x1000>; +		ranges = <0 0x20000 0x1000>; +		#address-cells = <1>; +		#size-cells = <1>; +		interrupts = < +			24 2 0 0 +			16 2 1 30>; +		pamu0: pamu@0 { +			reg = <0 0x1000>; +			fsl,primary-cache-geometry = <128 1>; +			fsl,secondary-cache-geometry = <16 2>; +		}; +	}; + +/include/ "qoriq-mpic.dtsi" + +	guts: global-utilities@e0000 { +		compatible = "fsl,t1040-device-config", "fsl,qoriq-device-config-2.0"; +		reg = <0xe0000 0xe00>; +		fsl,has-rstcr; +		fsl,liodn-bits = <12>; +	}; + +	clockgen: global-utilities@e1000 { +		compatible = "fsl,t1040-clockgen", "fsl,qoriq-clockgen-2.0"; +		ranges = <0x0 0xe1000 0x1000>; +		reg = <0xe1000 0x1000>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-2.0"; +			clock-output-names = "sysclk", "fixed-clock"; +		}; + + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2", "pll0-div4"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2", "pll1-div4"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				 <&pll1 0>, <&pll1 1>, <&pll1 2>; +			clock-names = "pll0", "pll0-div2", "pll1-div4", +				"pll1", "pll1-div2", "pll1-div4"; +			clock-output-names = "cmux0"; +		}; + +		mux1: mux1@20 { +			#clock-cells = <0>; +			reg = <0x20 4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				 <&pll1 0>, <&pll1 1>, <&pll1 2>; +			clock-names = "pll0", "pll0-div2", "pll1-div4", +				"pll1", "pll1-div2", "pll1-div4"; +			clock-output-names = "cmux1"; +		}; + +		mux2: mux2@40 { +			#clock-cells = <0>; +			reg = <0x40 4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				 <&pll1 0>, <&pll1 1>, <&pll1 2>; +			clock-names = "pll0", "pll0-div2", "pll1-div4", +				"pll1", "pll1-div2", "pll1-div4"; +			clock-output-names = "cmux2"; +		}; + +		mux3: mux3@60 { +			#clock-cells = <0>; +			reg = <0x60 4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				 <&pll1 0>, <&pll1 1>, <&pll1 2>; +			clock-names = "pll0_0", "pll0_1", "pll0_2", +				"pll1_0", "pll1_1", "pll1_2"; +			clock-output-names = "cmux3"; +		}; +	}; + +	rcpm: global-utilities@e2000 { +		compatible = "fsl,t1040-rcpm", "fsl,qoriq-rcpm-2.0"; +		reg = <0xe2000 0x1000>; +	}; + +	sfp: sfp@e8000 { +		compatible = "fsl,t1040-sfp"; +		reg	   = <0xe8000 0x1000>; +	}; + +	serdes: serdes@ea000 { +		compatible = "fsl,t1040-serdes"; +		reg	   = <0xea000 0x4000>; +	}; + +/include/ "elo3-dma-0.dtsi" +/include/ "elo3-dma-1.dtsi" +/include/ "qoriq-espi-0.dtsi" +	spi@110000 { +		fsl,espi-num-chipselects = <4>; +	}; + +/include/ "qoriq-esdhc-0.dtsi" +	sdhc@114000 { +		compatible = "fsl,t1040-esdhc", "fsl,esdhc"; +		fsl,iommu-parent = <&pamu0>; +		fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */ +		sdhci,auto-cmd12; +	}; +/include/ "qoriq-i2c-0.dtsi" +/include/ "qoriq-i2c-1.dtsi" +/include/ "qoriq-duart-0.dtsi" +/include/ "qoriq-duart-1.dtsi" +/include/ "qoriq-gpio-0.dtsi" +/include/ "qoriq-gpio-1.dtsi" +/include/ "qoriq-gpio-2.dtsi" +/include/ "qoriq-gpio-3.dtsi" +/include/ "qoriq-usb2-mph-0.dtsi" +		usb0: usb@210000 { +			compatible = "fsl-usb2-mph-v2.4", "fsl-usb2-mph"; +			fsl,iommu-parent = <&pamu0>; +			fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */ +			phy_type = "utmi"; +			port0; +		}; +/include/ "qoriq-usb2-dr-0.dtsi" +		usb1: usb@211000 { +			compatible = "fsl-usb2-dr-v2.4", "fsl-usb2-dr"; +			fsl,iommu-parent = <&pamu0>; +			fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */ +			dr_mode = "host"; +			phy_type = "utmi"; +		}; + +	display@180000 { +		compatible = "fsl,t1040-diu", "fsl,diu"; +		reg = <0x180000 1000>; +		interrupts = <74 2 0 0>; +	}; + +/include/ "qoriq-sata2-0.dtsi" +	sata@220000 { +		fsl,iommu-parent = <&pamu0>; +		fsl,liodn-reg = <&guts 0x550>; /* SATA1LIODNR */ +	}; +/include/ "qoriq-sata2-1.dtsi" +	sata@221000 { +		fsl,iommu-parent = <&pamu0>; +		fsl,liodn-reg = <&guts 0x554>; /* SATA2LIODNR */ +	}; +/include/ "qoriq-sec5.0-0.dtsi" +}; diff --git a/arch/powerpc/boot/dts/fsl/t1042si-post.dtsi b/arch/powerpc/boot/dts/fsl/t1042si-post.dtsi new file mode 100644 index 00000000000..319b74f2972 --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/t1042si-post.dtsi @@ -0,0 +1,37 @@ +/* + * T1042 Silicon/SoC Device Tree Source (post include) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/include/ "t1040si-post.dtsi" + +/* Place holder for ethernet related device tree nodes */ diff --git a/arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi b/arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi new file mode 100644 index 00000000000..bbb7025ca9c --- /dev/null +++ b/arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi @@ -0,0 +1,104 @@ +/* + * T1040/T1042 Silicon/SoC Device Tree Source (pre include) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *	 notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *	 notice, this list of conditions and the following disclaimer in the + *	 documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *	 names of its contributors may be used to endorse or promote products + *	 derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/dts-v1/; + +/include/ "e5500_power_isa.dtsi" + +/ { +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	aliases { +		ccsr = &soc; +		dcsr = &dcsr; + +		serial0 = &serial0; +		serial1 = &serial1; +		serial2 = &serial2; +		serial3 = &serial3; +		pci0 = &pci0; +		pci1 = &pci1; +		pci2 = &pci2; +		pci3 = &pci3; +		usb0 = &usb0; +		usb1 = &usb1; +		sdhc = &sdhc; + +		crypto = &crypto; +	}; + +	cpus { +		#address-cells = <1>; +		#size-cells = <0>; + +		cpu0: PowerPC,e5500@0 { +			device_type = "cpu"; +			reg = <0>; +			clocks = <&mux0>; +			next-level-cache = <&L2_1>; +			L2_1: l2-cache { +				next-level-cache = <&cpc>; +			}; +		}; +		cpu1: PowerPC,e5500@1 { +			device_type = "cpu"; +			reg = <1>; +			clocks = <&mux1>; +			next-level-cache = <&L2_2>; +			L2_2: l2-cache { +				next-level-cache = <&cpc>; +			}; +		}; +		cpu2: PowerPC,e5500@2 { +			device_type = "cpu"; +			reg = <2>; +			clocks = <&mux2>; +			next-level-cache = <&L2_3>; +			L2_3: l2-cache { +				next-level-cache = <&cpc>; +			}; +		}; +		cpu3: PowerPC,e5500@3 { +			device_type = "cpu"; +			reg = <3>; +			clocks = <&mux3>; +			next-level-cache = <&L2_4>; +			L2_4: l2-cache { +				next-level-cache = <&cpc>; +			}; +		}; +	}; +}; diff --git a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi index 510afa362de..793669baa13 100644 --- a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi @@ -343,7 +343,7 @@  	};  	corenet-cf@18000 { -		compatible = "fsl,corenet-cf"; +		compatible = "fsl,corenet2-cf", "fsl,corenet-cf";  		reg = <0x18000 0x1000>;  		interrupts = <16 2 1 31>;  		fsl,ccf-num-csdids = <32>; @@ -353,6 +353,7 @@  	iommu@20000 {  		compatible = "fsl,pamu-v1.0", "fsl,pamu";  		reg = <0x20000 0x6000>; +		fsl,portid-mapping = <0x8000>;  		interrupts = <  			24 2 0 0  			16 2 1 30>; @@ -369,7 +370,93 @@  	clockgen: global-utilities@e1000 {  		compatible = "fsl,t4240-clockgen", "fsl,qoriq-clockgen-2.0"; +		ranges = <0x0 0xe1000 0x1000>;  		reg = <0xe1000 0x1000>; +		#address-cells = <1>; +		#size-cells = <1>; + +		sysclk: sysclk { +			#clock-cells = <0>; +			compatible = "fsl,qoriq-sysclk-2.0"; +			clock-output-names = "sysclk"; +		}; + +		pll0: pll0@800 { +			#clock-cells = <1>; +			reg = <0x800 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll0", "pll0-div2", "pll0-div4"; +		}; + +		pll1: pll1@820 { +			#clock-cells = <1>; +			reg = <0x820 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll1", "pll1-div2", "pll1-div4"; +		}; + +		pll2: pll2@840 { +			#clock-cells = <1>; +			reg = <0x840 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll2", "pll2-div2", "pll2-div4"; +		}; + +		pll3: pll3@860 { +			#clock-cells = <1>; +			reg = <0x860 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll3", "pll3-div2", "pll3-div4"; +		}; + +		pll4: pll4@880 { +			#clock-cells = <1>; +			reg = <0x880 0x4>; +			compatible = "fsl,qoriq-core-pll-2.0"; +			clocks = <&sysclk>; +			clock-output-names = "pll4", "pll4-div2", "pll4-div4"; +		}; + +		mux0: mux0@0 { +			#clock-cells = <0>; +			reg = <0x0 0x4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				<&pll1 0>, <&pll1 1>, <&pll1 2>, +				<&pll2 0>, <&pll2 1>, <&pll2 2>; +			clock-names = "pll0", "pll0-div2", "pll0-div4", +				"pll1", "pll1-div2", "pll1-div4", +				"pll2", "pll2-div2", "pll2-div4"; +			clock-output-names = "cmux0"; +		}; + +		mux1: mux1@20 { +			#clock-cells = <0>; +			reg = <0x20 0x4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>, +				<&pll1 0>, <&pll1 1>, <&pll1 2>, +				<&pll2 0>, <&pll2 1>, <&pll2 2>; +			clock-names = "pll0", "pll0-div2", "pll0-div4", +				"pll1", "pll1-div2", "pll1-div4", +				"pll2", "pll2-div2", "pll2-div4"; +			clock-output-names = "cmux1"; +		}; + +		mux2: mux2@40 { +			#clock-cells = <0>; +			reg = <0x40 0x4>; +			compatible = "fsl,qoriq-core-mux-2.0"; +			clocks = <&pll3 0>, <&pll3 1>, <&pll3 2>, +				<&pll4 0>, <&pll4 1>, <&pll4 2>; +			clock-names = "pll3", "pll3-div2", "pll3-div4", +				"pll4", "pll4-div2", "pll4-div4"; +			clock-output-names = "cmux2"; +		};  	};  	rcpm: global-utilities@e2000 { @@ -387,8 +474,8 @@  		reg	   = <0xea000 0x4000>;  	}; -/include/ "qoriq-dma-0.dtsi" -/include/ "qoriq-dma-1.dtsi" +/include/ "elo3-dma-0.dtsi" +/include/ "elo3-dma-1.dtsi"  /include/ "qoriq-espi-0.dtsi"  	spi@110000 { diff --git a/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi b/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi index a93c55a8856..d2f157edbe8 100644 --- a/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi +++ b/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi @@ -67,62 +67,86 @@  		cpu0: PowerPC,e6500@0 {  			device_type = "cpu";  			reg = <0 1>; +			clocks = <&mux0>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu1: PowerPC,e6500@2 {  			device_type = "cpu";  			reg = <2 3>; +			clocks = <&mux0>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu2: PowerPC,e6500@4 {  			device_type = "cpu";  			reg = <4 5>; +			clocks = <&mux0>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu3: PowerPC,e6500@6 {  			device_type = "cpu";  			reg = <6 7>; +			clocks = <&mux0>;  			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>;  		};  		cpu4: PowerPC,e6500@8 {  			device_type = "cpu";  			reg = <8 9>; +			clocks = <&mux1>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>;  		};  		cpu5: PowerPC,e6500@10 {  			device_type = "cpu";  			reg = <10 11>; +			clocks = <&mux1>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>;  		};  		cpu6: PowerPC,e6500@12 {  			device_type = "cpu";  			reg = <12 13>; +			clocks = <&mux1>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>;  		};  		cpu7: PowerPC,e6500@14 {  			device_type = "cpu";  			reg = <14 15>; +			clocks = <&mux1>;  			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>;  		};  		cpu8: PowerPC,e6500@16 {  			device_type = "cpu";  			reg = <16 17>; +			clocks = <&mux2>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>;  		};  		cpu9: PowerPC,e6500@18 {  			device_type = "cpu";  			reg = <18 19>; +			clocks = <&mux2>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>;  		};  		cpu10: PowerPC,e6500@20 {  			device_type = "cpu";  			reg = <20 21>; +			clocks = <&mux2>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>;  		};  		cpu11: PowerPC,e6500@22 {  			device_type = "cpu";  			reg = <22 23>; +			clocks = <&mux2>;  			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>;  		};  	};  }; diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts b/arch/powerpc/boot/dts/gef_ppc9a.dts index 38dcb96c8e2..83eb0fda266 100644 --- a/arch/powerpc/boot/dts/gef_ppc9a.dts +++ b/arch/powerpc/boot/dts/gef_ppc9a.dts @@ -292,13 +292,11 @@  					interrupt-parent = <&gef_pic>;  					interrupts = <0x9 0x4>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&gef_pic>;  					interrupts = <0x8 0x4>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts b/arch/powerpc/boot/dts/gef_sbc310.dts index 5ab8932d09b..d426dd3de9e 100644 --- a/arch/powerpc/boot/dts/gef_sbc310.dts +++ b/arch/powerpc/boot/dts/gef_sbc310.dts @@ -290,13 +290,11 @@  					interrupt-parent = <&gef_pic>;  					interrupts = <0x9 0x4>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&gef_pic>;  					interrupts = <0x8 0x4>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts b/arch/powerpc/boot/dts/gef_sbc610.dts index d5341f5741a..5db3399b76b 100644 --- a/arch/powerpc/boot/dts/gef_sbc610.dts +++ b/arch/powerpc/boot/dts/gef_sbc610.dts @@ -290,13 +290,11 @@  					interrupt-parent = <&gef_pic>;  					interrupts = <0x9 0x4>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&gef_pic>;  					interrupts = <0x8 0x4>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/holly.dts b/arch/powerpc/boot/dts/holly.dts index c6e11ebeceb..43e6f0c8e44 100644 --- a/arch/powerpc/boot/dts/holly.dts +++ b/arch/powerpc/boot/dts/holly.dts @@ -58,7 +58,6 @@  		};  		MDIO: mdio@6000 { -			device_type = "mdio";  			compatible = "tsi109-mdio", "tsi108-mdio";  			reg = <0x00006000 0x00000050>;  			#address-cells = <1>; diff --git a/arch/powerpc/boot/dts/kilauea.dts b/arch/powerpc/boot/dts/kilauea.dts index 1613d6e4049..5ba7f01e2a2 100644 --- a/arch/powerpc/boot/dts/kilauea.dts +++ b/arch/powerpc/boot/dts/kilauea.dts @@ -406,7 +406,7 @@  		MSI: ppc4xx-msi@C10000000 {  			compatible = "amcc,ppc4xx-msi", "ppc4xx-msi"; -			reg = < 0x0 0xEF620000 0x100>; +			reg = <0xEF620000 0x100>;  			sdr-base = <0x4B0>;  			msi-data = <0x00000000>;  			msi-mask = <0x44440000>; diff --git a/arch/powerpc/boot/dts/kmcoge4.dts b/arch/powerpc/boot/dts/kmcoge4.dts new file mode 100644 index 00000000000..89b4119f3b1 --- /dev/null +++ b/arch/powerpc/boot/dts/kmcoge4.dts @@ -0,0 +1,152 @@ +/* + * Keymile kmcoge4 Device Tree Source, based on the P2041RDB DTS + * + * (C) Copyright 2014 + * Valentin Longchamp, Keymile AG, valentin.longchamp@keymile.com + * + * Copyright 2011 Freescale Semiconductor Inc. + * + * This program is free software; you can redistribute  it and/or modify it + * under  the terms of  the GNU General  Public License as published by the + * Free Software Foundation;  either version 2 of the  License, or (at your + * option) any later version. + */ + +/include/ "fsl/p2041si-pre.dtsi" + +/ { +	model = "keymile,kmcoge4"; +	compatible = "keymile,kmcoge4", "keymile,kmp204x"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	memory { +		device_type = "memory"; +	}; + +	dcsr: dcsr@f00000000 { +		ranges = <0x00000000 0xf 0x00000000 0x01008000>; +	}; + +	soc: soc@ffe000000 { +		ranges = <0x00000000 0xf 0xfe000000 0x1000000>; +		reg = <0xf 0xfe000000 0 0x00001000>; +		spi@110000 { +			flash@0 { +				#address-cells = <1>; +				#size-cells = <1>; +				compatible = "spansion,s25fl256s1"; +				reg = <0>; +				spi-max-frequency = <20000000>; /* input clock */ +			}; + +			network_clock@1 { +				compatible = "zarlink,zl30343"; +				reg = <1>; +				spi-max-frequency = <8000000>; +			}; + +			flash@2 { +				#address-cells = <1>; +				#size-cells = <1>; +				compatible = "micron,m25p32"; +				reg = <2>; +				spi-max-frequency = <15000000>; +			}; +		}; + +		i2c@119000 { +			status = "disabled"; +		}; + +		i2c@119100 { +			status = "disabled"; +		}; + +		usb0: usb@210000 { +			status = "disabled"; +		}; + +		usb1: usb@211000 { +			status = "disabled"; +		}; + +		sata@220000 { +			status = "disabled"; +		}; + +		sata@221000 { +			status = "disabled"; +		}; +	}; + +	rio: rapidio@ffe0c0000 { +		status = "disabled"; +	}; + +	lbc: localbus@ffe124000 { +		reg = <0xf 0xfe124000 0 0x1000>; +		ranges = <0 0 0xf 0xffa00000 0x00040000		/* LB 0 */ +			  1 0 0xf 0xfb000000 0x00010000		/* LB 1 */ +			  2 0 0xf 0xd0000000 0x10000000		/* LB 2 */ +			  3 0 0xf 0xe0000000 0x10000000>;	/* LB 3 */ + +		nand@0,0 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "fsl,elbc-fcm-nand"; +			reg = <0 0 0x40000>; +		}; + +		board-control@1,0 { +			compatible = "keymile,qriox"; +			reg = <1 0 0x80>; +		}; + +		chassis-mgmt@3,0 { +			compatible = "keymile,bfticu"; +			interrupt-controller; +			#interrupt-cells = <2>; +			reg = <3 0 0x100>; +			interrupt-parent = <&mpic>; +			interrupts = <6 1 0 0>; +		}; +	}; + +	pci0: pcie@ffe200000 { +		reg = <0xf 0xfe200000 0 0x1000>; +		ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000 +			  0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>; +		pcie@0 { +			ranges = <0x02000000 0 0xe0000000 +				  0x02000000 0 0xe0000000 +				  0 0x20000000 + +				  0x01000000 0 0x00000000 +				  0x01000000 0 0x00000000 +				  0 0x00010000>; +		}; +	}; + +	pci1: pcie@ffe201000 { +		status = "disabled"; +	}; + +	pci2: pcie@ffe202000 { +		reg = <0xf 0xfe202000 0 0x1000>; +		ranges = <0x02000000 0 0xe0000000 0xc 0x20000000 0 0x20000000 +			  0x01000000 0 0x00000000 0xf 0xf8010000 0 0x00010000>; +		pcie@0 { +			ranges = <0x02000000 0 0xe0000000 +				  0x02000000 0 0xe0000000 +				  0 0x20000000 + +				  0x01000000 0 0x00000000 +				  0x01000000 0 0x00000000 +				  0 0x00010000>; +		}; +	}; +}; + +/include/ "fsl/p2041si-post.dtsi" diff --git a/arch/powerpc/boot/dts/ksi8560.dts b/arch/powerpc/boot/dts/ksi8560.dts index 296c572ea60..5d68236e7c3 100644 --- a/arch/powerpc/boot/dts/ksi8560.dts +++ b/arch/powerpc/boot/dts/ksi8560.dts @@ -161,13 +161,11 @@  				PHY1: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				PHY2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { @@ -284,7 +282,6 @@  				PHY0: ethernet-phy@0 {  					interrupt-parent = <&mpic>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  			}; diff --git a/arch/powerpc/boot/dts/mpc5121.dtsi b/arch/powerpc/boot/dts/mpc5121.dtsi index bd14c00e514..2c0e1552d20 100644 --- a/arch/powerpc/boot/dts/mpc5121.dtsi +++ b/arch/powerpc/boot/dts/mpc5121.dtsi @@ -9,6 +9,8 @@   * option) any later version.   */ +#include <dt-bindings/clock/mpc512x-clock.h> +  /dts-v1/;  / { @@ -49,6 +51,10 @@  		compatible = "fsl,mpc5121-mbx";  		reg = <0x20000000 0x4000>;  		interrupts = <66 0x8>; +		clocks = <&clks MPC512x_CLK_MBX_BUS>, +			 <&clks MPC512x_CLK_MBX_3D>, +			 <&clks MPC512x_CLK_MBX>; +		clock-names = "mbx-bus", "mbx-3d", "mbx";  	};  	sram@30000000 { @@ -62,6 +68,8 @@  		interrupts = <6 8>;  		#address-cells = <1>;  		#size-cells = <1>; +		clocks = <&clks MPC512x_CLK_NFC>; +		clock-names = "ipg";  	};  	localbus@80000020 { @@ -73,11 +81,21 @@  		ranges = <0x0 0x0 0xfc000000 0x04000000>;  	}; +	clocks { +		#address-cells = <1>; +		#size-cells = <0>; + +		osc: osc { +			compatible = "fixed-clock"; +			#clock-cells = <0>; +			clock-frequency = <33000000>; +		}; +	}; +  	soc@80000000 {  		compatible = "fsl,mpc5121-immr";  		#address-cells = <1>;  		#size-cells = <1>; -		#interrupt-cells = <2>;  		ranges = <0x0 0x80000000 0x400000>;  		reg = <0x80000000 0x400000>;  		bus-frequency = <66000000>;	/* 66 MHz ips bus */ @@ -118,9 +136,12 @@  		};  		/* Clock control */ -		clock@f00 { +		clks: clock@f00 {  			compatible = "fsl,mpc5121-clock";  			reg = <0xf00 0x100>; +			#clock-cells = <1>; +			clocks = <&osc>; +			clock-names = "osc";  		};  		/* Power Management Controller */ @@ -140,12 +161,24 @@  			compatible = "fsl,mpc5121-mscan";  			reg = <0x1300 0x80>;  			interrupts = <12 0x8>; +			clocks = <&clks MPC512x_CLK_BDLC>, +				 <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SYS>, +				 <&clks MPC512x_CLK_REF>, +				 <&clks MPC512x_CLK_MSCAN0_MCLK>; +			clock-names = "ipg", "ips", "sys", "ref", "mclk";  		};  		can@1380 {  			compatible = "fsl,mpc5121-mscan";  			reg = <0x1380 0x80>;  			interrupts = <13 0x8>; +			clocks = <&clks MPC512x_CLK_BDLC>, +				 <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SYS>, +				 <&clks MPC512x_CLK_REF>, +				 <&clks MPC512x_CLK_MSCAN1_MCLK>; +			clock-names = "ipg", "ips", "sys", "ref", "mclk";  		};  		sdhc@1500 { @@ -154,6 +187,9 @@  			interrupts = <8 0x8>;  			dmas = <&dma0 30>;  			dma-names = "rx-tx"; +			clocks = <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SDHC>; +			clock-names = "ipg", "per";  		};  		i2c@1700 { @@ -162,6 +198,8 @@  			compatible = "fsl,mpc5121-i2c", "fsl-i2c";  			reg = <0x1700 0x20>;  			interrupts = <9 0x8>; +			clocks = <&clks MPC512x_CLK_I2C>; +			clock-names = "ipg";  		};  		i2c@1720 { @@ -170,6 +208,8 @@  			compatible = "fsl,mpc5121-i2c", "fsl-i2c";  			reg = <0x1720 0x20>;  			interrupts = <10 0x8>; +			clocks = <&clks MPC512x_CLK_I2C>; +			clock-names = "ipg";  		};  		i2c@1740 { @@ -178,6 +218,8 @@  			compatible = "fsl,mpc5121-i2c", "fsl-i2c";  			reg = <0x1740 0x20>;  			interrupts = <11 0x8>; +			clocks = <&clks MPC512x_CLK_I2C>; +			clock-names = "ipg";  		};  		i2ccontrol@1760 { @@ -189,30 +231,48 @@  			compatible = "fsl,mpc5121-axe";  			reg = <0x2000 0x100>;  			interrupts = <42 0x8>; +			clocks = <&clks MPC512x_CLK_AXE>; +			clock-names = "ipg";  		};  		display@2100 {  			compatible = "fsl,mpc5121-diu";  			reg = <0x2100 0x100>;  			interrupts = <64 0x8>; +			clocks = <&clks MPC512x_CLK_DIU>; +			clock-names = "ipg";  		};  		can@2300 {  			compatible = "fsl,mpc5121-mscan";  			reg = <0x2300 0x80>;  			interrupts = <90 0x8>; +			clocks = <&clks MPC512x_CLK_BDLC>, +				 <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SYS>, +				 <&clks MPC512x_CLK_REF>, +				 <&clks MPC512x_CLK_MSCAN2_MCLK>; +			clock-names = "ipg", "ips", "sys", "ref", "mclk";  		};  		can@2380 {  			compatible = "fsl,mpc5121-mscan";  			reg = <0x2380 0x80>;  			interrupts = <91 0x8>; +			clocks = <&clks MPC512x_CLK_BDLC>, +				 <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SYS>, +				 <&clks MPC512x_CLK_REF>, +				 <&clks MPC512x_CLK_MSCAN3_MCLK>; +			clock-names = "ipg", "ips", "sys", "ref", "mclk";  		};  		viu@2400 {  			compatible = "fsl,mpc5121-viu";  			reg = <0x2400 0x400>;  			interrupts = <67 0x8>; +			clocks = <&clks MPC512x_CLK_VIU>; +			clock-names = "ipg";  		};  		mdio@2800 { @@ -220,6 +280,8 @@  			reg = <0x2800 0x800>;  			#address-cells = <1>;  			#size-cells = <0>; +			clocks = <&clks MPC512x_CLK_FEC>; +			clock-names = "per";  		};  		eth0: ethernet@2800 { @@ -228,6 +290,8 @@  			reg = <0x2800 0x800>;  			local-mac-address = [ 00 00 00 00 00 00 ];  			interrupts = <4 0x8>; +			clocks = <&clks MPC512x_CLK_FEC>; +			clock-names = "per";  		};  		/* USB1 using external ULPI PHY */ @@ -239,6 +303,8 @@  			interrupts = <43 0x8>;  			dr_mode = "otg";  			phy_type = "ulpi"; +			clocks = <&clks MPC512x_CLK_USB1>; +			clock-names = "ipg";  		};  		/* USB0 using internal UTMI PHY */ @@ -250,6 +316,8 @@  			interrupts = <44 0x8>;  			dr_mode = "otg";  			phy_type = "utmi_wide"; +			clocks = <&clks MPC512x_CLK_USB2>; +			clock-names = "ipg";  		};  		/* IO control */ @@ -268,6 +336,8 @@  			compatible = "fsl,mpc5121-pata";  			reg = <0x10200 0x100>;  			interrupts = <5 0x8>; +			clocks = <&clks MPC512x_CLK_PATA>; +			clock-names = "ipg";  		};  		/* 512x PSCs are not 52xx PSC compatible */ @@ -279,6 +349,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC0>, +				 <&clks MPC512x_CLK_PSC0_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC1 */ @@ -288,6 +361,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC1>, +				 <&clks MPC512x_CLK_PSC1_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC2 */ @@ -297,6 +373,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC2>, +				 <&clks MPC512x_CLK_PSC2_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC3 */ @@ -306,6 +385,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC3>, +				 <&clks MPC512x_CLK_PSC3_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC4 */ @@ -315,6 +397,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC4>, +				 <&clks MPC512x_CLK_PSC4_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC5 */ @@ -324,6 +409,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC5>, +				 <&clks MPC512x_CLK_PSC5_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC6 */ @@ -333,6 +421,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC6>, +				 <&clks MPC512x_CLK_PSC6_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC7 */ @@ -342,6 +433,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC7>, +				 <&clks MPC512x_CLK_PSC7_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC8 */ @@ -351,6 +445,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC8>, +				 <&clks MPC512x_CLK_PSC8_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC9 */ @@ -360,6 +457,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC9>, +				 <&clks MPC512x_CLK_PSC9_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC10 */ @@ -369,6 +469,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC10>, +				 <&clks MPC512x_CLK_PSC10_MCLK>; +			clock-names = "ipg", "mclk";  		};  		/* PSC11 */ @@ -378,12 +481,17 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC11>, +				 <&clks MPC512x_CLK_PSC11_MCLK>; +			clock-names = "ipg", "mclk";  		};  		pscfifo@11f00 {  			compatible = "fsl,mpc5121-psc-fifo";  			reg = <0x11f00 0x100>;  			interrupts = <40 0x8>; +			clocks = <&clks MPC512x_CLK_PSC_FIFO>; +			clock-names = "ipg";  		};  		dma0: dma@14000 { @@ -401,6 +509,8 @@  		#address-cells = <3>;  		#size-cells = <2>;  		#interrupt-cells = <1>; +		clocks = <&clks MPC512x_CLK_PCI>; +		clock-names = "ipg";  		reg = <0x80008500 0x100	/* internal registers */  		       0x80008300 0x8>;	/* config space access registers */ diff --git a/arch/powerpc/boot/dts/mpc5125twr.dts b/arch/powerpc/boot/dts/mpc5125twr.dts index 4177b62240c..e4f29747174 100644 --- a/arch/powerpc/boot/dts/mpc5125twr.dts +++ b/arch/powerpc/boot/dts/mpc5125twr.dts @@ -12,6 +12,8 @@   * option) any later version.   */ +#include <dt-bindings/clock/mpc512x-clock.h> +  /dts-v1/;  / { @@ -54,11 +56,21 @@  		reg = <0x30000000 0x08000>;		// 32K at 0x30000000  	}; +	clocks { +		#address-cells = <1>; +		#size-cells = <0>; + +		osc: osc { +			compatible = "fixed-clock"; +			#clock-cells = <0>; +			clock-frequency = <33000000>; +		}; +	}; +  	soc@80000000 {  		compatible = "fsl,mpc5121-immr";  		#address-cells = <1>;  		#size-cells = <1>; -		#interrupt-cells = <2>;  		ranges = <0x0 0x80000000 0x400000>;  		reg = <0x80000000 0x400000>;  		bus-frequency = <66000000>;	// 66 MHz ips bus @@ -88,9 +100,12 @@  			reg = <0xe00 0x100>;  		}; -		clock@f00 {	// Clock control +		clks: clock@f00 {	// Clock control  			compatible = "fsl,mpc5121-clock";  			reg = <0xf00 0x100>; +			#clock-cells = <1>; +			clocks = <&osc>; +			clock-names = "osc";  		};  		pmc@1000{  // Power Management Controller @@ -115,18 +130,33 @@  			compatible = "fsl,mpc5121-mscan";  			interrupts = <12 0x8>;  			reg = <0x1300 0x80>; +			clocks = <&clks MPC512x_CLK_BDLC>, +				 <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SYS>, +				 <&clks MPC512x_CLK_REF>, +				 <&clks MPC512x_CLK_MSCAN0_MCLK>; +			clock-names = "ipg", "ips", "sys", "ref", "mclk";  		};  		can@1380 {  			compatible = "fsl,mpc5121-mscan";  			interrupts = <13 0x8>;  			reg = <0x1380 0x80>; +			clocks = <&clks MPC512x_CLK_BDLC>, +				 <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SYS>, +				 <&clks MPC512x_CLK_REF>, +				 <&clks MPC512x_CLK_MSCAN1_MCLK>; +			clock-names = "ipg", "ips", "sys", "ref", "mclk";  		};  		sdhc@1500 {  			compatible = "fsl,mpc5121-sdhc";  			interrupts = <8 0x8>;  			reg = <0x1500 0x100>; +			clocks = <&clks MPC512x_CLK_IPS>, +				 <&clks MPC512x_CLK_SDHC>; +			clock-names = "ipg", "per";  		};  		i2c@1700 { @@ -135,6 +165,8 @@  			compatible = "fsl,mpc5121-i2c", "fsl-i2c";  			reg = <0x1700 0x20>;  			interrupts = <0x9 0x8>; +			clocks = <&clks MPC512x_CLK_I2C>; +			clock-names = "ipg";  		};  		i2c@1720 { @@ -143,6 +175,8 @@  			compatible = "fsl,mpc5121-i2c", "fsl-i2c";  			reg = <0x1720 0x20>;  			interrupts = <0xa 0x8>; +			clocks = <&clks MPC512x_CLK_I2C>; +			clock-names = "ipg";  		};  		i2c@1740 { @@ -151,6 +185,8 @@  			compatible = "fsl,mpc5121-i2c", "fsl-i2c";  			reg = <0x1740 0x20>;  			interrupts = <0xb 0x8>; +			clocks = <&clks MPC512x_CLK_I2C>; +			clock-names = "ipg";  		};  		i2ccontrol@1760 { @@ -162,6 +198,8 @@  			compatible = "fsl,mpc5121-diu";  			reg = <0x2100 0x100>;  			interrupts = <64 0x8>; +			clocks = <&clks MPC512x_CLK_DIU>; +			clock-names = "ipg";  		};  		mdio@2800 { @@ -181,6 +219,8 @@  			interrupts = <4 0x8>;  			phy-handle = < &phy0 >;  			phy-connection-type = "rmii"; +			clocks = <&clks MPC512x_CLK_FEC>; +			clock-names = "per";  		};  		// IO control @@ -189,6 +229,10 @@  			reg = <0xA000 0x1000>;  		}; +		// disable USB1 port +		// TODO: +		// correct pinmux config and fix USB3320 ulpi dependency +		// before re-enabling it  		usb@3000 {  			compatible = "fsl,mpc5121-usb2-dr";  			reg = <0x3000 0x400>; @@ -197,6 +241,9 @@  			interrupts = <43 0x8>;  			dr_mode = "host";  			phy_type = "ulpi"; +			clocks = <&clks MPC512x_CLK_USB1>; +			clock-names = "ipg"; +			status = "disabled";  		};  		// 5125 PSCs are not 52xx or 5121 PSC compatible @@ -207,6 +254,9 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC1>, +				 <&clks MPC512x_CLK_PSC1_MCLK>; +			clock-names = "ipg", "mclk";  		};  		// PSC9 uart1 aka ttyPSC1 @@ -216,12 +266,17 @@  			interrupts = <40 0x8>;  			fsl,rx-fifo-size = <16>;  			fsl,tx-fifo-size = <16>; +			clocks = <&clks MPC512x_CLK_PSC9>, +				 <&clks MPC512x_CLK_PSC9_MCLK>; +			clock-names = "ipg", "mclk";  		};  		pscfifo@11f00 {  			compatible = "fsl,mpc5121-psc-fifo";  			reg = <0x11f00 0x100>;  			interrupts = <40 0x8>; +			clocks = <&clks MPC512x_CLK_PSC_FIFO>; +			clock-names = "ipg";  		};  		dma@14000 { diff --git a/arch/powerpc/boot/dts/mpc7448hpc2.dts b/arch/powerpc/boot/dts/mpc7448hpc2.dts index 2544f3ecd6e..20a0d22df47 100644 --- a/arch/powerpc/boot/dts/mpc7448hpc2.dts +++ b/arch/powerpc/boot/dts/mpc7448hpc2.dts @@ -68,7 +68,6 @@  		};  		MDIO: mdio@6000 { -			device_type = "mdio";  			compatible = "tsi108-mdio";  			reg = <0x6000 0x50>;  			#address-cells = <1>; diff --git a/arch/powerpc/boot/dts/mpc8272ads.dts b/arch/powerpc/boot/dts/mpc8272ads.dts index e802ebd88cb..6d2cddf64cf 100644 --- a/arch/powerpc/boot/dts/mpc8272ads.dts +++ b/arch/powerpc/boot/dts/mpc8272ads.dts @@ -182,7 +182,6 @@  			};  			mdio@10d40 { -				device_type = "mdio";  				compatible = "fsl,mpc8272ads-mdio-bitbang",  				             "fsl,mpc8272-mdio-bitbang",  				             "fsl,cpm2-mdio-bitbang"; @@ -196,14 +195,12 @@  					interrupt-parent = <&PIC>;  					interrupts = <23 8>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				PHY1: ethernet-phy@1 {  					interrupt-parent = <&PIC>;  					interrupts = <23 8>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  			}; diff --git a/arch/powerpc/boot/dts/mpc8308_p1m.dts b/arch/powerpc/boot/dts/mpc8308_p1m.dts index 22b0832b6c3..57f86cdf9f3 100644 --- a/arch/powerpc/boot/dts/mpc8308_p1m.dts +++ b/arch/powerpc/boot/dts/mpc8308_p1m.dts @@ -189,13 +189,11 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&ipic>;  					interrupts = <19 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; @@ -298,7 +296,7 @@  		};  		dma@2c000 { -			compatible = "fsl,mpc8308-dma", "fsl,mpc5121-dma"; +			compatible = "fsl,mpc8308-dma";  			reg = <0x2c000 0x1800>;  			interrupts = <3 0x8  					94 0x8>; diff --git a/arch/powerpc/boot/dts/mpc8308rdb.dts b/arch/powerpc/boot/dts/mpc8308rdb.dts index f66d10d95a8..d0211f0413c 100644 --- a/arch/powerpc/boot/dts/mpc8308rdb.dts +++ b/arch/powerpc/boot/dts/mpc8308rdb.dts @@ -166,7 +166,6 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; @@ -266,7 +265,7 @@  		};  		dma@2c000 { -			compatible = "fsl,mpc8308-dma", "fsl,mpc5121-dma"; +			compatible = "fsl,mpc8308-dma";  			reg = <0x2c000 0x1800>;  			interrupts = <3 0x8  					94 0x8>; diff --git a/arch/powerpc/boot/dts/mpc8313erdb.dts b/arch/powerpc/boot/dts/mpc8313erdb.dts index 1c836c6c5be..4b635dc4ecd 100644 --- a/arch/powerpc/boot/dts/mpc8313erdb.dts +++ b/arch/powerpc/boot/dts/mpc8313erdb.dts @@ -217,7 +217,6 @@  					interrupt-parent = <&ipic>;  					interrupts = <20 0x8>;  					reg = <0x4>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8315erdb.dts b/arch/powerpc/boot/dts/mpc8315erdb.dts index 811848e93ae..43546844ea5 100644 --- a/arch/powerpc/boot/dts/mpc8315erdb.dts +++ b/arch/powerpc/boot/dts/mpc8315erdb.dts @@ -216,14 +216,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <20 0x8>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&ipic>;  					interrupts = <19 0x8>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc832x_mds.dts b/arch/powerpc/boot/dts/mpc832x_mds.dts index da9c72ddc34..0793cdf0d46 100644 --- a/arch/powerpc/boot/dts/mpc832x_mds.dts +++ b/arch/powerpc/boot/dts/mpc832x_mds.dts @@ -356,13 +356,11 @@  				interrupt-parent = <&ipic>;  				interrupts = <17 0x8>;  				reg = <0x3>; -				device_type = "ethernet-phy";  			};  			phy4: ethernet-phy@04 {  				interrupt-parent = <&ipic>;  				interrupts = <18 0x8>;  				reg = <0x4>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/mpc832x_rdb.dts b/arch/powerpc/boot/dts/mpc832x_rdb.dts index ff7b15b340a..91df1eb1666 100644 --- a/arch/powerpc/boot/dts/mpc832x_rdb.dts +++ b/arch/powerpc/boot/dts/mpc832x_rdb.dts @@ -314,13 +314,11 @@  				interrupt-parent = <&ipic>;  				interrupts = <0>;  				reg = <0x0>; -				device_type = "ethernet-phy";  			};  			phy04:ethernet-phy@04 {  				interrupt-parent = <&ipic>;  				interrupts = <0>;  				reg = <0x4>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/mpc8349emitx.dts b/arch/powerpc/boot/dts/mpc8349emitx.dts index 2608679d0d4..cf8542401a3 100644 --- a/arch/powerpc/boot/dts/mpc8349emitx.dts +++ b/arch/powerpc/boot/dts/mpc8349emitx.dts @@ -240,7 +240,6 @@  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x1c>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8349emitxgp.dts b/arch/powerpc/boot/dts/mpc8349emitxgp.dts index 6cd044d8fb8..f00066dcc8d 100644 --- a/arch/powerpc/boot/dts/mpc8349emitxgp.dts +++ b/arch/powerpc/boot/dts/mpc8349emitxgp.dts @@ -176,7 +176,6 @@  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x1c>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc834x_mds.dts b/arch/powerpc/boot/dts/mpc834x_mds.dts index 4552864082c..4843c3ff716 100644 --- a/arch/powerpc/boot/dts/mpc834x_mds.dts +++ b/arch/powerpc/boot/dts/mpc834x_mds.dts @@ -193,14 +193,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc836x_mds.dts b/arch/powerpc/boot/dts/mpc836x_mds.dts index 81dd513d630..ecb6ccd3a6a 100644 --- a/arch/powerpc/boot/dts/mpc836x_mds.dts +++ b/arch/powerpc/boot/dts/mpc836x_mds.dts @@ -397,13 +397,11 @@  				interrupt-parent = <&ipic>;  				interrupts = <17 0x8>;  				reg = <0x0>; -				device_type = "ethernet-phy";  			};  			phy1: ethernet-phy@01 {  				interrupt-parent = <&ipic>;  				interrupts = <18 0x8>;  				reg = <0x1>; -				device_type = "ethernet-phy";  			};  			tbi-phy@2 {  				device_type = "tbi-phy"; diff --git a/arch/powerpc/boot/dts/mpc836x_rdk.dts b/arch/powerpc/boot/dts/mpc836x_rdk.dts index b6e9aec1d86..daeacbdcf8b 100644 --- a/arch/powerpc/boot/dts/mpc836x_rdk.dts +++ b/arch/powerpc/boot/dts/mpc836x_rdk.dts @@ -332,25 +332,21 @@  				reg = <0x2120 0x18>;  				phy1: ethernet-phy@1 { -					device_type = "ethernet-phy";  					compatible = "national,DP83848VV";  					reg = <1>;  				};  				phy2: ethernet-phy@2 { -					device_type = "ethernet-phy";  					compatible = "broadcom,BCM5481UA2KMLG";  					reg = <2>;  				};  				phy3: ethernet-phy@3 { -					device_type = "ethernet-phy";  					compatible = "national,DP83848VV";  					reg = <3>;  				};  				phy4: ethernet-phy@4 { -					device_type = "ethernet-phy";  					compatible = "broadcom,BCM5481UA2KMLG";  					reg = <4>;  				}; diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts index cfccef57cd1..c2c062e8175 100644 --- a/arch/powerpc/boot/dts/mpc8377_mds.dts +++ b/arch/powerpc/boot/dts/mpc8377_mds.dts @@ -225,14 +225,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts index 353deff1b7f..2b4b6532d69 100644 --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts @@ -277,7 +277,6 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8377_wlan.dts b/arch/powerpc/boot/dts/mpc8377_wlan.dts index ef4a305a0d0..c0c790168b9 100644 --- a/arch/powerpc/boot/dts/mpc8377_wlan.dts +++ b/arch/powerpc/boot/dts/mpc8377_wlan.dts @@ -253,14 +253,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8378_mds.dts b/arch/powerpc/boot/dts/mpc8378_mds.dts index 538fcb92733..1b82b77f941 100644 --- a/arch/powerpc/boot/dts/mpc8378_mds.dts +++ b/arch/powerpc/boot/dts/mpc8378_mds.dts @@ -264,14 +264,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts index 32333a908f3..74b6a535a41 100644 --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts @@ -277,7 +277,6 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8379_mds.dts b/arch/powerpc/boot/dts/mpc8379_mds.dts index 5387092fdfb..38e5048d65d 100644 --- a/arch/powerpc/boot/dts/mpc8379_mds.dts +++ b/arch/powerpc/boot/dts/mpc8379_mds.dts @@ -262,14 +262,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&ipic>;  					interrupts = <18 0x8>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts index 46224c2430f..3b5cbac8536 100644 --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts @@ -275,7 +275,6 @@  					interrupt-parent = <&ipic>;  					interrupts = <17 0x8>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/mpc8536ds.dtsi b/arch/powerpc/boot/dts/mpc8536ds.dtsi index 7c3dde84d19..937ad7e4611 100644 --- a/arch/powerpc/boot/dts/mpc8536ds.dtsi +++ b/arch/powerpc/boot/dts/mpc8536ds.dtsi @@ -200,12 +200,10 @@  		phy0: ethernet-phy@0 {  			interrupts = <10 0x1 0 0>;  			reg = <0>; -			device_type = "ethernet-phy";  		};  		phy1: ethernet-phy@1 {  			interrupts = <10 0x1 0 0>;  			reg = <1>; -			device_type = "ethernet-phy";  		};  		sgmii_phy0: sgmii-phy@0 {  			interrupts = <6 1 0 0>; diff --git a/arch/powerpc/boot/dts/mpc8540ads.dts b/arch/powerpc/boot/dts/mpc8540ads.dts index 2d31863accf..7ce274c9a2d 100644 --- a/arch/powerpc/boot/dts/mpc8540ads.dts +++ b/arch/powerpc/boot/dts/mpc8540ads.dts @@ -165,19 +165,16 @@  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <7 1>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8541cds.dts b/arch/powerpc/boot/dts/mpc8541cds.dts index 1c03c266737..4d35a3e0fb0 100644 --- a/arch/powerpc/boot/dts/mpc8541cds.dts +++ b/arch/powerpc/boot/dts/mpc8541cds.dts @@ -165,13 +165,11 @@  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8544ds.dtsi b/arch/powerpc/boot/dts/mpc8544ds.dtsi index b219d035d79..47d986b041f 100644 --- a/arch/powerpc/boot/dts/mpc8544ds.dtsi +++ b/arch/powerpc/boot/dts/mpc8544ds.dtsi @@ -82,12 +82,10 @@  		phy0: ethernet-phy@0 {  			interrupts = <10 1 0 0>;  			reg = <0x0>; -			device_type = "ethernet-phy";  		};  		phy1: ethernet-phy@1 {  			interrupts = <10 1 0 0>;  			reg = <0x1>; -			device_type = "ethernet-phy";  		};  		sgmii_phy0: sgmii-phy@0 { diff --git a/arch/powerpc/boot/dts/mpc8548cds.dtsi b/arch/powerpc/boot/dts/mpc8548cds.dtsi index c61f525e474..3bc7d471122 100644 --- a/arch/powerpc/boot/dts/mpc8548cds.dtsi +++ b/arch/powerpc/boot/dts/mpc8548cds.dtsi @@ -109,22 +109,18 @@  		phy0: ethernet-phy@0 {  			interrupts = <5 1 0 0>;  			reg = <0x0>; -			device_type = "ethernet-phy";  		};  		phy1: ethernet-phy@1 {  			interrupts = <5 1 0 0>;  			reg = <0x1>; -			device_type = "ethernet-phy";  		};  		phy2: ethernet-phy@2 {  			interrupts = <5 1 0 0>;  			reg = <0x2>; -			device_type = "ethernet-phy";  		};  		phy3: ethernet-phy@3 {  			interrupts = <5 1 0 0>;  			reg = <0x3>; -			device_type = "ethernet-phy";  		};  		tbi0: tbi-phy@11 {  			reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8555cds.dts b/arch/powerpc/boot/dts/mpc8555cds.dts index 36a7ea138c2..f115f21cb0a 100644 --- a/arch/powerpc/boot/dts/mpc8555cds.dts +++ b/arch/powerpc/boot/dts/mpc8555cds.dts @@ -165,13 +165,11 @@  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8560ads.dts b/arch/powerpc/boot/dts/mpc8560ads.dts index 1a43f5a968f..0d70921d612 100644 --- a/arch/powerpc/boot/dts/mpc8560ads.dts +++ b/arch/powerpc/boot/dts/mpc8560ads.dts @@ -154,25 +154,21 @@  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <7 1>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <7 1>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8568mds.dts b/arch/powerpc/boot/dts/mpc8568mds.dts index 09598bb5d44..bead2b655b9 100644 --- a/arch/powerpc/boot/dts/mpc8568mds.dts +++ b/arch/powerpc/boot/dts/mpc8568mds.dts @@ -91,22 +91,18 @@  			phy0: ethernet-phy@7 {  				interrupts = <1 1 0 0>;  				reg = <0x7>; -				device_type = "ethernet-phy";  			};  			phy1: ethernet-phy@1 {  				interrupts = <2 1 0 0>;  				reg = <0x1>; -				device_type = "ethernet-phy";  			};  			phy2: ethernet-phy@2 {  				interrupts = <1 1 0 0>;  				reg = <0x2>; -				device_type = "ethernet-phy";  			};  			phy3: ethernet-phy@3 {  				interrupts = <2 1 0 0>;  				reg = <0x3>; -				device_type = "ethernet-phy";  			};  			tbi0: tbi-phy@11 {  				reg = <0x11>; @@ -236,25 +232,21 @@  				interrupt-parent = <&mpic>;  				interrupts = <1 1 0 0>;  				reg = <0x7>; -				device_type = "ethernet-phy";  			};  			qe_phy1: ethernet-phy@01 {  				interrupt-parent = <&mpic>;  				interrupts = <2 1 0 0>;  				reg = <0x1>; -				device_type = "ethernet-phy";  			};  			qe_phy2: ethernet-phy@02 {  				interrupt-parent = <&mpic>;  				interrupts = <1 1 0 0>;  				reg = <0x2>; -				device_type = "ethernet-phy";  			};  			qe_phy3: ethernet-phy@03 {  				interrupt-parent = <&mpic>;  				interrupts = <2 1 0 0>;  				reg = <0x3>; -				device_type = "ethernet-phy";  			};  		};  	}; diff --git a/arch/powerpc/boot/dts/mpc8569mds.dts b/arch/powerpc/boot/dts/mpc8569mds.dts index fe0d60935e9..d0dcdafa5eb 100644 --- a/arch/powerpc/boot/dts/mpc8569mds.dts +++ b/arch/powerpc/boot/dts/mpc8569mds.dts @@ -276,33 +276,27 @@  				interrupt-parent = <&mpic>;  				interrupts = <1 1 0 0>;  				reg = <0x7>; -				device_type = "ethernet-phy";  			};  			qe_phy1: ethernet-phy@01 {  				interrupt-parent = <&mpic>;  				interrupts = <2 1 0 0>;  				reg = <0x1>; -				device_type = "ethernet-phy";  			};  			qe_phy2: ethernet-phy@02 {  				interrupt-parent = <&mpic>;  				interrupts = <3 1 0 0>;  				reg = <0x2>; -				device_type = "ethernet-phy";  			};  			qe_phy3: ethernet-phy@03 {  				interrupt-parent = <&mpic>;  				interrupts = <4 1 0 0>;  				reg = <0x3>; -				device_type = "ethernet-phy";  			};  			qe_phy5: ethernet-phy@04 {  				reg = <0x04>; -				device_type = "ethernet-phy";  			};  			qe_phy7: ethernet-phy@06 {  				reg = <0x6>; -				device_type = "ethernet-phy";  			};  			tbi1: tbi-phy@11 {  				reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts b/arch/powerpc/boot/dts/mpc8641_hpcn.dts index 1e8666ccbed..1c03060dd0b 100644 --- a/arch/powerpc/boot/dts/mpc8641_hpcn.dts +++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts @@ -211,25 +211,21 @@  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts b/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts index fd4cd4da60b..bb575e28042 100644 --- a/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts +++ b/arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts @@ -211,25 +211,21 @@  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <0>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/mpc866ads.dts b/arch/powerpc/boot/dts/mpc866ads.dts index bd700651f36..34c1f48b1a0 100644 --- a/arch/powerpc/boot/dts/mpc866ads.dts +++ b/arch/powerpc/boot/dts/mpc866ads.dts @@ -74,7 +74,6 @@  			#size-cells = <0>;  			PHY: ethernet-phy@f {  				reg = <0xf>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/mpc885ads.dts b/arch/powerpc/boot/dts/mpc885ads.dts index b123e9f7a5a..4e93bd961e0 100644 --- a/arch/powerpc/boot/dts/mpc885ads.dts +++ b/arch/powerpc/boot/dts/mpc885ads.dts @@ -86,17 +86,14 @@  			PHY0: ethernet-phy@0 {  				reg = <0x0>; -				device_type = "ethernet-phy";  			};  			PHY1: ethernet-phy@1 {  				reg = <0x1>; -				device_type = "ethernet-phy";  			};  			PHY2: ethernet-phy@2 {  				reg = <0x2>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/mvme5100.dts b/arch/powerpc/boot/dts/mvme5100.dts new file mode 100644 index 00000000000..1ecb341a232 --- /dev/null +++ b/arch/powerpc/boot/dts/mvme5100.dts @@ -0,0 +1,185 @@ +/* + * Device Tree Source for Motorola/Emerson MVME5100. + * + * Copyright 2013 CSC Australia Pty. Ltd. + * + * This file is licensed under the terms of the GNU General Public + * License version 2.  This program is licensed "as is" without + * any warranty of any kind, whether express or implied. + */ + +/dts-v1/; + +/ { +	model = "MVME5100"; +	compatible = "MVME5100"; +	#address-cells = <1>; +	#size-cells = <1>; + +	aliases { +		serial0 = &serial0; +		pci0 = &pci0; +	}; + +	cpus { +		#address-cells = <1>; +		#size-cells = <0>; + +		PowerPC,7410 { +			device_type = "cpu"; +			reg = <0x0>; +			/* Following required by dtc but not used */ +			d-cache-line-size = <32>; +			i-cache-line-size = <32>; +			i-cache-size = <32768>; +			d-cache-size = <32768>; +			timebase-frequency = <25000000>; +			clock-frequency = <500000000>; +			bus-frequency = <100000000>; +		}; +	}; + +	memory { +		device_type = "memory"; +		reg = <0x0 0x20000000>; +	}; + +	hawk@fef80000 { +		#address-cells = <1>; +		#size-cells = <1>; +		compatible = "hawk-bridge", "simple-bus"; +		ranges = <0x0 0xfef80000 0x10000>; +		reg = <0xfef80000 0x10000>; + +		serial0: serial@8000 { +			device_type = "serial"; +			compatible = "ns16550"; +			reg = <0x8000 0x80>; +			reg-shift = <4>; +			clock-frequency = <1843200>; +			current-speed = <9600>; +			interrupts = <1 1>; // IRQ1 Level Active Low. +			interrupt-parent = <&mpic>; +		}; + +		serial1: serial@8200 { +			device_type = "serial"; +			compatible = "ns16550"; +			reg = <0x8200 0x80>; +			reg-shift = <4>; +			clock-frequency = <1843200>; +			current-speed = <9600>; +			interrupts = <1 1>; // IRQ1 Level Active Low. +			interrupt-parent = <&mpic>; +		}; + +		mpic: interrupt-controller@f3f80000 { +			#interrupt-cells = <2>; +			#address-cells = <0>; +			device_type = "open-pic"; +			compatible = "chrp,open-pic"; +			interrupt-controller; +			reg = <0xf3f80000 0x40000>; +		}; +	}; + +	pci0: pci@feff0000 { +		#address-cells = <3>; +		#size-cells = <2>; +		#interrupt-cells = <1>; +		device_type = "pci"; +		compatible = "hawk-pci"; +		reg = <0xfec00000 0x400000>; +		8259-interrupt-acknowledge = <0xfeff0030>; +		ranges = <0x1000000 0x0        0x0 0xfe000000 0x0 0x800000 +			  0x2000000 0x0 0x80000000 0x80000000 0x0 0x74000000>; +		bus-range = <0 255>; +		clock-frequency = <33333333>; +		interrupt-parent = <&mpic>; +		interrupt-map-mask = <0xf800 0x0 0x0 0x7>; +		interrupt-map = < + +			/* +			 * This definition (IDSEL 11) duplicates the +			 * interrupts definition in the i8259 +			 * interrupt controller below. +			 * +			 * Do not change the interrupt sense/polarity from +			 * 0x2 to anything else, doing so will cause endless +			 * "spurious" i8259 interrupts to be fielded. +			 */ +			// IDSEL 11 - iPMC712 PCI/ISA Bridge +			0x5800 0x0 0x0 0x1 &mpic 0x0 0x2 +			0x5800 0x0 0x0 0x2 &mpic 0x0 0x2 +			0x5800 0x0 0x0 0x3 &mpic 0x0 0x2 +			0x5800 0x0 0x0 0x4 &mpic 0x0 0x2 + +			/* IDSEL 12 - Not Used */ + +			/* IDSEL 13 - Universe VME Bridge */ +			0x6800 0x0 0x0 0x1 &mpic 0x5 0x1 +			0x6800 0x0 0x0 0x2 &mpic 0x6 0x1 +			0x6800 0x0 0x0 0x3 &mpic 0x7 0x1 +			0x6800 0x0 0x0 0x4 &mpic 0x8 0x1 + +			/* IDSEL 14 - ENET 1 */ +			0x7000 0x0 0x0 0x1 &mpic 0x2 0x1 + +			/* IDSEL 15 - Not Used */ + +			/* IDSEL 16 - PMC Slot 1 */ +			0x8000 0x0 0x0 0x1 &mpic 0x9 0x1 +			0x8000 0x0 0x0 0x2 &mpic 0xa 0x1 +			0x8000 0x0 0x0 0x3 &mpic 0xb 0x1 +			0x8000 0x0 0x0 0x4 &mpic 0xc 0x1 + +			/* IDSEL 17 - PMC Slot 2 */ +			0x8800 0x0 0x0 0x1 &mpic 0xc 0x1 +			0x8800 0x0 0x0 0x2 &mpic 0x9 0x1 +			0x8800 0x0 0x0 0x3 &mpic 0xa 0x1 +			0x8800 0x0 0x0 0x4 &mpic 0xb 0x1 + +			/* IDSEL 18 - Not Used */ + +			/* IDSEL 19 - ENET 2 */ +			0x9800 0x0 0x0 0x1 &mpic 0xd 0x1 + +			/* IDSEL 20 - PMCSPAN (PCI-X) */ +			0xa000 0x0 0x0 0x1 &mpic 0x9 0x1 +			0xa000 0x0 0x0 0x2 &mpic 0xa 0x1 +			0xa000 0x0 0x0 0x3 &mpic 0xb 0x1 +			0xa000 0x0 0x0 0x4 &mpic 0xc 0x1 + +		>; + +		isa { +			#address-cells = <2>; +			#size-cells = <1>; +			#interrupt-cells = <2>; +			device_type = "isa"; +			compatible = "isa"; +			ranges = <0x00000001 0 0x01000000 0 0x00000000 0x00001000>; +			interrupt-parent = <&i8259>; + +			i8259: interrupt-controller@20 { +				#interrupt-cells = <2>; +				#address-cells = <0>; +				interrupts = <0 2>; +				device_type = "interrupt-controller"; +				compatible = "chrp,iic"; +				interrupt-controller; +				reg = <1 0x00000020 0x00000002 +                                       1 0x000000a0 0x00000002 +                                       1 0x000004d0 0x00000002>; +				interrupt-parent = <&mpic>; +			}; + +		}; + +	}; + +	chosen { +		linux,stdout-path = &serial0; +        }; + +}; diff --git a/arch/powerpc/boot/dts/oca4080.dts b/arch/powerpc/boot/dts/oca4080.dts new file mode 100644 index 00000000000..3d4c751d160 --- /dev/null +++ b/arch/powerpc/boot/dts/oca4080.dts @@ -0,0 +1,118 @@ +/* + * OCA4080 Device Tree Source + * + * Copyright 2014 Prodrive Technologies B.V. + * + * Based on: + * P4080DS Device Tree Source + * Copyright 2009-2011 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/include/ "fsl/p4080si-pre.dtsi" + +/ { +	model = "fsl,OCA4080"; +	compatible = "fsl,OCA4080"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	memory { +		device_type = "memory"; +	}; + +	dcsr: dcsr@f00000000 { +		ranges = <0x00000000 0xf 0x00000000 0x01008000>; +	}; + +	soc: soc@ffe000000 { +		ranges = <0x00000000 0xf 0xfe000000 0x1000000>; +		reg = <0xf 0xfe000000 0 0x00001000>; + +		i2c@118000 { +			status = "disabled"; +		}; + +		i2c@118100 { +			status = "disabled"; +		}; + +		i2c@119000 { +			status = "disabled"; +		}; + +		i2c@119100 { +			status = "disabled"; +		}; + +		usb0: usb@210000 { +			status = "disabled"; +		}; + +		usb1: usb@211000 { +			status = "disabled"; +		}; +	}; + +	rio: rapidio@ffe0c0000 { +		reg = <0xf 0xfe0c0000 0 0x11000>; + +		port1 { +			ranges = <0 0 0xc 0x20000000 0 0x10000000>; +		}; +	}; + +	lbc: localbus@ffe124000 { +		reg = <0xf 0xfe124000 0 0x1000>; +		ranges = <0 0 0xf 0xef800000 0x800000>; + +		flash@0,0 { +			compatible = "cfi-flash"; +			reg = <0 0 0x00800000>; +			bank-width = <2>; +			device-width = <2>; +		}; +	}; + +	pci0: pcie@ffe200000 { +		status = "disabled"; +	}; + +	pci1: pcie@ffe201000 { +		status = "disabled"; +	}; + +	pci2: pcie@ffe202000 { +		status = "disabled"; +	}; +}; + +/include/ "fsl/p4080si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1010rdb-pa.dts b/arch/powerpc/boot/dts/p1010rdb-pa.dts new file mode 100644 index 00000000000..767d4c03285 --- /dev/null +++ b/arch/powerpc/boot/dts/p1010rdb-pa.dts @@ -0,0 +1,23 @@ +/* + * P1010 RDB Device Tree Source + * + * Copyright 2011 Freescale Semiconductor Inc. + * + * This program is free software; you can redistribute  it and/or modify it + * under  the terms of  the GNU General  Public License as published by the + * Free Software Foundation;  either version 2 of the  License, or (at your + * option) any later version. + */ + +/include/ "fsl/p1010si-pre.dtsi" + +/ { +	model = "fsl,P1010RDB"; +	compatible = "fsl,P1010RDB"; + +	/include/ "p1010rdb_32b.dtsi" +}; + +/include/ "p1010rdb.dtsi" +/include/ "p1010rdb-pa.dtsi" +/include/ "fsl/p1010si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1010rdb-pa.dtsi b/arch/powerpc/boot/dts/p1010rdb-pa.dtsi new file mode 100644 index 00000000000..434fb2d5857 --- /dev/null +++ b/arch/powerpc/boot/dts/p1010rdb-pa.dtsi @@ -0,0 +1,85 @@ +/* + * P1010 RDB Device Tree Source stub (no addresses or top-level ranges) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +&ifc_nand { +	partition@0 { +		/* This location must not be altered  */ +		/* 1MB for u-boot Bootloader Image */ +		reg = <0x0 0x00100000>; +		label = "NAND U-Boot Image"; +		read-only; +	}; + +	partition@100000 { +		/* 1MB for DTB Image */ +		reg = <0x00100000 0x00100000>; +		label = "NAND DTB Image"; +	}; + +	partition@200000 { +		/* 4MB for Linux Kernel Image */ +		reg = <0x00200000 0x00400000>; +		label = "NAND Linux Kernel Image"; +	}; + +	partition@600000 { +		/* 4MB for Compressed Root file System Image */ +		reg = <0x00600000 0x00400000>; +		label = "NAND Compressed RFS Image"; +	}; + +	partition@a00000 { +		/* 15MB for JFFS2 based Root file System */ +		reg = <0x00a00000 0x00f00000>; +		label = "NAND JFFS2 Root File System"; +	}; + +	partition@1900000 { +		/* 7MB for User Area */ +		reg = <0x01900000 0x00700000>; +		label = "NAND User area"; +	}; +}; + +&phy0 { +	interrupts = <1 1 0 0>; +}; + +&phy1 { +	interrupts = <2 1 0 0>; +}; + +&phy2 { +	interrupts = <4 1 0 0>; +}; diff --git a/arch/powerpc/boot/dts/p1010rdb_36b.dts b/arch/powerpc/boot/dts/p1010rdb-pa_36b.dts index 64776f4a465..3033371bc00 100644 --- a/arch/powerpc/boot/dts/p1010rdb_36b.dts +++ b/arch/powerpc/boot/dts/p1010rdb-pa_36b.dts @@ -38,52 +38,9 @@  	model = "fsl,P1010RDB";  	compatible = "fsl,P1010RDB"; -	memory { -		device_type = "memory"; -	}; - -	board_ifc: ifc: ifc@fffe1e000 { -		/* NOR, NAND Flashes and CPLD on board */ -		ranges = <0x0 0x0 0xf 0xee000000 0x02000000 -			  0x1 0x0 0xf 0xff800000 0x00010000 -			  0x3 0x0 0xf 0xffb00000 0x00000020>; -		reg = <0xf 0xffe1e000 0 0x2000>; -	}; - -	board_soc: soc: soc@fffe00000 { -		ranges = <0x0 0xf 0xffe00000 0x100000>; -	}; - -	pci0: pcie@fffe09000 { -		reg = <0xf 0xffe09000 0 0x1000>; -		ranges = <0x2000000 0x0 0xc0000000 0xc 0x20000000 0x0 0x20000000 -			  0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000>; -		pcie@0 { -			ranges = <0x2000000 0x0 0xc0000000 -				  0x2000000 0x0 0xc0000000 -				  0x0 0x20000000 - -				  0x1000000 0x0 0x0 -				  0x1000000 0x0 0x0 -				  0x0 0x100000>; -		}; -	}; - -	pci1: pcie@fffe0a000 { -		reg = <0xf 0xffe0a000 0 0x1000>; -		ranges = <0x2000000 0x0 0xc0000000 0xc 0x20000000 0x0 0x20000000 -			  0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000>; -		pcie@0 { -			ranges = <0x2000000 0x0 0xc0000000 -				  0x2000000 0x0 0xc0000000 -				  0x0 0x20000000 - -				  0x1000000 0x0 0x0 -				  0x1000000 0x0 0x0 -				  0x0 0x100000>; -		}; -	}; +	/include/ "p1010rdb_36b.dtsi"  };  /include/ "p1010rdb.dtsi" +/include/ "p1010rdb-pa.dtsi"  /include/ "fsl/p1010si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1010rdb-pb.dts b/arch/powerpc/boot/dts/p1010rdb-pb.dts new file mode 100644 index 00000000000..6eeb7d3185b --- /dev/null +++ b/arch/powerpc/boot/dts/p1010rdb-pb.dts @@ -0,0 +1,35 @@ +/* + * P1010 RDB Device Tree Source + * + * Copyright 2011 Freescale Semiconductor Inc. + * + * This program is free software; you can redistribute  it and/or modify it + * under  the terms of  the GNU General  Public License as published by the + * Free Software Foundation;  either version 2 of the  License, or (at your + * option) any later version. + */ + +/include/ "fsl/p1010si-pre.dtsi" + +/ { +	model = "fsl,P1010RDB-PB"; +	compatible = "fsl,P1010RDB-PB"; + +	/include/ "p1010rdb_32b.dtsi" +}; + +/include/ "p1010rdb.dtsi" + +&phy0 { +	interrupts = <0 1 0 0>; +}; + +&phy1 { +	interrupts = <2 1 0 0>; +}; + +&phy2 { +	interrupts = <1 1 0 0>; +}; + +/include/ "fsl/p1010si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1010rdb-pb_36b.dts b/arch/powerpc/boot/dts/p1010rdb-pb_36b.dts new file mode 100644 index 00000000000..7ab3c907b32 --- /dev/null +++ b/arch/powerpc/boot/dts/p1010rdb-pb_36b.dts @@ -0,0 +1,58 @@ +/* + * P1010 RDB Device Tree Source (36-bit address map) + * + * Copyright 2011 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/include/ "fsl/p1010si-pre.dtsi" + +/ { +	model = "fsl,P1010RDB-PB"; +	compatible = "fsl,P1010RDB-PB"; + +	/include/ "p1010rdb_36b.dtsi" +}; + +/include/ "p1010rdb.dtsi" + +&phy0 { +	interrupts = <0 1 0 0>; +}; + +&phy1 { +	interrupts = <2 1 0 0>; +}; + +&phy2 { +	interrupts = <1 1 0 0>; +}; + +/include/ "fsl/p1010si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1010rdb.dts b/arch/powerpc/boot/dts/p1010rdb.dts deleted file mode 100644 index b868d22984e..00000000000 --- a/arch/powerpc/boot/dts/p1010rdb.dts +++ /dev/null @@ -1,66 +0,0 @@ -/* - * P1010 RDB Device Tree Source - * - * Copyright 2011 Freescale Semiconductor Inc. - * - * This program is free software; you can redistribute  it and/or modify it - * under  the terms of  the GNU General  Public License as published by the - * Free Software Foundation;  either version 2 of the  License, or (at your - * option) any later version. - */ - -/include/ "fsl/p1010si-pre.dtsi" - -/ { -	model = "fsl,P1010RDB"; -	compatible = "fsl,P1010RDB"; - -	memory { -		device_type = "memory"; -	}; - -	board_ifc: ifc: ifc@ffe1e000 { -		/* NOR, NAND Flashes and CPLD on board */ -		ranges = <0x0 0x0 0x0 0xee000000 0x02000000 -			  0x1 0x0 0x0 0xff800000 0x00010000 -			  0x3 0x0 0x0 0xffb00000 0x00000020>; -		reg = <0x0 0xffe1e000 0 0x2000>; -	}; - -	board_soc: soc: soc@ffe00000 { -		ranges = <0x0 0x0 0xffe00000 0x100000>; -	}; - -	pci0: pcie@ffe09000 { -		reg = <0 0xffe09000 0 0x1000>; -		ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 -			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; -		pcie@0 { -			ranges = <0x2000000 0x0 0xa0000000 -				  0x2000000 0x0 0xa0000000 -				  0x0 0x20000000 - -				  0x1000000 0x0 0x0 -				  0x1000000 0x0 0x0 -				  0x0 0x100000>; -		}; -	}; - -	pci1: pcie@ffe0a000 { -		reg = <0 0xffe0a000 0 0x1000>; -		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 -			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; -		pcie@0 { -			ranges = <0x2000000 0x0 0x80000000 -				  0x2000000 0x0 0x80000000 -				  0x0 0x20000000 - -				  0x1000000 0x0 0x0 -				  0x1000000 0x0 0x0 -				  0x0 0x100000>; -		}; -	}; -}; - -/include/ "p1010rdb.dtsi" -/include/ "fsl/p1010si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1010rdb.dtsi b/arch/powerpc/boot/dts/p1010rdb.dtsi index ec7c27a6467..ea534efa790 100644 --- a/arch/powerpc/boot/dts/p1010rdb.dtsi +++ b/arch/powerpc/boot/dts/p1010rdb.dtsi @@ -69,49 +69,11 @@  		};  	}; -	nand@1,0 { +	ifc_nand: nand@1,0 {  		#address-cells = <1>;  		#size-cells = <1>;  		compatible = "fsl,ifc-nand";  		reg = <0x1 0x0 0x10000>; - -		partition@0 { -			/* This location must not be altered  */ -			/* 1MB for u-boot Bootloader Image */ -			reg = <0x0 0x00100000>; -			label = "NAND U-Boot Image"; -			read-only; -		}; - -		partition@100000 { -			/* 1MB for DTB Image */ -			reg = <0x00100000 0x00100000>; -			label = "NAND DTB Image"; -		}; - -		partition@200000 { -			/* 4MB for Linux Kernel Image */ -			reg = <0x00200000 0x00400000>; -			label = "NAND Linux Kernel Image"; -		}; - -		partition@600000 { -			/* 4MB for Compressed Root file System Image */ -			reg = <0x00600000 0x00400000>; -			label = "NAND Compressed RFS Image"; -		}; - -		partition@a00000 { -			/* 15MB for JFFS2 based Root file System */ -			reg = <0x00a00000 0x00f00000>; -			label = "NAND JFFS2 Root File System"; -		}; - -		partition@1900000 { -			/* 7MB for User Area */ -			reg = <0x01900000 0x00700000>; -			label = "NAND User area"; -		};  	};  	cpld@3,0 { @@ -193,17 +155,14 @@  	mdio@24000 {  		phy0: ethernet-phy@0 { -			interrupts = <3 1 0 0>;  			reg = <0x1>;  		};  		phy1: ethernet-phy@1 { -			interrupts = <2 1 0 0>;  			reg = <0x0>;  		};  		phy2: ethernet-phy@2 { -			interrupts = <2 1 0 0>;  			reg = <0x2>;  		}; diff --git a/arch/powerpc/boot/dts/p1010rdb_32b.dtsi b/arch/powerpc/boot/dts/p1010rdb_32b.dtsi new file mode 100644 index 00000000000..fdc19aab2f7 --- /dev/null +++ b/arch/powerpc/boot/dts/p1010rdb_32b.dtsi @@ -0,0 +1,79 @@ +/* + * P1010 RDB Device Tree Source stub (no addresses or top-level ranges) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +memory { +	device_type = "memory"; +}; + +board_ifc: ifc: ifc@ffe1e000 { +	/* NOR, NAND Flashes and CPLD on board */ +	ranges = <0x0 0x0 0x0 0xee000000 0x02000000 +		  0x1 0x0 0x0 0xff800000 0x00010000 +		  0x3 0x0 0x0 0xffb00000 0x00000020>; +	reg = <0x0 0xffe1e000 0 0x2000>; +}; + +board_soc: soc: soc@ffe00000 { +	ranges = <0x0 0x0 0xffe00000 0x100000>; +}; + +pci0: pcie@ffe09000 { +	reg = <0 0xffe09000 0 0x1000>; +	ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 +		  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; +	pcie@0 { +		ranges = <0x2000000 0x0 0xa0000000 +			  0x2000000 0x0 0xa0000000 +			  0x0 0x20000000 + +			  0x1000000 0x0 0x0 +			  0x1000000 0x0 0x0 +			  0x0 0x100000>; +	}; +}; + +pci1: pcie@ffe0a000 { +	reg = <0 0xffe0a000 0 0x1000>; +	ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 +		  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; +	pcie@0 { +		ranges = <0x2000000 0x0 0x80000000 +			  0x2000000 0x0 0x80000000 +			  0x0 0x20000000 + +			  0x1000000 0x0 0x0 +			  0x1000000 0x0 0x0 +			  0x0 0x100000>; +	}; +}; diff --git a/arch/powerpc/boot/dts/p1010rdb_36b.dtsi b/arch/powerpc/boot/dts/p1010rdb_36b.dtsi new file mode 100644 index 00000000000..de2fceed4f7 --- /dev/null +++ b/arch/powerpc/boot/dts/p1010rdb_36b.dtsi @@ -0,0 +1,79 @@ +/* + * P1010 RDB Device Tree Source stub (no addresses or top-level ranges) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +memory { +	device_type = "memory"; +}; + +board_ifc: ifc: ifc@fffe1e000 { +	/* NOR, NAND Flashes and CPLD on board */ +	ranges = <0x0 0x0 0xf 0xee000000 0x02000000 +		  0x1 0x0 0xf 0xff800000 0x00010000 +		  0x3 0x0 0xf 0xffb00000 0x00000020>; +	reg = <0xf 0xffe1e000 0 0x2000>; +}; + +board_soc: soc: soc@fffe00000 { +	ranges = <0x0 0xf 0xffe00000 0x100000>; +}; + +pci0: pcie@fffe09000 { +	reg = <0xf 0xffe09000 0 0x1000>; +	ranges = <0x2000000 0x0 0xc0000000 0xc 0x20000000 0x0 0x20000000 +		  0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000>; +	pcie@0 { +		ranges = <0x2000000 0x0 0xc0000000 +			  0x2000000 0x0 0xc0000000 +			  0x0 0x20000000 + +			  0x1000000 0x0 0x0 +			  0x1000000 0x0 0x0 +			  0x0 0x100000>; +	}; +}; + +pci1: pcie@fffe0a000 { +	reg = <0xf 0xffe0a000 0 0x1000>; +	ranges = <0x2000000 0x0 0xc0000000 0xc 0x20000000 0x0 0x20000000 +		  0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000>; +	pcie@0 { +		ranges = <0x2000000 0x0 0xc0000000 +			  0x2000000 0x0 0xc0000000 +			  0x0 0x20000000 + +			  0x1000000 0x0 0x0 +			  0x1000000 0x0 0x0 +			  0x0 0x100000>; +	}; +}; diff --git a/arch/powerpc/boot/dts/p1021mds.dts b/arch/powerpc/boot/dts/p1021mds.dts index 97116f198a3..76559044df4 100644 --- a/arch/powerpc/boot/dts/p1021mds.dts +++ b/arch/powerpc/boot/dts/p1021mds.dts @@ -295,13 +295,11 @@  				interrupt-parent = <&mpic>;  				interrupts = <4 1 0 0>;  				reg = <0x0>; -				device_type = "ethernet-phy";  			};  			qe_phy1: ethernet-phy@03 {  				interrupt-parent = <&mpic>;  				interrupts = <5 1 0 0>;  				reg = <0x3>; -				device_type = "ethernet-phy";  			};  			tbi-phy@11 {  				reg = <0x11>; diff --git a/arch/powerpc/boot/dts/p1022ds.dtsi b/arch/powerpc/boot/dts/p1022ds.dtsi index 873da350d01..957e0dc1dc0 100644 --- a/arch/powerpc/boot/dts/p1022ds.dtsi +++ b/arch/powerpc/boot/dts/p1022ds.dtsi @@ -146,8 +146,9 @@  			 */  		};  		rtc@68 { -			compatible = "dallas,ds1339"; +			compatible = "dallas,ds3232";  			reg = <0x68>; +			interrupts = <0x1 0x1 0 0>;  		};  		adt7461@4c {  			compatible = "adi,adt7461"; diff --git a/arch/powerpc/boot/dts/p1023rds.dts b/arch/powerpc/boot/dts/p1023rds.dts deleted file mode 100644 index beb6cb12e59..00000000000 --- a/arch/powerpc/boot/dts/p1023rds.dts +++ /dev/null @@ -1,219 +0,0 @@ -/* - * P1023 RDS Device Tree Source - * - * Copyright 2010-2011 Freescale Semiconductor Inc. - * - * Author: Roy Zang <tie-fei.zang@freescale.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - *     * Redistributions of source code must retain the above copyright - *       notice, this list of conditions and the following disclaimer. - *     * Redistributions in binary form must reproduce the above copyright - *       notice, this list of conditions and the following disclaimer in the - *       documentation and/or other materials provided with the distribution. - *     * Neither the name of Freescale Semiconductor nor the - *       names of its contributors may be used to endorse or promote products - *       derived from this software without specific prior written permission. - * - * - * ALTERNATIVELY, this software may be distributed under the terms of the - * GNU General Public License ("GPL") as published by the Free Software - * Foundation, either version 2 of that License or (at your option) any - * later version. - * - * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/include/ "fsl/p1023si-pre.dtsi" - -/ { -	model = "fsl,P1023"; -	compatible = "fsl,P1023RDS"; -	#address-cells = <2>; -	#size-cells = <2>; -	interrupt-parent = <&mpic>; - -	memory { -		device_type = "memory"; -	}; - -	soc: soc@ff600000 { -		ranges = <0x0 0x0 0xff600000 0x200000>; - -		i2c@3000 { -			rtc@68 { -				compatible = "dallas,ds1374"; -				reg = <0x68>; -			}; -		}; - -		spi@7000 { -			fsl_dataflash@0 { -				#address-cells = <1>; -				#size-cells = <1>; -				compatible = "atmel,at45db081d"; -				reg = <0>; -				spi-max-frequency = <40000000>; /* input clock */ -				partition@u-boot { -					/* 512KB for u-boot Bootloader Image */ -					label = "u-boot-spi"; -					reg = <0x00000000 0x00080000>; -					read-only; -				}; -				partition@dtb { -					/* 512KB for DTB Image */ -					label = "dtb-spi"; -					reg = <0x00080000 0x00080000>; -					read-only; -				}; -			}; -		}; - -		usb@22000 { -			dr_mode = "host"; -			phy_type = "ulpi"; -		}; -	}; - -	lbc: localbus@ff605000 { -		reg = <0 0xff605000 0 0x1000>; - -		/* NOR Flash, BCSR */ -		ranges = <0x0 0x0 0x0 0xee000000 0x02000000 -			  0x1 0x0 0x0 0xe0000000 0x00008000>; - -		nor@0,0 { -			#address-cells = <1>; -			#size-cells = <1>; -			compatible = "cfi-flash"; -			reg = <0x0 0x0 0x02000000>; -			bank-width = <2>; -			device-width = <1>; -			partition@0 { -				label = "ramdisk"; -				reg = <0x00000000 0x01c00000>; -			}; -			partition@1c00000 { -				label = "kernel"; -				reg = <0x01c00000 0x002e0000>; -			}; -			partiton@1ee0000 { -				label = "dtb"; -				reg = <0x01ee0000 0x00020000>; -			}; -			partition@1f00000 { -				label = "firmware"; -				reg = <0x01f00000 0x00080000>; -				read-only; -			}; -			partition@1f80000 { -				label = "u-boot"; -				reg = <0x01f80000 0x00080000>; -				read-only; -			}; -		}; - -		fpga@1,0 { -			#address-cells = <1>; -			#size-cells = <1>; -			compatible = "fsl,p1023rds-fpga"; -			reg = <1 0 0x8000>; -			ranges = <0 1 0 0x8000>; - -			bcsr@20 { -				compatible = "fsl,p1023rds-bcsr"; -				reg = <0x20 0x20>; -			}; -		}; -	}; - -	pci0: pcie@ff60a000 { -		reg = <0 0xff60a000 0 0x1000>; -		ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 -			  0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; -		pcie@0 { -			/* IRQ[0:3] are pulled up on board, set to active-low */ -			interrupt-map-mask = <0xf800 0 0 7>; -			interrupt-map = < -				/* IDSEL 0x0 */ -				0000 0 0 1 &mpic 0 1 0 0 -				0000 0 0 2 &mpic 1 1 0 0 -				0000 0 0 3 &mpic 2 1 0 0 -				0000 0 0 4 &mpic 3 1 0 0 -				>; -			ranges = <0x2000000 0x0 0xc0000000 -				  0x2000000 0x0 0xc0000000 -				  0x0 0x20000000 - -				  0x1000000 0x0 0x0 -				  0x1000000 0x0 0x0 -				  0x0 0x100000>; -		}; -	}; - -	board_pci1: pci1: pcie@ff609000 { -		reg = <0 0xff609000 0 0x1000>; -		ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 -			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; -		pcie@0 { -			/* -			 * IRQ[4:6] only for PCIe, set to active-high, -			 * IRQ[7] is pulled up on board, set to active-low -			 */ -			interrupt-map-mask = <0xf800 0 0 7>; -			interrupt-map = < -				/* IDSEL 0x0 */ -				0000 0 0 1 &mpic 4 2 0 0 -				0000 0 0 2 &mpic 5 2 0 0 -				0000 0 0 3 &mpic 6 2 0 0 -				0000 0 0 4 &mpic 7 1 0 0 -				>; -			ranges = <0x2000000 0x0 0xa0000000 -				  0x2000000 0x0 0xa0000000 -				  0x0 0x20000000 - -				  0x1000000 0x0 0x0 -				  0x1000000 0x0 0x0 -				  0x0 0x100000>; -		}; -	}; - -	pci2: pcie@ff60b000 { -		reg = <0 0xff60b000 0 0x1000>; -		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 -			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; -		pcie@0 { -			/* -			 * IRQ[8:10] are pulled up on board, set to active-low -			 * IRQ[11] only for PCIe, set to active-high, -			 */ -			interrupt-map-mask = <0xf800 0 0 7>; -			interrupt-map = < -				/* IDSEL 0x0 */ -				0000 0 0 1 &mpic 8 1 0 0 -				0000 0 0 2 &mpic 9 1 0 0 -				0000 0 0 3 &mpic 10 1 0 0 -				0000 0 0 4 &mpic 11 2 0 0 -				>; -			ranges = <0x2000000 0x0 0x80000000 -				  0x2000000 0x0 0x80000000 -				  0x0 0x20000000 - -				  0x1000000 0x0 0x0 -				  0x1000000 0x0 0x0 -				  0x0 0x100000>; -		}; -	}; -}; - -/include/ "fsl/p1023si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1025rdb_32b.dts b/arch/powerpc/boot/dts/p1025rdb_32b.dts index ac5729c14ed..a2ed6280ba7 100644 --- a/arch/powerpc/boot/dts/p1025rdb_32b.dts +++ b/arch/powerpc/boot/dts/p1025rdb_32b.dts @@ -105,13 +105,11 @@  				interrupt-parent = <&mpic>;  				interrupts = <4 1 0 0>;  				reg = <0x6>; -				device_type = "ethernet-phy";  			};  			qe_phy1: ethernet-phy@03 {  				interrupt-parent = <&mpic>;  				interrupts = <5 1 0 0>;  				reg = <0x3>; -				device_type = "ethernet-phy";  			};  			tbi-phy@11 {  				reg = <0x11>; diff --git a/arch/powerpc/boot/dts/p1025twr.dts b/arch/powerpc/boot/dts/p1025twr.dts new file mode 100644 index 00000000000..9036a498790 --- /dev/null +++ b/arch/powerpc/boot/dts/p1025twr.dts @@ -0,0 +1,95 @@ +/* + * P1025 TWR Device Tree Source (32-bit address map) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/include/ "fsl/p1021si-pre.dtsi" +/ { +	model = "fsl,P1025"; +	compatible = "fsl,TWR-P1025"; + +	memory { +		device_type = "memory"; +	}; + +	lbc: localbus@ffe05000 { +		reg = <0 0xffe05000 0 0x1000>; + +		/* NOR Flash and SSD1289 */ +		ranges = <0x0 0x0 0x0 0xec000000 0x04000000 +			  0x2 0x0 0x0 0xe0000000 0x00020000>; +	}; + +	soc: soc@ffe00000 { +		ranges = <0x0 0x0 0xffe00000 0x100000>; +	}; + +	pci0: pcie@ffe09000 { +		ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 +			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; +		reg = <0 0xffe09000 0 0x1000>; +		pcie@0 { +			ranges = <0x2000000 0x0 0xa0000000 +				  0x2000000 0x0 0xa0000000 +				  0x0 0x20000000 + +				  0x1000000 0x0 0x0 +				  0x1000000 0x0 0x0 +				  0x0 0x100000>; +		}; +	}; + +	pci1: pcie@ffe0a000 { +		reg = <0 0xffe0a000 0 0x1000>; +		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 +			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; +		pcie@0 { +			ranges = <0x2000000 0x0 0x80000000 +				  0x2000000 0x0 0x80000000 +				  0x0 0x20000000 + +				  0x1000000 0x0 0x0 +				  0x1000000 0x0 0x0 +				  0x0 0x100000>; +		}; +	}; + +	qe: qe@ffe80000 { +		ranges = <0x0 0x0 0xffe80000 0x40000>; +		reg = <0 0xffe80000 0 0x480>; +		brg-frequency = <0>; +		bus-frequency = <0>; +	}; +}; + +/include/ "p1025twr.dtsi" +/include/ "fsl/p1021si-post.dtsi" diff --git a/arch/powerpc/boot/dts/p1025twr.dtsi b/arch/powerpc/boot/dts/p1025twr.dtsi new file mode 100644 index 00000000000..8453501c256 --- /dev/null +++ b/arch/powerpc/boot/dts/p1025twr.dtsi @@ -0,0 +1,280 @@ +/* + * P1025 TWR Device Tree Source stub (no addresses or top-level ranges) + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/{ +       aliases { +		ethernet3 = &enet3; +		ethernet4 = &enet4; +       }; +}; + +&lbc { +	nor@0,0 { +		#address-cells = <1>; +		#size-cells = <1>; +		compatible = "cfi-flash"; +		reg = <0x0 0x0 0x4000000>; +		bank-width = <2>; +		device-width = <1>; + +		partition@0 { +			/* This location must not be altered  */ +			/* 256KB for Vitesse 7385 Switch firmware */ +			reg = <0x0 0x00040000>; +			label = "NOR Vitesse-7385 Firmware"; +			read-only; +		}; + +		partition@40000 { +			/* 256KB for DTB Image */ +			reg = <0x00040000 0x00040000>; +			label = "NOR DTB Image"; +		}; + +		partition@80000 { +			/* 5.5 MB for Linux Kernel Image */ +			reg = <0x00080000 0x00580000>; +			label = "NOR Linux Kernel Image"; +		}; + +		partition@400000 { +			/* 56.75MB for Root file System */ +			reg = <0x00600000 0x038c0000>; +			label = "NOR Root File System"; +		}; + +		partition@ec0000 { +			/* This location must not be altered  */ +			/* 256KB for QE ucode firmware*/ +			reg = <0x03ec0000 0x00040000>; +			label = "NOR QE microcode firmware"; +			read-only; +		}; + +		partition@f00000 { +			/* This location must not be altered  */ +			/* 512KB for u-boot Bootloader Image */ +			/* 512KB for u-boot Environment Variables */ +			reg = <0x03f00000 0x00100000>; +			label = "NOR U-Boot Image"; +			read-only; +		}; +	}; + +	/* CS2 for Display */ +	display@2,0 { +		compatible = "solomon,ssd1289fb"; +		reg = <0x2 0x0000 0x0004>; +	}; + +}; + +&soc { +	usb@22000 { +		phy_type = "ulpi"; +	}; + +	mdio@24000 { +		phy0: ethernet-phy@2 { +			interrupt-parent = <&mpic>; +			interrupts = <1 1 0 0>; +			reg = <0x2>; +		}; + +		phy1: ethernet-phy@1 { +			interrupt-parent = <&mpic>; +			interrupts = <2 1 0 0>; +			reg = <0x1>; +		}; + +		tbi0: tbi-phy@11 { +			reg = <0x11>; +			device_type = "tbi-phy"; +		}; +	}; + +	mdio@25000 { +		tbi1: tbi-phy@11 { +			reg = <0x11>; +			device_type = "tbi-phy"; +		}; +	}; + +	mdio@26000 { +		tbi2: tbi-phy@11 { +			reg = <0x11>; +			device_type = "tbi-phy"; +		}; +	}; + +	enet0: ethernet@b0000 { +		phy-handle = <&phy0>; +		phy-connection-type = "rgmii-id"; + +	}; + +	enet1: ethernet@b1000 { +		status = "disabled"; +	}; + +	enet2: ethernet@b2000 { +		phy-handle = <&phy1>; +		phy-connection-type = "rgmii-id"; +	}; + +	par_io@e0100 { +		#address-cells = <1>; +		#size-cells = <1>; +		reg = <0xe0100 0x60>; +		ranges = <0x0 0xe0100 0x60>; +		device_type = "par_io"; +		num-ports = <3>; +		pio1: ucc_pin@01 { +			pio-map = < +		/* port  pin  dir  open_drain  assignment  has_irq */ +				0x1  0x13 0x1  0x0  0x1  0x0    /* QE_MUX_MDC */ +				0x1  0x14 0x3  0x0  0x1  0x0    /* QE_MUX_MDIO */ +				0x0  0x17 0x2  0x0  0x2  0x0    /* CLK12 */ +				0x0  0x18 0x2  0x0  0x1  0x0    /* CLK9 */ +				0x0  0x7  0x1  0x0  0x2  0x0    /* ENET1_TXD0_SER1_TXD0 */ +				0x0  0x9  0x1  0x0  0x2  0x0    /* ENET1_TXD1_SER1_TXD1 */ +				0x0  0xb  0x1  0x0  0x2  0x0    /* ENET1_TXD2_SER1_TXD2 */ +				0x0  0xc  0x1  0x0  0x2  0x0    /* ENET1_TXD3_SER1_TXD3 */ +				0x0  0x6  0x2  0x0  0x2  0x0    /* ENET1_RXD0_SER1_RXD0 */ +				0x0  0xa  0x2  0x0  0x2  0x0    /* ENET1_RXD1_SER1_RXD1 */ +				0x0  0xe  0x2  0x0  0x2  0x0    /* ENET1_RXD2_SER1_RXD2 */ +				0x0  0xf  0x2  0x0  0x2  0x0    /* ENET1_RXD3_SER1_RXD3 */ +				0x0  0x5  0x1  0x0  0x2  0x0    /* ENET1_TX_EN_SER1_RTS_B */ +				0x0  0xd  0x1  0x0  0x2  0x0    /* ENET1_TX_ER */ +				0x0  0x4  0x2  0x0  0x2  0x0    /* ENET1_RX_DV_SER1_CTS_B */ +				0x0  0x8  0x2  0x0  0x2  0x0    /* ENET1_RX_ER_SER1_CD_B */ +				0x0  0x11 0x2  0x0  0x2  0x0    /* ENET1_CRS */ +				0x0  0x10 0x2  0x0  0x2  0x0>;    /* ENET1_COL */ +		}; + +		pio2: ucc_pin@02 { +			pio-map = < +		/* port  pin  dir  open_drain  assignment  has_irq */ +				0x1  0x13 0x1  0x0  0x1  0x0    /* QE_MUX_MDC */ +				0x1  0x14 0x3  0x0  0x1  0x0    /* QE_MUX_MDIO */ +				0x1  0xb  0x2  0x0  0x1  0x0    /* CLK13 */ +				0x1  0x7  0x1  0x0  0x2  0x0    /* ENET5_TXD0_SER5_TXD0 */ +				0x1  0xa  0x1  0x0  0x2  0x0    /* ENET5_TXD1_SER5_TXD1 */ +				0x1  0x6  0x2  0x0  0x2  0x0    /* ENET5_RXD0_SER5_RXD0 */ +				0x1  0x9  0x2  0x0  0x2  0x0    /* ENET5_RXD1_SER5_RXD1 */ +				0x1  0x5  0x1  0x0  0x2  0x0    /* ENET5_TX_EN_SER5_RTS_B */ +				0x1  0x4  0x2  0x0  0x2  0x0    /* ENET5_RX_DV_SER5_CTS_B */ +				0x1  0x8  0x2  0x0  0x2  0x0>;    /* ENET5_RX_ER_SER5_CD_B */ +		}; + +		pio3: ucc_pin@03 { +			pio-map = < +		/* port  pin  dir  open_drain  assignment  has_irq */ +				0x0  0x16 0x2  0x0  0x2  0x0    /* SER7_CD_B*/ +				0x0  0x12 0x2  0x0  0x2  0x0    /* SER7_CTS_B*/ +				0x0  0x13 0x1  0x0  0x2  0x0    /* SER7_RTS_B*/ +				0x0  0x14 0x2  0x0  0x2  0x0    /* SER7_RXD0*/ +				0x0  0x15 0x1  0x0  0x2  0x0>;    /* SER7_TXD0*/ +		}; + +		pio4: ucc_pin@04 { +			pio-map = < +		/* port  pin  dir  open_drain  assignment  has_irq */ +				0x1  0x0  0x2  0x0  0x2  0x0    /* SER3_CD_B*/ +				0x0  0x1c 0x2  0x0  0x2  0x0    /* SER3_CTS_B*/ +				0x0  0x1d 0x1  0x0  0x2  0x0    /* SER3_RTS_B*/ +				0x0  0x1e 0x2  0x0  0x2  0x0    /* SER3_RXD0*/ +				0x0  0x1f 0x1  0x0  0x2  0x0>;    /* SER3_TXD0*/ +		}; +	}; +}; + +&qe { +	enet3: ucc@2000 { +		device_type = "network"; +		compatible = "ucc_geth"; +		rx-clock-name = "clk12"; +		tx-clock-name = "clk9"; +		pio-handle = <&pio1>; +		phy-handle = <&qe_phy0>; +		phy-connection-type = "mii"; +	}; + +	mdio@2120 { +		qe_phy0: ethernet-phy@18 { +			interrupt-parent = <&mpic>; +			interrupts = <4 1 0 0>; +			reg = <0x18>; +			device_type = "ethernet-phy"; +		}; +		qe_phy1: ethernet-phy@19 { +			interrupt-parent = <&mpic>; +			interrupts = <5 1 0 0>; +			reg = <0x19>; +			device_type = "ethernet-phy"; +		}; +		tbi-phy@11 { +			reg = <0x11>; +			device_type = "tbi-phy"; +		}; +	}; + +	enet4: ucc@2400 { +		device_type = "network"; +		compatible = "ucc_geth"; +		rx-clock-name = "none"; +		tx-clock-name = "clk13"; +		pio-handle = <&pio2>; +		phy-handle = <&qe_phy1>; +		phy-connection-type = "rmii"; +	}; + +	serial2: ucc@2600 { +		device_type = "serial"; +		compatible = "ucc_uart"; +		port-number = <0>; +		rx-clock-name = "brg6"; +		tx-clock-name = "brg6"; +		pio-handle = <&pio3>; +	}; + +	serial3: ucc@2200 { +		device_type = "serial"; +		compatible = "ucc_uart"; +		port-number = <1>; +		rx-clock-name = "brg2"; +		tx-clock-name = "brg2"; +		pio-handle = <&pio4>; +	}; +}; diff --git a/arch/powerpc/boot/dts/ppa8548.dts b/arch/powerpc/boot/dts/ppa8548.dts index f97eceed610..27b0699ee92 100644 --- a/arch/powerpc/boot/dts/ppa8548.dts +++ b/arch/powerpc/boot/dts/ppa8548.dts @@ -110,12 +110,10 @@  		phy0: ethernet-phy@0 {  			interrupts = <7 1 0 0>;  			reg = <0x0>; -			device_type = "ethernet-phy";  		};  		phy1: ethernet-phy@1 {  			interrupts = <8 1 0 0>;  			reg = <0x1>; -			device_type = "ethernet-phy";  		};  		tbi0: tbi-phy@11 {  			reg = <0x11>; diff --git a/arch/powerpc/boot/dts/pq2fads.dts b/arch/powerpc/boot/dts/pq2fads.dts index 0bb66937674..0c525ff0c25 100644 --- a/arch/powerpc/boot/dts/pq2fads.dts +++ b/arch/powerpc/boot/dts/pq2fads.dts @@ -198,7 +198,6 @@  			};  			mdio@10d40 { -				device_type = "mdio";  				compatible = "fsl,pq2fads-mdio-bitbang",  				             "fsl,mpc8280-mdio-bitbang",  				             "fsl,cpm2-mdio-bitbang"; @@ -212,14 +211,12 @@  					interrupt-parent = <&PIC>;  					interrupts = <25 2>;  					reg = <0x0>; -					device_type = "ethernet-phy";  				};  				PHY1: ethernet-phy@1 {  					interrupt-parent = <&PIC>;  					interrupts = <25 2>;  					reg = <0x3>; -					device_type = "ethernet-phy";  				};  			}; diff --git a/arch/powerpc/boot/dts/prpmc2800.dts b/arch/powerpc/boot/dts/prpmc2800.dts index 1ee6ff43dd5..00afaacf8c8 100644 --- a/arch/powerpc/boot/dts/prpmc2800.dts +++ b/arch/powerpc/boot/dts/prpmc2800.dts @@ -73,17 +73,14 @@  		mdio {  			#address-cells = <1>;  			#size-cells = <0>; -			device_type = "mdio";  			compatible = "marvell,mv64360-mdio";  			PHY0: ethernet-phy@1 { -				device_type = "ethernet-phy";  				compatible = "broadcom,bcm5421";  				interrupts = <76>;	/* GPP 12 */  				interrupt-parent = <&PIC>;  				reg = <1>;  			};  			PHY1: ethernet-phy@3 { -				device_type = "ethernet-phy";  				compatible = "broadcom,bcm5421";  				interrupts = <76>;	/* GPP 12 */  				interrupt-parent = <&PIC>; @@ -162,7 +159,6 @@  		};  		MPSC0: mpsc@8000 { -			device_type = "serial";  			compatible = "marvell,mv64360-mpsc";  			reg = <0x8000 0x38>;  			virtual-reg = <0xf1008000>; @@ -177,7 +173,6 @@  		};  		MPSC1: mpsc@9000 { -			device_type = "serial";  			compatible = "marvell,mv64360-mpsc";  			reg = <0x9000 0x38>;  			virtual-reg = <0xf1009000>; diff --git a/arch/powerpc/boot/dts/sbc8349.dts b/arch/powerpc/boot/dts/sbc8349.dts index b1e45a8537a..fc89e00b765 100644 --- a/arch/powerpc/boot/dts/sbc8349.dts +++ b/arch/powerpc/boot/dts/sbc8349.dts @@ -173,14 +173,12 @@  					interrupt-parent = <&ipic>;  					interrupts = <20 0x8>;  					reg = <0x19>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1a {  					interrupt-parent = <&ipic>;  					interrupts = <21 0x8>;  					reg = <0x1a>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 { diff --git a/arch/powerpc/boot/dts/sbc8548-post.dtsi b/arch/powerpc/boot/dts/sbc8548-post.dtsi index 33a47e27a11..9b505c8e535 100644 --- a/arch/powerpc/boot/dts/sbc8548-post.dtsi +++ b/arch/powerpc/boot/dts/sbc8548-post.dtsi @@ -137,13 +137,11 @@  					interrupt-parent = <&mpic>;  					interrupts = <0x6 0x1>;  					reg = <0x19>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@1a {  					interrupt-parent = <&mpic>;  					interrupts = <0x7 0x1>;  					reg = <0x1a>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/sbc8641d.dts b/arch/powerpc/boot/dts/sbc8641d.dts index 56bebce8784..631ede72e22 100644 --- a/arch/powerpc/boot/dts/sbc8641d.dts +++ b/arch/powerpc/boot/dts/sbc8641d.dts @@ -230,25 +230,21 @@  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <0x1f>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@0 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <0>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <10 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/stx_gp3_8560.dts b/arch/powerpc/boot/dts/stx_gp3_8560.dts index b670d03fbcd..78a72ee4820 100644 --- a/arch/powerpc/boot/dts/stx_gp3_8560.dts +++ b/arch/powerpc/boot/dts/stx_gp3_8560.dts @@ -161,13 +161,11 @@  					interrupt-parent = <&mpic>;  					interrupts = <5 4>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy4: ethernet-phy@4 {  					interrupt-parent = <&mpic>;  					interrupts = <5 4>;  					reg = <4>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/stxssa8555.dts b/arch/powerpc/boot/dts/stxssa8555.dts index 4f166b01c1b..859f854ba53 100644 --- a/arch/powerpc/boot/dts/stxssa8555.dts +++ b/arch/powerpc/boot/dts/stxssa8555.dts @@ -164,13 +164,11 @@  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x2>; -					device_type = "ethernet-phy";  				};  				phy1: ethernet-phy@4 {  					interrupt-parent = <&mpic>;  					interrupts = <5 1>;  					reg = <0x4>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/t1040qds.dts b/arch/powerpc/boot/dts/t1040qds.dts new file mode 100644 index 00000000000..973c29c2f56 --- /dev/null +++ b/arch/powerpc/boot/dts/t1040qds.dts @@ -0,0 +1,46 @@ +/* + * T1040QDS Device Tree Source + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *	 notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *	 notice, this list of conditions and the following disclaimer in the + *	 documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *	 names of its contributors may be used to endorse or promote products + *	 derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/include/ "fsl/t104xsi-pre.dtsi" +/include/ "t104xqds.dtsi" + +/ { +	model = "fsl,T1040QDS"; +	compatible = "fsl,T1040QDS"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; +}; + +/include/ "fsl/t1040si-post.dtsi" diff --git a/arch/powerpc/boot/dts/t1042qds.dts b/arch/powerpc/boot/dts/t1042qds.dts new file mode 100644 index 00000000000..45bd0375215 --- /dev/null +++ b/arch/powerpc/boot/dts/t1042qds.dts @@ -0,0 +1,46 @@ +/* + * T1042QDS Device Tree Source + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *	 notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *	 notice, this list of conditions and the following disclaimer in the + *	 documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *	 names of its contributors may be used to endorse or promote products + *	 derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/include/ "fsl/t104xsi-pre.dtsi" +/include/ "t104xqds.dtsi" + +/ { +	model = "fsl,T1042QDS"; +	compatible = "fsl,T1042QDS"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; +}; + +/include/ "fsl/t1042si-post.dtsi" diff --git a/arch/powerpc/boot/dts/t104xqds.dtsi b/arch/powerpc/boot/dts/t104xqds.dtsi new file mode 100644 index 00000000000..234f4b596c5 --- /dev/null +++ b/arch/powerpc/boot/dts/t104xqds.dtsi @@ -0,0 +1,166 @@ +/* + * T104xQDS Device Tree Source + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *	 notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *	 notice, this list of conditions and the following disclaimer in the + *	 documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *	 names of its contributors may be used to endorse or promote products + *	 derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/ { +	model = "fsl,T1040QDS"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	ifc: localbus@ffe124000 { +		reg = <0xf 0xfe124000 0 0x2000>; +		ranges = <0 0 0xf 0xe8000000 0x08000000 +			  2 0 0xf 0xff800000 0x00010000 +			  3 0 0xf 0xffdf0000 0x00008000>; + +		nor@0,0 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "cfi-flash"; +			reg = <0x0 0x0 0x8000000>; + +			bank-width = <2>; +			device-width = <1>; +		}; + +		nand@2,0 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "fsl,ifc-nand"; +			reg = <0x2 0x0 0x10000>; +		}; + +		board-control@3,0 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "fsl,fpga-qixis"; +			reg = <3 0 0x300>; +		}; +	}; + +	memory { +		device_type = "memory"; +	}; + +	dcsr: dcsr@f00000000 { +		ranges = <0x00000000 0xf 0x00000000 0x01072000>; +	}; + +	soc: soc@ffe000000 { +		ranges = <0x00000000 0xf 0xfe000000 0x1000000>; +		reg = <0xf 0xfe000000 0 0x00001000>; + +		spi@110000 { +			flash@0 { +				#address-cells = <1>; +				#size-cells = <1>; +				compatible = "micron,n25q128a11"; +				reg = <0>; +				spi-max-frequency = <10000000>; /* input clock */ +			}; +		}; + +		i2c@118000 { +			pca9547@77 { +				compatible = "philips,pca9547"; +				reg = <0x77>; +			}; +			rtc@68 { +				compatible = "dallas,ds3232"; +				reg = <0x68>; +				interrupts = <0x1 0x1 0 0>; +			}; +		}; +	}; + +	pci0: pcie@ffe240000 { +		reg = <0xf 0xfe240000 0 0x10000>; +		ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x10000000 +			  0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>; +		pcie@0 { +			ranges = <0x02000000 0 0xe0000000 +				  0x02000000 0 0xe0000000 +				  0 0x10000000 + +				  0x01000000 0 0x00000000 +				  0x01000000 0 0x00000000 +				  0 0x00010000>; +		}; +	}; + +	pci1: pcie@ffe250000 { +		reg = <0xf 0xfe250000 0 0x10000>; +		ranges = <0x02000000 0x0 0xe0000000 0xc 0x10000000 0x0 0x10000000 +			  0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>; +		pcie@0 { +			ranges = <0x02000000 0 0xe0000000 +				  0x02000000 0 0xe0000000 +				  0 0x10000000 + +				  0x01000000 0 0x00000000 +				  0x01000000 0 0x00000000 +				  0 0x00010000>; +		}; +	}; + +	pci2: pcie@ffe260000 { +		reg = <0xf 0xfe260000 0 0x10000>; +		ranges = <0x02000000 0 0xe0000000 0xc 0x20000000 0 0x10000000 +			  0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>; +		pcie@0 { +			ranges = <0x02000000 0 0xe0000000 +				  0x02000000 0 0xe0000000 +				  0 0x10000000 + +				  0x01000000 0 0x00000000 +				  0x01000000 0 0x00000000 +				  0 0x00010000>; +		}; +	}; + +	pci3: pcie@ffe270000 { +		reg = <0xf 0xfe270000 0 0x10000>; +		ranges = <0x02000000 0 0xe0000000 0xc 0x30000000 0 0x10000000 +			  0x01000000 0 0x00000000 0xf 0xf8030000 0 0x00010000>; +		pcie@0 { +			ranges = <0x02000000 0 0xe0000000 +				  0x02000000 0 0xe0000000 +				  0 0x10000000 + +				  0x01000000 0 0x00000000 +				  0x01000000 0 0x00000000 +				  0 0x00010000>; +		}; +	}; +}; diff --git a/arch/powerpc/boot/dts/t4240emu.dts b/arch/powerpc/boot/dts/t4240emu.dts new file mode 100644 index 00000000000..bc12127a03f --- /dev/null +++ b/arch/powerpc/boot/dts/t4240emu.dts @@ -0,0 +1,281 @@ +/* + * T4240 emulator Device Tree Source + * + * Copyright 2013 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + *     * Redistributions of source code must retain the above copyright + *       notice, this list of conditions and the following disclaimer. + *     * Redistributions in binary form must reproduce the above copyright + *       notice, this list of conditions and the following disclaimer in the + *       documentation and/or other materials provided with the distribution. + *     * Neither the name of Freescale Semiconductor nor the + *       names of its contributors may be used to endorse or promote products + *       derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/dts-v1/; + +/include/ "fsl/e6500_power_isa.dtsi" +/ { +	compatible = "fsl,T4240"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	aliases { +		ccsr = &soc; + +		serial0 = &serial0; +		serial1 = &serial1; +		serial2 = &serial2; +		serial3 = &serial3; +		dma0 = &dma0; +		dma1 = &dma1; +	}; + +	cpus { +		#address-cells = <1>; +		#size-cells = <0>; + +		cpu0: PowerPC,e6500@0 { +			device_type = "cpu"; +			reg = <0 1>; +			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>; +		}; +		cpu1: PowerPC,e6500@2 { +			device_type = "cpu"; +			reg = <2 3>; +			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>; +		}; +		cpu2: PowerPC,e6500@4 { +			device_type = "cpu"; +			reg = <4 5>; +			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>; +		}; +		cpu3: PowerPC,e6500@6 { +			device_type = "cpu"; +			reg = <6 7>; +			next-level-cache = <&L2_1>; +			fsl,portid-mapping = <0x80000000>; +		}; + +		cpu4: PowerPC,e6500@8 { +			device_type = "cpu"; +			reg = <8 9>; +			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>; +		}; +		cpu5: PowerPC,e6500@10 { +			device_type = "cpu"; +			reg = <10 11>; +			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>; +		}; +		cpu6: PowerPC,e6500@12 { +			device_type = "cpu"; +			reg = <12 13>; +			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>; +		}; +		cpu7: PowerPC,e6500@14 { +			device_type = "cpu"; +			reg = <14 15>; +			next-level-cache = <&L2_2>; +			fsl,portid-mapping = <0x40000000>; +		}; + +		cpu8: PowerPC,e6500@16 { +			device_type = "cpu"; +			reg = <16 17>; +			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>; +		}; +		cpu9: PowerPC,e6500@18 { +			device_type = "cpu"; +			reg = <18 19>; +			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>; +		}; +		cpu10: PowerPC,e6500@20 { +			device_type = "cpu"; +			reg = <20 21>; +			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>; +		}; +		cpu11: PowerPC,e6500@22 { +			device_type = "cpu"; +			reg = <22 23>; +			next-level-cache = <&L2_3>; +			fsl,portid-mapping = <0x20000000>; +		}; +	}; +}; + +/ { +	model = "fsl,T4240QDS"; +	compatible = "fsl,T4240EMU", "fsl,T4240QDS"; +	#address-cells = <2>; +	#size-cells = <2>; +	interrupt-parent = <&mpic>; + +	ifc: localbus@ffe124000 { +		reg = <0xf 0xfe124000 0 0x2000>; +		ranges = <0 0 0xf 0xe8000000 0x08000000 +			  2 0 0xf 0xff800000 0x00010000 +			  3 0 0xf 0xffdf0000 0x00008000>; + +		nor@0,0 { +			#address-cells = <1>; +			#size-cells = <1>; +			compatible = "cfi-flash"; +			reg = <0x0 0x0 0x8000000>; + +			bank-width = <2>; +			device-width = <1>; +		}; + +	}; + +	memory { +		device_type = "memory"; +	}; + +	soc: soc@ffe000000 { +		ranges = <0x00000000 0xf 0xfe000000 0x1000000>; +		reg = <0xf 0xfe000000 0 0x00001000>; + +	}; +}; + +&ifc { +	#address-cells = <2>; +	#size-cells = <1>; +	compatible = "fsl,ifc", "simple-bus"; +	interrupts = <25 2 0 0>; +}; + +&soc { +	#address-cells = <1>; +	#size-cells = <1>; +	device_type = "soc"; +	compatible = "simple-bus"; + +	soc-sram-error { +		compatible = "fsl,soc-sram-error"; +		interrupts = <16 2 1 29>; +	}; + +	corenet-law@0 { +		compatible = "fsl,corenet-law"; +		reg = <0x0 0x1000>; +		fsl,num-laws = <32>; +	}; + +	ddr1: memory-controller@8000 { +		compatible = "fsl,qoriq-memory-controller-v4.7", +				"fsl,qoriq-memory-controller"; +		reg = <0x8000 0x1000>; +		interrupts = <16 2 1 23>; +	}; + +	ddr2: memory-controller@9000 { +		compatible = "fsl,qoriq-memory-controller-v4.7", +				"fsl,qoriq-memory-controller"; +		reg = <0x9000 0x1000>; +		interrupts = <16 2 1 22>; +	}; + +	ddr3: memory-controller@a000 { +		compatible = "fsl,qoriq-memory-controller-v4.7", +				"fsl,qoriq-memory-controller"; +		reg = <0xa000 0x1000>; +		interrupts = <16 2 1 21>; +	}; + +	cpc: l3-cache-controller@10000 { +		compatible = "fsl,t4240-l3-cache-controller", "cache"; +		reg = <0x10000 0x1000 +		       0x11000 0x1000 +		       0x12000 0x1000>; +		interrupts = <16 2 1 27 +			      16 2 1 26 +			      16 2 1 25>; +	}; + +	corenet-cf@18000 { +		compatible = "fsl,corenet2-cf", "fsl,corenet-cf"; +		reg = <0x18000 0x1000>; +		interrupts = <16 2 1 31>; +		fsl,ccf-num-csdids = <32>; +		fsl,ccf-num-snoopids = <32>; +	}; + +	iommu@20000 { +		compatible = "fsl,pamu-v1.0", "fsl,pamu"; +		reg = <0x20000 0x6000>; +		fsl,portid-mapping = <0x8000>; +		interrupts = < +			24 2 0 0 +			16 2 1 30>; +	}; + +/include/ "fsl/qoriq-mpic.dtsi" + +	guts: global-utilities@e0000 { +		compatible = "fsl,t4240-device-config", "fsl,qoriq-device-config-2.0"; +		reg = <0xe0000 0xe00>; +		fsl,has-rstcr; +		fsl,liodn-bits = <12>; +	}; + +	clockgen: global-utilities@e1000 { +		compatible = "fsl,t4240-clockgen", "fsl,qoriq-clockgen-2.0"; +		reg = <0xe1000 0x1000>; +	}; + +/include/ "fsl/qoriq-dma-0.dtsi" +/include/ "fsl/qoriq-dma-1.dtsi" + +/include/ "fsl/qoriq-i2c-0.dtsi" +/include/ "fsl/qoriq-i2c-1.dtsi" +/include/ "fsl/qoriq-duart-0.dtsi" +/include/ "fsl/qoriq-duart-1.dtsi" + +	L2_1: l2-cache-controller@c20000 { +		compatible = "fsl,t4240-l2-cache-controller"; +		reg = <0xc20000 0x40000>; +		next-level-cache = <&cpc>; +	}; +	L2_2: l2-cache-controller@c60000 { +		compatible = "fsl,t4240-l2-cache-controller"; +		reg = <0xc60000 0x40000>; +		next-level-cache = <&cpc>; +	}; +	L2_3: l2-cache-controller@ca0000 { +		compatible = "fsl,t4240-l2-cache-controller"; +		reg = <0xca0000 0x40000>; +		next-level-cache = <&cpc>; +	}; +}; diff --git a/arch/powerpc/boot/dts/t4240qds.dts b/arch/powerpc/boot/dts/t4240qds.dts index 0555976dd0f..97683f6a293 100644 --- a/arch/powerpc/boot/dts/t4240qds.dts +++ b/arch/powerpc/boot/dts/t4240qds.dts @@ -118,36 +118,95 @@  		};  		i2c@118000 { -			eeprom@51 { -				compatible = "at24,24c256"; -				reg = <0x51>; -			}; -			eeprom@52 { -				compatible = "at24,24c256"; -				reg = <0x52>; -			}; -			eeprom@53 { -				compatible = "at24,24c256"; -				reg = <0x53>; -			}; -			eeprom@54 { -				compatible = "at24,24c256"; -				reg = <0x54>; -			}; -			eeprom@55 { -				compatible = "at24,24c256"; -				reg = <0x55>; -			}; -			eeprom@56 { -				compatible = "at24,24c256"; -				reg = <0x56>; -			}; -			rtc@68 { -				compatible = "dallas,ds3232"; -				reg = <0x68>; -				interrupts = <0x1 0x1 0 0>; +			mux@77 { +				compatible = "nxp,pca9547"; +				reg = <0x77>; +				#address-cells = <1>; +				#size-cells = <0>; + +				i2c@0 { +					#address-cells = <1>; +					#size-cells = <0>; +					reg = <0>; + +					eeprom@51 { +						compatible = "at24,24c256"; +						reg = <0x51>; +					}; +					eeprom@52 { +						compatible = "at24,24c256"; +						reg = <0x52>; +					}; +					eeprom@53 { +						compatible = "at24,24c256"; +						reg = <0x53>; +					}; +					eeprom@54 { +						compatible = "at24,24c256"; +						reg = <0x54>; +					}; +					eeprom@55 { +						compatible = "at24,24c256"; +						reg = <0x55>; +					}; +					eeprom@56 { +						compatible = "at24,24c256"; +						reg = <0x56>; +					}; +					rtc@68 { +						compatible = "dallas,ds3232"; +						reg = <0x68>; +						interrupts = <0x1 0x1 0 0>; +					}; +				}; + +				i2c@2 { +					#address-cells = <1>; +					#size-cells = <0>; +					reg = <0x2>; + +					ina220@40 { +						compatible = "ti,ina220"; +						reg = <0x40>; +						shunt-resistor = <1000>; +					}; + +					ina220@41 { +						compatible = "ti,ina220"; +						reg = <0x41>; +						shunt-resistor = <1000>; +					}; + +					ina220@44 { +						compatible = "ti,ina220"; +						reg = <0x44>; +						shunt-resistor = <1000>; +					}; + +					ina220@45 { +						compatible = "ti,ina220"; +						reg = <0x45>; +						shunt-resistor = <1000>; +					}; + +					ina220@46 { +						compatible = "ti,ina220"; +						reg = <0x46>; +						shunt-resistor = <1000>; +					}; + +					ina220@47 { +						compatible = "ti,ina220"; +						reg = <0x47>; +						shunt-resistor = <1000>; +					}; +				};  			};  		}; + +		sdhc@114000 { +			voltage-ranges = <1800 1800 3300 3300>; +		};  	};  	pci0: pcie@ffe240000 { diff --git a/arch/powerpc/boot/dts/tqm8540.dts b/arch/powerpc/boot/dts/tqm8540.dts index ed264d9ae35..91cbd7acd27 100644 --- a/arch/powerpc/boot/dts/tqm8540.dts +++ b/arch/powerpc/boot/dts/tqm8540.dts @@ -172,19 +172,16 @@  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/tqm8541.dts b/arch/powerpc/boot/dts/tqm8541.dts index 92524211581..84dce2d5fc4 100644 --- a/arch/powerpc/boot/dts/tqm8541.dts +++ b/arch/powerpc/boot/dts/tqm8541.dts @@ -172,19 +172,16 @@  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/tqm8548-bigflash.dts b/arch/powerpc/boot/dts/tqm8548-bigflash.dts index 6e1ac50852a..7a333dd02d9 100644 --- a/arch/powerpc/boot/dts/tqm8548-bigflash.dts +++ b/arch/powerpc/boot/dts/tqm8548-bigflash.dts @@ -185,31 +185,26 @@  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				phy4: ethernet-phy@4 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <4>; -					device_type = "ethernet-phy";  				};  				phy5: ethernet-phy@5 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <5>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/tqm8548.dts b/arch/powerpc/boot/dts/tqm8548.dts index 161e75eac7f..c737caff10c 100644 --- a/arch/powerpc/boot/dts/tqm8548.dts +++ b/arch/powerpc/boot/dts/tqm8548.dts @@ -185,31 +185,26 @@  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@1 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				phy4: ethernet-phy@4 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <4>; -					device_type = "ethernet-phy";  				};  				phy5: ethernet-phy@5 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <5>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/tqm8555.dts b/arch/powerpc/boot/dts/tqm8555.dts index aa6ff0d3dd9..d0416a5cddd 100644 --- a/arch/powerpc/boot/dts/tqm8555.dts +++ b/arch/powerpc/boot/dts/tqm8555.dts @@ -172,19 +172,16 @@  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/tqm8560.dts b/arch/powerpc/boot/dts/tqm8560.dts index 7665a16a8b9..f9a11ebf736 100644 --- a/arch/powerpc/boot/dts/tqm8560.dts +++ b/arch/powerpc/boot/dts/tqm8560.dts @@ -174,19 +174,16 @@  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <1>; -					device_type = "ethernet-phy";  				};  				phy2: ethernet-phy@2 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <2>; -					device_type = "ethernet-phy";  				};  				phy3: ethernet-phy@3 {  					interrupt-parent = <&mpic>;  					interrupts = <8 1>;  					reg = <3>; -					device_type = "ethernet-phy";  				};  				tbi0: tbi-phy@11 {  					reg = <0x11>; diff --git a/arch/powerpc/boot/dts/tqm8xx.dts b/arch/powerpc/boot/dts/tqm8xx.dts index c3dba2518d8..3d1446b99c7 100644 --- a/arch/powerpc/boot/dts/tqm8xx.dts +++ b/arch/powerpc/boot/dts/tqm8xx.dts @@ -107,7 +107,6 @@  			#size-cells = <0>;  			PHY: ethernet-phy@f {  				reg = <0xf>; -				device_type = "ethernet-phy";  			};  		}; diff --git a/arch/powerpc/boot/dts/virtex440-ml507.dts b/arch/powerpc/boot/dts/virtex440-ml507.dts index fc7073bc547..391a4e29978 100644 --- a/arch/powerpc/boot/dts/virtex440-ml507.dts +++ b/arch/powerpc/boot/dts/virtex440-ml507.dts @@ -257,6 +257,8 @@  			#size-cells = <1>;  			compatible = "xlnx,compound";  			ethernet@81c00000 { +				#address-cells = <1>; +				#size-cells = <0>;  				compatible = "xlnx,xps-ll-temac-1.01.b";  				device_type = "network";  				interrupt-parent = <&xps_intc_0>; diff --git a/arch/powerpc/boot/dts/xcalibur1501.dts b/arch/powerpc/boot/dts/xcalibur1501.dts index cc00f4ddd9a..c409cbafb12 100644 --- a/arch/powerpc/boot/dts/xcalibur1501.dts +++ b/arch/powerpc/boot/dts/xcalibur1501.dts @@ -637,14 +637,14 @@  		tlu@2f000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x2f000 0x1000>; -			interupts = <61 2 >; +			interrupts = <61 2>;  			interrupt-parent = <&mpic>;  		};  		tlu@15000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x15000 0x1000>; -			interupts = <75 2>; +			interrupts = <75 2>;  			interrupt-parent = <&mpic>;  		};  	}; diff --git a/arch/powerpc/boot/dts/xpedite5301.dts b/arch/powerpc/boot/dts/xpedite5301.dts index 53c1c6a9752..04cb410da48 100644 --- a/arch/powerpc/boot/dts/xpedite5301.dts +++ b/arch/powerpc/boot/dts/xpedite5301.dts @@ -547,14 +547,14 @@  		tlu@2f000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x2f000 0x1000>; -			interupts = <61 2 >; +			interrupts = <61 2>;  			interrupt-parent = <&mpic>;  		};  		tlu@15000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x15000 0x1000>; -			interupts = <75 2>; +			interrupts = <75 2>;  			interrupt-parent = <&mpic>;  		};  	}; diff --git a/arch/powerpc/boot/dts/xpedite5330.dts b/arch/powerpc/boot/dts/xpedite5330.dts index 21522598315..73f8620f1ce 100644 --- a/arch/powerpc/boot/dts/xpedite5330.dts +++ b/arch/powerpc/boot/dts/xpedite5330.dts @@ -583,14 +583,14 @@  		tlu@2f000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x2f000 0x1000>; -			interupts = <61 2 >; +			interrupts = <61 2>;  			interrupt-parent = <&mpic>;  		};  		tlu@15000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x15000 0x1000>; -			interupts = <75 2>; +			interrupts = <75 2>;  			interrupt-parent = <&mpic>;  		};  	}; diff --git a/arch/powerpc/boot/dts/xpedite5370.dts b/arch/powerpc/boot/dts/xpedite5370.dts index 11dbda10d75..cd0ea2b9936 100644 --- a/arch/powerpc/boot/dts/xpedite5370.dts +++ b/arch/powerpc/boot/dts/xpedite5370.dts @@ -545,14 +545,14 @@  		tlu@2f000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x2f000 0x1000>; -			interupts = <61 2 >; +			interrupts = <61 2>;  			interrupt-parent = <&mpic>;  		};  		tlu@15000 {  			compatible = "fsl,mpc8572-tlu", "fsl_tlu";  			reg = <0x15000 0x1000>; -			interupts = <75 2>; +			interrupts = <75 2>;  			interrupt-parent = <&mpic>;  		};  	};  | 
