Skip to content

Commit 5722a6c

Browse files
committed
Merge tag 'spi-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown: "The bulk of the changes in this release are driver work, as well as new device support we have some important work on performance over several drivers, and big overhauls for maintainability on a couple too. Highlights include: - Big cleanups of the sh-msiof driver from Geert Uytterhoeven, and of the NXP FSPI driver from Haibo Chen - Performance improvements for the AXI SPI engine - Support for writes to memory mapped flashes on Renesas devices - Integrated DMA support for Tegra210 QSPI, used by the Tegra234 - DMA support for Amlogic SPI controllers - Support for AMD HID2, Qualcomm IPQ5018, Renesas RZ/G3E, Rockchip RK3528 and Samsung Exynos Autov920 An update to fix some issues with the Atmel QSPI driver runtime PM pulled in a new API from the PM core, and the Renesas memory mapped write changes pull in some code that's shared in drivers/memory" * tag 'spi-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (90 commits) spi: spi-qpic-snand: return early on error from qcom_spi_io_op() spi: loopback-test: fix up const pointer issue in rx_ranges_cmp() spi: gpio: fix const issue in spi_to_spi_gpio() spi: spi-qpic-snand: remove superfluous parameters of qcom_spi_check_error() dt-bindings: spi: samsung: add exynosautov920-spi compatible spi: spi-qpic-snand: reuse qcom_spi_check_raw_flash_errors() spi: dt-bindings: Add rk3528-spi compatible spi: spi_amd: Update Kconfig dependencies spi: spi_amd: Add HIDDMA basic write support spi: spi_amd: Remove read{q,b} usage on DMA buffer spi: sh-msiof: Move register definitions to <linux/spi/sh_msiof.h> spi: sh-msiof: Document frame start sync pulse mode spi: sh-msiof: Double maximum DMA transfer size using two groups spi: sh-msiof: Simplify BRG's Division Ratio spi: sh-msiof: Increase TX FIFO size for R-Car V4H/V4M spi: sh-msiof: Correct RX FIFO size for R-Car Gen3 spi: sh-msiof: Correct RX FIFO size for R-Car Gen2 spi: sh-msiof: Add core support for dual-group transfers spi: sh-msiof: Correct SIMDR2_GRPMASK spi: sh-msiof: SIFCTR bitfield conversion ...
2 parents 350d9ab + b00d686 commit 5722a6c

Some content is hidden

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

47 files changed

+2368
-950
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/memory-controllers/renesas,rzg3e-xspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas Expanded Serial Peripheral Interface (xSPI)
8+
9+
maintainers:
10+
- Biju Das <biju.das.jz@bp.renesas.com>
11+
12+
description: |
13+
Renesas xSPI allows a SPI flash connected to the SoC to be accessed via
14+
the memory-mapping or the manual command mode.
15+
16+
The flash chip itself should be represented by a subnode of the XSPI node.
17+
The flash interface is selected based on the "compatible" property of this
18+
subnode:
19+
- "jedec,spi-nor";
20+
21+
allOf:
22+
- $ref: /schemas/spi/spi-controller.yaml#
23+
24+
properties:
25+
compatible:
26+
const: renesas,r9a09g047-xspi # RZ/G3E
27+
28+
reg:
29+
items:
30+
- description: xSPI registers
31+
- description: direct mapping area
32+
33+
reg-names:
34+
items:
35+
- const: regs
36+
- const: dirmap
37+
38+
interrupts:
39+
items:
40+
- description: Interrupt pulse signal by factors excluding errors
41+
- description: Interrupt pulse signal by error factors
42+
43+
interrupt-names:
44+
items:
45+
- const: pulse
46+
- const: err_pulse
47+
48+
clocks:
49+
items:
50+
- description: AHB clock
51+
- description: AXI clock
52+
- description: SPI clock
53+
- description: Double speed SPI clock
54+
55+
clock-names:
56+
items:
57+
- const: ahb
58+
- const: axi
59+
- const: spi
60+
- const: spix2
61+
62+
power-domains:
63+
maxItems: 1
64+
65+
resets:
66+
items:
67+
- description: Hardware reset
68+
- description: AXI reset
69+
70+
reset-names:
71+
items:
72+
- const: hresetn
73+
- const: aresetn
74+
75+
renesas,xspi-cs-addr-sys:
76+
$ref: /schemas/types.yaml#/definitions/phandle
77+
description: |
78+
Phandle to the system controller (sys) that allows to configure
79+
xSPI CS0 and CS1 addresses.
80+
81+
patternProperties:
82+
"flash@[0-9a-f]+$":
83+
type: object
84+
additionalProperties: true
85+
86+
properties:
87+
compatible:
88+
contains:
89+
const: jedec,spi-nor
90+
91+
required:
92+
- compatible
93+
- reg
94+
- reg-names
95+
- interrupts
96+
- interrupt-names
97+
- clocks
98+
- clock-names
99+
- power-domains
100+
- resets
101+
- reset-names
102+
- '#address-cells'
103+
- '#size-cells'
104+
105+
unevaluatedProperties: false
106+
107+
examples:
108+
- |
109+
#include <dt-bindings/interrupt-controller/arm-gic.h>
110+
#include <dt-bindings/clock/renesas,r9a09g047-cpg.h>
111+
112+
spi@11030000 {
113+
compatible = "renesas,r9a09g047-xspi";
114+
reg = <0x11030000 0x10000>, <0x20000000 0x10000000>;
115+
reg-names = "regs", "dirmap";
116+
interrupts = <GIC_SPI 228 IRQ_TYPE_EDGE_RISING>,
117+
<GIC_SPI 229 IRQ_TYPE_EDGE_RISING>;
118+
interrupt-names = "pulse", "err_pulse";
119+
clocks = <&cpg CPG_MOD 0x9f>, <&cpg CPG_MOD 0xa0>,
120+
<&cpg CPG_CORE 9>, <&cpg CPG_MOD 0xa1>;
121+
clock-names = "ahb", "axi", "spi", "spix2";
122+
power-domains = <&cpg>;
123+
resets = <&cpg 0xa3>, <&cpg 0xa4>;
124+
reset-names = "hresetn", "aresetn";
125+
#address-cells = <1>;
126+
#size-cells = <0>;
127+
128+
flash@0 {
129+
compatible = "jedec,spi-nor";
130+
reg = <0>;
131+
spi-max-frequency = <40000000>;
132+
spi-tx-bus-width = <1>;
133+
spi-rx-bus-width = <1>;
134+
};
135+
};

