Skip to content

Commit d0f3ad2

Browse files
committed
Merge tag 'spi-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown: "A busy enough release, but not for the core which has only seen very small updates. The biggest addition is the readdition of support for detailed configuration of the timings around chip selects. That had been removed for lack of use but there's been applications found for it on Atmel systems. Otherwise the updates are mostly feature additions and cleanups to existing drivers. Summary: - Provide a helper for getting device match data in a way that abstracts away which firmware interface is being used. - Re-add the spi_set_cs_timing() API for detailed configuration of the timing around chip select and support it on Atmel. - Support for MediaTek MT7986, Microchip PCI1xxxx, Nuvoton WPCM450 FIU and Socionext F_OSPI" * tag 'spi-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (66 commits) spi: dt-bindings: Convert Synquacer SPI to DT schema spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode spi: spi-mtk-nor: Add recovery mechanism for dma read timeout spi: spi-fsl-lpspi: add num-cs binding for lpspi spi: spi-fsl-lpspi: support multiple cs for lpspi spi: mtk-snfi: Add snfi support for MT7986 IC spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE spi: cadence-quadspi: Add minimum operable clock rate warning to baudrate divisor calculation spi: microchip: pci1xxxx: Add suspend and resume support for PCI1XXXX SPI driver spi: dt-bindings: nuvoton,wpcm450-fiu: Fix warning in example (missing reg property) spi: dt-bindings: nuvoton,wpcm450-fiu: Fix error in example (bogus include) spi: mediatek: Enable irq when pdata is ready spi: spi-mtk-nor: Unify write buffer on/off spi: intel: Add support for SFDP opcode spi: intel: Take possible chip address into account in intel_spi_read/write_reg() spi: intel: Implement adjust_op_size() spi: intel: Use ->replacement_op in intel_spi_hw_cycle() spi: cadence: Drop obsolete dependency on COMPILE_TEST spi: Add Nuvoton WPCM450 Flash Interface Unit (FIU) bindings spi: wpcm-fiu: Add direct map support ...
2 parents c5589c4 + 3cf241c commit d0f3ad2

Some content is hidden

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

51 files changed

+2616
-390
lines changed

Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ title: Amlogic Meson SPI Communication Controller
1010
maintainers:
1111
- Neil Armstrong <[email protected]>
1212

13-
allOf:
14-
- $ref: "spi-controller.yaml#"
15-
1613
description: |
1714
The Meson SPICC is a generic SPI controller for general purpose Full-Duplex
1815
communications with dedicated 16 words RX/TX PIO FIFOs.
@@ -43,31 +40,53 @@ properties:
4340
minItems: 1
4441
maxItems: 2
4542

46-
if:
47-
properties:
48-
compatible:
49-
contains:
50-
enum:
51-
- amlogic,meson-g12a-spicc
52-
53-
then:
54-
properties:
55-
clocks:
56-
minItems: 2
57-
58-
clock-names:
59-
items:
60-
- const: core
61-
- const: pclk
62-
63-
else:
64-
properties:
65-
clocks:
66-
maxItems: 1
67-
68-
clock-names:
69-
items:
70-
- const: core
43+
allOf:
44+
- $ref: "spi-controller.yaml#"
45+
- if:
46+
properties:
47+
compatible:
48+
contains:
49+
enum:
50+
- amlogic,meson-g12a-spicc
51+
52+
then:
53+
properties:
54+
clocks:
55+
minItems: 2
56+
57+
clock-names:
58+
items:
59+
- const: core
60+
- const: pclk
61+
62+
else:
63+
properties:
64+
clocks:
65+
maxItems: 1
66+
67+
clock-names:
68+
items:
69+
- const: core
70+
71+
- if:
72+
properties:
73+
compatible:
74+
contains:
75+
enum:
76+
- amlogic,meson-gx-spicc
77+
78+
then:
79+
properties:
80+
pinctrl-0: true
81+
pinctrl-1: true
82+
pinctrl-2: true
83+
84+
pinctrl-names:
85+
minItems: 1
86+
items:
87+
- const: default
88+
- const: idle-high
89+
- const: idle-low
7190

