Skip to content

Commit 0262163

Browse files
committed
Merge tag 'spi-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown: "This release is almost entirely driver work, mostly new drivers with the usual smattering of per driver updates anf fixes, with only trivial changes in the core. Highlights include: - Quite a bit of maintainence work on the STM32 and Qualcomm drivers - Usage of the newly added devm_dma_request_chan() in the ateml driver, pulling in the relevant dmaengine change - Cleanups of our usage of the PM autosuspend functions, this pulls in some PM core changes on a shared tag - Support for ADI sigma-delta triggers, Amlogic SPISG, Mediatek MT6991 and MT8196, Renesas RZ/V2H(P) and SOPHGO SG2042" * tag 'spi-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (62 commits) spi: SPISG: Fix less than zero comparison on a u32 variable spi: intel: Allow writeable MTD partition with module param spi: Add driver for the RZ/V2H(P) RSPI IP spi: dt-bindings: Document the RZ/V2H(P) RSPI MAINTAINERS: Add an entry for Amlogic spi driver spi: Add Amlogic SPISG driver spi: dt-bindings: Add binding document of Amlogic SPISG controller spi: spi-sg2044-nor: Add SPI-NOR controller for SG2042 spi: spi-sg2044-nor: Add configurable chip_info spi: dt-bindings: spi-sg2044-nor: Change SOPHGO SG2042 spi: spi-qpic-snand: simplify bad block marker duplication spi: spidev: Add an entry for the ABB spi sensors dt-bindings: trivial-devices: Document ABB sensors spi: stm32-ospi: Fix NULL vs IS_ERR() bug in stm32_ospi_get_resources() spi: gpio: Use explicit 'unsigned int' for parameter types spi: dt-bindings: spi-mux: Drop "spi-max-frequency" as required spi: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() spi: rspi: Convert to DEFINE_SIMPLE_DEV_PM_OPS() spi: sh-msiof: Convert to DEFINE_SIMPLE_DEV_PM_OPS() spi: xilinx: Fix block comment style and minor cleanups ...
2 parents bf977a9 + 2d442a0 commit 0262163

Some content is hidden

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

56 files changed

+2964
-546
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2025 Amlogic, Inc. All rights reserved
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/spi/amlogic,a4-spisg.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Amlogic SPI Scatter-Gather Controller
9+
10+
maintainers:
11+
- Xianwei Zhao <[email protected]>
12+
- Sunny Luo <[email protected]>
13+
14+
allOf:
15+
- $ref: spi-controller.yaml#
16+
17+
properties:
18+
compatible:
19+
const: amlogic,a4-spisg
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
clocks:
28+
maxItems: 2
29+
30+
clock-names:
31+
items:
32+
- const: core
33+
- const: pclk
34+
35+
resets:
36+
maxItems: 1
37+
38+
required:
39+
- compatible
40+
- reg
41+
- interrupts
42+
- clocks
43+
- clock-names
44+
45+
unevaluatedProperties: false
46+
47+
examples:
48+
- |
49+
#include <dt-bindings/interrupt-controller/arm-gic.h>
50+
spi@50000 {
51+
compatible = "amlogic,a4-spisg";
52+
reg = <0x50000 0x38>;
53+
interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
54+
clocks = <&clkc 37>,
55+
<&clkc 93>;
56+
clock-names = "core", "pclk";
57+
#address-cells = <1>;
58+
#size-cells = <0>;
59+
};

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ properties:
2323
- fsl,ls2080a-dspi
2424
- fsl,ls2085a-dspi
2525
- fsl,lx2160a-dspi
26+
- nxp,s32g2-dspi
2627
- items:
2728
- enum:
2829
- fsl,ls1012a-dspi
@@ -37,6 +38,9 @@ properties:
3738
- items:
3839
- const: fsl,lx2160a-dspi
3940
- const: fsl,ls2085a-dspi
41+
- items:
42+
- const: nxp,s32g3-dspi
43+
- const: nxp,s32g2-dspi
4044

