Skip to contentSkip to conversation

tqm8560.dts: add local bus devices

RFC PATCH In review Wolfgang Grandegger 1 participant 3 messages Apr 6, 2008 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 tqm8560.dts: add local bus devices

Hello,

this is my first attempt to add local bus nodes to the DTS file of the TQM8560 for the following devices:

CS1: 128 MB NOR FLASH at 0xf8000000
CS2: Two Intel 82527 CAN controller at 0xe3000000
CS3: 128 MB NAND FLASH at 0xe3010000

arch/powerpc/boot/dts/tqm8560.dts +71 -0
Index: linux-2.6-denx/arch/powerpc/boot/dts/tqm8560.dts
===================================================================
@@ -221,6 +221,77 @@
 		};
 	};
 
+	localbus@e0005000 {
+		compatible = "fsl,mpc8560-localbus";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		reg = <0xe0005000 0x100>;	// BRx, ORx, etc.
+
+		ranges = <
+			0x0 0x0 0xfc000000 0x04000000	// NOR FLASH bank 1
+			0x1 0x0 0xf8000000 0x08000000	// NOR FLASH bank 0
+			0x2 0x0 0xe3000000 0x00008000	// CAN (2 x i82527)
+			0x3 0x0 0xe3010000 0x00008000	// NAND FLASH
+		>;
+
+		flash@1,0 {
+			#address-cells = <1>;
+			#size-cells = <1>;
+			compatible = "cfi-flash";
+			reg = <0x1 0x0 0x8000000>;
+			bank-width = <4>;
+			device-width = <1>;
+
+			partition@0 {
+                                label = "kernel";
+                                reg = <0x00000000 0x00300000>;
+                        };
+                        partition@300000 {
+                                label = "fs";
+                                reg = <0x00300000 0x07c00000>;
+                        };
+                        partition@7700000 {
+                                label = "firmware";
+                                reg = <0x07700000 0x00100000>;
+                                read-only;
+                        };
+
+		};
+
+		can@2,0 {
+			device_type = "can";
+			compatible = "i82527";	// Intel 82527 or Bosch CC770
+			reg = <0x2 0x0 0x100>;
+			interrupts = <0x9 0x2>;
+			interrupt-parent = <&mpic>;
+		}
+
+		can@2,100 {
+			device_type = "can";
+			compatible = "i82527";	// Intel 82527 or Bosch CC770
+			reg = <0x2 0x100 0x100>;
+			interrupts = <0x9 0x2>;
+			interrupt-parent = <&mpic>;
+		}
+
+		nand@3,0 {
+			#address-cells = <1>;
+			#size-cells = <1>;
+			compatible = "fsl,mpc8560-fcm-nand",
+			             "fsl,elbc-fcm-nand";
+			reg = <0x3 0x0 0x8000>;
+
+			kernel@0 {
+                                label = "kernel";
+				reg = <0x000000 0x0300000>;
+			};
+			fs@300000 {
+                                label = "fs";
+				reg = <0x300000 0x7d00000>;
+			};
+		};
+	};
+
 	pci0: pci@e0008000 {
 		cell-index = <0>;
 		#interrupt-cells = <1>;

Do these entries make sense?

TIA.

Wolfgang.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 9 lines · Segher Boessenkool

arch/powerpc/boot/dts/tqm8560.dts line 255

Quoted 7 lines
arch/powerpc/boot/dts/tqm8560.dts +7 -0
+                        partition@300000 {
+                                label = "fs";
+                                reg = <0x00300000 0x07c00000>;
+                        };
+                        partition@7700000 {
+                                label = "firmware";
+                                reg = <0x07700000 0x00100000>;

These two overlap; should the latter be @7f00000?

Yes, of course.

Quoted 5 lines

Review

Quoted 3 lines
(quoted diff) +2 -0
+        can@2,0 {
+            device_type = "can";

No device_type please.

OK, but then I better use a more descriptive name for the compatible property, e.g.:

	compatible = "can-i82527";	// Intel 82527 or Bosch CC770
Quoted 19 lines
Quoted 8 lines
arch/powerpc/boot/dts/tqm8560.dts +7 -0
+        nand@3,0 {
+            #address-cells = <1>;
+            #size-cells = <1>;
+            compatible = "fsl,mpc8560-fcm-nand",
+                         "fsl,elbc-fcm-nand";
+            reg = <0x3 0x0 0x8000>;
+

arch/powerpc/boot/dts/tqm8560.dts line 293

Quoted 10 lines
arch/powerpc/boot/dts/tqm8560.dts +10 -0
+            kernel@0 {
+                                label = "kernel";
+                reg = <0x000000 0x0300000>;
+            };
+            fs@300000 {
+                                label = "fs";
+                reg = <0x300000 0x7d00000>;
+            };
+        };
+    };
Quoted 2 lines

There should be a node that describes the nand chip between the nand controller node and the partition nodes.

I took the mpc8378_*.dts files of 2.6.25-rc8 as example and there is no such node. Could you point me please to a more appropriate example.

Quoted 4 lines
Quoted 2 lines

Do these entries make sense?

Looks good otherwise :-)

Thanks.

Wolfgang.

#3 lore raw
Quoted 38 lines · Wolfgang Grandegger
Quoted 8 lines · Segher Boessenkool

arch/powerpc/boot/dts/tqm8560.dts line 255

Quoted 7 lines
arch/powerpc/boot/dts/tqm8560.dts +7 -0
+                        partition@300000 {
+                                label = "fs";
+                                reg = <0x00300000 0x07c00000>;
+                        };
+                        partition@7700000 {
+                                label = "firmware";
+                                reg = <0x07700000 0x00100000>;

These two overlap; should the latter be @7f00000?

Yes, of course.

Quoted 3 lines

Review

Quoted 2 lines
(quoted diff) +2 -0
+        can@2,0 {
+            device_type = "can";

No device_type please.

OK, but then I better use a more descriptive name for the compatible property, e.g.:

	compatible = "can-i82527";	// Intel 82527 or Bosch CC770
Quoted 17 lines
Quoted 17 lines
arch/powerpc/boot/dts/tqm8560.dts +17 -0
+        nand@3,0 {
+            #address-cells = <1>;
+            #size-cells = <1>;
+            compatible = "fsl,mpc8560-fcm-nand",
+                         "fsl,elbc-fcm-nand";
+            reg = <0x3 0x0 0x8000>;
+
+            kernel@0 {
+                                label = "kernel";
+                reg = <0x000000 0x0300000>;
+            };
+            fs@300000 {
+                                label = "fs";
+                reg = <0x300000 0x7d00000>;
+            };
+        };
+    };
Quoted 5 lines
Quoted 2 lines

There should be a node that describes the nand chip between the nand controller node and the partition nodes.

I took the mpc8378_*.dts files of 2.6.25-rc8 as example and there is no such node. Could you point me please to a more appropriate example.

In the meantime I realized, that the upcoming FSL UPM driver seems to be appropriate for that board:

http://ozlabs.org/pipermail/linuxppc-dev/2008-March/052890.html

What is the status of this driver? Are there already some boards using it (including DTS file)?

Wolfgang.