庐山派的i2c为啥打开了,但是搜索不到

Viewed 98

重现步骤

就是在加庐山派的3.1寸屏幕的触摸驱动的时候,不知道为什么,明明i2c那些都配置好了,但就是搜不到,很奇怪

期待结果和实际结果

软硬件版本信息

linux+rt-smart系统,版本为k230_canmv_lckfb_defconfig v1.9

错误日志

2f981940a81ce64e8c6539fb4e74707.png

尝试解决过程

补充材料

5b1a8113cbc77ec794840db6a08e4db.png

2 Answers

src/little/linux/arch/riscv/boot/dts/kendryte/k230_canmv_lckfb.dts 里面增加类似 如下代码试下
i2c3 = &i2c3;

aliases {
		serial3 = &uart3;
		mmc0 = &mmc_sd0;
		mmc1 = &mmc_sd1;
		i2c0 = &i2c4;
		i2c1 = &i2c3;
	};

i2c3的初始化是好了,但是还是没法解析scl-gpio这是为什么,i2c数据不能正常写

image.png
k230_canmv_lckfb.dts

/* Copyright (c) 2023, Canaan Bright Sight Co., Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/
#include "k230.dtsi"
#include "clock_provider.dtsi"          /* k230 soc clock tree */
#include "clock_consumer.dtsi"          /* k230 soc clock consumer */
#include "reset_provider.dtsi"          /* k230 soc reset provider */
#include "reset_consumer.dtsi"          /* k230 soc reset consumer */
#include "power_provider.dtsi"          /* k230 soc power provider */
#include "power_consumer.dtsi"          /* k230 soc power consumer */
#include "gpio_provider.dtsi"           /* k230 soc gpio provider */
#include "gpio_consumer.dtsi"           /* k230 soc gpio consumer */
#include "display_st7701_480*800.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>


/ {
	aliases {
		serial0 = &uart0;
		i2c3 = &i2c3;
	};

	chosen {
		bootargs = "";
		linux,initrd-start = <0x0 0xa100000>;
		linux,initrd-end = <0x0 0x0>;
		stdout-path = "serial0:115200";
	};

	sound {
		status                      = "disable";
		compatible                  = "canaan,k230-audio-inno";
		canaan,model                = "CANAAN_K230_I2S_INNO";
		canaan,k230-i2s-controller  = <&i2s>;
		canaan,k230-audio-codec     = <&inno_codec>;
	};
};
&ddr {
	reg = <0x0 0x8200000 0x0 0x7dff000>;  /*linux memory config*/
};

&usbotg0 {
	status = "okay";
};

&usbotg1 {
	dr_mode = "host";
	status = "okay";
};

&mmc_sd0{
    status = "okay";
    rx_delay_line = <0x0d>;
    tx_delay_line = <0xc0>;
};

&mmc_sd1{
    status = "okay";
    no-1-8-v;
    cap-sd-highspeed;
    mshc_ctrl_r = <0x00>;
};

/*&dsi {
    status = "okay";

    panel@0 {
        compatible = "canaan,hx8399";
        reg = <0>;

        display-timings {
            timing-0 {
                clock-frequency = <74250000>;
                hactive = <1920>;
                vactive = <1080>;
                hfront-porch = <88>;
                hback-porch = <148>;
                hsync-len = <44>;
                vfront-porch = <36>;
                vback-porch = <4>;
                vsync-len = <5>;
            };
        };
    };
};*/

&uart0 {
	status = "okay";
};

