diff mbox

[2/2] powerpc/85xx: add a 32-bit P1022DS device tree

Message ID 1322863714-6818-2-git-send-email-timur@freescale.com (mailing list archive)
State Superseded, archived
Delegated to: Kumar Gala
Headers show

Commit Message

Timur Tabi Dec. 2, 2011, 10:08 p.m. UTC
Add a 32-bit version of the device tree for the Freescale P1022DS reference
board.

Signed-off-by: Timur Tabi <timur@freescale.com>
---
 arch/powerpc/boot/dts/p1022ds_32b.dts |  270 +++++++++++++++++++++++++++++++++
 1 files changed, 270 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/p1022ds_32b.dts

Comments

Scott Wood Dec. 2, 2011, 10:19 p.m. UTC | #1
On 12/02/2011 04:08 PM, Timur Tabi wrote:
> +	lbc: localbus@ffe05000 {
> +		reg = <0x0 0xffe05000 0 0x1000>;
> +		ranges = <0x0 0x0 0x0 0xe8000000 0x08000000
> +			  0x1 0x0 0x0 0xe0000000 0x08000000
> +			  0x2 0x0 0x0 0xff800000 0x00040000
> +			  0x3 0x0 0x0 0xffdf0000 0x00008000>;
> +
> +		/*
> +		 * This node is used to access the pixis via "indirect" mode,
> +		 * which is done by writing the pixis register index to chip
> +		 * select 0 and the value to/from chip select 1.  Indirect
> +		 * mode is the only way to access the pixis when DIU video
> +		 * is enabled.  Note that this assumes that the first column
> +		 * of the 'ranges' property above is the chip select number.
> +		 */
> +		board-control@0,0 {
> +			compatible = "fsl,p1022ds-indirect-pixis";
> +			reg = <0x0 0x0 1	/* CS0 */
> +			       0x1 0x0 1>;	/* CS1 */
> +		};
> +
> +		nor@0,0 {
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			compatible = "cfi-flash";
> +			reg = <0x0 0x0 0x8000000>;
> +			bank-width = <2>;
> +			device-width = <1>;
[snip]
> +		};
> +
> +		nand@2,0 {
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			compatible = "fsl,elbc-fcm-nand";
> +			reg = <0x2 0x0 0x40000>;
[snip]
> +			};
> +		};
> +
> +		board-control@3,0 {
> +			compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
> +			reg = <3 0 0x30>;
> +			interrupt-parent = <&mpic>;
> +			/*
> +			 * IRQ8 is generated if the "EVENT" switch is pressed
> +			 * and PX_CTL[EVESEL] is set to 00.
> +			 */
> +			interrupts = <8 8 0 0>;
> +		};
> +	};
[snip]
> +/include/ "fsl/p1022si-post.dtsi"

Please add something after post to strip simple-bus off of the localbus
node's compatible.  Either you have board-control@0,0, or you have the
other stuff (did you ever find out what the situation with NAND is?) --
not both at the same time.  Or do you have U-Boot patching in status
updates now?

I realize this isn't a 32-bit versus 36-bit issue, but this seemed as
good a time as any to repeat this complaint. :-)

-Scott
Timur Tabi Dec. 2, 2011, 10:24 p.m. UTC | #2
Scott Wood wrote:

> Please add something after post to strip simple-bus off of the localbus
> node's compatible.  Either you have board-control@0,0, or you have the
> other stuff (did you ever find out what the situation with NAND is?) --
> not both at the same time.  Or do you have U-Boot patching in status
> updates now?

I posted a Linux patch that disables the NOR flash node if video needs to be enabled. 

http://patchwork.ozlabs.org/patch/126459/

