配置管脚外部中断的问题
我想移植一个芯片的驱动。需要设置一个管脚(PD22)为外部中断,但是在下载的资料包里面没有芯片相关的寄存器资料,所以不知道对应的中断号是什么,如何配置。开发板为T507 您可以参考这个(kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi),您参考这个例子写中断twi4: twi@0x05003000{
clock-frequency = <200000>;
status = "okay";
gt911: gt911_ts@5d {
compatible = "goodix,gt911";
reg = <0x5D>;
goodix,irq-gpio = <&pio PE 13 6 0xffffffff 0xffffffff 0>;
goodix,rst-gpio = <&pio PE 14 1 0xffffffff 0xffffffff 1>;
goodix,panel-width = <1024>;
status = "okay";
};
gt928: gt928_ts@14 {
compatible = "goodix,gt928";
reg = <0x14>;
goodix,irq-gpio = <&pio PE 13 6 0xffffffff 0xffffffff 0>;
goodix,rst-gpio = <&pio PE 14 1 0xffffffff 0xffffffff 1>;
status = "disabled";
};
tsc2007: tsc2007@48 {
compatible = "ti,tsc2007";
reg = <0x48>;
interrupt-parent = <&pio>;
interrupts = <PE 12 IRQ_TYPE_LEVEL_LOW>;
gpios = <&pio PE 12 6 0xffffffff 0xffffffff 0>;
ti,x-plate-ohms = <180>;
status = "disabled";
};
}; zhichao 发表于 2021-8-2 17:46
您可以参考这个(kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi),您参考这个例子写 ...
你好,我想使用SPI1设备,在设备树上面将修改了,status也改为okay了,但是在运行的系统中找到不对应的SPI1设备。我新增的其他设备可以在/proc/devices-tree中找到,spi相关的设备都找不到,请问要怎么解决? kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi里边参考spi0添加spi1,状态是okay
名称复制kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi里的内容 zhichao 发表于 2021-8-3 14:24
kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi里边参考spi0添加spi1,状态是okay
名 ...
我在board.dts中的修改如下:
spi1: spi@05011000 {
pinctrl-0 = <&spi1_pins_a &spi1_pins_b>;
pinctrl-1 = <&spi1_pins_c>;
spi_slave_mode = <1>;
status = "okay";
spi_board1 {
device_type = "spi_board1";
compatible = "rohm,dh2228fv";
spi-max-frequency = <0x5f5e100>;
reg = <0x0>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
status = "okay";
};
spi_test{
compatible = "wkmic,wk2124spi_cs0";
reg = <0x0>;
spi-max-frequency = <10000000>;
irq_gpio = <&pio PD 22 6 0xffffffff 0xffffffff 0>;
status = "okay";
};
};
在/sys/bus/spi/drivers里面能找到新增的驱动,但是没有在/dev出现SPI相关的设备是什么导致的?还是配置有别的问题? 您在spi里应该注册类似spidev1_cs0的设备吧,您写的设备调的是什么驱动啊
这个是A40i上的例子,参考一下吧
spidev1_cs0:spi1_cs0@0{
#address-cells=<1>;
#size-cells=<1>;
compatible = "spidev";
spi-max-frequency = <33000000>;
reg = <0>;
mode=<0>;
};
zhichao 发表于 2021-8-3 16:16
您在spi里应该注册类似spidev1_cs0的设备吧,您写的设备调的是什么驱动啊
这个是A40i上的例子,参考一下吧 ...
我这里是移植一个SPI扩展串口的芯片。匹配了compatible字符串也还是没有出现对应的TTY设备。而且我内核中开启了spidev,/dev中也没有spidev设备 您改错设备树了吧,不是改的我说的设备树吧 zhichao 发表于 2021-8-3 16:50
您改错设备树了吧,不是改的我说的设备树吧
我改的是board.dts里面的。我改OKT507-C-Common.dtsi的再试试。应该是有导入OKT507-C-Common.dtsi的。所以我觉得应该是没有什么区别的。
页:
[1]