Commit e86dda7b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull spi updates from Mark Brown:
 "The highlight here is that David Lechner has added support for
  multi-lane SPI devices. Unlike the existing dual/quad SPI support this
  is for devices (typically ADCs/DACs) which support multiple
  independent data streams over multiple data lanes, instead of sending
  one data stream N times as fast they simultaneously transfer N
  different data streams.

  This is very similar to the case where multiple devices are grouped
  together but in this case it's a single device in a way that's visible
  to software.

  Otherwise there's been quite a bit of work on existing drivers, both
  cleanup and feature improvement, and a reasonable collection of new
  drivers.

   - Support for multi-lane SPI devices

   - Preparatory work for some memory mapped flash improvements that
     will happen in the MTD subsystem

   - Several conversions to fwnode APIs

   - A bunch of cleanup and hardening work on the ST drivers

   - Support for DMA mode on Renesas RZV2H and i.MX target mode

   - Support for ATCSPI200, AXIADO AX300, NXP XPI and Renesas RZ/N1"

* tag 'spi-v6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (108 commits)
  spi: tools: Add include folder to .gitignore
  spi: cadence-qspi: Add support for the Renesas RZ/N1 controller
  spi: cadence-qspi: Kill cqspi_jh7110_clk_init
  spi: dt-bindings: cdns,qspi-nor: Add Renesas RZ/N1D400 to the list
  spi: geni-qcom: Add target abort support
  spi: geni-qcom: Drop unused msg parameter from timeout handlers
  spi: geni-qcom: Fix abort sequence execution for serial engine errors
  spi: geni-qcom: Improve target mode allocation by using proper allocation functions
  spi: xilinx: use device property accessors.
  dt-bindings: spi: Add binding for Faraday FTSSP010
  spi: axi-spi-engine: support SPI_MULTI_LANE_MODE_STRIPE
  spi: dt-bindings: adi,axi-spi-engine: add multi-lane support
  spi: Documentation: add page on multi-lane support
  spi: add multi_lane_mode field to struct spi_transfer
  spi: support controllers with multiple data lanes
  spi: dt-bindings: add spi-{tx,rx}-lane-map properties
  spi: dt-bindings: change spi-{rx,tx}-bus-width to arrays
  spi: dw: Remove not-going-to-be-supported code for Baikal SoC
  spi: cadence-qspi: Use a default value for cdns,fifo-width
  spi: cadence-qspi: Make sure write protection is disabled
  ...
parents f6c42489 5af56f30
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ properties:
  spi-cpol: true

  spi-rx-bus-width:
    items:
      minimum: 0
      maximum: 1

+41 −1
Original line number Diff line number Diff line
@@ -37,7 +37,15 @@ properties:
    maximum: 102040816

  spi-rx-bus-width:
    enum: [1, 2, 4]
    maxItems: 2
    # all lanes must have the same width
    oneOf:
      - contains:
          const: 1
      - contains:
          const: 2
      - contains:
          const: 4

  vdd-5v-supply: true
  vdd-1v8-supply: true
@@ -88,6 +96,18 @@ oneOf:

unevaluatedProperties: false

allOf:
  - if:
      properties:
        compatible:
          enum:
            - adi,ad4030-24
            - adi,ad4032-24
    then:
      properties:
        spi-rx-bus-width:
          maxItems: 1

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
@@ -108,3 +128,23 @@ examples:
            reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
        };
    };
  - |
    #include <dt-bindings/gpio/gpio.h>

    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        adc@0 {
            compatible = "adi,ad4630-24";
            reg = <0>;
            spi-max-frequency = <80000000>;
            spi-rx-bus-width = <4>, <4>;
            vdd-5v-supply = <&supply_5V>;
            vdd-1v8-supply = <&supply_1_8V>;
            vio-supply = <&supply_1_8V>;
            ref-supply = <&supply_5V>;
            cnv-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
            reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
        };
    };
+3 −2
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ properties:
  spi-cpha: true

  spi-rx-bus-width:
    items:
      minimum: 1
      maximum: 4

+15 −0
Original line number Diff line number Diff line
@@ -70,6 +70,21 @@ required:

unevaluatedProperties: false

patternProperties:
  "^.*@[0-9a-f]+":
    type: object

    properties:
      spi-rx-bus-width:
        maxItems: 8
        items:
          enum: [0, 1]

      spi-tx-bus-width:
        maxItems: 8
        items:
          enum: [0, 1]

examples:
  - |
    spi@44a00000 {
+4 −2
Original line number Diff line number Diff line
@@ -55,10 +55,12 @@ patternProperties:
          maximum: 4

      spi-rx-bus-width:
        const: 1
        items:
          - const: 1

      spi-tx-bus-width:
        const: 1
        items:
          - const: 1

required:
  - compatible
Loading