如果你的设备节点既不能转换为platform_device,它也不是I2C设备,不是SPI设备,那么在驱动程序中可以自行调用of_irq_get函数去解析设备树,得到中断号。 3.4. 对于GPIO 参考: drivers/input/keyboard/gpio_keys.c 可以使用gpio_to_irq或gpiod_to_irq获得中断号。 举例,假设在设备树中有如下节点: gpio-keys { compa...
可以使用gpio_to_irq或gpiod_to_irq获得中断号。 举例,假设在设备树中有如下节点: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 gpio-keys{compatible="gpio-keys";pinctrl-names="default";user{label="User Button";gpios=<&gpio51GPIO_ACTIVE_HIGH>;gpio-key,wakeup;linux,code=<KEY_1>;};}; ...
参考:drivers/input/keyboard/gpio_keys.c 可以使用gpio_to_irq或gpiod_to_irq获得中断号。 举例,假设在设备树中有如下节点: 那么可以使用下面的函数获得引脚和flag: button->gpio = of_get_gpio_flags(pp, 0, &flags); bdata->gpiod = gpio_to_desc(button->gpio); 再去使用gpiod_to_irq获得中断号:...
1. kernel/arch/arm/boot/dts/msm8226-cn3ii.dts 中有gpio_keys节点 gpio_keys { compatible = "gpio-keys" input-name = "gpio-keys" //表示输出event的名字 ... } kernel/drivers/input/keyboard/gpio_keys.c会解析 gpio-keys 的dts 增加sim card detection 的gpio key sim1 { ompatible = "gpio-...
以下是一个简单的DTS片段,展示了如何配置一个GPIO引脚: 代码语言:txt 复制 / { compatible = "my-board"; gpio-keys { compatible = "gpio-keys-polled"; button@0 { label = "Power Button"; gpios = <&gpiochip0 18 GPIO_ACTIVE_LOW>; debounce-interval = <20>; linux,code = <KEY_POWER>; ...
gpio_keys: gpio-keys { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&pwr_key_l>; power { label = "Power"; gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; linux,code = <KEY_POWER>; ...
1 gpio-keys { 2 compatible = "gpio-keys"; 3 pinctrl-names = "default"; 4 pinctrl-0 = <&pinctrl_gpio_keys>; 5 6 volume-up { 7 label = "Volume Up"; 8 gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; 9 linux,code = <KEY_VOLUMEUP>; ...
1. gpio-keys.dtsi: This is a device tree source file that defines GPIO button key inputs.2. i2c-gpio.dtsi: This is a device tree source file that defines I2C GPIO connections.3. spi-gpio.dtsi: This is a device tree source file that defines SPI GPIO connections.4. pwm-gpio.dtsi...
compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; autorepeat; switch@9 { label = "volume-up"; linux,code = <115>; gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; gpio-key,wakeup; }; switch@10 { label = "volume-down"; ...
1pinctrl_gpio_keys: gpio_keysgrp {2fsl,pins = <3MX6SX_PAD_CSI_DATA04__GPIO1_IO_180x170594MX6SX_PAD_CSI_DATA05__GPIO1_IO_190x170595>;6}; 2. 当在串口driver中需要使用到某个pin脚作为普通输出IO,该如何操作? 1sii902x_reset: sii902x-reset {2compatible ="gpio-reset";3reset-gpios ...