Skip to content

Commit a231bed

Browse files
committed
Merge tag 'regulator-spi-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc
Pull spi and regulator updates from Mark Brown: "At one point in the release cycle I managed to fat finger things and apply some SPI fixes onto a regulator branch and merge that into the SPI tree, then pull in a change shared with the MTD tree moving the Mediatek quadspi driver over to become the Mediatek spi-nor driver in the SPI tree. This has made a mess which I only just noticed while preparing this and I can't see a sensible way to unpick things due to other subsequent merge commits especially the pull from MTD so it looks like the most sensible thing to do is give up and combine the two pull requests. Fortunately both subsystems were fairly quiet this cycle, the highlights are: regulator: - Support for Monoloithic Power Systems MP5416, MP8867 and MPS8869 and Qualcomm PMI8994 and SMB208. SPI: - Lots of enhancements for spi-fsl-dspi, including XSPI mode support, from Vladimir Oltean. - Support for amlogic Meson G12A, IBM FSI, Mediatek spi-nor (moved from MTD), NXP i.MX8Mx, Rockchip PX30, RK3308 and RK3328, and Qualcomm Atheros AR934x/QCA95xx" * tag 'regulator-spi-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: (118 commits) spi: efm32: Convert to use GPIO descriptors regulator: qcom_smd: Add pmi8994 regulator support regulator: da9063: Fix get_mode() functions to read sleep field spi: spi-fsl-lpspi: Replace zero-length array with flexible-array member spi: spi-s3c24xx: Replace zero-length array with flexible-array member spi: stm32: Fix comments compilation warnings spi: atmel-quadspi: Add verbose debug facilities to monitor register accesses spi: spi-fsl-dspi: Add support for LS1028A spi: spi-fsl-dspi: Move invariant configs out of dspi_transfer_one_message spi: spi-fsl-dspi: Fix interrupt-less DMA mode taking an XSPI code path spi: spi-fsl-dspi: Avoid NULL pointer in dspi_slave_abort for non-DMA mode spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion spi: spi-fsl-dspi: Protect against races on dspi->words_in_flight spi: spi-fsl-dspi: Avoid reading more data than written in EOQ mode spi: spi-fsl-dspi: Fix bits-per-word acceleration in DMA mode spi: spi-fsl-dspi: Fix little endian access to PUSHR CMD and TXDATA spi: spi-fsl-dspi: Don't access reserved fields in SPI_MCR regulator: driver.h: fix regulator_map_* function names regulator: da9063: fix suspend spi: mxs: Drop GPIO includes ...
2 parents e129940 + 6dfae59 commit a231bed

Some content is hidden

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

62 files changed

+4159
-1322
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# SPDX-License-Identifier: (GPL-2.0-or-later)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/fsi/ibm,fsi2spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: IBM FSI-attached SPI controllers
8+
9+
maintainers:
10+
- Eddie James <[email protected]>
11+
12+
description: |
13+
This binding describes an FSI CFAM engine called the FSI2SPI. Therefore this
14+
node will always be a child of an FSI CFAM node; see fsi.txt for details on
15+
FSI slave and CFAM nodes. This FSI2SPI engine provides access to a number of
16+
SPI controllers.
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- ibm,fsi2spi
22+
23+
reg:
24+
items:
25+
- description: FSI slave address
26+
27+
required:
28+
- compatible
29+
- reg
30+
31+
examples:
32+
- |
33+
fsi2spi@1c00 {
34+
compatible = "ibm,fsi2spi";
35+
reg = <0x1c00 0x400>;
36+
};

Documentation/devicetree/bindings/mfd/qcom-rpm.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ Regulator nodes are identified by their compatible:
6161
"qcom,rpm-pm8901-regulators"
6262
"qcom,rpm-pm8921-regulators"
6363
"qcom,rpm-pm8018-regulators"
64+
"qcom,rpm-smb208-regulators"
6465

6566
- vdd_l0_l1_lvs-supply:
6667
- vdd_l2_l11_l12-supply:
@@ -171,6 +172,9 @@ pm8018:
171172
s1, s2, s3, s4, s5, , l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
172173
l12, l14, lvs1
173174

