Hi,
Changes since v5
================
1. Add new patch 3 (fix indentation in example).
2. Patch 2: reference spi-peripheral-props in else.
3. Add tags.
Changes since v4
================
1. Do not require samsung,spi-feedback-delay and fold patch 3 into patch 2.
2. Rework message in patch 4.
3. Add tags.
Changes since v3
================
1. Patch 2: correct path in exynos-usi.yaml.
2. Add patch 5.
3. Add tags.
Changes since v2
================
1. Patch 2: drop child device schema, as Rob suggested.
Changes since v1
================
1. Patch 2: describe devices matching compatible, correct issues pointed out by
Rob, add reviewed-by tag.
2. New patches 3 and 4.
Best regards,
Krzysztof
Krzysztof Kozlowski (4):
spi: dt-bindings: samsung: convert to dtschema
mfd: dt-bindings: google,cros-ec: reference Samsung SPI bindings
mfd: dt-bindings: google,cros-ec: fix indentation in example
spi: s3c64xx: allow controller-data to be optional
.../bindings/mfd/google,cros-ec.yaml | 31 +--
.../bindings/soc/samsung/exynos-usi.yaml | 2 +-
.../spi/samsung,spi-peripheral-props.yaml | 33 ++++
.../devicetree/bindings/spi/samsung,spi.yaml | 187 ++++++++++++++++++
.../bindings/spi/spi-peripheral-props.yaml | 1 +
.../devicetree/bindings/spi/spi-samsung.txt | 122 ------------
MAINTAINERS | 2 +-
drivers/spi/spi-s3c64xx.c | 14 +-
8 files changed, 246 insertions(+), 146 deletions(-)
create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi.yaml
delete mode 100644 Documentation/devicetree/bindings/spi/spi-samsung.txt
--
2.32.0
Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
controller bindings to DT schema format.
The conversion also drops requirement from providing controller-data and
its data for each of SPI peripheral device nodes. The dtschema cannot
express this and the requirement is being relaxed in the driver now.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: Sam Protsenko <[email protected]>
Acked-by: Pratyush Yadav <[email protected]>
---
.../bindings/soc/samsung/exynos-usi.yaml | 2 +-
.../spi/samsung,spi-peripheral-props.yaml | 33 ++++
.../devicetree/bindings/spi/samsung,spi.yaml | 187 ++++++++++++++++++
.../bindings/spi/spi-peripheral-props.yaml | 1 +
.../devicetree/bindings/spi/spi-samsung.txt | 122 ------------
MAINTAINERS | 2 +-
6 files changed, 223 insertions(+), 124 deletions(-)
create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi.yaml
delete mode 100644 Documentation/devicetree/bindings/spi/spi-samsung.txt
diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml
index 58f2e9d8bb0e..d10ec742a6a5 100644
--- a/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml
+++ b/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml
@@ -22,7 +22,7 @@ description: |
[1] Documentation/devicetree/bindings/serial/samsung_uart.yaml
[2] Documentation/devicetree/bindings/i2c/i2c-exynos5.txt
- [3] Documentation/devicetree/bindings/spi/spi-samsung.txt
+ [3] Documentation/devicetree/bindings/spi/samsung,spi.yaml
properties:
$nodename:
diff --git a/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
new file mode 100644
index 000000000000..f0db3fb3d688
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/samsung,spi-peripheral-props.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Peripheral-specific properties for Samsung S3C/S5P/Exynos SoC SPI controller
+
+maintainers:
+ - Krzysztof Kozlowski <[email protected]>
+
+description:
+ See spi-peripheral-props.yaml for more info.
+
+properties:
+ controller-data:
+ type: object
+ additionalProperties: false
+
+ properties:
+ samsung,spi-feedback-delay:
+ description: |
+ The sampling phase shift to be applied on the miso line (to account
+ for any lag in the miso line). Valid values:
+ - 0: No phase shift.
+ - 1: 90 degree phase shift sampling.
+ - 2: 180 degree phase shift sampling.
+ - 3: 270 degree phase shift sampling.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [0, 1, 2, 3]
+ default: 0
+
+additionalProperties: true
diff --git a/Documentation/devicetree/bindings/spi/samsung,spi.yaml b/Documentation/devicetree/bindings/spi/samsung,spi.yaml
new file mode 100644
index 000000000000..61c77088e8ee
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/samsung,spi.yaml
@@ -0,0 +1,187 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/samsung,spi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung S3C/S5P/Exynos SoC SPI controller
+
+maintainers:
+ - Krzysztof Kozlowski <[email protected]>
+
+description:
+ All the SPI controller nodes should be represented in the aliases node using
+ the following format 'spi{n}' where n is a unique number for the alias.
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - samsung,s3c2443-spi # for S3C2443, S3C2416 and S3C2450
+ - samsung,s3c6410-spi
+ - samsung,s5pv210-spi # for S5PV210 and S5PC110
+ - samsung,exynos5433-spi
+ - const: samsung,exynos7-spi
+ deprecated: true
+
+ clocks:
+ minItems: 2
+ maxItems: 3
+
+ clock-names:
+ minItems: 2
+ maxItems: 3
+
+ cs-gpios: true
+
+ dmas:
+ minItems: 2
+ maxItems: 2
+
+ dma-names:
+ items:
+ - const: tx
+ - const: rx
+
+ interrupts:
+ maxItems: 1
+
+ no-cs-readback:
+ description:
+ The CS line is disconnected, therefore the device should not operate
+ based on CS signalling.
+ type: boolean
+
+ num-cs:
+ minimum: 1
+ maximum: 4
+ default: 1
+
+ samsung,spi-src-clk:
+ description:
+ If the spi controller includes a internal clock mux to select the clock
+ source for the spi bus clock, this property can be used to indicate the
+ clock to be used for driving the spi bus clock. If not specified, the
+ clock number 0 is used as default.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ default: 0
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - clocks
+ - clock-names
+ - dmas
+ - dma-names
+ - interrupts
+ - reg
+
+allOf:
+ - $ref: spi-controller.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,exynos5433-spi
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ maxItems: 3
+ clock-names:
+ items:
+ - const: spi
+ - enum:
+ - spi_busclk0
+ - spi_busclk1
+ - spi_busclk2
+ - spi_busclk3
+ - const: spi_ioclk
+ else:
+ properties:
+ clocks:
+ minItems: 2
+ maxItems: 2
+ clock-names:
+ items:
+ - const: spi
+ - enum:
+ - spi_busclk0
+ - spi_busclk1
+ - spi_busclk2
+ - spi_busclk3
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/exynos5433.h>
+ #include <dt-bindings/clock/samsung,s2mps11.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/gpio/gpio.h>
+
+ spi@14d30000 {
+ compatible = "samsung,exynos5433-spi";
+ reg = <0x14d30000 0x100>;
+ interrupts = <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&pdma0 11>, <&pdma0 10>;
+ dma-names = "tx", "rx";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&cmu_peric CLK_PCLK_SPI1>,
+ <&cmu_peric CLK_SCLK_SPI1>,
+ <&cmu_peric CLK_SCLK_IOCLK_SPI1>;
+ clock-names = "spi",
+ "spi_busclk0",
+ "spi_ioclk";
+ samsung,spi-src-clk = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi1_bus>;
+ num-cs = <1>;
+
+ cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
+
+ audio-codec@0 {
+ compatible = "wlf,wm5110";
+ reg = <0x0>;
+ spi-max-frequency = <20000000>;
+ interrupt-parent = <&gpa0>;
+ interrupts = <4 IRQ_TYPE_NONE>;
+ clocks = <&pmu_system_controller 0>,
+ <&s2mps13_osc S2MPS11_CLK_BT>;
+ clock-names = "mclk1", "mclk2";
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ wlf,micd-detect-debounce = <300>;
+ wlf,micd-bias-start-time = <0x1>;
+ wlf,micd-rate = <0x7>;
+ wlf,micd-dbtime = <0x2>;
+ wlf,micd-force-micbias;
+ wlf,micd-configs = <0x0 1 0>;
+ wlf,hpdet-channel = <1>;
+ wlf,gpsw = <0x1>;
+ wlf,inmode = <2 0 2 0>;
+
+ wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
+ wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
+
+ /* core supplies */
+ AVDD-supply = <&ldo18_reg>;
+ DBVDD1-supply = <&ldo18_reg>;
+ CPVDD-supply = <&ldo18_reg>;
+ DBVDD2-supply = <&ldo18_reg>;
+ DBVDD3-supply = <&ldo18_reg>;
+ SPKVDDL-supply = <&ldo18_reg>;
+ SPKVDDR-supply = <&ldo18_reg>;
+
+ controller-data {
+ samsung,spi-feedback-delay = <0>;
+ };
+ };
+ };
diff --git a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
index 5dd209206e88..df885eeb144f 100644
--- a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
+++ b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
@@ -85,5 +85,6 @@ properties:
# The controller specific properties go here.
allOf:
- $ref: cdns,qspi-nor-peripheral-props.yaml#
+ - $ref: samsung,spi-peripheral-props.yaml#
additionalProperties: true
diff --git a/Documentation/devicetree/bindings/spi/spi-samsung.txt b/Documentation/devicetree/bindings/spi/spi-samsung.txt
deleted file mode 100644
index 49028a4f5df1..000000000000
--- a/Documentation/devicetree/bindings/spi/spi-samsung.txt
+++ /dev/null
@@ -1,122 +0,0 @@
-* Samsung SPI Controller
-
-The Samsung SPI controller is used to interface with various devices such as flash
-and display controllers using the SPI communication interface.
-
-Required SoC Specific Properties:
-
-- compatible: should be one of the following.
- - samsung,s3c2443-spi: for s3c2443, s3c2416 and s3c2450 platforms
- - samsung,s3c6410-spi: for s3c6410 platforms
- - samsung,s5pv210-spi: for s5pv210 and s5pc110 platforms
- - samsung,exynos5433-spi: for exynos5433 compatible controllers
- - samsung,exynos7-spi: for exynos7 platforms <DEPRECATED>
-
-- reg: physical base address of the controller and length of memory mapped
- region.
-
-- interrupts: The interrupt number to the cpu. The interrupt specifier format
- depends on the interrupt controller.
-
-- dmas : Two or more DMA channel specifiers following the convention outlined
- in bindings/dma/dma.txt
-
-- dma-names: Names for the dma channels. There must be at least one channel
- named "tx" for transmit and named "rx" for receive.
-
-- clocks: specifies the clock IDs provided to the SPI controller; they are
- required for interacting with the controller itself, for synchronizing the bus
- and as I/O clock (the latter is required by exynos5433 and exynos7).
-
-- clock-names: string names of the clocks in the 'clocks' property; for all the
- the devices the names must be "spi", "spi_busclkN" (where N is determined by
- "samsung,spi-src-clk"), while Exynos5433 should specify a third clock
- "spi_ioclk" for the I/O clock.
-
-Required Board Specific Properties:
-
-- #address-cells: should be 1.
-- #size-cells: should be 0.
-
-Optional Board Specific Properties:
-
-- samsung,spi-src-clk: If the spi controller includes a internal clock mux to
- select the clock source for the spi bus clock, this property can be used to
- indicate the clock to be used for driving the spi bus clock. If not specified,
- the clock number 0 is used as default.
-
-- num-cs: Specifies the number of chip select lines supported. If
- not specified, the default number of chip select lines is set to 1.
-
-- cs-gpios: should specify GPIOs used for chipselects (see spi-bus.txt)
-
-- no-cs-readback: the CS line is disconnected, therefore the device should not
- operate based on CS signalling.
-
-SPI Controller specific data in SPI slave nodes:
-
-- The spi slave nodes should provide the following information which is required
- by the spi controller.
-
- - samsung,spi-feedback-delay: The sampling phase shift to be applied on the
- miso line (to account for any lag in the miso line). The following are the
- valid values.
-
- - 0: No phase shift.
- - 1: 90 degree phase shift sampling.
- - 2: 180 degree phase shift sampling.
- - 3: 270 degree phase shift sampling.
-
-Aliases:
-
-- All the SPI controller nodes should be represented in the aliases node using
- the following format 'spi{n}' where n is a unique number for the alias.
-
-
-Example:
-
-- SoC Specific Portion:
-
- spi_0: spi@12d20000 {
- compatible = "samsung,exynos4210-spi";
- reg = <0x12d20000 0x100>;
- interrupts = <0 66 0>;
- dmas = <&pdma0 5
- &pdma0 4>;
- dma-names = "tx", "rx";
- #address-cells = <1>;
- #size-cells = <0>;
- };
-
-- Board Specific Portion:
-
- spi_0: spi@12d20000 {
- #address-cells = <1>;
- #size-cells = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&spi0_bus>;
- cs-gpios = <&gpa2 5 0>;
-
- w25q80bw@0 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "w25x80";
- reg = <0>;
- spi-max-frequency = <10000>;
-
- controller-data {
- samsung,spi-feedback-delay = <0>;
- };
-
- partition@0 {
- label = "U-Boot";
- reg = <0x0 0x40000>;
- read-only;
- };
-
- partition@40000 {
- label = "Kernel";
- reg = <0x40000 0xc0000>;
- };
- };
- };
diff --git a/MAINTAINERS b/MAINTAINERS
index 77c01b55099c..f0b083b279de 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17114,7 +17114,7 @@ M: Andi Shyti <[email protected]>
L: [email protected]
L: [email protected]
S: Maintained
-F: Documentation/devicetree/bindings/spi/spi-samsung.txt
+F: Documentation/devicetree/bindings/spi/samsung,spi*.yaml
F: drivers/spi/spi-s3c*
F: include/linux/platform_data/spi-s3c64xx.h
F: include/linux/spi/s3c24xx-fiq.h
--
2.32.0
The ChromeOS Embedded Controller appears on boards with Samsung Exynos
SoC, where Exynos SPI bindings expect controller-data node. Reference
SPI peripheral bindings which include now Samsung SPI peripheral parts.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/mfd/google,cros-ec.yaml | 29 ++++++++++---------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
index d1f53bd449f7..525ab18005b3 100644
--- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
+++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
@@ -31,7 +31,7 @@ properties:
controller-data:
description:
- SPI controller data, see bindings/spi/spi-samsung.txt
+ SPI controller data, see bindings/spi/samsung,spi-peripheral-props.yaml
type: object
google,cros-ec-spi-pre-delay:
@@ -148,18 +148,21 @@ patternProperties:
required:
- compatible
-if:
- properties:
- compatible:
- contains:
- enum:
- - google,cros-ec-i2c
- - google,cros-ec-rpmsg
-then:
- properties:
- google,cros-ec-spi-pre-delay: false
- google,cros-ec-spi-msg-delay: false
- spi-max-frequency: false
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - google,cros-ec-i2c
+ - google,cros-ec-rpmsg
+ then:
+ properties:
+ google,cros-ec-spi-pre-delay: false
+ google,cros-ec-spi-msg-delay: false
+ spi-max-frequency: false
+ else:
+ $ref: /schemas/spi/spi-peripheral-props.yaml
additionalProperties: false
--
2.32.0
The Samsung SoC SPI driver requires to provide controller-data node
for each of SPI peripheral device nodes. Make this controller-data node
optional, so DTS could be simpler.
Suggested-by: Rob Herring <[email protected]>
Signed-off-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: Sam Protsenko <[email protected]>
Reviewed-by: Andi Shyti <[email protected]>
---
drivers/spi/spi-s3c64xx.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index 8755cd85e83c..386550fca81c 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -796,16 +796,14 @@ static struct s3c64xx_spi_csinfo *s3c64xx_get_slave_ctrldata(
return ERR_PTR(-EINVAL);
}
- data_np = of_get_child_by_name(slave_np, "controller-data");
- if (!data_np) {
- dev_err(&spi->dev, "child node 'controller-data' not found\n");
- return ERR_PTR(-EINVAL);
- }
-
cs = kzalloc(sizeof(*cs), GFP_KERNEL);
- if (!cs) {
- of_node_put(data_np);
+ if (!cs)
return ERR_PTR(-ENOMEM);
+
+ data_np = of_get_child_by_name(slave_np, "controller-data");
+ if (!data_np) {
+ dev_info(&spi->dev, "feedback delay set to default (0)\n");
+ return cs;
}
of_property_read_u32(data_np, "samsung,spi-feedback-delay", &fb_delay);
--
2.32.0
Correct level of indentation in the example.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
Documentation/devicetree/bindings/mfd/google,cros-ec.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
index 525ab18005b3..4caadf73fc4a 100644
--- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
+++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
@@ -203,7 +203,7 @@ examples:
spi-max-frequency = <5000000>;
proximity {
- compatible = "google,cros-ec-mkbp-proximity";
+ compatible = "google,cros-ec-mkbp-proximity";
};
cbas {
--
2.32.0
On Mon, 24 Jan 2022 09:23:45 +0100, Krzysztof Kozlowski wrote:
> The ChromeOS Embedded Controller appears on boards with Samsung Exynos
> SoC, where Exynos SPI bindings expect controller-data node. Reference
> SPI peripheral bindings which include now Samsung SPI peripheral parts.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/mfd/google,cros-ec.yaml | 29 ++++++++++---------
> 1 file changed, 16 insertions(+), 13 deletions(-)
>
Reviewed-by: Rob Herring <[email protected]>
On Mon, 24 Jan 2022 09:23:46 +0100, Krzysztof Kozlowski wrote:
> Correct level of indentation in the example.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/google,cros-ec.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Reviewed-by: Rob Herring <[email protected]>
On 07/02/2022 19:09, Mark Brown wrote:
> On Mon, Jan 24, 2022 at 09:23:44AM +0100, Krzysztof Kozlowski wrote:
>> Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
>> controller bindings to DT schema format.
>
> Reviewed-by: Mark Brown <[email protected]>
Hi Mark and Lee,
Thanks for the review. The dt-bindings part have Rob's review. I think
this means Lee can pick up the entire set (SPI+MFD)?
Best regards,
Krzysztof
On Mon, Jan 24, 2022 at 09:23:47AM +0100, Krzysztof Kozlowski wrote:
> The Samsung SoC SPI driver requires to provide controller-data node
> for each of SPI peripheral device nodes. Make this controller-data node
> optional, so DTS could be simpler.
Reviwed-by: Mark Brown <[email protected]>
On Mon, Jan 24, 2022 at 09:23:44AM +0100, Krzysztof Kozlowski wrote:
> Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
> controller bindings to DT schema format.
Reviewed-by: Mark Brown <[email protected]>
On Mon, 14 Feb 2022, Mark Brown wrote:
> On Mon, Feb 14, 2022 at 02:17:11PM +0000, Lee Jones wrote:
> > On Mon, 07 Feb 2022, Mark Brown wrote:
> >
> > > On Mon, Jan 24, 2022 at 09:23:44AM +0100, Krzysztof Kozlowski wrote:
> > > > Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
> > > > controller bindings to DT schema format.
> > >
> > > Reviewed-by: Mark Brown <[email protected]>
> >
> > Do you need a PR?
>
> It'd be good to have one in case it's needed.
No problem.
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On Mon, Feb 14, 2022 at 02:17:11PM +0000, Lee Jones wrote:
> On Mon, 07 Feb 2022, Mark Brown wrote:
>
> > On Mon, Jan 24, 2022 at 09:23:44AM +0100, Krzysztof Kozlowski wrote:
> > > Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
> > > controller bindings to DT schema format.
> >
> > Reviewed-by: Mark Brown <[email protected]>
>
> Do you need a PR?
It'd be good to have one in case it's needed.
On Mon, 07 Feb 2022, Mark Brown wrote:
> On Mon, Jan 24, 2022 at 09:23:44AM +0100, Krzysztof Kozlowski wrote:
> > Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
> > controller bindings to DT schema format.
>
> Reviewed-by: Mark Brown <[email protected]>
Do you need a PR?
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On 24/01/2022 09:23, Krzysztof Kozlowski wrote:
> Hi,
>
Hi Lee,
The patches got reviews/acks from Rob and Mark, so I think they are
clear to go via MFD tree. Could you take a look?
Best regards,
Krzysztof
> Changes since v5
> ================
> 1. Add new patch 3 (fix indentation in example).
> 2. Patch 2: reference spi-peripheral-props in else.
> 3. Add tags.
>
> Changes since v4
> ================
> 1. Do not require samsung,spi-feedback-delay and fold patch 3 into patch 2.
> 2. Rework message in patch 4.
> 3. Add tags.
>
> Changes since v3
> ================
> 1. Patch 2: correct path in exynos-usi.yaml.
> 2. Add patch 5.
> 3. Add tags.
>
> Changes since v2
> ================
> 1. Patch 2: drop child device schema, as Rob suggested.
>
> Changes since v1
> ================
> 1. Patch 2: describe devices matching compatible, correct issues pointed out by
> Rob, add reviewed-by tag.
> 2. New patches 3 and 4.
>
> Best regards,
> Krzysztof
>
> Krzysztof Kozlowski (4):
> spi: dt-bindings: samsung: convert to dtschema
> mfd: dt-bindings: google,cros-ec: reference Samsung SPI bindings
> mfd: dt-bindings: google,cros-ec: fix indentation in example
> spi: s3c64xx: allow controller-data to be optional
>
> .../bindings/mfd/google,cros-ec.yaml | 31 +--
> .../bindings/soc/samsung/exynos-usi.yaml | 2 +-
> .../spi/samsung,spi-peripheral-props.yaml | 33 ++++
> .../devicetree/bindings/spi/samsung,spi.yaml | 187 ++++++++++++++++++
> .../bindings/spi/spi-peripheral-props.yaml | 1 +
> .../devicetree/bindings/spi/spi-samsung.txt | 122 ------------
> MAINTAINERS | 2 +-
> drivers/spi/spi-s3c64xx.c | 14 +-
> 8 files changed, 246 insertions(+), 146 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
> create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi.yaml
> delete mode 100644 Documentation/devicetree/bindings/spi/spi-samsung.txt
>
On Mon, 24 Jan 2022, Krzysztof Kozlowski wrote:
> The Samsung SoC SPI driver requires to provide controller-data node
> for each of SPI peripheral device nodes. Make this controller-data node
> optional, so DTS could be simpler.
>
> Suggested-by: Rob Herring <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> Reviewed-by: Sam Protsenko <[email protected]>
> Reviewed-by: Andi Shyti <[email protected]>
> ---
> drivers/spi/spi-s3c64xx.c | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
Applied, thanks.
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On Mon, 24 Jan 2022, Krzysztof Kozlowski wrote:
> Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
> controller bindings to DT schema format.
>
> The conversion also drops requirement from providing controller-data and
> its data for each of SPI peripheral device nodes. The dtschema cannot
> express this and the requirement is being relaxed in the driver now.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> Reviewed-by: Sam Protsenko <[email protected]>
> Acked-by: Pratyush Yadav <[email protected]>
> ---
> .../bindings/soc/samsung/exynos-usi.yaml | 2 +-
> .../spi/samsung,spi-peripheral-props.yaml | 33 ++++
> .../devicetree/bindings/spi/samsung,spi.yaml | 187 ++++++++++++++++++
> .../bindings/spi/spi-peripheral-props.yaml | 1 +
> .../devicetree/bindings/spi/spi-samsung.txt | 122 ------------
> MAINTAINERS | 2 +-
> 6 files changed, 223 insertions(+), 124 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
> create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi.yaml
> delete mode 100644 Documentation/devicetree/bindings/spi/spi-samsung.txt
Applied, thanks.
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On Mon, 24 Jan 2022, Krzysztof Kozlowski wrote:
> The ChromeOS Embedded Controller appears on boards with Samsung Exynos
> SoC, where Exynos SPI bindings expect controller-data node. Reference
> SPI peripheral bindings which include now Samsung SPI peripheral parts.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/mfd/google,cros-ec.yaml | 29 ++++++++++---------
> 1 file changed, 16 insertions(+), 13 deletions(-)
Applied, thanks.
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On Mon, 24 Jan 2022, Krzysztof Kozlowski wrote:
> Correct level of indentation in the example.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/google,cros-ec.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Applied, thanks.
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Enjoy!
The following changes since commit e783362eb54cd99b2cac8b3a9aeac942e6f6ac07:
Linux 5.17-rc1 (2022-01-23 10:12:53 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-spi-dt-v5.18
for you to fetch changes up to 172e611b54e813c49a35b6b74bccaa99f27bf566:
dt-bindings: mfd: maxim,max77802: Convert to dtschema (2022-03-07 12:55:59 +0000)
----------------------------------------------------------------
Immutable branch between MFD, SPI and DT due for the v5.18 merge window
----------------------------------------------------------------
Krzysztof Kozlowski (13):
dt-bindings: extcon: maxim,max77843: Add MAX77843 bindings
regulator: dt-bindings: maxim,max77843: Add MAX77843 bindings
dt-bindings: mfd: maxim,max77843: Add MAX77843 bindings
MAINTAINERS: mfd: Cover MAX77843 by Maxim PMIC/MUIC for Exynos boards entry
spi: dt-bindings: samsung: Convert to dtschema
mfd: dt-bindings: google,cros-ec: Reference Samsung SPI bindings
mfd: dt-bindings: google,cros-ec: Fix indentation in example
spi: s3c64xx: Allow controller-data to be optional
dt-bindings: power: supply: maxim,max14577: Convert to dtschema
regulator: dt-bindings: maxim,max14577: Convert to dtschema
dt-bindings: mfd: maxim,max14577: Convert to dtschema
regulator: dt-bindings: maxim,max77802: Convert to dtschema
dt-bindings: mfd: maxim,max77802: Convert to dtschema
.../devicetree/bindings/extcon/maxim,max77843.yaml | 40 +++++
.../devicetree/bindings/mfd/google,cros-ec.yaml | 31 ++--
Documentation/devicetree/bindings/mfd/max14577.txt | 147 ----------------
Documentation/devicetree/bindings/mfd/max77802.txt | 25 ---
.../devicetree/bindings/mfd/maxim,max14577.yaml | 195 +++++++++++++++++++++
.../devicetree/bindings/mfd/maxim,max77802.yaml | 194 ++++++++++++++++++++
.../devicetree/bindings/mfd/maxim,max77843.yaml | 144 +++++++++++++++
.../bindings/power/supply/maxim,max14577.yaml | 84 +++++++++
.../devicetree/bindings/regulator/max77802.txt | 111 ------------
.../bindings/regulator/maxim,max14577.yaml | 78 +++++++++
.../bindings/regulator/maxim,max77802.yaml | 85 +++++++++
.../bindings/regulator/maxim,max77843.yaml | 65 +++++++
.../bindings/soc/samsung/exynos-usi.yaml | 2 +-
.../bindings/spi/samsung,spi-peripheral-props.yaml | 33 ++++
.../devicetree/bindings/spi/samsung,spi.yaml | 187 ++++++++++++++++++++
.../bindings/spi/spi-peripheral-props.yaml | 1 +
.../devicetree/bindings/spi/spi-samsung.txt | 122 -------------
MAINTAINERS | 9 +-
drivers/spi/spi-s3c64xx.c | 14 +-
19 files changed, 1136 insertions(+), 431 deletions(-)
create mode 100644 Documentation/devicetree/bindings/extcon/maxim,max77843.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/max14577.txt
delete mode 100644 Documentation/devicetree/bindings/mfd/max77802.txt
create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max14577.yaml
create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77802.yaml
create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77843.yaml
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max14577.yaml
delete mode 100644 Documentation/devicetree/bindings/regulator/max77802.txt
create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max14577.yaml
create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77802.yaml
create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77843.yaml
create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi.yaml
delete mode 100644 Documentation/devicetree/bindings/spi/spi-samsung.txt
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog