Commit a8a36a23 authored by Michael Hope's avatar Michael Hope Committed by Kumar Gala
Browse files

spi: sam0: use Device Tree for configuration.



Switch the SoC device tree to define a single entry per SERCOM instead
of one per mode.

Define a Device Tree binding for the SAM0 SPI and use it instead of
Kconfig for enabling / disabaling instances

Switch the Arduino Zero, Adafruit Feather M0 Basic Proto, and
Trinket M0 to use the new defintion.

Add the APA102 LED that's on the Trinket as a test.

Signed-off-by: default avatarMichael Hope <mlhx@google.com>
Signed-off-by: default avatarKumar Gala <kumar.gala@linaro.org>
parent c83f0782
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -45,6 +45,24 @@
#define CONFIG_UART_SAM0_SERCOM5_LABEL ATMEL_SAM0_UART_42001C00_LABEL
#define CONFIG_UART_SAM0_SERCOM5_BASE_ADDRESS ATMEL_SAM0_UART_42001C00_BASE_ADDRESS

#define CONFIG_SPI_SAM0_SERCOM0_LABEL ATMEL_SAM0_SPI_42000800_LABEL
#define CONFIG_SPI_SAM0_SERCOM0_BASE_ADDRESS ATMEL_SAM0_SPI_42000800_BASE_ADDRESS

#define CONFIG_SPI_SAM0_SERCOM1_LABEL ATMEL_SAM0_SPI_42000C00_LABEL
#define CONFIG_SPI_SAM0_SERCOM1_BASE_ADDRESS ATMEL_SAM0_SPI_42000C00_BASE_ADDRESS

#define CONFIG_SPI_SAM0_SERCOM2_LABEL ATMEL_SAM0_SPI_42001000_LABEL
#define CONFIG_SPI_SAM0_SERCOM2_BASE_ADDRESS ATMEL_SAM0_SPI_42001000_BASE_ADDRESS

#define CONFIG_SPI_SAM0_SERCOM3_LABEL ATMEL_SAM0_SPI_42001400_LABEL
#define CONFIG_SPI_SAM0_SERCOM3_BASE_ADDRESS ATMEL_SAM0_SPI_42001400_BASE_ADDRESS

#define CONFIG_SPI_SAM0_SERCOM4_LABEL ATMEL_SAM0_SPI_42001800_LABEL
#define CONFIG_SPI_SAM0_SERCOM4_BASE_ADDRESS ATMEL_SAM0_SPI_42001800_BASE_ADDRESS

#define CONFIG_SPI_SAM0_SERCOM5_LABEL ATMEL_SAM0_SPI_42001C00_LABEL
#define CONFIG_SPI_SAM0_SERCOM5_BASE_ADDRESS ATMEL_SAM0_SPI_42001C00_BASE_ADDRESS

#define CONFIG_WDT_SAM0_IRQ ATMEL_SAM0_WATCHDOG_40001000_IRQ_0
#define CONFIG_WDT_SAM0_IRQ_PRIORITY ATMEL_SAM0_WATCHDOG_40001000_IRQ_0_PRIORITY
#define CONFIG_WDT_SAM0_LABEL ATMEL_SAM0_WATCHDOG_40001000_LABEL
+5 −1
Original line number Diff line number Diff line
@@ -22,11 +22,15 @@

&sercom0 {
	status = "ok";
	compatible = "atmel,sam0-uart";
	current-speed = <115200>;
};

&spi4 {
&sercom4 {
	status = "ok";
	compatible = "atmel,sam0-spi";
	#address-cells = <1>;
	#size-cells = <0>;
};

&flash0 {
+0 −2
Original line number Diff line number Diff line
@@ -17,7 +17,5 @@ CONFIG_SOC_ATMEL_SAMD_XOSC32K=y
CONFIG_SOC_ATMEL_SAMD_XOSC32K_AS_MAIN=y
CONFIG_SPI=y
CONFIG_SPI_SAM0=y
CONFIG_SPI_4=y
CONFIG_SPI_LEGACY_API=n
CONFIG_PINMUX=y
CONFIG_PINMUX_SAM0=y
+13 −1
Original line number Diff line number Diff line
@@ -21,17 +21,29 @@

&sercom0 {
	status = "ok";
	compatible = "atmel,sam0-uart";
	current-speed = <115200>;
};

&sercom2 {
	status = "ok";
	compatible = "atmel,sam0-uart";
	current-speed = <115200>;
};

/* Drives the on-board DotStar LED */
&spi1 {
&sercom1 {
	status = "ok";
	compatible = "atmel,sam0-spi";
	#address-cells = <1>;
	#size-cells = <0>;

	led1: apa102@0 {
		compatible = "apa,apa102";
		reg = <0>;
		spi-max-frequency = <24000000>;
		label = "LED1";
	};
};

&flash0 {
+0 −2
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@ CONFIG_WATCHDOG=y
CONFIG_WDT_SAM0=y
CONFIG_SPI=y
CONFIG_SPI_SAM0=y
CONFIG_SPI_1=y
CONFIG_SPI_1_IRQ_PRI=0
CONFIG_SPI_LEGACY_API=n
CONFIG_PINMUX=y
CONFIG_PINMUX_SAM0=y
Loading