Documentation/devicetree/bindings/spi/fsl,dspi.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,12 @@ examples:
105105
big-endian;
106106
107107
flash@0 {
108-
compatible = "jedec,spi-nor";
109-
reg = <0>;
110-
spi-max-frequency = <16000000>;
111-
spi-cpol;
112-
spi-cpha;
113-
spi-cs-setup-delay-ns = <100>;
114-
spi-cs-hold-delay-ns = <50>;
108+
compatible = "jedec,spi-nor";
109+
reg = <0>;
110+
spi-max-frequency = <16000000>;
111+
spi-cpol;
112+
spi-cpha;
113+
spi-cs-setup-delay-ns = <100>;
114+
spi-cs-hold-delay-ns = <50>;
115115
};
116116
};

Documentation/devicetree/bindings/spi/nuvoton,wpcm450-fiu.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,3 @@ examples:
5959
reg = <0>;
6060
};
6161
};
62-
63-
shm: syscon@c8001000 {
64-
compatible = "nuvoton,wpcm450-shm", "syscon";
65-
reg = <0xc8001000 0x1000>;
66-
};

Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ maintainers:
1010
- Thierry Reding <thierry.reding@gmail.com>
1111
- Jonathan Hunter <jonathanh@nvidia.com>
1212

13-
allOf:
14-
- $ref: spi-controller.yaml#
15-
1613
properties:
1714
compatible:
1815
enum:
@@ -47,6 +44,9 @@ properties:
4744
- const: rx
4845
- const: tx
4946

47+
iommus:
48+
maxItems: 1
49+
5050
patternProperties:
5151
"@[0-9a-f]+$":
5252
type: object
@@ -69,6 +69,18 @@ required:
6969

7070
unevaluatedProperties: false
7171

72+
allOf:
73+
- $ref: spi-controller.yaml#
74+
- if:
75+
properties:
76+
compatible:
77+
not:
78+
contains:
79+
const: nvidia,tegra234-qspi
80+
then:
81+
properties:
82+
iommus: false
83+
7284
examples:
7385
- |
7486
#include <dt-bindings/clock/tegra210-car.h>

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@ allOf:
2121

2222
properties:
2323
compatible:
24-
enum:
25-
- qcom,ipq9574-snand
24+
oneOf:
25+
- items:
26+
- enum:
27+
- qcom,ipq5018-snand
28+
- const: qcom,ipq9574-snand
29+
- const: qcom,ipq9574-snand
2630

2731
reg:
2832
maxItems: 1

Documentation/devicetree/bindings/spi/samsung,spi.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ properties:
2929
- items:
3030
- enum:
3131
- samsung,exynos8895-spi
32+
- samsung,exynosautov920-spi
3233
- const: samsung,exynos850-spi
3334
- const: samsung,exynos7-spi
3435
deprecated: true

Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ title: Peripheral-specific properties for a SPI bus.
88

99
description:
1010
Many SPI controllers need to add properties to peripheral devices. They could
11-
be common properties like spi-max-frequency, spi-cpha, etc. or they could be
12-
controller specific like delay in clock or data lines, etc. These properties
13-
need to be defined in the peripheral node because they are per-peripheral and
14-
there can be multiple peripherals attached to a controller. All those
15-
properties are listed here. The controller specific properties should go in
16-
their own separate schema that should be referenced from here.
11+
be common properties like spi-max-frequency, spi-cs-high, etc. or they could
12+
be controller specific like delay in clock or data lines, etc. These
13+
properties need to be defined in the peripheral node because they are
14+
per-peripheral and there can be multiple peripherals attached to a
15+
controller. All those properties are listed here. The controller specific
16+
properties should go in their own separate schema that should be referenced
17+
from here.
1718

1819
maintainers:
1920
- Mark Brown <broonie@kernel.org>

Documentation/devicetree/bindings/spi/spi-rockchip.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ properties:
3434
- rockchip,rk3328-spi
3535
- rockchip,rk3368-spi
3636
- rockchip,rk3399-spi
37+
- rockchip,rk3528-spi
3738
- rockchip,rk3562-spi
3839
- rockchip,rk3568-spi
3940
- rockchip,rk3576-spi

Documentation/devicetree/bindings/spi/st,stm32mp25-ospi.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ required:
6868
- compatible
6969
- reg
7070
- clocks
71+
- resets
7172
- interrupts
7273
- st,syscfg-dlyb
7374

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,7 +1216,9 @@ AMD SPI DRIVER
12161216
M: Raju Rangoju <Raju.Rangoju@amd.com>
12171217
L: linux-spi@vger.kernel.org
12181218
S: Supported
1219+
F: drivers/spi/spi-amd-pci.c
12191220
F: drivers/spi/spi-amd.c
1221+
F: drivers/spi/spi-amd.h
12201222

12211223
AMD XDNA DRIVER
12221224
M: Min Ma <min.ma@amd.com>

0 commit comments

Comments
 (0)