175+
smb208:
176+
s1a, s1b, s2a, s2b
177+
174178
The content of each sub-node is defined by the standard binding for regulators -
175179
see regulator.txt - with additional custom properties described below:
176180

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
Monolithic Power Systems MP8867/MP8869 voltage regulator
2+
3+
Required properties:
4+
- compatible: Must be one of the following.
5+
"mps,mp8867"
6+
"mps,mp8869"
7+
- reg: I2C slave address.
8+
- enable-gpios: enable gpios.
9+
- mps,fb-voltage-divider: An array of two integers containing the resistor
10+
values R1 and R2 of the feedback voltage divider in kilo ohms.
11+
12+
Any property defined as part of the core regulator binding, defined in
13+
./regulator.txt, can also be used.
14+
15+
Example:
16+
17+
vcpu: regulator@62 {
18+
compatible = "mps,mp8869";
19+
regulator-name = "vcpu";
20+
regulator-min-microvolt = <700000>;
21+
regulator-max-microvolt = <850000>;
22+
regulator-always-on;
23+
regulator-boot-on;
24+
enable-gpios = <&porta 1 GPIO_ACTIVE_LOW>;
25+
mps,fb-voltage-divider = <80 240>;
26+
reg = <0x62>;
27+
};
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/regulator/mps,mp5416.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Monolithic Power System MP5416 PMIC
8+
9+
maintainers:
10+
- Saravanan Sekar <[email protected]>
11+
12+
properties:
13+
$nodename:
14+
pattern: "^pmic@[0-9a-f]{1,2}$"
15+
compatible:
16+
enum:
17+
- mps,mp5416
18+
19+
reg:
20+
maxItems: 1
21+
22+
regulators:
23+
type: object
24+
description: |
25+
list of regulators provided by this controller, must be named
26+
after their hardware counterparts BUCK[1-4] and LDO[1-4]
27+
28+
patternProperties:
29+
"^buck[1-4]$":
30+
allOf:
31+
- $ref: "regulator.yaml#"
32+
type: object
33+
34+
"^ldo[1-4]$":
35+
allOf:
36+
- $ref: "regulator.yaml#"
37+
type: object
38+
39+
additionalProperties: false
40+
additionalProperties: false
41+
42+
required:
43+
- compatible
44+
- reg
45+
- regulators
46+
47+
additionalProperties: false
48+
49+
examples:
50+
- |
51+
i2c {
52+
#address-cells = <1>;
53+
#size-cells = <0>;
54+
55+
pmic@69 {
56+
compatible = "mps,mp5416";
57+
reg = <0x69>;
58+
59+
regulators {
60+
61+
buck1 {
62+
regulator-name = "buck1";
63+
regulator-min-microvolt = <600000>;
64+
regulator-max-microvolt = <2187500>;
65+
regulator-min-microamp = <3800000>;
66+
regulator-max-microamp = <6800000>;
67+
regulator-boot-on;
68+
};
69+
70+
ldo2 {
71+
regulator-name = "ldo2";
72+
regulator-min-microvolt = <800000>;
73+
regulator-max-microvolt = <3975000>;
74+
};
75+
};
76+
};
77+
};
78+
...

Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Regulator nodes are identified by their compatible:
2626
"qcom,rpm-pm8994-regulators"
2727
"qcom,rpm-pm8998-regulators"
2828
"qcom,rpm-pma8084-regulators"
29+
"qcom,rpm-pmi8994-regulators"
2930
"qcom,rpm-pmi8998-regulators"
3031
"qcom,rpm-pms405-regulators"
3132

@@ -143,6 +144,15 @@ Regulator nodes are identified by their compatible:
143144
Definition: reference to regulator supplying the input pin, as
144145
described in the data sheet
145146

147+
- vdd_s1-supply:
148+
- vdd_s2-supply:
149+
- vdd_s3-supply:
150+
- vdd_bst_byp-supply:
151+
Usage: optional (pmi8994 only)
152+
Value type: <phandle>
153+
Definition: reference to regulator supplying the input pin, as
154+
described in the data sheet
155+
146156
- vdd_s1-supply:
147157
- vdd_s2-supply:
148158
- vdd_s3-supply:
@@ -259,6 +269,9 @@ pma8084:
259269
l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20,
260270
l21, l22, l23, l24, l25, l26, l27, lvs1, lvs2, lvs3, lvs4, 5vs1
261271

