Hi, I’m trying add SPI sensor driver on vim3 with aosp master branch & kernel 4.19.
I have trouble is when driver call gpio_to_irq() always failed & return value is ‘-6’
and checked the A311D Datasheet & drivers/staging/nanohub driver code, but still fail
Input Mux Location | Description |
---|---|
[76:61] | gpioA[15:0] |
How can I use the GPIOA_2 (or others ) as irq?
part of code & dts shown as below:
Could you give me some suggestion?
Thanks.
driver.c
...
/* Initialize INT pin. */
int gpio = of_get_named_gpio_flags(dev_node, "sensor,irq-gpio", 0, &flags);
gpio_request_one(gpio_int_pin, GPIOF_DIR_IN, "sensor_int_pin");
/* Retrieve the IRQ number. */
*irq_num = gpio_to_irq(gpio_int_pin); // return irq_num = -6
...
arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3-android.dts
&spicc1 {
pinctrl-names = "default";
pinctrl-0 = <&spicc1_pins>;
cs-gpios = <&gpio GPIOH_6 0>;
status = "okay";
sensor {
compatible = "demo,sensor";
reg = <0>;
spi-max-frequency = <10000000>;
sensor,reset-gpio = <&gpio GPIOA_1 0>;
sensor,irq-gpio = <&gpio GPIOA_2 0>; /* A2 */
interrupts = <63 IRQ_TYPE_EDGE_RISING>; /* A2 */
status = "okay";
};
};