summaryrefslogtreecommitdiffstats
path: root/kernel/Documentation/devicetree/bindings/spi/efm32-spi.txt
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/Documentation/devicetree/bindings/spi/efm32-spi.txt')
-rw-r--r--kernel/Documentation/devicetree/bindings/spi/efm32-spi.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/kernel/Documentation/devicetree/bindings/spi/efm32-spi.txt b/kernel/Documentation/devicetree/bindings/spi/efm32-spi.txt
new file mode 100644
index 000000000..750e29aff
--- /dev/null
+++ b/kernel/Documentation/devicetree/bindings/spi/efm32-spi.txt
@@ -0,0 +1,41 @@
+* Energy Micro EFM32 SPI
+
+Required properties:
+- #address-cells: see spi-bus.txt
+- #size-cells: see spi-bus.txt
+- compatible: should be "energymicro,efm32-spi"
+- reg: Offset and length of the register set for the controller
+- interrupts: pair specifying rx and tx irq
+- clocks: phandle to the spi clock
+- cs-gpios: see spi-bus.txt
+
+Recommended properties :
+- energymicro,location: Value to write to the ROUTE register's LOCATION
+ bitfield to configure the pinmux for the device, see
+ datasheet for values.
+ If this property is not provided, keeping what is
+ already configured in the hardware, so its either the
+ reset default 0 or whatever the bootloader did.
+
+Example:
+
+spi1: spi@0x4000c400 { /* USART1 */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "energymicro,efm32-spi";
+ reg = <0x4000c400 0x400>;
+ interrupts = <15 16>;
+ clocks = <&cmu 20>;
+ cs-gpios = <&gpio 51 1>; // D3
+ energymicro,location = <1>;
+ status = "ok";
+
+ ks8851@0 {
+ compatible = "ks8851";
+ spi-max-frequency = <6000000>;
+ reg = <0>;
+ interrupt-parent = <&boardfpga>;
+ interrupts = <4>;
+ status = "ok";
+ };
+};