[linux-yocto] [PATCH 50/78] arch/arm/mach-axxia: add support for SPI flash

Paul Butler butler.paul at gmail.com
Tue Nov 19 20:23:26 PST 2013


From: John Jacques <john.jacques at lsi.com>

Signed-off-by: John Jacques <john.jacques at lsi.com>
---
 arch/arm/boot/dts/axm55xx.dts | 27 +++++++++++++++++++++++++++
 arch/arm/mach-axxia/axxia.c   | 25 +++++--------------------
 2 files changed, 32 insertions(+), 20 deletions(-)

diff --git a/arch/arm/boot/dts/axm55xx.dts b/arch/arm/boot/dts/axm55xx.dts
index b65cbad..b3df3ad 100644
--- a/arch/arm/boot/dts/axm55xx.dts
+++ b/arch/arm/boot/dts/axm55xx.dts
@@ -279,6 +279,33 @@
 				     <0 52 4>,
 				     <0 53 4>;
 		};
+
+		gpio at 2010092000 {
+			compatible = "arm,pl061", "arm,primecell";
+			reg = <0x20 0x10092000 0x00 0x1000>;
+			interrupts = <0 10 4>,
+				     <0 11 4>,
+				     <0 12 4>,
+				     <0 13 4>,
+				     <0 14 4>,
+				     <0 15 4>,
+				     <0 16 4>,
+				     <0 17 4>;
+		};
+
+		gpio at 2010093000 {
+			compatible = "arm,pl061", "arm,primecell";
+			reg = <0x20 0x10093000 0x00 0x1000>;
+			interrupts = <0 18 4>;
+		};
+
+		ssp at 2010088000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "arm,pl022", "arm,primecell";
+			reg = <0x20 0x10088000 0x00 0x1000>;
+			interrupts = <0 42 4>;
+		};
 	};
 
 	I2C0: i2c at 0x02010084000 {
diff --git a/arch/arm/mach-axxia/axxia.c b/arch/arm/mach-axxia/axxia.c
index 2eef32a..e72fe1f 100644
--- a/arch/arm/mach-axxia/axxia.c
+++ b/arch/arm/mach-axxia/axxia.c
@@ -173,7 +173,6 @@ spidev_chip_select(u32 control, unsigned n)
 
 static void spi_cs_eeprom0(u32 control) { spidev_chip_select(control, 0); }
 static void spi_cs_eeprom1(u32 control) { spidev_chip_select(control, 1); }
-static void spi_cs_eeprom2(u32 control) { spidev_chip_select(control, 2); }
 
 struct pl022_config_chip spi_eeprom0 = {
 	.iface      = SSP_INTERFACE_MOTOROLA_SPI,
@@ -187,37 +186,23 @@ struct pl022_config_chip spi_eeprom1 = {
 	.cs_control = spi_cs_eeprom1
 };
 
-struct pl022_config_chip spi_eeprom2 = {
-	.iface      = SSP_INTERFACE_MOTOROLA_SPI,
-	.com_mode   = POLLING_TRANSFER,
-	.cs_control = spi_cs_eeprom2
-};
-
 static struct spi_board_info spi_devs[] __initdata = {
 	{
-		.modalias               = "spidev",
+		.modalias               = "s25fl129p1",
 		.controller_data        = &spi_eeprom0,
 		.bus_num                = 0,
 		.chip_select            = 0,
-		.max_speed_hz           = 12000000,
+		.max_speed_hz           = 25000000,
 		.mode                   = SPI_MODE_0,
 	},
 	{
-		.modalias               = "spidev",
+		.modalias               = "s25fl129p1",
 		.controller_data        = &spi_eeprom1,
 		.bus_num                = 0,
 		.chip_select            = 1,
-		.max_speed_hz           = 12000000,
-		.mode                   = SPI_MODE_0,
-	},
-	{
-		.modalias               = "spidev",
-		.controller_data        = &spi_eeprom2,
-		.bus_num                = 0,
-		.chip_select            = 2,
-		.max_speed_hz           = 12000000,
+		.max_speed_hz           = 25000000,
 		.mode                   = SPI_MODE_0,
-	},
+	}
 };
 
 void __init axxia_dt_init(void)
-- 
1.8.4.3



More information about the linux-yocto mailing list