Selaa lähdekoodia

ipq806x: dts: fix SPI chip select GPIO polarity

The SPI chip select GPIO polarity is active low by default. We must
use "spi-cs-high" dts property to toggle the polarity. The polarity
on "cs-gpios" won't take effect at all[1]. Fix these incorrect GPIO
polarities to silence the kernel warnings.

[1] Refer to Linux/Documentation/devicetree/bindings/spi/spi-controller.yaml
```
      device node     | cs-gpio       | CS pin state active | Note
      ================+===============+=====================+=====
      spi-cs-high     | -             | H                   |
      -               | -             | L                   |
      spi-cs-high     | ACTIVE_HIGH   | H                   |
      -               | ACTIVE_HIGH   | L                   | 1
      spi-cs-high     | ACTIVE_LOW    | H                   | 2
      -               | ACTIVE_LOW    | L                   |

      Notes:
      1) Should print a warning about polarity inversion.
         Here it would be wise to avoid and define the gpio as
         ACTIVE_LOW.
      2) Should print a warning about polarity inversion
         because ACTIVE_LOW is overridden by spi-cs-high.
         Should be generally avoided and be replaced by
         spi-cs-high + ACTIVE_HIGH.
```

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19845
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang 4 kuukautta sitten
vanhempi
sitoutus
2a709d108e
32 muutettua tiedostoa jossa 34 lisäystä ja 34 poistoa
  1. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts
  2. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi
  3. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-e8350-v1.dts
  4. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts
  5. 2 2
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi
  6. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts
  7. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts
  8. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts
  9. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts
  10. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts
  11. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts
  12. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts
  13. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts
  14. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts
  15. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts
  16. 1 1
      target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts
  17. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts
  18. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi
  19. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-e8350-v1.dts
  20. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts
  21. 2 2
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi
  22. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts
  23. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts
  24. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts
  25. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts
  26. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts
  27. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts
  28. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts
  29. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts
  30. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts
  31. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts
  32. 1 1
      target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts

@@ -249,7 +249,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi

@@ -89,7 +89,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-e8350-v1.dts

@@ -140,7 +140,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts

@@ -212,7 +212,7 @@
 
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 2 - 2
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi

@@ -410,7 +410,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash: flash@0 {
 			compatible = "jedec,spi-nor";
@@ -432,7 +432,7 @@
 	pinctrl-0 = <&spi6_pins>;
 	pinctrl-names = "default";
 
-	cs-gpios = <&qcom_pinmux 57 GPIO_ACTIVE_HIGH>;
+	cs-gpios = <&qcom_pinmux 57 GPIO_ACTIVE_LOW>;
 
 	dmas = <&adm_dma 8 0xb>,
 	       <&adm_dma 7 0x14>;

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts

@@ -105,7 +105,7 @@
 
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "mx25u25635f", "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts

@@ -184,7 +184,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts

@@ -288,7 +288,7 @@ switch@10 {
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts

@@ -346,7 +346,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts

@@ -166,7 +166,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts

@@ -219,7 +219,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts

@@ -134,7 +134,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "everspin,mr25h256";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts

@@ -136,7 +136,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "everspin,mr25h256";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts

@@ -199,7 +199,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts

@@ -183,7 +183,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts

@@ -154,7 +154,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		w25q128@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8062-wg2600hp3.dts

@@ -244,7 +244,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-ad7200-c2600.dtsi

@@ -84,7 +84,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-e8350-v1.dts

@@ -140,7 +140,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-fap-421e.dts

@@ -192,7 +192,7 @@
 
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 2 - 2
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-onhub.dtsi

@@ -405,7 +405,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 0>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash: flash@0 {
 			compatible = "jedec,spi-nor";
@@ -427,7 +427,7 @@
 	pinctrl-0 = <&spi6_pins>;
 	pinctrl-names = "default";
 
-	cs-gpios = <&qcom_pinmux 57 GPIO_ACTIVE_HIGH>;
+	cs-gpios = <&qcom_pinmux 57 GPIO_ACTIVE_LOW>;
 
 	dmas = <&adm_dma 8 0xb>,
 	       <&adm_dma 7 0x14>;

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-unifi-ac-hd.dts

@@ -100,7 +100,7 @@
 
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
-		cs-gpios = <&qcom_pinmux 20 0>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "mx25u25635f", "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-vr2600v.dts

@@ -179,7 +179,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-wg2600hp.dts

@@ -288,7 +288,7 @@ switch@10 {
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-wxr-2533dhp.dts

@@ -346,7 +346,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-ac400i.dts

@@ -161,7 +161,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-nbg6817.dts

@@ -180,7 +180,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-rt4230w-rev6.dts

@@ -117,7 +117,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "everspin,mr25h256";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8065-tr4400-v2.dts

@@ -109,7 +109,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "everspin,mr25h256";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8068-ap3935.dts

@@ -194,7 +194,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		flash@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8068-ecw5410.dts

@@ -178,7 +178,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		m25p80@0 {
 			compatible = "jedec,spi-nor";

+ 1 - 1
target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8068-ss-w2-ac2600.dts

@@ -149,7 +149,7 @@
 		pinctrl-0 = <&spi_pins>;
 		pinctrl-names = "default";
 
-		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+		cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_LOW>;
 
 		w25q128@0 {
 			compatible = "jedec,spi-nor";