xzq-jozen 发表于 2021-8-2 17:03:12

配置管脚外部中断的问题

我想移植一个芯片的驱动。需要设置一个管脚(PD22)为外部中断,但是在下载的资料包里面没有芯片相关的寄存器资料,所以不知道对应的中断号是什么,如何配置。开发板为T507

zhichao 发表于 2021-8-2 17:46:29

您可以参考这个(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";
                        };
                };

xzq-jozen 发表于 2021-8-3 13:50:21

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相关的设备都找不到,请问要怎么解决?

zhichao 发表于 2021-8-3 14:24:26

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里的内容

xzq-jozen 发表于 2021-8-3 14:41:01

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相关的设备是什么导致的?还是配置有别的问题?

zhichao 发表于 2021-8-3 16:16:59

您在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>;
      };

xzq-jozen 发表于 2021-8-3 16:45:21

zhichao 发表于 2021-8-3 16:16
您在spi里应该注册类似spidev1_cs0的设备吧,您写的设备调的是什么驱动啊
这个是A40i上的例子,参考一下吧 ...

我这里是移植一个SPI扩展串口的芯片。匹配了compatible字符串也还是没有出现对应的TTY设备。而且我内核中开启了spidev,/dev中也没有spidev设备

zhichao 发表于 2021-8-3 16:50:28

您改错设备树了吧,不是改的我说的设备树吧

xzq-jozen 发表于 2021-8-3 17:01:33

zhichao 发表于 2021-8-3 16:50
您改错设备树了吧,不是改的我说的设备树吧

我改的是board.dts里面的。我改OKT507-C-Common.dtsi的再试试。应该是有导入OKT507-C-Common.dtsi的。所以我觉得应该是没有什么区别的。
页: [1]
查看完整版本: 配置管脚外部中断的问题