Re: [PATCH v2 1/2] spi: dt-bindings: amlogic, meson-gx-spicc: Add pinctrl names for SPI signal states

From: Amjad Ouled-Ameur
Date: Thu Oct 06 2022 - 06:58:01 EST


Hi Krzysztof,

Thank you for the review.

On 10/5/22 10:14, Krzysztof Kozlowski wrote:
On 04/10/2022 13:10, Amjad Ouled-Ameur wrote:
SPI pins of the SPICC Controller in Meson-GX needs to be controlled by
pin biais when idle. Therefore define three pinctrl names:
- default: SPI pins are controlled by spi function.
- idle-high: SCLK pin is pulled-up, but MOSI/MISO are still controlled
by spi function.
- idle-low: SCLK pin is pulled-down, but MOSI/MISO are still controlled
by spi function.

Reported-by: Da Xue <da@libre.computer>
Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
Signed-off-by: Amjad Ouled-Ameur <aouledameur@xxxxxxxxxxxx>
---
.../devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml b/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml
index 0c10f7678178..53013e27f507 100644
--- a/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml
+++ b/Documentation/devicetree/bindings/spi/amlogic,meson-gx-spicc.yaml
@@ -43,6 +43,14 @@ properties:
minItems: 1
maxItems: 2
+ pinctrl-0:
+ minItems: 1
maxItems?

Will fill it in next version.
+
+ pinctrl-1:
+ maxItems: 1
+
+ pinctrl-names: true
Why do you need all these in the bindings?

SPI clock bias needs to change at runtime depending on SPI mode, here is an example of

how this is supposed to be used ("spi_idle_low_pins" and "spi_idle_low_pins" are defined

in the second patch of this series):

&spicc {
    pinctrl-0 = <&spi_pins>;
    pinctrl-1 = <&spi_pins>, <&spi_idle_high_pins>;
    pinctrl-2 = <&spi_pins>, <&spi_idle_low_pins>;
    pinctrl-names = "default", "idle-high", "idle-low";

    [...]

};

+
if:
properties:
compatible:
@@ -69,6 +77,13 @@ else:
items:
- const: core
+ pinctrl-names:
+ minItems: 1
+ items:
+ - const: default
+ - const: idle-high
+ - const: idle-low
This does not match what you wrote in the bindings - you mentioned only
two set of pin controls.

Right, there are actually three set of pin controls, will correct the bindings above.


Regards,

Amjad


Best regards,
Krzysztof