Explorar el Código

Merge commit 'kumar/kumar-for-2.6.28'

Benjamin Herrenschmidt hace 16 años
padre
commit
84dfcb4b31

+ 2 - 0
Documentation/powerpc/booting-without-of.txt

@@ -1917,6 +1917,8 @@ platforms are moved over to use the flattened-device-tree model.
 			inverse clock polarity (CPOL) mode
 			inverse clock polarity (CPOL) mode
     - spi-cpha        - (optional) Empty property indicating device requires
     - spi-cpha        - (optional) Empty property indicating device requires
 			shifted clock phase (CPHA) mode
 			shifted clock phase (CPHA) mode
+    - spi-cs-high     - (optional) Empty property indicating device requires
+			chip select active high
 
 
     SPI example for an MPC5200 SPI bus:
     SPI example for an MPC5200 SPI bus:
 		spi@f00 {
 		spi@f00 {

+ 2 - 2
Documentation/powerpc/dts-bindings/fsl/board.txt

@@ -2,13 +2,13 @@
 
 
 Required properties:
 Required properties:
 
 
- - device_type : Should be "board-control"
+ - compatible : Should be "fsl,<board>-bcsr"
  - reg : Offset and length of the register set for the device
  - reg : Offset and length of the register set for the device
 
 
 Example:
 Example:
 
 
 	bcsr@f8000000 {
 	bcsr@f8000000 {
-		device_type = "board-control";
+		compatible = "fsl,mpc8360mds-bcsr";
 		reg = <f8000000 8000>;
 		reg = <f8000000 8000>;
 	};
 	};
 
 

+ 8 - 0
arch/powerpc/boot/dts/mpc8315erdb.dts

@@ -121,6 +121,14 @@
 				compatible = "dallas,ds1339";
 				compatible = "dallas,ds1339";
 				reg = <0x68>;
 				reg = <0x68>;
 			};
 			};
+
+			mcu_pio: mcu@a {
+				#gpio-cells = <2>;
+				compatible = "fsl,mc9s08qg8-mpc8315erdb",
+					     "fsl,mcu-mpc8349emitx";
+				reg = <0x0a>;
+				gpio-controller;
+			};
 		};
 		};
 
 
 		spi@7000 {
 		spi@7000 {

+ 1 - 1
arch/powerpc/boot/dts/mpc832x_mds.dts

@@ -60,7 +60,7 @@
 	};
 	};
 
 
 	bcsr@f8000000 {
 	bcsr@f8000000 {
-		device_type = "board-control";
+		compatible = "fsl,mpc8323mds-bcsr";
 		reg = <0xf8000000 0x8000>;
 		reg = <0xf8000000 0x8000>;
 	};
 	};
 
 

+ 16 - 0
arch/powerpc/boot/dts/mpc8349emitx.dts

@@ -83,6 +83,14 @@
 			interrupts = <15 0x8>;
 			interrupts = <15 0x8>;
 			interrupt-parent = <&ipic>;
 			interrupt-parent = <&ipic>;
 			dfsrr;
 			dfsrr;
+
+			rtc@68 {
+				device_type = "rtc";
+				compatible = "dallas,ds1339";
+				reg = <0x68>;
+				interrupts = <18 0x8>;
+				interrupt-parent = <&ipic>;
+			};
 		};
 		};
 
 
 		spi@7000 {
 		spi@7000 {
@@ -131,6 +139,14 @@
 				interrupt-parent = <&ipic>;
 				interrupt-parent = <&ipic>;
 				interrupts = <71 8>;
 				interrupts = <71 8>;
 			};
 			};
