Skip to content

Commit e23dd95

Browse files
committed
Merge tag 'spi-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown: "There's some quite exciting core work in this release, we've got the beginnings of support for hardware initiated transfers which is itself independently useful for optimising fast paths in existing drivers. We also have a rework of the DMA mapping which allows finer grained decisions about DMA mapping messages and also helps remove some bodges that we'd had. Otherwise it's a fairly quiet release, a few new drivers and features for existing drivers, together with various cleanups and DT binding conversions. One regmap SPI fix made it's way in here too which I should probably have sent as a regmap fix instead. Summary: - Support for pre-optimising messages, reducing the overhead for messages that are repeatedly used (eg, reading the interrupt status from a device). This will also be used for hardware initiated transfers in future. - A reworking of how DMA mapping is done, introducing a new helper and allowing the DMA mapping decision to be done per transfer instead of per message. - Support for Atmel SAMA7D64, Freescale LX2160A DSPI and WCH CH341A" * tag 'spi-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (72 commits) spi: dt-bindings: at91: Add sama7d65 compatible string spi: add ch341a usb2spi driver spi: dt-bindings: fsl-dspi: add compatible string 'fsl,lx2160a-dspi' spi: dt-bindings: fsl-dspi: add dmas and dma-names properties spi: spi: Remove unnecessary ‘0’ values from status spi: spi: Remove unnecessary ‘0’ values from rc spi: xcomm: fix coding style spi: xcomm: remove i2c_set_clientdata() spi: xcomm: make use of devm_spi_alloc_host() spi: xcomm: add gpiochip support spi: dt-bindings: snps,dw-apb-ssi.yaml: update compatible property spi: dt-bindings: fsl-dspi: Convert to yaml format spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns' spi: axi-spi-engine: remove platform_set_drvdata() spi: spi-fsl-lpspi: Pass pm_ptr() spi: spi-imx: Pass pm_ptr() spi: spi-fsl-lpspi: Switch to SYSTEM_SLEEP_PM_OPS() spi: spi-imx: Switch to RUNTIME_PM_OPS/SYSTEM_SLEEP_PM_OPS() spi: add EXPORT_SYMBOL_GPL(devm_spi_optimize_message) spi: add devm_spi_optimize_message() helper ...
2 parents 584aecc + 3048dc8 commit e23dd95

53 files changed

Lines changed: 1256 additions & 703 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/serial/mrvl,pxa-ssp.txt

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

Documentation/devicetree/bindings/spi/amlogic,a1-spifc.yaml

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

26+
power-domains:
27+
maxItems: 1
28+
2629
required:
2730
- compatible
2831
- reg

Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ properties:
1818
oneOf:
1919
- const: atmel,at91rm9200-spi
2020
- items:
21-
- const: microchip,sam9x60-spi
22-
- const: atmel,at91rm9200-spi
23-
- items:
24-
- const: microchip,sam9x7-spi
21+
- enum:
22+
- microchip,sam9x60-spi
23+
- microchip,sam9x7-spi
24+
- microchip,sama7d65-spi
2525
- const: atmel,at91rm9200-spi
2626

2727
reg:

