^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * Energy Micro EFM32 SPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - #address-cells: see spi-bus.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - #size-cells: see spi-bus.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - compatible: should be "energymicro,efm32-spi"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - reg: Offset and length of the register set for the controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - interrupts: pair specifying rx and tx irq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - clocks: phandle to the spi clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - cs-gpios: see spi-bus.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Recommended properties :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - energymicro,location: Value to write to the ROUTE register's LOCATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) bitfield to configure the pinmux for the device, see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) datasheet for values.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) If this property is not provided, keeping what is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) already configured in the hardware, so its either the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) reset default 0 or whatever the bootloader did.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) spi1: spi@4000c400 { /* USART1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) compatible = "energymicro,efm32-spi";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) reg = <0x4000c400 0x400>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) interrupts = <15 16>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) clocks = <&cmu 20>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) cs-gpios = <&gpio 51 1>; // D3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) energymicro,location = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) ks8851@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) compatible = "ks8851";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) spi-max-frequency = <6000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) reg = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) interrupt-parent = <&boardfpga>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) interrupts = <4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) };