However, I only now notice that Kumar requested some changes.
Scott Wood Dec. 2, 2011, 10:34 p.m. UTC | #3
On 12/02/2011 04:24 PM, Timur Tabi wrote:
> Scott Wood wrote:
> 
>> Please add something after post to strip simple-bus off of the localbus
>> node's compatible.  Either you have board-control@0,0, or you have the
>> other stuff (did you ever find out what the situation with NAND is?) --
>> not both at the same time.  Or do you have U-Boot patching in status
>> updates now?
> 
> I posted a Linux patch that disables the NOR flash node if video needs to be enabled. 
> 
> http://patchwork.ozlabs.org/patch/126459/
> 
> However, I only now notice that Kumar requested some changes.

Nothing that happens in Linux excuses handing Linux a device tree that
is wrong.  That you need special handling in Linux indicates that this
is not a simple-bus.

-Scott
Kumar Gala Dec. 2, 2011, 11:03 p.m. UTC | #4
On Dec 2, 2011, at 4:08 PM, Timur Tabi wrote:

> Add a 32-bit version of the device tree for the Freescale P1022DS reference
> board.
> 
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
> arch/powerpc/boot/dts/p1022ds_32b.dts |  270 +++++++++++++++++++++++++++++++++
> 1 files changed, 270 insertions(+), 0 deletions(-)
> create mode 100644 arch/powerpc/boot/dts/p1022ds_32b.dts

look at how mpc8572ds handles 36b.dts we put common definitions in a shared file.

- k
Timur Tabi Dec. 5, 2011, 11:44 p.m. UTC | #5
Kumar Gala wrote:
> look at how mpc8572ds handles 36b.dts we put common definitions in a shared file.

Ok, I've made those changes, but when I boot the kernel, I'm seeing this.  Can you give me a clue as to what's wrong?