4145
reg:
4246
maxItems: 1
@@ -114,3 +118,17 @@ examples:
114118
spi-cs-hold-delay-ns = <50>;
115119
};
116120
};
121+
# S32G3 in target mode
122+
- |
123+
spi@401d4000 {
124+
compatible = "nxp,s32g3-dspi", "nxp,s32g2-dspi";
125+
reg = <0x401d4000 0x1000>;
126+
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
127+
clocks = <&clks 26>;
128+
clock-names = "dspi";
129+
spi-num-chipselects = <8>;
130+
bus-num = <0>;
131+
dmas = <&edma0 0 7>, <&edma0 0 8>;
132+
dma-names = "tx", "rx";
133+
spi-slave;
134+
};
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/marvell,orion-spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Marvell Orion SPI controller
8+
9+
maintainers:
10+
- Andrew Lunn <[email protected]>
11+
- Gregory CLEMENT <[email protected]>
12+
13+
allOf:
14+
- $ref: /schemas/spi/spi-controller.yaml#
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- enum:
20+
- marvell,orion-spi
21+
- marvell,armada-380-spi # For ap80x and cp11x
22+
- items:
23+
- enum:
24+
- marvell,armada-370-spi
25+
- marvell,armada-375-spi
26+
- marvell,armada-380-spi
27+
- marvell,armada-390-spi
28+
- marvell,armada-xp-spi
29+
- const: marvell,orion-spi
30+
31+
cell-index:
32+
description: Instance id for the SPI controller
33+
deprecated: true
34+
35+
reg:
36+
minItems: 1
37+
items:
38+
- description: control registers
39+
- description: CS0 MBUS target/attribute registers for direct mode
40+
- description: CS1 MBUS target/attribute registers for direct mode
41+
- description: CS2 MBUS target/attribute registers for direct mode
42+
- description: CS3 MBUS target/attribute registers for direct mode
43+
- description: CS4 MBUS target/attribute registers for direct mode
44+
- description: CS5 MBUS target/attribute registers for direct mode
45+
- description: CS6 MBUS target/attribute registers for direct mode
46+
- description: CS7 MBUS target/attribute registers for direct mode
47+
48+
clocks:
49+
minItems: 1
50+
maxItems: 2
51+
52+
clock-names:
53+
items:
54+
- const: core
55+
- const: axi
56+
57+
interrupts:
58+
maxItems: 1
59+
60+
required:
61+
- compatible
62+
- reg
63+
- clocks
64+
65+
unevaluatedProperties: false
66+
67+
examples:
68+
- |
69+
spi@10600 {
70+
compatible = "marvell,orion-spi";
71+
#address-cells = <1>;
72+
#size-cells = <0>;
73+
cell-index = <0>;
74+
reg = <0x10600 0x28>;
75+
clocks = <&coreclk 0>;
76+
interrupts = <23>;
77+
};
78+
- |
79+
#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
80+
81+
bus {
82+
#address-cells = <2>;
83+
#size-cells = <1>;
84+
85+
spi@10600 {
86+
compatible = "marvell,orion-spi";
87+
#address-cells = <1>;
88+
#size-cells = <0>;
89+
cell-index = <0>;
90+
reg = <MBUS_ID(0xf0, 0x01) 0x10600 0x28>, /* control */
91+
<MBUS_ID(0x01, 0x1e) 0 0xffffffff>, /* CS0 */
92+
<MBUS_ID(0x01, 0x5e) 0 0xffffffff>, /* CS1 */
93+
<MBUS_ID(0x01, 0x9e) 0 0xffffffff>, /* CS2 */
94+
<MBUS_ID(0x01, 0xde) 0 0xffffffff>, /* CS3 */
95+
<MBUS_ID(0x01, 0x1f) 0 0xffffffff>, /* CS4 */
96+
<MBUS_ID(0x01, 0x5f) 0 0xffffffff>, /* CS5 */
97+
<MBUS_ID(0x01, 0x9f) 0 0xffffffff>, /* CS6 */
98+
<MBUS_ID(0x01, 0xdf) 0 0xffffffff>; /* CS7 */
99+
clocks = <&coreclk 0>;
100+
interrupts = <23>;
101+
};
102+
};

Documentation/devicetree/bindings/spi/mediatek,spi-mt65xx.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,18 @@ properties:
3939
- mediatek,mt7988-spi-single
4040
- mediatek,mt8188-spi-ipm
4141
- const: mediatek,spi-ipm
42+
- items:
43+
- enum:
44+
- mediatek,mt8196-spi
45+
- const: mediatek,mt6991-spi
4246
- items:
4347
- enum:
4448
- mediatek,mt2701-spi
4549
- mediatek,mt2712-spi
4650
- mediatek,mt6589-spi
4751
- mediatek,mt6765-spi
4852
- mediatek,mt6893-spi
53+
- mediatek,mt6991-spi
4954
- mediatek,mt7622-spi
5055
- mediatek,mt8135-spi
5156
- mediatek,mt8173-spi

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ properties:
2424
interrupts:
2525
maxItems: 1
2626