+
+			mcu_pio: mcu@a {
+				#gpio-cells = <2>;
+				compatible = "fsl,mc9s08qg8-mpc8349emitx",
+					     "fsl,mcu-mpc8349emitx";
+				reg = <0x0a>;
+				gpio-controller;
+			};
 		};
 		};
 
 
 		usb@22000 {
 		usb@22000 {

+ 8 - 0
arch/powerpc/boot/dts/mpc8349emitxgp.dts

@@ -81,6 +81,14 @@
 			interrupts = <15 0x8>;
 			interrupts = <15 0x8>;
 			interrupt-parent = <&ipic>;
 			interrupt-parent = <&ipic>;
 			dfsrr;
 			dfsrr;
+
+			rtc@68 {
+				device_type = "rtc";
+				compatible = "dallas,ds1339";
+				reg = <0x68>;
+				interrupts = <18 0x8>;
+				interrupt-parent = <&ipic>;
+			};
 		};
 		};
 
 
 		spi@7000 {
 		spi@7000 {

+ 1 - 1
arch/powerpc/boot/dts/mpc834x_mds.dts

@@ -49,7 +49,7 @@
 	};
 	};
 
 
 	bcsr@e2400000 {
 	bcsr@e2400000 {
-		device_type = "board-control";
+		compatible = "fsl,mpc8349mds-bcsr";
 		reg = <0xe2400000 0x8000>;
 		reg = <0xe2400000 0x8000>;
 	};
 	};
 
 

+ 1 - 1
arch/powerpc/boot/dts/mpc836x_mds.dts

@@ -69,7 +69,7 @@
 		};
 		};
 
 
 		bcsr@1,0 {
 		bcsr@1,0 {
-			device_type = "board-control";
+ 			compatible = "fsl,mpc8360mds-bcsr";
 			reg = <1 0 0x8000>;
 			reg = <1 0 0x8000>;
 		};
 		};
 	};
 	};

+ 8 - 0
arch/powerpc/boot/dts/mpc8377_rdb.dts

@@ -121,6 +121,14 @@
 				compatible = "dallas,ds1339";
 				compatible = "dallas,ds1339";
 				reg = <0x68>;
 				reg = <0x68>;
 			};
 			};
+
+			mcu_pio: mcu@a {
+				#gpio-cells = <2>;
+				compatible = "fsl,mc9s08qg8-mpc8377erdb",
+					     "fsl,mcu-mpc8349emitx";
+				reg = <0x0a>;
+				gpio-controller;
+			};
 		};
 		};
 
 
 		i2c@3100 {
 		i2c@3100 {

+ 8 - 0
arch/powerpc/boot/dts/mpc8378_rdb.dts

@@ -121,6 +121,14 @@
 				compatible = "dallas,ds1339";
 				compatible = "dallas,ds1339";
 				reg = <0x68>;
 				reg = <0x68>;
 			};
 			};
+
+			mcu_pio: mcu@a {
+				#gpio-cells = <2>;
+				compatible = "fsl,mc9s08qg8-mpc8378erdb",
+					     "fsl,mcu-mpc8349emitx";
+				reg = <0x0a>;
+				gpio-controller;
+			};
 		};
 		};
 
 
 		i2c@3100 {
 		i2c@3100 {

+ 8 - 0
arch/powerpc/boot/dts/mpc8379_rdb.dts

@@ -121,6 +121,14 @@
 				compatible = "dallas,ds1339";
 				compatible = "dallas,ds1339";
 				reg = <0x68>;
 				reg = <0x68>;
 			};
 			};