&pinctrl {
	jtag_pins: jtag-pins {
		jtag-tck-cfg {
			pinmux = <K230_PINMUX(2, 1)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			bias-pull-down;
			input-schmitt-enable;
		};

		jtag-tdi-cfg {
			pinmux = <K230_PINMUX(3, 1)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			bias-disable;
		};

		jtag-tdo-cfg {
			pinmux = <K230_PINMUX(4, 1)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			output-enable;
			bias-disable;
		};

		jtag-tms-cfg {
			pinmux = <K230_PINMUX(5, 1)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			bias-pull-up;
		};
	};

	uart2_pins: uart2-pins {
		uart2-pins-cfg {
			pinmux = <K230_PINMUX(5, 3)>, /* uart2 txd */
				 <K230_PINMUX(6, 3)>; /* uart2 rxd */
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-disable;
		};
	};

	pwm2_pins: pwm2-pins {
		pwm2-pin-cfg {
			pinmux = <K230_PINMUX(7, 1)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};
	};

	pwm3_pins: pwm3-pins {
		pwm3-pin-cfg {
			pinmux = <K230_PINMUX(8, 1)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};
	};

	pwm4_pins: pwm4-pins {
		pwm4-pin-cfg {
			pinmux = <K230_PINMUX(9, 1)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};
	};

	iis_pins: iis-pins {
		iis-clk-cfg {
			pinmux = <K230_PINMUX(32, 2)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			output-enable;
			bias-disable;
		};

		iis-ws-cfg {
			pinmux = <K230_PINMUX(33, 2)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			output-enable;
			bias-disable;
		};

		iis-din0-cfg {
			pinmux = <K230_PINMUX(34, 2)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			bias-disable;
		};

		iis-dout0-cfg {
			pinmux = <K230_PINMUX(35, 2)>;
			slew-rate = <0>;
			drive-strength = <4>;
			power-source = <K230_MSC_1V8>;
			output-enable;
			bias-disable;
		};
	};

	uart4_pins: uart4-pins {
		uart4-txd-cfg {
			pinmux = <K230_PINMUX(36, 4)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};

		uart4-rxd-cfg {
			pinmux = <K230_PINMUX(37, 4)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			bias-disable;
			input-schmitt-enable;
		};
	};

	uart0_pins: uart0-pins {
		uart0-txd-cfg {
			pinmux = <K230_PINMUX(38, 1)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};

		uart0-rxd-cfg {
			pinmux = <K230_PINMUX(39, 1)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			bias-disable;
			input-schmitt-enable;
		};
	};

	iic1_pins: iic1-pins {
		iic1-pins-cfg {
			pinmux = <K230_PINMUX(40, 2)>, /* iic1 scl */
				 <K230_PINMUX(41, 2)>; /* iic1 sda */
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-pull-up;
			input-schmitt-enable;
		};
	};

	iic3_pins: iic3-pins {
		iic3-pins-cfg {
			pinmux = <K230_PINMUX(44, 2)>, /* iic3 scl */
				 <K230_PINMUX(45, 2)>; /* iic3 sda */
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-pull-up;
			input-schmitt-enable;
		};
	};

	iic4_pins: iic4-pins {
		iic4-pins-cfg {
			pinmux = <K230_PINMUX(46, 3)>, /* iic4 scl */
				 <K230_PINMUX(47, 3)>; /* iic4 sda */
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-pull-up;
			input-schmitt-enable;
		};
	};

	iic0_pins: iic0-pins {
		iic0-pins-cfg {
			pinmux = <K230_PINMUX(48, 3)>, /* iic0 scl */
				 <K230_PINMUX(49, 3)>; /* iic0 sda */
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_1V8>;
			input-enable;
			output-enable;
			bias-pull-up;
			input-schmitt-enable;
		};
	};

	uart3_pins: uart3-pins {
		uart3-txd-cfg {
			pinmux = <K230_PINMUX(50, 1)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_3V3>;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};

		uart3-rxd-cfg {
			pinmux = <K230_PINMUX(51, 1)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_3V3>;
			input-enable;
			bias-disable;
			input-schmitt-enable;
		};
	};

	key_pins: key-pins {
		key-pins-cfg {
			pinmux = <K230_PINMUX(52, 0)>, /* key0 */
				 <K230_PINMUX(53, 0)>; /* key1 */
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_3V3>;
			input-enable;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};
	};

	mmc1_pins: mmc1-pins {
		mmc1-cmd-cfg {
			pinmux = <K230_PINMUX(54, 2)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_3V3>;
			input-enable;
			output-enable;
			bias-pull-up;
			input-schmitt-enable;
		};

		mmc1-clk-cfg {
			pinmux = <K230_PINMUX(55, 2)>;
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_3V3>;
			output-enable;
			bias-disable;
			input-schmitt-enable;
		};

		mmc1-data-cfg {
			pinmux = <K230_PINMUX(56, 2)>, /* mmc1 data0 */
				 <K230_PINMUX(57, 2)>, /* mmc1 data1 */
				 <K230_PINMUX(58, 2)>, /* mmc1 data2 */
				 <K230_PINMUX(59, 2)>; /* mmc1 data3 */
			slew-rate = <0>;
			drive-strength = <7>;
			power-source = <K230_MSC_3V3>;
			input-enable;
			output-enable;
			bias-pull-up;
			input-schmitt-enable;
		};
	};
};