272+
pmi8994:
273+
s1, s2, s3, boost-bypass
274+
262275
pmi8998:
263276
bob
264277

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/regulator/vqmmc-ipq4019-regulator.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm IPQ4019 VQMMC SD LDO regulator
8+
9+
maintainers:
10+
- Robert Marko <[email protected]>
11+
12+
description: |
13+
Qualcomm IPQ4019 SoC-s feature a built a build SD/EMMC controller,
14+
in order to support both 1.8 and 3V I/O voltage levels an LDO
15+
controller is also embedded.
16+
17+
allOf:
18+
- $ref: "regulator.yaml#"
19+
20+
properties:
21+
compatible:
22+
const: qcom,vqmmc-ipq4019-regulator
23+
24+
reg:
25+
maxItems: 1
26+
27+
required:
28+
- compatible
29+
- reg
30+
31+
examples:
32+
- |
33+
regulator@1948000 {
34+
compatible = "qcom,vqmmc-ipq4019-regulator";
35+
reg = <0x01948000 0x4>;
36+
regulator-name = "vqmmc";
37+
regulator-min-microvolt = <1500000>;
38+
regulator-max-microvolt = <3000000>;
39+
regulator-always-on;
40+
status = "disabled";
41+
};
42+
...

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ properties:
2222
enum:
2323
- amlogic,meson-gx-spicc # SPICC controller on Amlogic GX and compatible SoCs
2424
- amlogic,meson-axg-spicc # SPICC controller on Amlogic AXG and compatible SoCs
25+
- amlogic,meson-g12a-spicc # SPICC controller on Amlogic G12A and compatible SoCs
2526

2627
interrupts:
2728
maxItems: 1
@@ -40,6 +41,27 @@ properties:
4041
items:
4142
- const: core
4243

44+
if:
45+
properties:
46+
compatible:
47+
contains:
48+
enum:
49+
- amlogic,meson-g12a-spicc
50+
51+
then:
52+
properties:
53+
clocks:
54+
contains:
55+
items:
56+
- description: controller register bus clock
57+
- description: baud rate generator and delay control clock
58+
59+
clock-names:
60+
minItems: 2
61+
items:
62+
- const: core
63+
- const: pclk
64+
4365
required:
4466
- compatible
4567
- reg

Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ Required properties:
1010
- "fsl,imx35-cspi" for SPI compatible with the one integrated on i.MX35
1111
- "fsl,imx51-ecspi" for SPI compatible with the one integrated on i.MX51
1212
- "fsl,imx53-ecspi" for SPI compatible with the one integrated on i.MX53 and later Soc
13-
- "fsl,imx8mq-ecspi" for SPI compatible with the one integrated on i.MX8M
13+
- "fsl,imx8mq-ecspi" for SPI compatible with the one integrated on i.MX8MQ
14+
- "fsl,imx8mm-ecspi" for SPI compatible with the one integrated on i.MX8MM
15+
- "fsl,imx8mn-ecspi" for SPI compatible with the one integrated on i.MX8MN
16+
- "fsl,imx8mp-ecspi" for SPI compatible with the one integrated on i.MX8MP
1417
- reg : Offset and length of the register set for the device
1518
- interrupts : Should contain CSPI/eCSPI interrupt
1619
- clocks : Clock specifiers for both ipg and per clocks.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/qca,ar934x-spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Atheros AR934x/QCA95xx SoC SPI controller
8+
9+
maintainers:
10+
- Chuanhong Guo <[email protected]>
11+
12+
allOf:
13+
- $ref: spi-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: qca,ar934x-spi
18+
19+
reg:
20+
maxItems: 1
21+
22+
clocks:
23+
maxItems: 1
24+
25+
required:
26+
- compatible
27+
- reg
28+
- clocks
29+
- '#address-cells'
30+
- '#size-cells'
31+
32+
examples:
33+
- |
34+
#include <dt-bindings/clock/ath79-clk.h>
35+
spi: spi@1f000000 {
36+
compatible = "qca,ar934x-spi";
37+
reg = <0x1f000000 0x1c>;
38+
clocks = <&pll ATH79_CLK_AHB>;
39+
#address-cells = <1>;
40+
#size-cells = <0>;
41+
};

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ properties:
5252
description:
5353
The SPI controller acts as a slave, instead of a master.
5454

55+
oneOf:
56+
- required:
57+
- "#address-cells"
58+
- required:
59+
- spi-slave
60+
5561
patternProperties:
5662
"^slave$":
5763
type: object
@@ -114,7 +120,7 @@ patternProperties:
114120
- enum: [ 1, 2, 4, 8 ]
115121
- default: 1
116122
description:
117-
Bus width to the SPI bus used for MISO.
123+
Bus width to the SPI bus used for read transfers.
118124

119125
spi-rx-delay-us:
120126
description:
@@ -126,7 +132,7 @@ patternProperties:
126132
- enum: [ 1, 2, 4, 8 ]
127133
- default: 1
128134
description:
129-
Bus width to the SPI bus used for MOSI.
135+
Bus width to the SPI bus used for write transfers.
130136

131137
spi-tx-delay-us:
132138
description:

0 commit comments

Comments
 (0)