dts: question about how to configure PIO used as i2c irq
Hi All,
When moving atmel qt1070 linux driver with DT support. The atmel
qt1070 is an I2C device. I meet the following questions.
The qt1070 DT node
--<--------------
qt1070: keyboard@1b {
compatible = "atmel,qt1070";
reg = <0x1b>;
interrupt-parent = <&pioA>;
interrupts = <7 0x0>;
};
-->-------------- DT will parse this node and map irq, the i2c_client->irq. This can be
used directly in atmel qt1070 driver. However, the PIO which used as irq need configure as a PIO input. Now, we can not use irq_to_gpio() function to convert irq to gpio. So, if we can not configure this gpio.
If we configure the pio in board-dt.c, I think this is not a good
place. For example, if the kernel image support multiplatform, while on these platform, using different pio for qt1070, so this will cause only one platform can use qt1070.
So, for this question, how should I solve it? Would you please give
me some advice?
Quoted 20 lines · Bo Shen
Hi All,
When moving atmel qt1070 linux driver with DT support. The atmel
qt1070 is an I2C device. I meet the following questions.The qt1070 DT node --<-------------- qt1070: keyboard at 1b { compatible = "atmel,qt1070"; reg = <0x1b>; interrupt-parent = <&pioA>; interrupts = <7 0x0>; }; -->--------------DT will parse this node and map irq, the
i2c_client->irq. This can
be used directly in atmel qt1070 driver. However, the PIO which used as irq need configure as a PIO input. Now, we can not useirq_to_gpio()function to convert irq to gpio. So, if we can not configure this gpio.
Quoted 7 lines
If we configure the pio in
board-dt.c, I think this is not a good
place. For example, if the kernel image support multiplatform, while on these platform, using different pio for qt1070, so this will cause only one platform can use qt1070.So, for this question, how should I solve it? Would you please
give me some advice?
I already reply you in private 4 times
you have only 2 choice pass the gpio and manage in c
or configure the gpio as input in the xlate or map of the gpio drivers and the mux via pinctrl
Best Regards,
J.
On 10/15/2012 07:57 AM, Jean-Christophe PLAGNIOL-VILLARD :
Quoted 21 lines · Bo Shen
Quoted 20 lines
Hi All,
When moving atmel qt1070 linux driver with DT support. The atmel
qt1070 is an I2C device. I meet the following questions.The qt1070 DT node --<-------------- qt1070: keyboard at 1b { compatible = "atmel,qt1070"; reg = <0x1b>; interrupt-parent = <&pioA>; interrupts = <7 0x0>; }; -->--------------DT will parse this node and map irq, the
i2c_client->irq. This can
be used directly in atmel qt1070 driver. However, the PIO which used as irq need configure as a PIO input. Now, we can not useirq_to_gpio()function to convert irq to gpio. So, if we can not configure this gpio.
Quoted 8 lines
Quoted 7 lines
If we configure the pio in
board-dt.c, I think this is not a good
place. For example, if the kernel image support multiplatform, while on these platform, using different pio for qt1070, so this will cause only one platform can use qt1070.So, for this question, how should I solve it? Would you please
give me some advice?I already reply you in private 4 times
Yes, but maybe it is because it was not well explained, or not developed to the proper extend... So, please do not make these remarks: if the conversation was private, it is not necessary to recall that here. Maybe Voice is looking for help from someone else?
Quoted 3 lines
you have only 2 choice pass the gpio and manage in c
or configure the gpio as input in the xlate or map of the gpio drivers and the mux via pinctrl
Can you please develop a bit more: which xlate? How to tell the gpio driver about the map? Can you provide an example?
Bye,
Signature · 1 line
Nicolas Ferre
Hi J,
Quoted 36 lines · Nicolas Ferre
On 10/15/2012 07:57 AM, Jean-Christophe PLAGNIOL-VILLARD :
Quoted 21 lines · Bo Shen
Quoted 20 lines
Hi All,
When moving atmel qt1070 linux driver with DT support. The atmel
qt1070 is an I2C device. I meet the following questions.The qt1070 DT node --<-------------- qt1070: keyboard at 1b { compatible = "atmel,qt1070"; reg = <0x1b>; interrupt-parent = <&pioA>; interrupts = <7 0x0>; }; -->--------------DT will parse this node and map irq, the
i2c_client->irq. This can
be used directly in atmel qt1070 driver. However, the PIO which used as irq need configure as a PIO input. Now, we can not useirq_to_gpio()function to convert irq to gpio. So, if we can not configure this gpio.Quoted 8 lines
Quoted 7 lines
If we configure the pio in
board-dt.c, I think this is not a good
place. For example, if the kernel image support multiplatform, while on these platform, using different pio for qt1070, so this will cause only one platform can use qt1070.So, for this question, how should I solve it? Would you please
give me some advice?I already reply you in private 4 times
Yes, but maybe it is because it was not well explained, or not developed to the proper extend... So, please do not make these remarks: if the conversation was private, it is not necessary to recall that here. Maybe Voice is looking for help from someone else?
Quoted 6 lines
Quoted 3 lines
you have only 2 choice pass the gpio and manage in c
or configure the gpio as input in the xlate or map of the gpio drivers and the mux via pinctrlCan you please develop a bit more: which xlate? How to tell the gpio driver about the map? Can you provide an example?
Any information for this? Search with google, I don't find any useful information.
Quoted 2 lines
Bye,