Kernel-4.18.0-80.el8_brcm,bcm2835-aux-spi

Broadcom BCM2835 auxiliar SPI1/2 controller

The BCM2835 contains two forms of SPI master controller, one known simply as
SPI0, and the other known as the “Universal SPI Master”; part of the
auxiliary block. This binding applies to the SPI1/2 controller.

Required properties:

  • compatible: Should be “brcm,bcm2835-aux-spi”.
  • reg: Should contain register location and length for the spi block
  • interrupts: Should contain shared interrupt of the aux block
  • clocks: The clock feeding the SPI controller - needs to
    point to the auxiliar clock driver of the bcm2835,
    as this clock will enable the output gate for the specific
    clock.
    
  • cs-gpios: the cs-gpios (native cs is NOT supported)
      see also spi-bus.txt
    

Example:

spi1@7e215080 {
compatible = “brcm,bcm2835-aux-spi”;
reg = <0x7e215080 0x40>;
interrupts = <1 29>;
clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI1>;
#address-cells = <1>;
#size-cells = <0>;
cs-gpios = <&gpio 18>, <&gpio 17>, <&gpio 16>;
};

spi2@7e2150c0 {
compatible = “brcm,bcm2835-aux-spi”;
reg = <0x7e2150c0 0x40>;
interrupts = <1 29>;
clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI2>;
#address-cells = <1>;
#size-cells = <0>;
cs-gpios = <&gpio 43>, <&gpio 44>, <&gpio 45>;
};