&i2c3 {
    status = "okay";
    clock-frequency = <400000>;
	pinctrl-names = "default";
    pinctrl-0 = <&iic3_pins>; 

    cst128a: touchscreen@38{
        status = "okay";
        compatible = "hyn,cst128a";
        reg = <0x38>;
        interrupt-parent = <&port23>;
		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
        reset-gpios = <&port24 0 IRQ_TYPE_EDGE_FALLING>;
        irq-gpios = <&port23 0 GPIO_ACTIVE_LOW>;
    };
};


k230.dtsi

/* Copyright (c) 2023, Canaan Bright Sight Co., Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/
/dts-v1/;

#include <dt-bindings/interrupt-controller/irq.h>
#include "k230-pinctrl.h"

/ {
	model = "kendryte,k230";
	compatible = "kendryte,k230";
	#address-cells = <2>;
	#size-cells = <2>;

	ddr: memory@0 {
		device_type = "memory";
    };

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;
		timebase-frequency = <27000000>;
		cpu@0 {
			device_type = "cpu";
			reg = <0>;
			status = "okay";
			compatible = "riscv";
			riscv,isa = "rv64imafdcvxthead";
			mmu-type = "riscv,sv39";
			cpu0_intc: interrupt-controller {
				#interrupt-cells = <1>;
				compatible = "riscv,cpu-intc";
				interrupt-controller;
			};
		};

	};

	soc {
		#address-cells = <2>;
		#size-cells = <2>;
		compatible = "simple-bus";
		ranges;


		clint0: clint@f04000000 {
			compatible = "riscv,clint0";
			interrupts-extended = <
				&cpu0_intc  3 &cpu0_intc  7
				>;
			reg = <0xf 0x04000000 0x0 0x04000000>;
			clint,has-no-64bit-mmio;
		};

		intc: interrupt-controller@f00000000 {
			#interrupt-cells = <1>;
			compatible = "riscv,plic0";
			interrupt-controller;
			interrupts-extended = <
				&cpu0_intc  0xffffffff &cpu0_intc  9
				>;
			reg = <0xf 0x00000000 0x0 0x04000000>;
			reg-names = "control";
			riscv,max-priority = <7>;
			riscv,ndev = <200>;
		};

		dummy_apb: apb-clock {
			compatible = "fixed-clock";
			clock-frequency = <50000000>;
			clock-output-names = "dummy_apb";
			#clock-cells = <0>;
		};

		dummy_sd: apb-sdclock {
			compatible = "fixed-clock";
			clock-frequency = <100000000>;
			clock-output-names = "dummy_sd";
			#clock-cells = <0>;
		};

		pinctrl: pinctrl@91105000 {
			compatible = "canaan,k230-pinctrl";
			reg = <0x0 0x91105000 0x0 0x100>;
		};

		uart0: serial@91400000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x0 0x91400000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <16>;
			clock-frequency = <50000000>;
			clocks = <&dummy_apb>;
			clock-names = "baudclk";
			reg-shift = <2>;
			reg-io-width = <4>;
			current-speed = <115200>;
			status = "disabled";
		};

		uart1: serial@91401000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x0 0x91401000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <17>;
			clock-frequency = <50000000>;
			clocks = <&dummy_apb>;
			clock-names = "baudclk";
			reg-shift = <2>;
			reg-io-width = <4>;
			current-speed = <115200>;
			status = "disabled";
		};

		uart2: serial@91402000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x0 0x91402000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <18>;
			clock-frequency = <50000000>;
			clocks = <&dummy_apb>;
			clock-names = "baudclk";
			reg-shift = <2>;
			reg-io-width = <4>;
			current-speed = <115200>;
			status = "disabled";
		};

		uart3: serial@91403000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x0 0x91403000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <19>;
			clock-frequency = <50000000>;
			clocks = <&dummy_apb>;
			clock-names = "baudclk";
			reg-shift = <2>;
			reg-io-width = <4>;
			current-speed = <115200>;
			status = "disabled";
		};

		uart4: serial@91404000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x0 0x91404000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <20>;
			clock-frequency = <50000000>;
			clocks = <&dummy_apb>;
			clock-names = "baudclk";
			reg-shift = <2>;
			reg-io-width = <4>;
			current-speed = <115200>;
			status = "disabled";
		};

		mmc_sd0: sdhci0@91580000 {
			compatible = "kendryte,k230-dw-mshc";
			reg = <0x0 0x91580000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <142>;
			interrupt-names = "sdhci0irq";
			max-frequency = <200000000>;
			bus-width = <8>;
			sdhci,auto-cmd12;
			status = "disabled";
		};

		mmc_sd1: sdhci1@91581000 {
			compatible = "kendryte,k230-dw-mshc";
			reg = <0x0 0x91581000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <144>;
			interrupt-names = "sdhci1irq";
			clocks = <&dummy_sd>,<&dummy_sd>;
			clock-names = "core", "bus";
			max-frequency = <50000000>;
			bus-width = <4>;
			sdhci,auto-cmd12;
			status = "disabled";
		};

		spi0: spi@91584000 {
			compatible = "snps,dwc-ssi-1.01a";
			reg = <0x0 0x91584000 0x0 0x1000>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupt-parent = <&intc>;
			interrupts = <146>,<147>,<148>,<149>,<150>,<151>,<152>,<153>,<154>;
			rx-sample-delay-ns = <5>;
			num-cs = <1>;
			reg-io-width = <4>;
			status = "disabled";
		};

		spi1: spi@91582000 {
			compatible = "snps,dwc-ssi-1.01a";
			reg = <0x0 0x91582000 0x0 0x1000>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupt-parent = <&intc>;
			interrupts = <155>,<156>,<157>,<158>,<159>,<160>,<161>,<162>,<163>;
			num-cs = <1>;
			reg-io-width = <4>;
			status = "disabled";
		};

		spi2: spi@91583000 {
			compatible = "snps,dwc-ssi-1.01a";
			reg = <0x0 0x91583000 0x0 0x1000>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupt-parent = <&intc>;
			interrupts = <164>,<165>,<166>,<167>,<168>,<169>,<170>,<171>,<172>;
			num-cs = <1>;
			reg-io-width = <4>;
			status = "disabled";
		};

		ipcm: ipcm@91104000 {
			compatible = "canaan,ipcm-interrupt";
			reg = <0x0 0x91104000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts = <109>,<110>,<111>,<112>;
			clocks = <&dummy_apb>;
			status = "okay";
		};

		vpu: vpu@0x90400000 {
			status              = "okay";
			compatible          = "armChina,linlon-v5","armChina,linlon-v8";
			reg                 = <0x0 0x90400000 0x0 0x10000>;
			interrupt-parent    = <&intc>;
			interrupts          = <132>;
		};

		/* peri dma */
		pdma: pdma@80804000 {
			#dma-cells          = <4>;
			dma-channels        = <8>;
			dma-requests        = <35>;
			status              = "okay";
			compatible          = "canaan,k230-pdma";
			reg                 = <0x0  0x80804000 0x0 0x400>;
			interrupt-parent    = <&intc>;
			/*interrupts        = <139>,<196>,<197>,<198>,<199>,<200>,<201>,<202>;*/
			interrupts          = <203>;
			hardlock            = <9>;
		};

		i2s: i2s@0x9140f000 {
			status              = "okay";
			compatible          = "snps,designware-i2s";
			reg                 = <0x0 0x9140f000 0x0 0x400>;
			dmas                = <&pdma 1 0xfff 0 0x14>, <&pdma 1 0xfff 0 0x15>;
			dma-names           = "tx", "rx";
		};

		/* audio */
		audio: audio@0x9140f400 {
			status              = "okay";
			compatible          = "canaan,k230-audio";
			reg                 = <0x0 0x9140f400 0x0 0xc00>;
		};

		inno_codec:inno_codec@0x9140e000{
			status              = "okay";
			compatible          = "k230,inno-codec";
			reg                 = <0x0 0x9140e000 0x0 0x1000>;
		};

		pmu_thead: pmu_thead {
			interrupt-parent = <&cpu0_intc>;
			interrupts = <17>;
			compatible = "thead,c900_pmu";
		};


		pmu: pmu@91000000 {
			compatible = "kendryte, k230-pmu";
			reg = <0x0 0x91000000 0x0 0xb0>;
			interrupt-parent = <&intc>;
			interrupts = <175>;
			status = "disabled";
			/*
			int0 {
				force-powerdown-value = <320000>;
				power-event-value = <96000>;
				debounce-value = <256>;
				type = <IRQ_TYPE_EDGE_RISING>;
				wakeup;
				event;
			};
			int1 {
				debounce-value = <256>;
				edge-cnt-type = <IRQ_TYPE_EDGE_RISING>;
				edge-cnt-value = <1>;
				edge-cnt-wakeup;
				edge-cnt-event;
				type = <IRQ_TYPE_EDGE_RISING>;
				wakeup;
				event;
			};
			int2 {
				debounce-value = <256>;
				type = <IRQ_TYPE_EDGE_RISING>;
				wakeup;
				event;
			};
			int3 {
				debounce-value = <256>;
				type = <IRQ_TYPE_EDGE_RISING>;
				wakeup;
				event;
			};
			int4 {
				type = <IRQ_TYPE_EDGE_FALLING>;
				wakeup;
				event;
			};
			int5 {
				type = <IRQ_TYPE_EDGE_RISING>;
				wakeup;
				event;
			};
			rtc {
				alarm-wakeup;
				alarm-event;
				tick-wakeup;
				tick-event;
			};
			*/
		};

		gpu: gpu@90800000 {
			compatible = "verisilicon,gc8000ul";
			reg = <0x0 0x90800000 0x0 0x4000>;
			interrupt-parent = <&intc>;
			interrupts = <135>;
		};

		i2c0: i2c@91405000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "snps,designware-i2c";
			reg = <0x0 0x91405000 0x0 0x1000>;
			interrupt-parent    = <&intc>;
			interrupts          = <21>;
			clock-frequency = <100000>;
			status = "disabled";
		};

		i2c1: i2c@91406000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "snps,designware-i2c";
			reg = <0x0 0x91406000 0x0 0x1000>;
			interrupt-parent    = <&intc>;
			interrupts          = <22>;
			clock-frequency = <400000>;
			status = "disabled";
		};

		i2c2: i2c@91407000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "snps,designware-i2c";
			reg = <0x0 0x91407000 0x0 0x1000>;
			interrupt-parent    = <&intc>;
			interrupts          = <23>;
			clock-frequency = <400000>;
			status = "disabled";
		};

		i2c3: i2c@91408000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "snps,designware-i2c";
			reg = <0x0 0x91408000 0x0 0x1000>;
			interrupt-parent    = <&intc>;
			interrupts          = <24>;
			clock-frequency = <400000>;
			status = "disabled";
		};

		i2c4: i2c@91409000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "snps,designware-i2c";
			reg = <0x0 0x91409000 0x0 0x1000>;
			interrupt-parent    = <&intc>;
			interrupts          = <25>;
			clock-frequency = <400000>;
			status = "disabled";
		};

		usbotg0: usb-otg@91500000 {
			compatible = "kendryte,k230-otg";
			reg = <0x0 0x91500000 0x0 0x10000>;
			interrupt-parent = <&intc>;
			interrupts = <173>;
			g-rx-fifo-size = <512>;
			g-np-tx-fifo-size = <64>;
			g-tx-fifo-size = <512 1024 64 64 64 64>;
			dr_mode = "otg";
			otg-rev = <0x200>;
			status = "disabled";
		};

		usbotg1: usb-otg@91540000 {
			compatible = "kendryte,k230-otg";
			reg = <0x0 0x91540000 0x0 0x10000>;
			interrupt-parent = <&intc>;
			interrupts = <174>;
			g-rx-fifo-size = <512>;
			g-np-tx-fifo-size = <64>;
			g-tx-fifo-size = <512 1024 64 64 64 64>;
			dr_mode = "otg";
			otg-rev = <0x200>;
			status = "disabled";
		};

		sysctl: sysctl {
			status					= "okay";
			#address-cells 			= <2>;
			#size-cells 			= <2>;
			compatible 				= "simple-bus";
			ranges;

			sysctl_clock: sysctl_clock@91100000 {
				status              = "okay";
				compatible 			= "simple-bus";
				reg                 = <0x0 0x91100000 0x0 0x1000>;
			};
			sysctl_reset: sysctl_reset@91101000 {
				status              = "okay";
				compatible 			= "simple-bus";
				reg                 = <0x0 0x91101000 0x0 0x1000>;
			};
			sysctl_boot: sysctl_boot@91102000 {
				status              = "okay";
				compatible 			= "simple-bus";
				reg                 = <0x0 0x91102000 0x0 0x1000>;
			};
			sysctl_power: sysctl_power@91103000 {
				status              = "okay";
				compatible 			= "simple-bus";
				reg                 = <0x0 0x91103000 0x0 0x1000>;
			};
		};

		security: security {
			status              	= "okay";
			compatible          	= "simple-bus";
			#address-cells      	= <2>;
			#size-cells         	= <2>;
			ranges;

			aes: aes@91210200 {
				status				= "okay";
				compatible			= "canaan,k230-crypto";
				reg					= <0x0 0x91210200 0x0 0x0100>;
				hardlock			= <7>;
			};

			hash: hash@91210800 {
				status				= "okay";
				compatible			= "canaan,k230-hash";
				reg					= <0x0 0x91210800 0x0 0x0100>;
				hardlock			= <6>;
			};

			rsa: rsa@91211000 {
				status				= "okay";
				compatible 			= "canaan,k230-rsa";
				reg					= <0x0 0x91211000 0x0 0x1000>;
			};

			trng: trng@91213000 {
				status              = "okay";
				compatible          = "canaan,k230-rng";
				reg                 = <0x0 0x91213000 0x0 0x2AC>;
			};

			otp: otp@91213500 {
				status              = "okay";
				compatible          = "canaan,k230-otp";
				reg                 = <0x0 0x91213500 0x0 0x300>;
			};
		};

		tsensor: tsensor@91107000 {
			status					= "okay";
			compatible				= "canaan,k230-tsensor";
			reg						= <0x0 0x91107000 0x0 0x800>;
			hardlock				= <2>;
		};

		hardlock: canaan-hardlock@91104000 {
			compatible = "canaan,k230-hardlock";
			reg = <0x0 0x91104000 0x0 0x01000>;
		};

		adc: adc@9140d000 {
			compatible = "canaan,k230-adc";
			reg = <0x0 0x9140d000 0x0 0x1000>;
			#io-channel-cells = <1>;
		};

		pwm: pwm@9140a000 {
			compatible = "canaan,k230-pwm";
			reg = <0x0 0x9140a000 0x0 0x1000>;
			#pwm-cells = <2>;
		};

		watchdog0: wdt0@91106000 {
			compatible = "snps,dw-wdt";
			reg = <0x0 0x91106000 0x0 0x800>;
			interrupt-parent = <&intc>;
			interrupts = <107>;
		};

		timer0: timer0@91105800 {
			compatible = "canaan,k230-hwtimer";
			reg = <0x0 0x91105800 0x0 0x800>;
			index = <0>;
		};

		timer1: timer1@91105800 {
			compatible = "canaan,k230-hwtimer";
			reg = <0x0 0x91105800 0x0 0x800>;
			index = <1>;
		};

		timer2: timer2@91105800 {
			compatible = "canaan,k230-hwtimer";
			reg = <0x0 0x91105800 0x0 0x800>;
			index = <2>;
		};

		timer3: timer3@91105800 {
			compatible = "canaan,k230-hwtimer";
			reg = <0x0 0x91105800 0x0 0x800>;
			index = <3>;
		};

		timer4: timer4@91105800 {
			compatible = "canaan,k230-hwtimer";
			reg = <0x0 0x91105800 0x0 0x800>;
			index = <4>;
		};

		timer5: timer5@91105800 {
			compatible = "canaan,k230-hwtimer";
			reg = <0x0 0x91105800 0x0 0x800>;
			index = <5>;
		};

		display: display-subsystem {
			compatible = "canaan,display-subsystem";
			ports = <&vo_out>;
			status = "okay";
		};

		ws2812: ws2812@9140f000 {
			status              = "disabled";
			compatible          = "canaan,i2s-ws2812";
			reg                 = <0x0 0x9140F000 0x0 0x1000>;
			interrupt-parent = <&intc>;
			interrupts          = <96>;
		};

		vo: vo@90840000 {
			compatible = "canaan,k230-vo";
			reg = <0x0 0x90840000 0x0 0x10000 >;
			interrupt-parent = <&intc>;
			interrupts = <133>;
			status = "okay";

			vo_out: port {
				#address-cells = <1>;
				#size-cells = <0>;
			};
		};

		dsi: dsi@90850000 {
			compatible = "canaan,k230-mipi-dsi";
			reg = <0x0 0x90850000 0x0 0x1000>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "okay";

			panel@0 {
				compatible = "canaan,hx8399";
				reg = <0>;
				panel-width-mm = <68>;
				panel-height-mm = <120>;

				display-timings {
					timing-0 {
						clock-frequency = <74437200>;
						hactive = <1080>;
						vactive = <1920>;
						hfront-porch = <40>;
						hback-porch = <20>;
						hsync-len = <20>;
						vfront-porch = <206>;
						vback-porch = <8>;
						vsync-len = <5>;
					};
				};
			};
		};
		amp: amp {
			status              = "disabled";
			compatible          = "canaan,k230-amp";
		};
	};
};

/home/k230_sdk/src/little/linux/drivers/input/touchscreen/Kconfig
image.png
/home/k230_sdk/src/little/linux/drivers/input/touchscreen/Makefile
image.png
以上都是我触摸相关的配置,请问一下为什么会出现这种情况,为什么没法解析scl-gpios