Skip to content

Commit fa5ef10

Browse files
committed
Merge tag 'spi-v6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown: "This release is almost entirely new drivers, with a couple of small changes in generic code. The biggest individual update is a rename of the existing Microchip driver and the addition of a new driver for the silicon SPI controller in their PolarFire SoCs. The overlap between the soft IP supported by the current driver and this new one is regrettably all in the IP and not in the register interface offered to software. - Add a time offset parameter for offloads, allowing them to be defined in relation to each other. This is useful for IIO type applcations where you trigger an operation then read the result after a delay. - Add a tracepoint for flash exec_ops, bringing the flash support more in line with the debuggability of vanilla SPI. - Support for Airoha EN7523, Arduino MCUs, Aspeed AST2700, Microchip PolarFire SPI controllers, NXP i.MX51 ECSPI target mode, Qualcomm IPQ5414 and IPQ5332, Renesas RZ/T2H, RZ/V2N and RZ/2NH and SpacemiT K1 QuadSPI. There's also a small set of ASoC cleanups that I mistakenly applied to the SPI tree and then put more stuff on top of before it was brought to my attention, sorry about that" * tag 'spi-v6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (80 commits) spi: microchip-core: Refactor FIFO read and write handlers spi: ch341: fix out-of-bounds memory access in ch341_transfer_one spi: microchip-core: Remove unneeded PM related macro spi: microchip-core: Use SPI_MODE_X_MASK spi: microchip-core: Utilise temporary variable for struct device spi: microchip-core: Replace dead code (-ENOMEM error message) spi: microchip-core: use min() instead of min_t() spi: dt-bindings: airoha: add compatible for EN7523 spi: airoha-snfi: en7523: workaround flash damaging if UART_TXD was short to GND spi: dt-bindings: renesas,rzv2h-rspi: Document RZ/V2N SoC support spi: dt-bindings: renesas,rzv2h-rspi: Document RZ/V2N SoC support spi: microchip: Enable compile-testing for FPGA SPI controllers spi: Fix potential uninitialized variable in probe() spi: rzv2h-rspi: add support for RZ/T2H and RZ/N2H spi: dt-bindings: renesas,rzv2h-rspi: document RZ/T2H and RZ/N2H spi: rzv2h-rspi: add support for loopback mode spi: rzv2h-rspi: add support for variable transfer clock spi: rzv2h-rspi: add support for using PCLK for transfer clock spi: rzv2h-rspi: make transfer clock rate finding chip-specific spi: rzv2h-rspi: avoid recomputing transfer frequency ...
2 parents 0a9431f + cb5c2eb commit fa5ef10

42 files changed

Lines changed: 2475 additions & 887 deletions

Some content is hidden

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

Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ allOf:
1414

1515
properties:
1616
compatible:
17-
const: airoha,en7581-snand
17+
oneOf:
18+
- const: airoha,en7581-snand
19+
- items:
20+
- enum:
21+
- airoha,en7523-snand
22+
- const: airoha,en7581-snand
1823

1924
reg:
2025
items:

Documentation/devicetree/bindings/spi/aspeed,ast2600-fmc.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@ maintainers:
1212

1313
description: |
1414
This binding describes the Aspeed Static Memory Controllers (FMC and
15-
SPI) of the AST2400, AST2500 and AST2600 SOCs.
15+
SPI) of the AST2400, AST2500, AST2600 and AST2700 SOCs.
1616
1717
allOf:
1818
- $ref: spi-controller.yaml#
1919

2020
properties:
2121
compatible:
2222
enum:
23+
- aspeed,ast2700-fmc
24+
- aspeed,ast2700-spi
2325
- aspeed,ast2600-fmc
2426
- aspeed,ast2600-spi
2527
- aspeed,ast2500-fmc

Documentation/devicetree/bindings/spi/fsl,spi-fsl-qspi.yaml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ title: Freescale Quad Serial Peripheral Interface (QuadSPI)
99
maintainers:
1010
- Han Xu <han.xu@nxp.com>
1111

12-
allOf:
13-
- $ref: spi-controller.yaml#
14-
1512
properties:
1613
compatible:
1714
oneOf:
@@ -22,6 +19,7 @@ properties:
2219
- fsl,imx6ul-qspi
2320
- fsl,ls1021a-qspi
2421
- fsl,ls2080a-qspi
22+
- spacemit,k1-qspi
2523
- items:
2624
- enum:
2725
- fsl,ls1043a-qspi
@@ -54,6 +52,11 @@ properties:
5452
- const: qspi_en
5553
- const: qspi
5654