27+
clocks:
28+
maxItems: 1
29+
2730
dmas:
2831
maxItems: 1
2932

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/nxp,lpc3220-spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NXP LPC3220 SPI controller
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- nxp,lpc3220-spi
16+
17+
reg:
18+
maxItems: 1
19+
20+
clocks:
21+
maxItems: 1
22+
23+
allOf:
24+
- $ref: spi-controller.yaml#
25+
26+
unevaluatedProperties: false
27+
28+
required:
29+
- compatible
30+
- reg
31+
- clocks
32+
33+
examples:
34+
- |
35+
#include <dt-bindings/clock/lpc32xx-clock.h>
36+
37+
spi@20088000 {
38+
compatible = "nxp,lpc3220-spi";
39+
reg = <0x20088000 0x1000>;
40+
clocks = <&clk LPC32XX_CLK_SPI1>;
41+
#address-cells = <1>;
42+
#size-cells = <0>;
43+
};
44+
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
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,rzv2h-rspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas RZ/V2H(P) Renesas Serial Peripheral Interface (RSPI)
8+
9+
maintainers:
10+
- Fabrizio Castro <[email protected]>
11+
12+
allOf:
13+
- $ref: spi-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: renesas,r9a09g057-rspi # RZ/V2H(P)
18+
19+
reg:
20+
maxItems: 1
21+
22+
interrupts:
23+
items:
24+
- description: Idle Interrupt
25+
- description: Error Interrupt
26+
- description: Communication End Interrupt
27+
- description: Receive Buffer Full Interrupt
28+
- description: Transmit Buffer Empty Interrupt
29+
30+
interrupt-names:
31+
items:
32+
- const: idle
33+
- const: error
34+
- const: end
35+
- const: rx
36+
- const: tx
37+
38+
clocks:
39+
maxItems: 3
40+
41+
clock-names:
42+
items:
43+
- const: pclk
44+
- const: pclk_sfr
45+
- const: tclk
46+
47+
resets:
48+
maxItems: 2
49+
50+
reset-names:
51+
items:
52+
- const: presetn
53+
- const: tresetn
54+
55+
power-domains:
56+
maxItems: 1
57+
58+
required:
59+
- compatible
60+
- reg
61+
- interrupts
62+
- interrupt-names
63+
- clocks
64+
- clock-names
65+
- resets
66+
- reset-names
67+
- power-domains
68+
- '#address-cells'
69+
- '#size-cells'
70+
71+
unevaluatedProperties: false
72+
73+
examples:
74+
- |
75+
#include <dt-bindings/interrupt-controller/arm-gic.h>
76+
#include <dt-bindings/clock/renesas-cpg-mssr.h>
77+
spi@12800800 {
78+
compatible = "renesas,r9a09g057-rspi";
79+
80+
reg = <0x12800800 0x400>;
81+
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
82+
<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
83+
<GIC_SPI 113 IRQ_TYPE_EDGE_RISING>,
84+
<GIC_SPI 504 IRQ_TYPE_EDGE_RISING>,
85+
<GIC_SPI 505 IRQ_TYPE_EDGE_RISING>;
86+
interrupt-names = "idle", "error", "end", "rx", "tx";
87+
clocks = <&cpg CPG_MOD 0x5a>,
88+
<&cpg CPG_MOD 0x5b>,
89+
<&cpg CPG_MOD 0x5c>;
90+
clock-names = "pclk", "pclk_sfr", "tclk";
91+
resets = <&cpg 0x7f>, <&cpg 0x80>;
92+
reset-names = "presetn", "tresetn";
93+
power-domains = <&cpg>;
94+
#address-cells = <1>;
95+
#size-cells = <0>;
96+
};

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ properties:
4646
required:
4747
- compatible
4848
- reg
49-
- spi-max-frequency
5049
- mux-controls
5150

5251
unevaluatedProperties: false

0 commit comments

Comments
 (0)