Subject: dts: question about how to configure PIO used as i2c irq

From: [email-masked] (Nicolas Ferre)
Date: Mon, 15 Oct 2012 10:07:37 +0200

On 10/15/2012 07:57 AM, Jean-Christophe PLAGNIOL-VILLARD :
> On 10:53 Mon 15 Oct     , Bo Shen wrote:
>> 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 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?
> 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?

> 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,
-- 
Nicolas Ferre