Commit 2c917b55 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Conor Dooley
Browse files

riscv: dts: canaan: Disable I/O devices unless used



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 98d75b9e ("spi: dw: Drop default
number of CS setting").

Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Signed-off-by: default avatarConor Dooley <conor.dooley@microchip.com>
parent 9235784c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ key {
&fpioa {
	pinctrl-0 = <&jtag_pinctrl>;
	pinctrl-names = "default";
	status = "okay";

	jtag_pinctrl: jtag-pinmux {
		pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
@@ -122,6 +121,7 @@ &i2s0 {
	#sound-dai-cells = <1>;
	pinctrl-0 = <&i2s0_pinctrl>;
	pinctrl-names = "default";
	status = "okay";
};

&spi0 {
@@ -129,6 +129,7 @@ &spi0 {
	pinctrl-names = "default";
	num-cs = <1>;
	cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
	status = "okay";

	panel@0 {
		compatible = "canaan,kd233-tft", "ilitek,ili9341";
+16 −0
Original line number Diff line number Diff line
@@ -130,6 +130,7 @@ uarths0: serial@38000000 {
			reg = <0x38000000 0x1000>;
			interrupts = <33>;
			clocks = <&sysclk K210_CLK_CPU>;
			status = "disabled";
		};

		gpio0: gpio-controller@38001000 {
@@ -145,6 +146,7 @@ gpio0: gpio-controller@38001000 {
				     <62>, <63>, <64>, <65>;
			gpio-controller;
			ngpios = <32>;
			status = "disabled";
		};

		dmac0: dma-controller@50000000 {
@@ -180,6 +182,7 @@ gpio1: gpio@50200000 {
					 <&sysclk K210_CLK_GPIO>;
				clock-names = "bus", "db";
				resets = <&sysrst K210_RST_GPIO>;
				status = "disabled";

				gpio1_0: gpio-port@0 {
					#gpio-cells = <2>;
@@ -207,6 +210,7 @@ uart1: serial@50210000 {
				dsr-override;
				cts-override;
				ri-override;
				status = "disabled";
			};

			uart2: serial@50220000 {
@@ -223,6 +227,7 @@ uart2: serial@50220000 {
				dsr-override;
				cts-override;
				ri-override;
				status = "disabled";
			};

			uart3: serial@50230000 {
@@ -239,6 +244,7 @@ uart3: serial@50230000 {
				dsr-override;
				cts-override;
				ri-override;
				status = "disabled";
			};

			spi2: spi@50240000 {
@@ -252,6 +258,7 @@ spi2: spi@50240000 {
					 <&sysclk K210_CLK_APB0>;
				clock-names = "ssi_clk", "pclk";
				resets = <&sysrst K210_RST_SPI2>;
				status = "disabled";
			};

			i2s0: i2s@50250000 {
@@ -261,6 +268,7 @@ i2s0: i2s@50250000 {
				clocks = <&sysclk K210_CLK_I2S0>;
				clock-names = "i2sclk";
				resets = <&sysrst K210_RST_I2S0>;
				status = "disabled";
			};

			i2s1: i2s@50260000 {
@@ -270,6 +278,7 @@ i2s1: i2s@50260000 {
				clocks = <&sysclk K210_CLK_I2S1>;
				clock-names = "i2sclk";
				resets = <&sysrst K210_RST_I2S1>;
				status = "disabled";
			};

			i2s2: i2s@50270000 {
@@ -279,6 +288,7 @@ i2s2: i2s@50270000 {
				clocks = <&sysclk K210_CLK_I2S2>;
				clock-names = "i2sclk";
				resets = <&sysrst K210_RST_I2S2>;
				status = "disabled";
			};

			i2c0: i2c@50280000 {
@@ -289,6 +299,7 @@ i2c0: i2c@50280000 {
					 <&sysclk K210_CLK_APB0>;
				clock-names = "ref", "pclk";
				resets = <&sysrst K210_RST_I2C0>;
				status = "disabled";
			};

			i2c1: i2c@50290000 {
@@ -299,6 +310,7 @@ i2c1: i2c@50290000 {
					 <&sysclk K210_CLK_APB0>;
				clock-names = "ref", "pclk";
				resets = <&sysrst K210_RST_I2C1>;
				status = "disabled";
			};

			i2c2: i2c@502a0000 {
@@ -309,6 +321,7 @@ i2c2: i2c@502a0000 {
					 <&sysclk K210_CLK_APB0>;
				clock-names = "ref", "pclk";
				resets = <&sysrst K210_RST_I2C2>;
				status = "disabled";
			};

			fpioa: pinmux@502b0000 {
@@ -457,6 +470,7 @@ spi0: spi@52000000 {
				reset-names = "spi";
				num-cs = <4>;
				reg-io-width = <4>;
				status = "disabled";
			};

			spi1: spi@53000000 {
@@ -472,6 +486,7 @@ spi1: spi@53000000 {
				reset-names = "spi";
				num-cs = <4>;
				reg-io-width = <4>;
				status = "disabled";
			};

			spi3: spi@54000000 {
@@ -488,6 +503,7 @@ spi3: spi@54000000 {

				num-cs = <4>;
				reg-io-width = <4>;
				status = "disabled";
			};
		};
	};
+0 −1
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ chosen {
&fpioa {
	pinctrl-0 = <&jtag_pins>;
	pinctrl-names = "default";
	status = "okay";

	jtag_pins: jtag-pinmux {
		pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
+4 −1
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@ key-boot {
&fpioa {
	pinctrl-names = "default";
	pinctrl-0 = <&jtag_pinctrl>;
	status = "okay";

	jtag_pinctrl: jtag-pinmux {
		pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
@@ -160,6 +159,7 @@ &i2s0 {
	#sound-dai-cells = <1>;
	pinctrl-0 = <&i2s0_pinctrl>;
	pinctrl-names = "default";
	status = "okay";
};

&i2c1 {
@@ -174,6 +174,7 @@ &spi0 {
	pinctrl-names = "default";
	num-cs = <1>;
	cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
	status = "okay";

	panel@0 {
		compatible = "sitronix,st7789v";
@@ -203,6 +204,8 @@ mmc@0 {
};

&spi3 {
	status = "okay";

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
+2 −1
Original line number Diff line number Diff line
@@ -67,7 +67,6 @@ key-boot {
&fpioa {
	pinctrl-0 = <&jtag_pinctrl>;
	pinctrl-names = "default";
	status = "okay";

	jtag_pinctrl: jtag-pinmux {
		pinmux = <K210_FPIOA(0, K210_PCF_JTAG_TCLK)>,
@@ -163,6 +162,7 @@ &i2s0 {
	#sound-dai-cells = <1>;
	pinctrl-0 = <&i2s0_pinctrl>;
	pinctrl-names = "default";
	status = "okay";
};

&i2c1 {
@@ -177,6 +177,7 @@ &spi0 {
	pinctrl-names = "default";
	num-cs = <1>;
	cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
	status = "okay";

	panel@0 {
		compatible = "sitronix,st7789v";
Loading