Kernel-4.18.0-80.el8_spi-rspi

Device tree configuration for Renesas RSPI/QSPI driver

Required properties:

  • compatible : For Renesas Serial Peripheral Interface on legacy SH:
           "renesas,rspi-<soctype>", "renesas,rspi" as fallback.
           For Renesas Serial Peripheral Interface on RZ/A1H:
           "renesas,rspi-<soctype>", "renesas,rspi-rz" as fallback.
           For Quad Serial Peripheral Interface on R-Car Gen2 and
           RZ/G1 devices:
           "renesas,qspi-<soctype>", "renesas,qspi" as fallback.
           Examples with soctypes are:
              - "renesas,rspi-sh7757" (SH)
          - "renesas,rspi-r7s72100" (RZ/A1H)
          - "renesas,qspi-r8a7743" (RZ/G1M)
          - "renesas,qspi-r8a7745" (RZ/G1E)
          - "renesas,qspi-r8a7790" (R-Car H2)
          - "renesas,qspi-r8a7791" (R-Car M2-W)
          - "renesas,qspi-r8a7792" (R-Car V2H)
          - "renesas,qspi-r8a7793" (R-Car M2-N)
          - "renesas,qspi-r8a7794" (R-Car E2)
    
  • reg : Address start and address range size of the device
  • interrupts : A list of interrupt-specifiers, one for each entry in
           interrupt-names.
           If interrupt-names is not present, an interrupt specifier
           for a single muxed interrupt.
    
  • interrupt-names : A list of interrupt names. Should contain (if present):
             - "error" for SPEI,
             - "rx" for SPRI,
             - "tx" to SPTI,
             - "mux" for a single muxed interrupt.
    
  • interrupt-parent : The phandle for the interrupt controller that
           services interrupts for this device.
    
  • num-cs : Number of chip selects. Some RSPI cores have more than 1.
  • #address-cells : Must be <1>
  • #size-cells : Must be <0>

Optional properties:

  • clocks : Must contain a reference to the functional clock.
  • dmas : Must contain a list of two references to DMA specifiers,
           one for transmission, and one for reception.
    
  • dma-names : Must contain a list of two DMA names, “tx” and “rx”.

Pinctrl properties might be needed, too. See
Documentation/devicetree/bindings/pinctrl/renesas,*.

Examples:

spi0: spi@e800c800 {
    compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
    reg = <0xe800c800 0x24>;
    interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>,
             <0 239 IRQ_TYPE_LEVEL_HIGH>,
             <0 240 IRQ_TYPE_LEVEL_HIGH>;
    interrupt-names = "error", "rx", "tx";
    interrupt-parent = <&gic>;
    num-cs = <1>;
    #address-cells = <1>;
    #size-cells = <0>;
};

spi: spi@e6b10000 {
    compatible = "renesas,qspi-r8a7791", "renesas,qspi";
    reg = <0 0xe6b10000 0 0x2c>;
    interrupt-parent = <&gic>;
    interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&mstp9_clks R8A7791_CLK_QSPI_MOD>;
    num-cs = <1>;
    #address-cells = <1>;
    #size-cells = <0>;
    dmas = <&dmac0 0x17>, <&dmac0 0x18>;
    dma-names = "tx", "rx";
};