55+
resets:
56+
items:
57+
- description: SoC QSPI reset
58+
- description: SoC QSPI bus reset
59+
5760
required:
5861
- compatible
5962
- reg
@@ -62,6 +65,18 @@ required:
6265
- clocks
6366
- clock-names
6467

68+
allOf:
69+
- $ref: spi-controller.yaml#
70+
- if:
71+
properties:
72+
compatible:
73+
not:
74+
contains:
75+
const: spacemit,k1-qspi
76+
then:
77+
properties:
78+
resets: false
79+
6580
unevaluatedProperties: false
6681

6782
examples:

Documentation/devicetree/bindings/spi/microchip,mpfs-spi.yaml

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ properties:
2121
- microchip,mpfs-qspi
2222
- microchip,pic64gx-qspi
2323
- const: microchip,coreqspi-rtl-v2
24-
- const: microchip,coreqspi-rtl-v2 # FPGA QSPI
24+
- enum:
25+
- microchip,coreqspi-rtl-v2 # FPGA QSPI
26+
- microchip,corespi-rtl-v5 # FPGA CoreSPI
27+
- microchip,mpfs-spi
2528
- items:
2629
- const: microchip,pic64gx-spi
2730
- const: microchip,mpfs-spi
28-
- const: microchip,mpfs-spi
2931

3032
reg:
3133
maxItems: 1
@@ -39,6 +41,45 @@ properties:
3941
clocks:
4042
maxItems: 1
4143

44+
microchip,apb-datawidth:
45+
description: APB bus data width in bits.
46+
$ref: /schemas/types.yaml#/definitions/uint32
47+
enum: [8, 16, 32]
48+
default: 8
49+
50+
microchip,frame-size:
51+
description: |
52+
Number of bits per SPI frame, as configured in Libero.
53+
In Motorola and TI modes, this corresponds directly
54+
to the requested frame size. For NSC mode this is set
55+
to 9 + the required data frame size.
56+
$ref: /schemas/types.yaml#/definitions/uint32
57+
minimum: 4
58+
maximum: 32
59+
default: 8
60+
61+
microchip,protocol-configuration:
62+
description: CoreSPI protocol selection. Determines operating mode
63+
$ref: /schemas/types.yaml#/definitions/string
64+
enum:
65+
- motorola
66+
- ti
67+
- nsc
68+
default: motorola
69+
70+
microchip,motorola-mode:
71+
description: Motorola SPI mode selection
72+
$ref: /schemas/types.yaml#/definitions/uint32
73+
enum: [0, 1, 2, 3]
74+
default: 3
75+
76+
microchip,ssel-active:
77+
description: |
78+
Keep SSEL asserted between frames when using the Motorola protocol.
79+
When present, the controller keeps SSEL active across contiguous
80+
transfers and deasserts only when the overall transfer completes.
81+
type: boolean
82+
4283
required:
4384
- compatible
4485
- reg
@@ -71,6 +112,31 @@ allOf:
71112
num-cs:
72113
maximum: 1
73114

115+
- if:
116+
properties:
117+
compatible:
118+
contains:
119+
const: microchip,corespi-rtl-v5
120+
then:
121+
properties:
122+
num-cs:
123+
minimum: 1
124+
maximum: 8
125+
default: 8
126+
127+
fifo-depth:
128+
minimum: 1
129+
maximum: 32
130+
default: 4
131+
132+
else:
133+
properties:
134+
microchip,apb-datawidth: false
135+
microchip,frame-size: false
136+
microchip,protocol-configuration: false
137+
microchip,motorola-mode: false
138+
microchip,ssel-active: false
139+
74140
unevaluatedProperties: false
75141

76142
examples:

Documentation/devicetree/bindings/spi/nuvoton,npcm-pspi.txt