7291
required:
7392
- compatible

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ fiu3: spi@c00000000 {
5151
clocks = <&clk NPCM7XX_CLK_AHB>;
5252
pinctrl-names = "default";
5353
pinctrl-0 = <&spi3_pins>;
54-
spi-nor@0 {
54+
flash@0 {
5555
...
5656
};
5757
};
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
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,wpcm450-fiu.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Nuvoton WPCM450 Flash Interface Unit (FIU)
8+
9+
maintainers:
10+
- Jonathan Neuschäfer <[email protected]>
11+
12+
allOf:
13+
- $ref: /schemas/spi/spi-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: nuvoton,wpcm450-fiu
18+
19+
reg:
20+
items:
21+
- description: FIU registers
22+
- description: Memory-mapped flash contents
23+
24+
reg-names:
25+
items:
26+
- const: control
27+
- const: memory
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
clocks:
33+
maxItems: 1
34+
35+
nuvoton,shm:
36+
$ref: /schemas/types.yaml#/definitions/phandle
37+
description: a phandle to the SHM block (see ../arm/nuvoton,shm.yaml)
38+
39+
required:
40+
- compatible
41+
- reg
42+
- clocks
43+
44+
unevaluatedProperties: false
45+
46+
examples:
47+
- |
48+
spi@c8000000 {
49+
compatible = "nuvoton,wpcm450-fiu";
50+
reg = <0xc8000000 0x1000>, <0xc0000000 0x4000000>;
51+
#address-cells = <1>;
52+
#size-cells = <0>;
53+
reg-names = "control", "memory";
54+
clocks = <&clk 0>;
55+
nuvoton,shm = <&shm>;
56+
57+
flash@0 {
58+
compatible = "jedec,spi-nor";
59+
reg = <0>;
60+
};
61+
};
62+
63+
shm: syscon@c8001000 {
64+
compatible = "nuvoton,wpcm450-shm", "syscon";
65+
reg = <0xc8001000 0x1000>;
66+
};
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/socionext,f-ospi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Socionext F_OSPI controller
8+
9+
description: |
10+
The Socionext F_OSPI is a controller used to interface with flash
11+
memories using the SPI communication interface.
12+
13+
maintainers:
14+
- Kunihiko Hayashi <[email protected]>
15+
16+
allOf:
17+
- $ref: spi-controller.yaml#
18+
19+
properties:
20+
compatible:
21+
const: socionext,f-ospi
22+
23+
reg:
24+
maxItems: 1
25+
26+
clocks:
27+
maxItems: 1
28+
29+
num-cs:
30+
minimum: 1
31+
maximum: 4
32+
33+
required:
34+
- compatible
35+
- reg
36+
- clocks
37+
- "#address-cells"
38+
- "#size-cells"
39+
40+
unevaluatedProperties: false
41+
42+
examples:
43+
- |
44+
ospi0: spi@80000000 {
45+
compatible = "socionext,f-ospi";
46+
reg = <0x80000000 0x1000>;
47+
clocks = <&clks 0>;
48+
num-cs = <1>;
49+
#address-cells = <1>;
50+
#size-cells = <0>;
51+
52+
flash@0 {
53+
compatible = "spansion,s25fl128s", "jedec,spi-nor";
54+
reg = <0>;
55+
spi-max-frequency = <50000000>;
56+
};
57+
};
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/socionext,synquacer-spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Socionext SynQuacer HS-SPI Controller
8+
9+
maintainers:
10+
- Masahisa Kojima <[email protected]>
11+
- Jassi Brar <[email protected]>
12+
13+
allOf:
14+
- $ref: spi-controller.yaml#
15+
16+
properties:
17+
compatible:
18+
const: socionext,synquacer-spi
19+
20+
reg:
21+
maxItems: 1
22+
23+
clocks:
24+
minItems: 1
25+
items:
26+
- description: core clock
27+
- description: rate clock
28+
29+
clock-names:
30+
minItems: 1
31+
items:
32+
- const: iHCLK
33+
- const: iPCLK
34+
35+
interrupts:
36+
items:
37+
- description: Receive Interrupt
38+
- description: Transmit Interrupt
39+
- description: Fault Interrupt
40+
41+
socionext,use-rtm:
42+
type: boolean
43+
description: Enable using "retimed clock" for RX
44+
45+
socionext,set-aces:
46+
type: boolean
47+
description: Enable same active clock edges field to be set
48+
49+
required:
50+
- compatible
51+
- reg
52+
- interrupts
53+
- clocks
54+
- clock-names
55+
56+
unevaluatedProperties: false
57+
58+
examples:
59+
- |
60+
#include <dt-bindings/interrupt-controller/arm-gic.h>
61+
62+
spi@ff110000 {
63+
compatible = "socionext,synquacer-spi";
64+
reg = <0xff110000 0x1000>;
65+
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
66+
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
67+
<GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
68+
clocks = <&clk_hsspi>;
69+
clock-names = "iHCLK";
70+
socionext,use-rtm;
71+
socionext,set-aces;
72+
};
73+
...

Documentation/devicetree/bindings/spi/spi-fsl-lpspi.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,13 @@ properties:
5656
this property to re-config the chipselect value in the LPSPI driver.
5757
type: boolean
5858

59+
num-cs:
60+
description:
61+
number of chip selects.
62+
minimum: 1
63+
maximum: 2
64+
default: 1
65+
5966
required:
6067
- compatible
6168
- reg
@@ -80,4 +87,5 @@ examples:
8087
clock-names = "per", "ipg";
8188
spi-slave;
8289
fsl,spi-only-use-cs1-sel;
90+
num-cs = <2>;
8391
};

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ properties:
4444
description:
4545
Maximum SPI clocking speed of the device in Hz.
4646

47+
spi-cs-setup-ns:
48+
description:
49+
Delay in nanosecods to be introduced by the controller after CS is
50+
asserted.
51+
4752
spi-rx-bus-width:
4853
description:
4954
Bus width to the SPI bus used for read transfers.

Documentation/devicetree/bindings/spi/spi-synquacer.txt

Lines changed: 0 additions & 27 deletions
This file was deleted.

Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml

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

1515
properties:
1616
compatible:
17-
const: xlnx,zynqmp-qspi-1.0
17+
enum:
18+
- xlnx,versal-qspi-1.0
19+
- xlnx,zynqmp-qspi-1.0
1820

1921
reg:
2022
maxItems: 2

Documentation/driver-api/spi.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ hardware, which may be as simple as a set of GPIO pins or as complex as
2525
a pair of FIFOs connected to dual DMA engines on the other side of the
2626
SPI shift register (maximizing throughput). Such drivers bridge between
2727
whatever bus they sit on (often the platform bus) and SPI, and expose
28-
the SPI side of their device as a :c:type:`struct spi_master
29-
<spi_master>`. SPI devices are children of that master,
28+
the SPI side of their device as a :c:type:`struct spi_controller
29+
<spi_controller>`. SPI devices are children of that master,
3030
represented as a :c:type:`struct spi_device <spi_device>` and
3131
manufactured from :c:type:`struct spi_board_info
3232
<spi_board_info>` descriptors which are usually provided by

0 commit comments

Comments
 (0)