PCI: Probing PCI hardware                                                       
pci 0000:00:00.0: [1957:0110] type 1 class 0x000b20                             
pci 0000:00:00.0: ignoring class b20 (doesn't match header type 01)             
pci 0000:00:00.0: supports D1 D2                                                
pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold                     
pci 0000:00:00.0: PME# disabled                                                 
pci 0000:00:00.0: PCI bridge to [bus 01-ff]                                     
pci 0001:02:00.0: [1957:0110] type 1 class 0x000b20                             
pci 0001:02:00.0: ignoring class b20 (doesn't match header type 01)             
pci 0001:02:00.0: supports D1 D2                                                
pci 0001:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold                     
pci 0001:02:00.0: PME# disabled                                                 
pci 0001:02:00.0: PCI bridge to [bus 03-ff]                                     
pci 0002:04:00.0: [1957:0110] type 1 class 0x000b20                             
pci 0002:04:00.0: ignoring class b20 (doesn't match header type 01)             
pci 0002:04:00.0: supports D1 D2                                                
pci 0002:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold                     
pci 0002:04:00.0: PME# disabled                                                 
pci 0002:05:00.0: [8086:10d3] type 0 class 0x000200                             
pci 0002:05:00.0: reg 10: [mem 0x80000000-0x8001ffff]                           
pci 0002:05:00.0: reg 14: [mem 0x80080000-0x800fffff]                           
pci 0002:05:00.0: reg 18: [io  0x1000-0x101f]                                   
pci 0002:05:00.0: reg 1c: [mem 0x80100000-0x80103fff]                           
pci 0002:05:00.0: reg 30: [mem 0x00000000-0x0003ffff pref]                      
pci 0002:05:00.0: PME# supported from D0 D3hot D3cold                           
pci 0002:05:00.0: PME# disabled                                                 
pci 0002:04:00.0: PCI bridge to [bus 05-ff]                                     
pci 0002:04:00.0:   bridge window [mem 0x80000000-0x801fffff]                   
PCI: Cannot allocate resource region 0 of device 0002:05:00.0, will remap       
PCI: Cannot allocate resource region 1 of device 0002:05:00.0, will remap       
PCI: Cannot allocate resource region 3 of device 0002:05:00.0, will remap       
PCI 0000:00 Cannot reserve Legacy IO [io  0xffbed000-0xffbedfff]                
PCI 0001:02 Cannot reserve Legacy IO [io  0xffbdb000-0xffbdbfff]                
PCI 0002:04 Cannot reserve Legacy IO [io  0xffbc9000-0xffbc9fff]                
PCI: max bus depth: 1 pci_try_num: 2                                            
pci 0000:00:00.0: PCI bridge to [bus 01-01]                                     
pci 0000:00:00.0:   bridge window [io  0xffbed000-0xffbfcfff]                   
pci 0000:00:00.0:   bridge window [mem 0xa0000000-0xbfffffff]                   
pci 0001:02:00.0: PCI bridge to [bus 03-03]                                     
pci 0001:02:00.0:   bridge window [io  0xffbdb000-0xffbeafff]                   
pci 0001:02:00.0:   bridge window [mem 0xc0000000-0xdfffffff]                   
pci 0002:04:00.0: BAR 9: can't assign mem pref (size 0x100000)                  
pci 0002:05:00.0: BAR 1: assigned [mem 0x80000000-0x8007ffff]                   
pci 0002:05:00.0: BAR 1: set to [mem 0x80000000-0x8007ffff] (PCI address [0xe000
0000-0xe007ffff])                                                               
pci 0002:05:00.0: BAR 6: assigned [mem 0x80080000-0x800bffff pref]              
pci 0002:05:00.0: BAR 0: assigned [mem 0x800c0000-0x800dffff]                   
pci 0002:05:00.0: BAR 0: set to [mem 0x800c0000-0x800dffff] (PCI address [0xe00c
0000-0xe00dffff])                                                               
pci 0002:05:00.0: BAR 3: assigned [mem 0x800e0000-0x800e3fff]                   
pci 0002:05:00.0: BAR 3: set to [mem 0x800e0000-0x800e3fff] (PCI address [0xe00e
0000-0xe00e3fff])                                                               
pci 0002:04:00.0: PCI bridge to [bus 05-05]                                     
pci 0002:04:00.0:   bridge window [io  0xffbc9000-0xffbd8fff]                   
pci 0002:04:00.0:   bridge window [mem 0x80000000-0x9fffffff]                   
pci 0000:00:00.0: enabling device (0106 -> 0107)                                
pci 0001:02:00.0: enabling device (0106 -> 0107)                                
pci 0002:04:00.0: enabling device (0106 -> 0107)                                
pci_bus 0000:00: resource 0 [io  0xffbed000-0xffbfcfff]                         
pci_bus 0000:00: resource 1 [mem 0xa0000000-0xbfffffff]                         
pci_bus 0000:01: resource 0 [io  0xffbed000-0xffbfcfff]                         
pci_bus 0000:01: resource 1 [mem 0xa0000000-0xbfffffff]                         
pci_bus 0001:02: resource 0 [io  0xffbdb000-0xffbeafff]                         
pci_bus 0001:02: resource 1 [mem 0xc0000000-0xdfffffff]                         
pci_bus 0001:03: resource 0 [io  0xffbdb000-0xffbeafff]                         
pci_bus 0001:03: resource 1 [mem 0xc0000000-0xdfffffff]                         
pci_bus 0002:04: resource 0 [io  0xffbc9000-0xffbd8fff]                         
pci_bus 0002:04: resource 1 [mem 0x80000000-0x9fffffff]                         
pci_bus 0002:05: resource 0 [io  0xffbc9000-0xffbd8fff]                         
pci_bus 0002:05: resource 1 [mem 0x80000000-0x9fffffff]
diff mbox

Patch

diff --git a/arch/powerpc/boot/dts/p1022ds_32b.dts b/arch/powerpc/boot/dts/p1022ds_32b.dts
new file mode 100644
index 0000000..18787d9
--- /dev/null
+++ b/arch/powerpc/boot/dts/p1022ds_32b.dts
@@ -0,0 +1,270 @@ 
+/*
+ * P1022 DS 32-Bit Physical Address Map Device Tree Source
+ *
+ * Copyright 2011 Freescale Semiconductor, Inc.
+ *
+ * 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.
+ */
+
+/include/ "fsl/p1022si-pre.dtsi"
+/ {
+	model = "fsl,P1022DS";
+	compatible = "fsl,P1022DS";
+
+	memory {
+		device_type = "memory";
+	};
+
+	lbc: localbus@ffe05000 {
+		reg = <0x0 0xffe05000 0 0x1000>;
+		ranges = <0x0 0x0 0x0 0xe8000000 0x08000000
+			  0x1 0x0 0x0 0xe0000000 0x08000000
+			  0x2 0x0 0x0 0xff800000 0x00040000
+			  0x3 0x0 0x0 0xffdf0000 0x00008000>;
+
+		/*
+		 * This node is used to access the pixis via "indirect" mode,
+		 * which is done by writing the pixis register index to chip
+		 * select 0 and the value to/from chip select 1.  Indirect
+		 * mode is the only way to access the pixis when DIU video
+		 * is enabled.  Note that this assumes that the first column
+		 * of the 'ranges' property above is the chip select number.
+		 */
+		board-control@0,0 {
+			compatible = "fsl,p1022ds-indirect-pixis";
+			reg = <0x0 0x0 1	/* CS0 */
+			       0x1 0x0 1>;	/* CS1 */
+		};
+
+		nor@0,0 {
+			#address-cells = <1>;
+			#size-cells = <1>;
+			compatible = "cfi-flash";
+			reg = <0x0 0x0 0x8000000>;
+			bank-width = <2>;
+			device-width = <1>;
+
+			partition@0 {
+				reg = <0x0 0x03000000>;
+				label = "ramdisk-nor";
+				read-only;
+			};
+
+			partition@3000000 {
+				reg = <0x03000000 0x00e00000>;
+				label = "diagnostic-nor";
+				read-only;
+			};
+
+			partition@3e00000 {
+				reg = <0x03e00000 0x00200000>;
+				label = "dink-nor";
+				read-only;
+			};
+
+			partition@4000000 {
+				reg = <0x04000000 0x00400000>;
+				label = "kernel-nor";
+				read-only;
+			};
+
+			partition@4400000 {
+				reg = <0x04400000 0x03b00000>;
+				label = "jffs2-nor";
+			};
+
+			partition@7f00000 {
+				reg = <0x07f00000 0x00080000>;
+				label = "dtb-nor";
+				read-only;
+			};
+
+			partition@7f80000 {
+				reg = <0x07f80000 0x00080000>;
+				label = "u-boot-nor";
+				read-only;
+			};
+		};
+
+		nand@2,0 {
+			#address-cells = <1>;
+			#size-cells = <1>;
+			compatible = "fsl,elbc-fcm-nand";
+			reg = <0x2 0x0 0x40000>;
+
+			partition@0 {
+				reg = <0x0 0x02000000>;
+				label = "u-boot-nand";
+				read-only;
+			};
+
+			partition@2000000 {
+				reg = <0x02000000 0x10000000>;
+				label = "jffs2-nand";
+			};
+
+			partition@12000000 {
+				reg = <0x12000000 0x10000000>;
+				label = "ramdisk-nand";
+				read-only;
+			};
+
+			partition@22000000 {
+				reg = <0x22000000 0x04000000>;
+				label = "kernel-nand";
+			};
+
+			partition@26000000 {
+				reg = <0x26000000 0x01000000>;
+				label = "dtb-nand";
+				read-only;
+			};
+
+			partition@27000000 {
+				reg = <0x27000000 0x19000000>;
+				label = "reserved-nand";
+			};
+		};
+
+		board-control@3,0 {
+			compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
+			reg = <3 0 0x30>;
+			interrupt-parent = <&mpic>;
+			/*
+			 * IRQ8 is generated if the "EVENT" switch is pressed
+			 * and PX_CTL[EVESEL] is set to 00.
+			 */
+			interrupts = <8 8 0 0>;
+		};
+	};
+
+	soc: soc@ffe00000 {
+		ranges = <0x0 0x0 0xffe00000 0x100000>;
+
+		i2c@3100 {
+			wm8776:codec@1a {
+				compatible = "wlf,wm8776";
+				reg = <0x1a>;
+				/*
+				 * clock-frequency will be set by U-Boot if
+				 * the clock is enabled.
+				 */
+			};
+		};
+
+		spi@7000 {
+			flash@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "spansion,s25sl12801";
+				reg = <0>;
+				spi-max-frequency = <40000000>; /* input clock */
+
+				partition@0 {
+					label = "u-boot-spi";
+					reg = <0x00000000 0x00100000>;
+					read-only;
+				};
+				partition@100000 {
+					label = "kernel-spi";
+					reg = <0x00100000 0x00500000>;
+					read-only;
+				};
+				partition@600000 {
+					label = "dtb-spi";
+					reg = <0x00600000 0x00100000>;
+					read-only;
+				};
+				partition@700000 {
+					label = "file system-spi";
+					reg = <0x00700000 0x00900000>;
+				};
+			};
+		};
+
+		ssi@15000 {
+			fsl,mode = "i2s-slave";
+			codec-handle = <&wm8776>;
+			fsl,ssi-asynchronous;
+		};
+
+		usb@22000 {
+			phy_type = "ulpi";
+		};
+
+		usb@23000 {
+			status = "disabled";
+		};
+
+		mdio@24000 {
+			phy0: ethernet-phy@0 {
+				interrupts = <3 1 0 0>;
+				reg = <0x1>;
+			};
+			phy1: ethernet-phy@1 {
+				interrupts = <9 1 0 0>;
+				reg = <0x2>;
+			};
+		};
+
+		ethernet@b0000 {
+			phy-handle = <&phy0>;
+			phy-connection-type = "rgmii-id";
+		};
+
+		ethernet@b1000 {
+			phy-handle = <&phy1>;
+			phy-connection-type = "rgmii-id";
+		};
+	};
+
+	pci0: pcie@ffe09000 {
+		reg = <0x0 0xffe09000 0 0x1000>;
+		ranges = <0x2000000 0x0 0xe0000000 0 0xa0000000 0x0 0x20000000
+			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
+		pcie@0 {
+			ranges = <0x2000000 0x0 0xe0000000
+				  0x2000000 0x0 0xe0000000
+				  0x0 0x20000000
+
+				  0x1000000 0x0 0x0
+				  0x1000000 0x0 0x0
+				  0x0 0x100000>;
+		};
+	};
+
+	pci1: pcie@ffe0a000 {
+		reg = <0 0xffe0a000 0 0x1000>;
+		ranges = <0x2000000 0x0 0xe0000000 0 0xc0000000 0x0 0x20000000
+			  0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
+		pcie@0 {
+			reg = <0x0 0x0 0x0 0x0 0x0>;
+			ranges = <0x2000000 0x0 0xe0000000
+				  0x2000000 0x0 0xe0000000
+				  0x0 0x20000000
+
+				  0x1000000 0x0 0x0
+				  0x1000000 0x0 0x0
+				  0x0 0x100000>;
+		};
+	};
+
+	pci2: pcie@ffe0b000 {
+		reg = <0 0xffe0b000 0 0x1000>;
+		ranges = <0x2000000 0x0 0xe0000000 0 0x80000000 0x0 0x20000000
+			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
+		pcie@0 {
+			ranges = <0x2000000 0x0 0xe0000000
+				  0x2000000 0x0 0xe0000000
+				  0x0 0x20000000
+
+				  0x1000000 0x0 0x0
+				  0x1000000 0x0 0x0
+				  0x0 0x100000>;
+		};
+	};
+};
+
+/include/ "fsl/p1022si-post.dtsi"