+
+			mcu_pio: mcu@a {
+				#gpio-cells = <2>;
+				compatible = "fsl,mc9s08qg8-mpc8379erdb",
+					     "fsl,mcu-mpc8349emitx";
+				reg = <0x0a>;
+				gpio-controller;
+			};
 		};
 		};
 
 
 		i2c@3100 {
 		i2c@3100 {

+ 6 - 6
arch/powerpc/boot/dts/mpc8536ds.dts

@@ -109,7 +109,7 @@
 				reg = <0x0 0x80>;
 				reg = <0x0 0x80>;
 				cell-index = <0>;
 				cell-index = <0>;
 				interrupt-parent = <&mpic>;
 				interrupt-parent = <&mpic>;
-				interrupts = <14 0x2>;
+				interrupts = <20 2>;
 			};
 			};
 			dma-channel@80 {
 			dma-channel@80 {
 				compatible = "fsl,mpc8536-dma-channel",
 				compatible = "fsl,mpc8536-dma-channel",
@@ -117,7 +117,7 @@
 				reg = <0x80 0x80>;
 				reg = <0x80 0x80>;
 				cell-index = <1>;
 				cell-index = <1>;
 				interrupt-parent = <&mpic>;
 				interrupt-parent = <&mpic>;
-				interrupts = <15 0x2>;
+				interrupts = <21 2>;
 			};
 			};
 			dma-channel@100 {
 			dma-channel@100 {
 				compatible = "fsl,mpc8536-dma-channel",
 				compatible = "fsl,mpc8536-dma-channel",
@@ -125,7 +125,7 @@
 				reg = <0x100 0x80>;
 				reg = <0x100 0x80>;
 				cell-index = <2>;
 				cell-index = <2>;
 				interrupt-parent = <&mpic>;
 				interrupt-parent = <&mpic>;
-				interrupts = <16 0x2>;
+				interrupts = <22 2>;
 			};
 			};
 			dma-channel@180 {
 			dma-channel@180 {
 				compatible = "fsl,mpc8536-dma-channel",
 				compatible = "fsl,mpc8536-dma-channel",
@@ -133,7 +133,7 @@
 				reg = <0x180 0x80>;
 				reg = <0x180 0x80>;
 				cell-index = <3>;
 				cell-index = <3>;
 				interrupt-parent = <&mpic>;
 				interrupt-parent = <&mpic>;
-				interrupts = <17 0x2>;
+				interrupts = <23 2>;
 			};
 			};
 		};
 		};
 
 