Lines changed: 0 additions & 36 deletions
This file was deleted.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/nuvoton,npcm-pspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Nuvoton NPCM Peripheral SPI (PSPI) Controller
8+
9+
maintainers:
10+
- Tomer Maimon <tmaimon77@gmail.com>
11+
12+
allOf:
13+
- $ref: spi-controller.yaml#
14+
15+
description:
16+
Nuvoton NPCM Peripheral Serial Peripheral Interface (PSPI) controller.
17+
Nuvoton NPCM7xx SOC supports two PSPI channels.
18+
Nuvoton NPCM8xx SOC support one PSPI channel.
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- nuvoton,npcm750-pspi # Poleg NPCM7XX
24+
- nuvoton,npcm845-pspi # Arbel NPCM8XX
25+
26+
reg:
27+
maxItems: 1
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
clocks:
33+
maxItems: 1
34+
description: PSPI reference clock.
35+
36+
clock-names:
37+
items:
38+
- const: clk_apb5
39+
40+
resets:
41+
maxItems: 1
42+
43+
required:
44+
- compatible
45+
- reg
46+
- interrupts
47+
- clocks
48+
- clock-names
49+
- resets
50+
51+
unevaluatedProperties: false
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
56+
#include <dt-bindings/interrupt-controller/arm-gic.h>
57+
#include <dt-bindings/reset/nuvoton,npcm7xx-reset.h>
58+
#include "dt-bindings/gpio/gpio.h"
59+
spi0: spi@f0200000 {
60+
compatible = "nuvoton,npcm750-pspi";
61+
reg = <0xf0200000 0x1000>;
62+
pinctrl-names = "default";
63+
pinctrl-0 = <&pspi1_pins>;
64+
#address-cells = <1>;
65+
#size-cells = <0>;
66+
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
67+
clocks = <&clk NPCM7XX_CLK_APB5>;
68+
clock-names = "clk_apb5";
69+
resets = <&rstc NPCM7XX_RESET_IPSRST2 NPCM7XX_RESET_PSPI1>;
70+
cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
71+
};
72+

Documentation/devicetree/bindings/spi/qcom,spi-qpic-snand.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ properties:
2525
- items:
2626
- enum:
2727
- qcom,ipq5018-snand
28+
- qcom,ipq5332-snand
29+
- qcom,ipq5424-snand
2830
- const: qcom,ipq9574-snand
2931
- const: qcom,ipq9574-snand
3032

Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,18 @@ title: Renesas RZ/V2H(P) Renesas Serial Peripheral Interface (RSPI)
99
maintainers:
1010
- Fabrizio Castro <fabrizio.castro.jz@renesas.com>
1111

12-
allOf:
13-
- $ref: spi-controller.yaml#
14-
1512
properties:
1613
compatible:
17-
const: renesas,r9a09g057-rspi # RZ/V2H(P)
14+
oneOf:
15+
- enum:
16+
- renesas,r9a09g057-rspi # RZ/V2H(P)
17+
- renesas,r9a09g077-rspi # RZ/T2H
18+
- items:
19+
- const: renesas,r9a09g056-rspi # RZ/V2N
20+
- const: renesas,r9a09g057-rspi
21+
- items:
22+
- const: renesas,r9a09g087-rspi # RZ/N2H
23+
- const: renesas,r9a09g077-rspi # RZ/T2H
1824

1925
reg:
2026
maxItems: 1
@@ -36,13 +42,12 @@ properties:
3642
- const: tx
3743

3844
clocks:
45+
minItems: 2
3946
maxItems: 3
4047

4148
clock-names:
42-
items:
43-
- const: pclk
44-
- const: pclk_sfr
45-
- const: tclk
49+
minItems: 2
50+
maxItems: 3
4651

4752
resets:
4853
maxItems: 2
@@ -62,12 +67,52 @@ required:
6267
- interrupt-names
6368
- clocks
6469
- clock-names
65-
- resets
66-
- reset-names
6770
- power-domains
6871
- '#address-cells'
6972
- '#size-cells'
7073

74+
allOf:
75+
- $ref: spi-controller.yaml#
76+
- if:
77+
properties:
78+
compatible:
79+
contains:
80+
enum:
81+
- renesas,r9a09g057-rspi
82+
then:
83+
properties:
84+
clocks:
85+
minItems: 3
86+
87+
clock-names:
88+
items:
89+
- const: pclk
90+
- const: pclk_sfr
91+
- const: tclk
92+
93+
required:
94+
- resets
95+
- reset-names
96+
97+
- if:
98+
properties:
99+
compatible:
100+
contains:
101+
enum:
102+
- renesas,r9a09g077-rspi
103+
then:
104+
properties:
105+
clocks:
106+
maxItems: 2
107+
108+
clock-names:
109+
items:
110+
- const: pclk
111+
- const: pclkspi
112+
113+
resets: false
114+
reset-names: false
115+
71116
unevaluatedProperties: false
72117

73118
examples:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ properties:
153153
provides an interface to override the native DWC SSI CS control.
154154

155155
patternProperties:
156-
"^.*@[0-9a-f]+$":
156+
"@[0-9a-f]+$":
157157
type: object
158158
additionalProperties: true
159159

0 commit comments

Comments
 (0)