[PATCH 29/45] at91sam9x5ek: Configure SPI in DT

Andrey Smirnov andrew.smirnov at gmail.com
Mon Mar 6 14:53:40 PST 2017


Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 36 ------------------------------------
 arch/arm/dts/at91sam9x5ek.dts       | 24 ++++++++++++++++++++++++
 2 files changed, 24 insertions(+), 36 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 8acb23c..2fe724c 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -168,41 +168,6 @@ static void ek_add_device_lcdc(void)
 static void ek_add_device_lcdc(void) {}
 #endif
 
-static const struct spi_board_info ek_cm_cogent_spi_devices[] = {
-	{
-		.name		= "mtd_dataflash",
-		.chip_select	= 0,
-		.max_speed_hz	= 15 * 1000 * 1000,
-		.bus_num	= 0,
-	}
-};
-
-static const struct spi_board_info ek_spi_devices[] = {
-	{
-		.name		= "m25p80",
-		.chip_select	= 0,
-		.max_speed_hz	= 30 * 1000 * 1000,
-		.bus_num	= 0,
-	}
-};
-
-static unsigned spi0_standard_cs[] = { AT91_PIN_PA14};
-static struct at91_spi_platform_data spi_pdata = {
-	.chipselect = spi0_standard_cs,
-	.num_chipselect = ARRAY_SIZE(spi0_standard_cs),
-};
-
-static void ek_add_device_spi(void)
-{
-	if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT))
-		spi_register_board_info(ek_cm_cogent_spi_devices,
-				ARRAY_SIZE(ek_cm_cogent_spi_devices));
-	else
-		spi_register_board_info(ek_spi_devices,
-				ARRAY_SIZE(ek_spi_devices));
-	at91_add_device_spi(0, &spi_pdata);
-}
-
 #if defined(CONFIG_USB_OHCI) || defined(CONFIG_USB_EHCI)
 /*
  * USB HS Host port (common to OHCI & EHCI)
@@ -235,7 +200,6 @@ static int at91sam9x5ek_devices_init(void)
 	ek_add_device_w1();
 	ek_add_device_nand();
 	ek_add_device_eth();
-	ek_add_device_spi();
 	ek_add_device_usb();
 	ek_add_device_lcdc();
 
diff --git a/arch/arm/dts/at91sam9x5ek.dts b/arch/arm/dts/at91sam9x5ek.dts
index 00bb86a..efdba61 100644
--- a/arch/arm/dts/at91sam9x5ek.dts
+++ b/arch/arm/dts/at91sam9x5ek.dts
@@ -17,8 +17,32 @@
 	i2c-gpio-0 {
 		status = "okay";
 	};
+
+	ahb {
+		apb {
+			pinctrl at fffff400 {
+				spi {
+					pinctrl_board_spi: spi-board {
+						atmel,pins = <AT91_PIOA 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+				};
+			};
+		};
+	};
+};
+
+&spi0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_spi0>, <&pinctrl_board_spi>;
 };
 
 &i2c0 {
 	status = "disabled";
 };
+
+/*
+ * This one conflicts with SPI NOR on the SoM
+ */
+&mmc1 {
+	status = "disabled";
+};
-- 
2.9.3




More information about the barebox mailing list