Documentation/devicetree/bindings/spi/brcm,bcm2835-spi.txt

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/brcm,bcm2835-spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Broadcom BCM2835 SPI0 controller
8+
9+
maintainers:
10+
- Florian Fainelli <florian.fainelli@broadcom.com>
11+
- Kanak Shilledar <kanakshilledar111@protonmail.com>
12+
- Stefan Wahren <wahrenst@gmx.net>
13+
14+
allOf:
15+
- $ref: spi-controller.yaml#
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- brcm,bcm2835-spi
21+
- brcm,bcm2711-spi
22+
- brcm,bcm7211-spi
23+
24+
reg:
25+
maxItems: 1
26+
27+
interrupts:
28+
maxItems: 1
29+
30+
clocks:
31+
maxItems: 1
32+
33+
required:
34+
- compatible
35+
- reg
36+
- interrupts
37+
- clocks
38+
39+
unevaluatedProperties: false
40+
41+
examples:
42+
- |
43+
spi@20204000 {
44+
compatible = "brcm,bcm2835-spi";
45+
reg = <0x7e204000 0x1000>;
46+
interrupts = <2 22>;
47+
clocks = <&clk_spi>;
48+
#address-cells = <1>;
49+
#size-cells = <0>;
50+
};
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/fsl,dspi-peripheral-props.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Peripheral-specific properties for Freescale DSPI controller
8+
9+
maintainers:
10+
- Vladimir Oltean <olteanv@gmail.com>
11+
12+
description:
13+
See spi-peripheral-props.yaml for more info.
14+
15+
properties:
16+
fsl,spi-cs-sck-delay:
17+
deprecated: true
18+
description:
19+
Delay in nanoseconds between activating chip select and the start of
20+
clock signal, at the start of a transfer.
21+
$ref: /schemas/types.yaml#/definitions/uint32
22+
23+
fsl,spi-sck-cs-delay:
24+
deprecated: true
25+
description:
26+
Delay in nanoseconds between stopping the clock signal and
27+
deactivating chip select, at the end of a transfer.
28+
$ref: /schemas/types.yaml#/definitions/uint32
29+
30+
additionalProperties: true
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/fsl,dspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ARM Freescale DSPI controller
8+
9+
maintainers:
10+
- Frank Li <Frank.Li@nxp.com>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- enum:
16+
- fsl,vf610-dspi
17+
- fsl,ls1021a-v1.0-dspi
18+
- fsl,ls1012a-dspi
19+
- fsl,ls1028a-dspi
20+
- fsl,ls1043a-dspi
21+
- fsl,ls1046a-dspi
22+
- fsl,ls1088a-dspi
23+
- fsl,ls2080a-dspi
24+
- fsl,ls2085a-dspi
25+
- fsl,lx2160a-dspi
26+
- items:
27+
- enum:
28+
- fsl,ls1012a-dspi
29+
- fsl,ls1028a-dspi
30+
- fsl,ls1043a-dspi
31+
- fsl,ls1046a-dspi
32+
- fsl,ls1088a-dspi
33+
- const: fsl,ls1021a-v1.0-dspi
34+
- items:
35+
- const: fsl,ls2080a-dspi
36+
- const: fsl,ls2085a-dspi
37+
- items:
38+
- const: fsl,lx2160a-dspi
39+
- const: fsl,ls2085a-dspi
40+
41+
reg:
42+
maxItems: 1
43+
44+
interrupts:
45+
maxItems: 1
46+
47+
clocks:
48+
maxItems: 1
49+
50+
clock-names:
51+
items:
52+
- const: dspi
53+
54+
dmas:
55+
items:
56+
- description: DMA controller phandle and request line for TX
57+
- description: DMA controller phandle and request line for RX
58+
59+
dma-names:
60+
items:
61+
- const: tx
62+
- const: rx
63+
64+
spi-num-chipselects:
65+
$ref: /schemas/types.yaml#/definitions/uint32
66+
description:
67+
The number of the chip native chipselect signals.
68+
cs-gpios don't count against this number.
69+
70+
big-endian: true
71+
72+
bus-num:
73+
$ref: /schemas/types.yaml#/definitions/uint32
74+
description: SoC-specific identifier for the SPI controller.
75+
76+
required:
77+
- compatible
78+
- reg
79+
- clocks
80+
- clock-names
81+
- spi-num-chipselects
82+
83+
allOf:
84+
- $ref: spi-controller.yaml#
85+
86+
unevaluatedProperties: false
87+
88+
examples:
89+
- |
90+
#include <dt-bindings/interrupt-controller/arm-gic.h>
91+
#include <dt-bindings/clock/vf610-clock.h>
92+
93+
spi@4002c000 {
94+
compatible = "fsl,vf610-dspi";
95+
reg = <0x4002c000 0x1000>;
96+
#address-cells = <1>;
97+
#size-cells = <0>;
98+
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
99+
clocks = <&clks VF610_CLK_DSPI0>;
100+
clock-names = "dspi";
101+
spi-num-chipselects = <5>;
102+
bus-num = <0>;
103+
pinctrl-names = "default";
104+
pinctrl-0 = <&pinctrl_dspi0_1>;
105+
big-endian;
106+
107+
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>;
115+
};
116+
};
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/ibm,spi-fsi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: IBM FSI-attached SPI Controller
8+
9+
maintainers:
10+
- Eddie James <eajames@linux.ibm.com>
11+
12+
description:
13+
A SPI controller found on IBM Power processors, accessed over FSI from a
14+
service processor. This node will always be a child node of an ibm,fsi2spi
15+
node.
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- ibm,spi-fsi
21+
22+
reg:
23+
maxItems: 1
24+
25+
required:
26+
- compatible
27+
- reg
28+
29+
allOf:
30+
- $ref: spi-controller.yaml#
31+
32+
unevaluatedProperties: false
33+
34+
examples:
35+
- |
36+
fsi {
37+
#address-cells = <1>;
38+
#size-cells = <0>;
39+
40+
spi@0 {
41+
compatible = "ibm,spi-fsi";
42+
reg = <0>;
43+
#address-cells = <1>;
44+
#size-cells = <0>;
45+
46+
eeprom@0 {
47+
compatible = "atmel,at25";
48+
reg = <0>;
49+
size = <0x80000>;
50+
address-width = <24>;
51+
pagesize = <256>;
52+
spi-max-frequency = <1000000>;
53+
};
54+
};
55+
};

0 commit comments

Comments
 (0)