@@ -180,7 +180,7 @@
 		enet0: ethernet@24000 {
 		enet0: ethernet@24000 {
 			cell-index = <0>;
 			cell-index = <0>;
 			device_type = "network";
 			device_type = "network";
-			model = "TSEC";
+			model = "eTSEC";
 			compatible = "gianfar";
 			compatible = "gianfar";
 			reg = <0x24000 0x1000>;
 			reg = <0x24000 0x1000>;
 			local-mac-address = [ 00 00 00 00 00 00 ];
 			local-mac-address = [ 00 00 00 00 00 00 ];
@@ -193,7 +193,7 @@
 		enet1: ethernet@26000 {
 		enet1: ethernet@26000 {
 			cell-index = <1>;
 			cell-index = <1>;
 			device_type = "network";
 			device_type = "network";
-			model = "TSEC";
+			model = "eTSEC";
 			compatible = "gianfar";
 			compatible = "gianfar";
 			reg = <0x26000 0x1000>;
 			reg = <0x26000 0x1000>;
 			local-mac-address = [ 00 00 00 00 00 00 ];
 			local-mac-address = [ 00 00 00 00 00 00 ];

+ 1 - 1
arch/powerpc/boot/dts/mpc8568mds.dts

@@ -52,7 +52,7 @@
 	};
 	};
 
 
 	bcsr@f8000000 {
 	bcsr@f8000000 {
-		device_type = "board-control";
+		compatible = "fsl,mpc8568mds-bcsr";
 		reg = <0xf8000000 0x8000>;
 		reg = <0xf8000000 0x8000>;
 	};
 	};
 
 

+ 13 - 14
arch/powerpc/boot/dts/mpc8572ds.dts

@@ -13,8 +13,8 @@
 / {
 / {
 	model = "fsl,MPC8572DS";
 	model = "fsl,MPC8572DS";
 	compatible = "fsl,MPC8572DS";
 	compatible = "fsl,MPC8572DS";
-	#address-cells = <1>;
-	#size-cells = <1>;
+	#address-cells = <2>;
+	#size-cells = <2>;
 
 
 	aliases {
 	aliases {
 		ethernet0 = &enet0;
 		ethernet0 = &enet0;
@@ -61,7 +61,6 @@
 
 
 	memory {
 	memory {
 		device_type = "memory";
 		device_type = "memory";
-		reg = <0x0 0x0>;	// Filled by U-Boot
 	};
 	};
 
 
 	soc8572@ffe00000 {
 	soc8572@ffe00000 {
@@ -69,8 +68,8 @@
 		#size-cells = <1>;
 		#size-cells = <1>;
 		device_type = "soc";
 		device_type = "soc";
 		compatible = "simple-bus";
 		compatible = "simple-bus";
-		ranges = <0x0 0xffe00000 0x100000>;
-		reg = <0xffe00000 0x1000>;	// CCSRBAR & soc regs, remove once parse code for immrbase fixed
+		ranges = <0x0 0 0xffe00000 0x100000>;
+		reg = <0 0xffe00000 0 0x1000>;	// CCSRBAR & soc regs, remove once parse code for immrbase fixed
 		bus-frequency = <0>;		// Filled out by uboot.
 		bus-frequency = <0>;		// Filled out by uboot.
 
 
 		memory-controller@2000 {
 		memory-controller@2000 {
@@ -351,10 +350,10 @@
 		#interrupt-cells = <1>;
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#size-cells = <2>;
 		#address-cells = <3>;
 		#address-cells = <3>;
-		reg = <0xffe08000 0x1000>;
+		reg = <0 0xffe08000 0 0x1000>;
 		bus-range = <0 255>;
 		bus-range = <0 255>;
-		ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x20000000
-			  0x1000000 0x0 0x0 0xffc00000 0x0 0x10000>;
+		ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
+			  0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x00010000>;
 		clock-frequency = <33333333>;
 		clock-frequency = <33333333>;
 		interrupt-parent = <&mpic>;
 		interrupt-parent = <&mpic>;
 		interrupts = <24 2>;
 		interrupts = <24 2>;
@@ -561,10 +560,10 @@
 		#interrupt-cells = <1>;
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#size-cells = <2>;
 		#address-cells = <3>;
 		#address-cells = <3>;
-		reg = <0xffe09000 0x1000>;
+		reg = <0 0xffe09000 0 0x1000>;
 		bus-range = <0 255>;
 		bus-range = <0 255>;
-		ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000
-			  0x1000000 0x0 0x0 0xffc10000 0x0 0x10000>;
+		ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
+			  0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x00010000>;
 		clock-frequency = <33333333>;
 		clock-frequency = <33333333>;
 		interrupt-parent = <&mpic>;
 		interrupt-parent = <&mpic>;
 		interrupts = <26 2>;
 		interrupts = <26 2>;
@@ -598,10 +597,10 @@
 		#interrupt-cells = <1>;
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#size-cells = <2>;
 		#address-cells = <3>;
 		#address-cells = <3>;
-		reg = <0xffe0a000 0x1000>;
+		reg = <0 0xffe0a000 0 0x1000>;
 		bus-range = <0 255>;
 		bus-range = <0 255>;
-		ranges = <0x2000000 0x0 0xc0000000 0xc0000000 0x0 0x20000000
-			  0x1000000 0x0 0x0 0xffc20000 0x0 0x10000>;
+		ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
+			  0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x00010000>;
 		clock-frequency = <33333333>;
 		clock-frequency = <33333333>;
 		interrupt-parent = <&mpic>;
 		interrupt-parent = <&mpic>;
 		interrupts = <27 2>;
 		interrupts = <27 2>;

+ 0 - 1
drivers/i2c/busses/i2c-cpm.c

@@ -423,7 +423,6 @@ static const struct i2c_adapter cpm_ops = {
 	.owner		= THIS_MODULE,
 	.owner		= THIS_MODULE,
 	.name		= "i2c-cpm",
 	.name		= "i2c-cpm",
 	.algo		= &cpm_i2c_algo,
 	.algo		= &cpm_i2c_algo,
-	.class		= I2C_CLASS_HWMON | I2C_CLASS_SPD,
 };
 };
 
 
 static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
 static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)

+ 2 - 0
drivers/of/of_spi.c

@@ -61,6 +61,8 @@ void of_register_spi_devices(struct spi_master *master, struct device_node *np)
 			spi->mode |= SPI_CPHA;
 			spi->mode |= SPI_CPHA;
 		if (of_find_property(nc, "spi-cpol", NULL))
 		if (of_find_property(nc, "spi-cpol", NULL))
 			spi->mode |= SPI_CPOL;
 			spi->mode |= SPI_CPOL;
+		if (of_find_property(nc, "spi-cs-high", NULL))
+			spi->mode |= SPI_CS_HIGH;
 
 
 		/* Device speed */
 		/* Device speed */
 		prop = of_get_property(nc, "spi-max-frequency", &len);
 		prop = of_get_property(nc, "spi-max-frequency", &len);