Unverified Commit 5bcbbaf0 authored by Rob Herring (Arm)'s avatar Rob Herring (Arm) Committed by Mark Brown
Browse files

spi: dt-bindings: marvell,mmp2-ssp: Merge PXA SSP into schema



The Marvell PXA SSP block is the same or similiar to the MMP2 variant.
The only difference in the binding is the PXA version supports DMA (and
that's probably a binding difference rather than an actual h/w
difference).

The old binding didn't belong under 'serial' as it is not a UART. The
SSP block also supports audio devices, so 'spi' is not a perfect fit
either. As the existing schema for MMP2 is there, just leave things
as-is.

The examples in the old text binding were pretty out of sync with
reality. 'clock-names' and 'ssp-id' aren't documented nor used.

Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://msgid.link/r/20240522132859.3146335-1-robh@kernel.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6ecdb0aa
Loading
Loading
Loading
Loading
+0 −64
Original line number Diff line number Diff line
Device tree bindings for Marvell PXA SSP ports

Required properties:

	- compatible:	Must be one of
				mrvl,pxa25x-ssp
				mvrl,pxa25x-nssp
				mrvl,pxa27x-ssp
				mrvl,pxa3xx-ssp
				mvrl,pxa168-ssp
				mrvl,pxa910-ssp
				mrvl,ce4100-ssp

	- reg:		The memory base
	- dmas:		Two dma phandles, one for rx, one for tx
	- dma-names:	Must be "rx", "tx"


Example for PXA3xx:

	ssp0: ssp@41000000 {
		compatible = "mrvl,pxa3xx-ssp";
		reg = <0x41000000 0x40>;
		ssp-id = <1>;
		interrupts = <24>;
		clock-names = "pxa27x-ssp.0";
		dmas = <&dma 13
			&dma 14>;
		dma-names = "rx", "tx";
	};

	ssp1: ssp@41700000 {
		compatible = "mrvl,pxa3xx-ssp";
		reg = <0x41700000 0x40>;
		ssp-id = <2>;
		interrupts = <16>;
		clock-names = "pxa27x-ssp.1";
		dmas = <&dma 15
			&dma 16>;
		dma-names = "rx", "tx";
	};

	ssp2: ssp@41900000 {
		compatibl3 = "mrvl,pxa3xx-ssp";
		reg = <0x41900000 0x40>;
		ssp-id = <3>;
		interrupts = <0>;
		clock-names = "pxa27x-ssp.2";
		dmas = <&dma 66
			&dma 67>;
		dma-names = "rx", "tx";
	};

	ssp3: ssp@41a00000 {
		compatible = "mrvl,pxa3xx-ssp";
		reg = <0x41a00000 0x40>;
		ssp-id = <4>;
		interrupts = <13>;
		clock-names = "pxa27x-ssp.3";
		dmas = <&dma 2
			&dma 3>;
		dma-names = "rx", "tx";
	};
+31 −4
Original line number Diff line number Diff line
@@ -10,12 +10,17 @@ title: PXA2xx SSP SPI Controller
maintainers:
  - Lubomir Rintel <lkundrak@v3.sk>

allOf:
  - $ref: spi-controller.yaml#

properties:
  compatible:
    const: marvell,mmp2-ssp
    enum:
      - marvell,mmp2-ssp
      - mrvl,ce4100-ssp
      - mvrl,pxa168-ssp
      - mrvl,pxa25x-ssp
      - mvrl,pxa25x-nssp
      - mrvl,pxa27x-ssp
      - mrvl,pxa3xx-ssp
      - mrvl,pxa910-ssp

  interrupts:
    maxItems: 1
@@ -26,6 +31,16 @@ properties:
  clocks:
    maxItems: 1

  dmas:
    items:
      - description: Receive DMA
      - description: Transmit DMA

  dma-names:
    items:
      - const: rx
      - const: tx

  ready-gpios:
    description: |
      GPIO used to signal a SPI master that the FIFO is filled and we're
@@ -41,6 +56,18 @@ required:
dependencies:
  ready-gpios: [ spi-slave ]

allOf:
  - $ref: spi-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: marvell,mmp2-ssp
    then:
      properties:
        dmas: false
        dma-names: false

unevaluatedProperties: false

examples: