]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
riscv: dts: canaan: Disable I/O devices unless used
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 8 May 2024 10:20:58 +0000 (12:20 +0200)
committerConor Dooley <conor.dooley@microchip.com>
Tue, 28 May 2024 11:25:54 +0000 (12:25 +0100)
It is considered good practice to disable on-SoC devices providing
external I/O in the SoC-specific .dtsi, and enable them explicitly in
the board-specific DTS files when actually wired-up and used.

Hence:
  - Set the status of I/O devices in k210.dtsi to "disabled",
  - Override the status of used I/O devices in board-specific DTS files
    to "okay",
  - Drop unneeded status overrides in board DTS-specific files for the
    always-enabled pin controller.

On e.g. MAiXBiT, this gets rid of an error message when probing the
unused slave-only spi2 controller:

    dw_spi_mmio 50240000.spi: error -22: problem registering spi host
    dw_spi_mmio 50240000.spi: probe with driver dw_spi_mmio failed with error -22

which is seen since commit 98d75b9ef282f6b9 ("spi: dw: Drop default
number of CS setting").

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
arch/riscv/boot/dts/canaan/canaan_kd233.dts
arch/riscv/boot/dts/canaan/k210.dtsi
arch/riscv/boot/dts/canaan/k210_generic.dts
arch/riscv/boot/dts/canaan/sipeed_maix_bit.dts
arch/riscv/boot/dts/canaan/sipeed_maix_dock.dts
arch/riscv/boot/dts/canaan/sipeed_maix_go.dts
arch/riscv/boot/dts/canaan/sipeed_maixduino.dts

index 8cbef8daaec1097b12ea92eee04d95dbd3fa260a..a7d753b6fdfd136670c28f89972cfe1ac068a0af 100644 (file)
@@ -50,7 +50,6 @@
 &fpioa {
        pinctrl-0 = <&jtag_pinctrl>;
        pinctrl-names = "default";
-       status = "okay";
 
        jtag_pinctrl: jtag-pinmux {
                pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
        #sound-dai-cells = <1>;
        pinctrl-0 = <&i2s0_pinctrl>;
        pinctrl-names = "default";
+       status = "okay";
 };
 
 &spi0 {
        pinctrl-names = "default";
        num-cs = <1>;
        cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
+       status = "okay";
 
        panel@0 {
                compatible = "canaan,kd233-tft", "ilitek,ili9341";
index febdff79c13cc5fca52014c6f038e53a5a8d941d..4f5d40fa1e77c6246aedc7bda8e51143b2d06409 100644 (file)
                        reg = <0x38000000 0x1000>;
                        interrupts = <33>;
                        clocks = <&sysclk K210_CLK_CPU>;
+                       status = "disabled";
                };
 
                gpio0: gpio-controller@38001000 {
                                     <62>, <63>, <64>, <65>;
                        gpio-controller;
                        ngpios = <32>;
+                       status = "disabled";
                };
 
                dmac0: dma-controller@50000000 {
                                         <&sysclk K210_CLK_GPIO>;
                                clock-names = "bus", "db";
                                resets = <&sysrst K210_RST_GPIO>;
+                               status = "disabled";
 
                                gpio1_0: gpio-port@0 {
                                        #gpio-cells = <2>;
                                dsr-override;
                                cts-override;
                                ri-override;
+                               status = "disabled";
                        };
 
                        uart2: serial@50220000 {
                                dsr-override;
                                cts-override;
                                ri-override;
+                               status = "disabled";
                        };
 
                        uart3: serial@50230000 {
                                dsr-override;
                                cts-override;
                                ri-override;
+                               status = "disabled";
                        };
 
                        spi2: spi@50240000 {
                                         <&sysclk K210_CLK_APB0>;
                                clock-names = "ssi_clk", "pclk";
                                resets = <&sysrst K210_RST_SPI2>;
+                               status = "disabled";
                        };
 
                        i2s0: i2s@50250000 {
                                clocks = <&sysclk K210_CLK_I2S0>;
                                clock-names = "i2sclk";
                                resets = <&sysrst K210_RST_I2S0>;
+                               status = "disabled";
                        };
 
                        i2s1: i2s@50260000 {
                                clocks = <&sysclk K210_CLK_I2S1>;
                                clock-names = "i2sclk";
                                resets = <&sysrst K210_RST_I2S1>;
+                               status = "disabled";
                        };
 
                        i2s2: i2s@50270000 {
                                clocks = <&sysclk K210_CLK_I2S2>;
                                clock-names = "i2sclk";
                                resets = <&sysrst K210_RST_I2S2>;
+                               status = "disabled";
                        };
 
                        i2c0: i2c@50280000 {
                                         <&sysclk K210_CLK_APB0>;
                                clock-names = "ref", "pclk";
                                resets = <&sysrst K210_RST_I2C0>;
+                               status = "disabled";
                        };
 
                        i2c1: i2c@50290000 {
                                         <&sysclk K210_CLK_APB0>;
                                clock-names = "ref", "pclk";
                                resets = <&sysrst K210_RST_I2C1>;
+                               status = "disabled";
                        };
 
                        i2c2: i2c@502a0000 {
                                         <&sysclk K210_CLK_APB0>;
                                clock-names = "ref", "pclk";
                                resets = <&sysrst K210_RST_I2C2>;
+                               status = "disabled";
                        };
 
                        fpioa: pinmux@502b0000 {
                                reset-names = "spi";
                                num-cs = <4>;
                                reg-io-width = <4>;
+                               status = "disabled";
                        };
 
                        spi1: spi@53000000 {
                                reset-names = "spi";
                                num-cs = <4>;
                                reg-io-width = <4>;
+                               status = "disabled";
                        };
 
                        spi3: spi@54000000 {
 
                                num-cs = <4>;
                                reg-io-width = <4>;
+                               status = "disabled";
                        };
                };
        };
index 36b4ba9cc556bc3f29764c268d813f1efc89869f..5734cc03753b1a061004af8320c8b212e22eddcb 100644 (file)
@@ -28,7 +28,6 @@
 &fpioa {
        pinctrl-0 = <&jtag_pins>;
        pinctrl-names = "default";
-       status = "okay";
 
        jtag_pins: jtag-pinmux {
                pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
index e5a77672fc65bc47333c8c0bf8c428edf83eeba1..2ab376d609d2592d19300c26b1dc8bc8a7f1e404 100644 (file)
@@ -62,7 +62,6 @@
 &fpioa {
        pinctrl-names = "default";
        pinctrl-0 = <&jtag_pinctrl>;
-       status = "okay";
 
        jtag_pinctrl: jtag-pinmux {
                pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
        #sound-dai-cells = <1>;
        pinctrl-0 = <&i2s0_pinctrl>;
        pinctrl-names = "default";
+       status = "okay";
 };
 
 &i2c1 {
        pinctrl-names = "default";
        num-cs = <1>;
        cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
+       status = "okay";
 
        panel@0 {
                compatible = "sitronix,st7789v";
 };
 
 &spi3 {
+       status = "okay";
+
        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
index 04c2bf227b1c69adb5985846f3adde76dd955ec9..d98e20775c0736393a0c771e0e650a0e486a05cb 100644 (file)
@@ -67,7 +67,6 @@
 &fpioa {
        pinctrl-0 = <&jtag_pinctrl>;
        pinctrl-names = "default";
-       status = "okay";
 
        jtag_pinctrl: jtag-pinmux {
                pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
        #sound-dai-cells = <1>;
        pinctrl-0 = <&i2s0_pinctrl>;
        pinctrl-names = "default";
+       status = "okay";
 };
 
 &i2c1 {
        pinctrl-names = "default";
        num-cs = <1>;
        cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
+       status = "okay";
 
        panel@0 {
                compatible = "sitronix,st7789v";
index f9f6cc136bc3d98a97a548be6e29af79e0a93f53..79ecd549700a006e0f014f0e11ff34abfddd5489 100644 (file)
@@ -73,7 +73,6 @@
 &fpioa {
        pinctrl-0 = <&jtag_pinctrl>;
        pinctrl-names = "default";
-       status = "okay";
 
        jtag_pinctrl: jtag-pinmux {
                pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
        #sound-dai-cells = <1>;
        pinctrl-0 = <&i2s0_pinctrl>;
        pinctrl-names = "default";
+       status = "okay";
 };
 
 &i2c1 {
        pinctrl-names = "default";
        num-cs = <1>;
        cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
+       status = "okay";
 
        panel@0 {
                compatible = "sitronix,st7789v";
 };
 
 &spi3 {
+       status = "okay";
+
        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
index e90188bfb70bd8a42aefd2f70d8a2fdcf95d79c7..019c03ae51f6c485af82041c27f4e53a3ecea346 100644 (file)
@@ -43,8 +43,6 @@
 };
 
 &fpioa {
-       status = "okay";
-
        uarths_pinctrl: uarths-pinmux {
                pinmux = <K210_FPIOA(4, K210_PCF_UARTHS_RX)>, /* Header "0" */
                         <K210_FPIOA(5, K210_PCF_UARTHS_TX)>; /* Header "1" */
        #sound-dai-cells = <1>;
        pinctrl-0 = <&i2s0_pinctrl>;
        pinctrl-names = "default";
+       status = "okay";
 };
 
 &i2c1 {
        pinctrl-names = "default";
        num-cs = <1>;
        cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
+       status = "okay";
 
        panel@0 {
                compatible = "sitronix,st7789v";
 };
 
 &spi3 {
+       status = "okay";
+
        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;