Skip to content

Commit a36de5e

Browse files
committed
Merge tag 'spi-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown: "This has been a very active release for the DesignWare driver in particular - after a long period of inactivity we have had a lot of people actively working on it for unrelated reasons this cycle with some of that work still not landed. Otherwise it's been fairly quiet for the subsystem. Highlights include: - Lots of performance improvements and fixes for the DesignWare driver from Serge Semin, Andy Shevchenko, Wan Ahmad Zainie, Clement Leger, Dinh Nguyen and Jarkko Nikula. - Support for octal mode transfers in spidev. - Slave mode support for the Rockchip drivers. - Support for AMD controllers, Broadcom mspi and Raspberry Pi 4, and Intel Elkhart Lake" * tag 'spi-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (125 commits) spi: spi-fsl-dspi: fix native data copy spi: Convert DW SPI binding to DT schema spi: dw: Refactor mid_spi_dma_setup() to separate DMA and IRQ config spi: dw: Make DMA request line assignments explicit for Intel Medfield spi: bcm2835: Remove shared interrupt support dt-bindings: snps,dw-apb-ssi: add optional reset property spi: dw: add reset control spi: bcm2835: Enable shared interrupt support spi: bcm2835: Implement shutdown callback spi: dw: Use regset32 DebugFS method to create regdump file spi: dw: Add DMA support to the DW SPI MMIO driver spi: dw: Cleanup generic DW DMA code namings spi: dw: Add DW SPI DMA/PCI/MMIO dependency on the DW SPI core spi: dw: Remove DW DMA code dependency from DW_DMAC_PCI spi: dw: Move Non-DMA code to the DW PCIe-SPI driver spi: dw: Add core suffix to the DW APB SSI core source file spi: dw: Fix Rx-only DMA transfers spi: dw: Use DMA max burst to set the request thresholds spi: dw: Parameterize the DMA Rx/Tx burst length spi: dw: Add SPI Rx-done wait method to DMA-based transfer ...
2 parents 213fd09 + fb02b9e commit a36de5e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+2082
-941
lines changed

Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ Required properties:
2626
"brcm,spi-bcm-qspi", "brcm,spi-brcmstb-qspi" : MSPI+BSPI on BRCMSTB SoCs
2727
"brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
2828
BRCMSTB SoCs
29+
"brcm,spi-bcm7425-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
30+
BRCMSTB SoCs
31+
"brcm,spi-bcm7429-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
32+
BRCMSTB SoCs
33+
"brcm,spi-bcm7435-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
34+
BRCMSTB SoCs
35+
"brcm,spi-bcm7216-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
36+
BRCMSTB SoCs
37+
"brcm,spi-bcm7278-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI
38+
BRCMSTB SoCs
2939
"brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi" : MSPI+BSPI on Cygnus, NSP
3040
"brcm,spi-bcm-qspi", "brcm,spi-ns2-qspi" : NS2 SoCs
3141

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/mikrotik,rb4xx-spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MikroTik RB4xx series SPI master
8+
9+
maintainers:
10+
- Gabor Juhos <[email protected]>
11+
- Bert Vermeulen <[email protected]>
12+
13+
allOf:
14+
- $ref: "spi-controller.yaml#"
15+
16+
properties:
17+
compatible:
18+
const: mikrotik,rb4xx-spi
19+
20+
reg:
21+
maxItems: 1
22+
23+
required:
24+
- compatible
25+
- reg
26+
27+
examples:
28+
- |
29+
spi: spi@1f000000 {
30+
#address-cells = <1>;
31+
#size-cells = <0>;
32+
compatible = "mikrotik,rb4xx-spi";
33+
reg = <0x1f000000 0x10>;
34+
};
35+
36+
...
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/renesas,rspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas (Quad) Serial Peripheral Interface (RSPI/QSPI)
8+
9+
maintainers:
10+
- Geert Uytterhoeven <[email protected]>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- items:
16+
- enum:
17+
- renesas,rspi-sh7757 # SH7757
18+
- const: renesas,rspi # Legacy SH
19+
20+
- items:
21+
- enum:
22+
- renesas,rspi-r7s72100 # RZ/A1H
23+
- renesas,rspi-r7s9210 # RZ/A2
24+
- const: renesas,rspi-rz # RZ/A
25+
26+
- items:
27+
- enum:
28+
- renesas,qspi-r8a7743 # RZ/G1M
29+
- renesas,qspi-r8a7744 # RZ/G1N
30+
- renesas,qspi-r8a7745 # RZ/G1E
31+
- renesas,qspi-r8a77470 # RZ/G1C
32+
- renesas,qspi-r8a7790 # R-Car H2
33+
- renesas,qspi-r8a7791 # R-Car M2-W
34+
- renesas,qspi-r8a7792 # R-Car V2H
35+
- renesas,qspi-r8a7793 # R-Car M2-N
36+
- renesas,qspi-r8a7794 # R-Car E2
37+
- const: renesas,qspi # R-Car Gen2 and RZ/G1
38+
39+
reg:
40+
maxItems: 1
41+
42+
interrupts:
43+
oneOf:
44+
- items:
45+
- description: A combined interrupt
46+
- items:
47+
- description: Error interrupt (SPEI)
48+
- description: Receive Interrupt (SPRI)
49+
- description: Transmit Interrupt (SPTI)
50+
51+
interrupt-names:
52+
oneOf:
53+
- items:
54+
- const: mux
55+
- items:
56+
- const: error
57+
- const: rx
58+
- const: tx
59+
60+
clocks:
61+
maxItems: 1
62+
63+
power-domains:
64+
maxItems: 1
65+
66+
resets:
67+
maxItems: 1
68+
69+
dmas:
70+
description:
71+
Must contain a list of pairs of references to DMA specifiers, one for
72+
transmission, and one for reception.
73+
74+
dma-names:
75+
minItems: 2
76+
maxItems: 4
77+
items:
78+
enum:
79+
- tx
80+
- rx
81+
82+
num-cs:
83+
description: |
84+
Total number of native chip selects.
85+
Hardware limitations related to chip selects:
86+
- When using GPIO chip selects, at least one native chip select must
87+
be left unused, as it will be driven anyway.
88+
minimum: 1
89+
maximum: 2
90+
default: 1
91+
92+
required:
93+
- compatible
94+
- reg
95+
- interrupts
96+
- clocks
97+
- power-domains
98+
- '#address-cells'
99+
- '#size-cells'
100+
101+
allOf:
102+
- $ref: spi-controller.yaml#
103+
- if:
104+
properties:
105+
compatible:
106+
contains:
107+
enum:
108+
- renesas,rspi-rz
109+
then:
110+
properties:
111+
interrupts:
112+
minItems: 3
113+
required:
114+
- interrupt-names
115+
116+
- if:
117+
properties:
118+
compatible:
119+
contains:
120+
enum:
121+
- renesas,qspi
122+
then:
123+
required:
124+
- resets
125+
126+
examples:
127+
- |
128+
#include <dt-bindings/clock/r8a7791-cpg-mssr.h>
129+
#include <dt-bindings/interrupt-controller/arm-gic.h>
130+
#include <dt-bindings/power/r8a7791-sysc.h>
131+
132+
qspi: spi@e6b10000 {
133+
compatible = "renesas,qspi-r8a7791", "renesas,qspi";
134+
reg = <0xe6b10000 0x2c>;
135+
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
136+
clocks = <&cpg CPG_MOD 917>;
137+
dmas = <&dmac0 0x17>, <&dmac0 0x18>, <&dmac1 0x17>, <&dmac1 0x18>;
138+
dma-names = "tx", "rx", "tx", "rx";
139+
power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
140+
resets = <&cpg 917>;
141+
num-cs = <1>;
142+
#address-cells = <1>;
143+
#size-cells = <0>;
144+
};

Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface
8+
9+
maintainers:
10+
- Mark Brown <[email protected]>
11+
12+
allOf:
13+
- $ref: "spi-controller.yaml#"
14+
- if:
15+
properties:
16+
compatible:
17+
contains:
18+
enum:
19+
- mscc,ocelot-spi
20+
- mscc,jaguar2-spi
21+
then:
22+
properties:
23+
reg:
24+
minItems: 2
25+
26+
properties:
27+
compatible:
28+
oneOf:
29+
- description: Generic DW SPI Controller
30+
enum:
31+
- snps,dw-apb-ssi
32+
- snps,dwc-ssi-1.01a
33+
- description: Microsemi Ocelot/Jaguar2 SoC SPI Controller
34+
items:
35+
- enum:
36+
- mscc,ocelot-spi
37+
- mscc,jaguar2-spi
38+
- const: snps,dw-apb-ssi
39+
- description: Amazon Alpine SPI Controller
40+
const: amazon,alpine-dw-apb-ssi
41+
- description: Renesas RZ/N1 SPI Controller
42+
items:
43+
- const: renesas,rzn1-spi
44+
- const: snps,dw-apb-ssi
45+
- description: Intel Keem Bay SPI Controller
46+
const: intel,keembay-ssi
47+
48+
reg:
49+
minItems: 1
50+
items:
51+
- description: DW APB SSI controller memory mapped registers
52+
- description: SPI MST region map
53+
54+
interrupts:
55+
maxItems: 1
56+
57+
clocks:
58+
minItems: 1
59+
items:
60+
- description: SPI Controller reference clock source
61+
- description: APB interface clock source
62+
63+
clock-names:
64+
minItems: 1
65+
items:
66+
- const: ssi_clk
67+
- const: pclk
68+
69+
resets:
70+
maxItems: 1
71+
72+
reset-names:
73+
const: spi
74+
75+
reg-io-width:
76+
$ref: /schemas/types.yaml#/definitions/uint32
77+
description: I/O register width (in bytes) implemented by this device
78+
default: 4
79+
enum: [ 2, 4 ]
80+
81+
num-cs:
82+
default: 4
83+
minimum: 1
84+
maximum: 4
85+
86+
dmas:
87+
items:
88+
- description: TX DMA Channel
89+
- description: RX DMA Channel
90+
91+
dma-names:
92+
items:
93+
- const: tx
94+
- const: rx
95+
96+
patternProperties:
97+
"^.*@[0-9a-f]+$":
98+
type: object
99+
properties:
100+
reg:
101+
minimum: 0
102+
maximum: 3
103+
104+
spi-rx-bus-width:
105+
const: 1
106+
107+
spi-tx-bus-width:
108+
const: 1
109+
110+
unevaluatedProperties: false
111+
112+
required:
113+
- compatible
114+
- reg
115+
- "#address-cells"
116+
- "#size-cells"
117+
- interrupts
118+
- clocks
119+
120+
examples:
121+
- |
122+
spi@fff00000 {
123+
compatible = "snps,dw-apb-ssi";
124+
reg = <0xfff00000 0x1000>;
125+
#address-cells = <1>;
126+
#size-cells = <0>;
127+
interrupts = <0 154 4>;
128+
clocks = <&spi_m_clk>;
129+
num-cs = <2>;
130+
cs-gpios = <&gpio0 13 0>,
131+
<&gpio0 14 0>;
132+
};
133+
...

0 commit comments

Comments
 (0)