diff mbox

i2c: at91: add of_device_id entry for at91rm9200

Message ID 1354743732-11581-1-git-send-email-manabian@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Joachim Eastwood Dec. 5, 2012, 9:42 p.m. UTC
Signed-off-by: Joachim Eastwood <manabian@gmail.com>
---
Hi,

AT91RM9200 is gaining DT support now so let's add an id to the i2c driver.

Tested on custom RM9200 board. Since the driver doesn't support pinctrl
muxing yet I had to add pinctrl hogs for the i2c pins in my dts for it
to work.

regards
Joachim Eastwood

 drivers/i2c/busses/i2c-at91.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jean-Christophe PLAGNIOL-VILLARD Dec. 18, 2012, 6:02 a.m. UTC | #1
On 22:42 Wed 05 Dec     , Joachim Eastwood wrote:
> Signed-off-by: Joachim Eastwood <manabian@gmail.com>
> ---
> Hi,
> 
> AT91RM9200 is gaining DT support now so let's add an id to the i2c driver.
> 
> Tested on custom RM9200 board. Since the driver doesn't support pinctrl
> muxing yet I had to add pinctrl hogs for the i2c pins in my dts for it
> to work.

IIRC the i2c IP have quite a lots of issue on rm9200 and until sam9g45

it not recommended to use it instead use i2c-gpio

Best Regards,
J.
> 
> regards
> Joachim Eastwood
> 
>  drivers/i2c/busses/i2c-at91.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
> index b4575ee..c504aa8 100644
> --- a/drivers/i2c/busses/i2c-at91.c
> +++ b/drivers/i2c/busses/i2c-at91.c
> @@ -584,6 +584,9 @@ static const struct platform_device_id at91_twi_devtypes[] = {
>  #if defined(CONFIG_OF)
>  static const struct of_device_id atmel_twi_dt_ids[] = {
>  	{
> +		.compatible = "atmel,at91rm9200-i2c",
> +		.data = &at91rm9200_config,
> +	} , {
>  		.compatible = "atmel,at91sam9260-i2c",
>  		.data = &at91sam9260_config,
>  	} , {
> -- 
> 1.8.0
>
Wolfram Sang Jan. 24, 2013, 7:27 a.m. UTC | #2
On Tue, Dec 18, 2012 at 07:02:32AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 22:42 Wed 05 Dec     , Joachim Eastwood wrote:
> > Signed-off-by: Joachim Eastwood <manabian@gmail.com>
> > ---
> > Hi,
> > 
> > AT91RM9200 is gaining DT support now so let's add an id to the i2c driver.
> > 
> > Tested on custom RM9200 board. Since the driver doesn't support pinctrl
> > muxing yet I had to add pinctrl hogs for the i2c pins in my dts for it
> > to work.
> 
> IIRC the i2c IP have quite a lots of issue on rm9200 and until sam9g45
> 
> it not recommended to use it instead use i2c-gpio

Ludovic, you know the driver best. Does it make sense to add this?

> 
> Best Regards,
> J.
> > 
> > regards
> > Joachim Eastwood
> > 
> >  drivers/i2c/busses/i2c-at91.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
> > index b4575ee..c504aa8 100644
> > --- a/drivers/i2c/busses/i2c-at91.c
> > +++ b/drivers/i2c/busses/i2c-at91.c
> > @@ -584,6 +584,9 @@ static const struct platform_device_id at91_twi_devtypes[] = {
> >  #if defined(CONFIG_OF)
> >  static const struct of_device_id atmel_twi_dt_ids[] = {
> >  	{
> > +		.compatible = "atmel,at91rm9200-i2c",
> > +		.data = &at91rm9200_config,
> > +	} , {
> >  		.compatible = "atmel,at91sam9260-i2c",
> >  		.data = &at91sam9260_config,
> >  	} , {
> > -- 
> > 1.8.0
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ludovic Desroches Jan. 24, 2013, 7:58 a.m. UTC | #3
Hi,

On 01/24/2013 08:27 AM, Wolfram Sang wrote:
> On Tue, Dec 18, 2012 at 07:02:32AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
>> On 22:42 Wed 05 Dec     , Joachim Eastwood wrote:
>>> Signed-off-by: Joachim Eastwood <manabian@gmail.com>
>>> ---
>>> Hi,
>>>
>>> AT91RM9200 is gaining DT support now so let's add an id to the i2c driver.
>>>
>>> Tested on custom RM9200 board. Since the driver doesn't support pinctrl
>>> muxing yet I had to add pinctrl hogs for the i2c pins in my dts for it
>>> to work.
>>
>> IIRC the i2c IP have quite a lots of issue on rm9200 and until sam9g45
>>
>> it not recommended to use it instead use i2c-gpio
>
> Ludovic, you know the driver best. Does it make sense to add this?

I didn't add this when I did the rework because there was no DT tree 
support for RM9200. The configuration for RM9200 IP is already in the 
driver and used for non DT platform so I think it makes sense to add this.

But as Jean-Christophe said, it's recommended to use the i2c-gpio driver 
since we know the first versions of the IP have several issues. However 
if it fits user usage, it is not forbidden to use it.

Regards

Ludovic

>
>>
>> Best Regards,
>> J.
>>>
>>> regards
>>> Joachim Eastwood
>>>
>>>   drivers/i2c/busses/i2c-at91.c | 3 +++
>>>   1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
>>> index b4575ee..c504aa8 100644
>>> --- a/drivers/i2c/busses/i2c-at91.c
>>> +++ b/drivers/i2c/busses/i2c-at91.c
>>> @@ -584,6 +584,9 @@ static const struct platform_device_id at91_twi_devtypes[] = {
>>>   #if defined(CONFIG_OF)
>>>   static const struct of_device_id atmel_twi_dt_ids[] = {
>>>   	{
>>> +		.compatible = "atmel,at91rm9200-i2c",
>>> +		.data = &at91rm9200_config,
>>> +	} , {
>>>   		.compatible = "atmel,at91sam9260-i2c",
>>>   		.data = &at91sam9260_config,
>>>   	} , {
>>> --
>>> 1.8.0
>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
Joachim Eastwood Jan. 24, 2013, 8:43 a.m. UTC | #4
On 24 January 2013 08:58, ludovic.desroches <ludovic.desroches@atmel.com> wrote:
> Hi,
>
>
> On 01/24/2013 08:27 AM, Wolfram Sang wrote:
>>
>> On Tue, Dec 18, 2012 at 07:02:32AM +0100, Jean-Christophe PLAGNIOL-VILLARD
>> wrote:
>>>
>>> On 22:42 Wed 05 Dec     , Joachim Eastwood wrote:
>>>>
>>>> Signed-off-by: Joachim Eastwood <manabian@gmail.com>
>>>> ---
>>>> Hi,
>>>>
>>>> AT91RM9200 is gaining DT support now so let's add an id to the i2c
>>>> driver.
>>>>
>>>> Tested on custom RM9200 board. Since the driver doesn't support pinctrl
>>>> muxing yet I had to add pinctrl hogs for the i2c pins in my dts for it
>>>> to work.
>>>
>>>
>>> IIRC the i2c IP have quite a lots of issue on rm9200 and until sam9g45
>>>
>>> it not recommended to use it instead use i2c-gpio
>>
>>
>> Ludovic, you know the driver best. Does it make sense to add this?
>
>
> I didn't add this when I did the rework because there was no DT tree support
> for RM9200. The configuration for RM9200 IP is already in the driver and
> used for non DT platform so I think it makes sense to add this.
>
> But as Jean-Christophe said, it's recommended to use the i2c-gpio driver
> since we know the first versions of the IP have several issues. However if
> it fits user usage, it is not forbidden to use it.

I assumed the new driver handles the HW quirks better than the old atmel-twi
driver(?). So the RM9200 i2c HW is at least usable with this driver.

I didn't encounter any problems during my short testing using a couple of
different i2c devices. As far as I can remember the old driver didn't even
handle the devices I tested with the new driver.

regards
Joachim Eastwood
Ludovic Desroches Jan. 24, 2013, 9:09 a.m. UTC | #5
On 01/24/2013 09:43 AM, Joachim Eastwood wrote:
> On 24 January 2013 08:58, ludovic.desroches <ludovic.desroches@atmel.com> wrote:
>> Hi,
>>
>>
>> On 01/24/2013 08:27 AM, Wolfram Sang wrote:
>>>
>>> On Tue, Dec 18, 2012 at 07:02:32AM +0100, Jean-Christophe PLAGNIOL-VILLARD
>>> wrote:
>>>>
>>>> On 22:42 Wed 05 Dec     , Joachim Eastwood wrote:
>>>>>
>>>>> Signed-off-by: Joachim Eastwood <manabian@gmail.com>
>>>>> ---
>>>>> Hi,
>>>>>
>>>>> AT91RM9200 is gaining DT support now so let's add an id to the i2c
>>>>> driver.
>>>>>
>>>>> Tested on custom RM9200 board. Since the driver doesn't support pinctrl
>>>>> muxing yet I had to add pinctrl hogs for the i2c pins in my dts for it
>>>>> to work.
>>>>
>>>>
>>>> IIRC the i2c IP have quite a lots of issue on rm9200 and until sam9g45
>>>>
>>>> it not recommended to use it instead use i2c-gpio
>>>
>>>
>>> Ludovic, you know the driver best. Does it make sense to add this?
>>
>>
>> I didn't add this when I did the rework because there was no DT tree support
>> for RM9200. The configuration for RM9200 IP is already in the driver and
>> used for non DT platform so I think it makes sense to add this.
>>
>> But as Jean-Christophe said, it's recommended to use the i2c-gpio driver
>> since we know the first versions of the IP have several issues. However if
>> it fits user usage, it is not forbidden to use it.
>
> I assumed the new driver handles the HW quirks better than the old atmel-twi
> driver(?). So the RM9200 i2c HW is at least usable with this driver.
>

No it doesn't handle HW quirks (clock stretching, stop command, etc.) 
better for old IP versions than the old atmel-twi. Since we have no 
workarounds for these quirks, it was recommended to use i2c-gpio.

> I didn't encounter any problems during my short testing using a couple of
> different i2c devices. As far as I can remember the old driver didn't even
> handle the devices I tested with the new driver.

I also did some tests on RM9200 with basic i2c devices and everything go 
well so yes it is usable that's why I think this patch can be applied.

Regards

Ludovic
Wolfram Sang Jan. 24, 2013, 10:13 a.m. UTC | #6
Hi,

> I didn't add this when I did the rework because there was no DT tree
> support for RM9200. The configuration for RM9200 IP is already in
> the driver and used for non DT platform so I think it makes sense to
> add this.

I agree. If it is usable for non-dt, it should be usable for dt. If it
makes sense is left to the user.

Interpreted Ludovic's comment as ack and applied to -next, thanks!
Ludovic Desroches Jan. 24, 2013, 10:44 a.m. UTC | #7
On 01/24/2013 11:13 AM, Wolfram Sang wrote:
> Hi,
>
>> I didn't add this when I did the rework because there was no DT tree
>> support for RM9200. The configuration for RM9200 IP is already in
>> the driver and used for non DT platform so I think it makes sense to
>> add this.
>
> I agree. If it is usable for non-dt, it should be usable for dt. If it
> makes sense is left to the user.
>
> Interpreted Ludovic's comment as ack and applied to -next, thanks!
>

Yes it is, thanks.

Regards

Ludovic
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index b4575ee..c504aa8 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -584,6 +584,9 @@  static const struct platform_device_id at91_twi_devtypes[] = {
 #if defined(CONFIG_OF)
 static const struct of_device_id atmel_twi_dt_ids[] = {
 	{
+		.compatible = "atmel,at91rm9200-i2c",
+		.data = &at91rm9200_config,
+	} , {
 		.compatible = "atmel,at91sam9260-i2c",
 		.data = &at91sam9260_config,
 	} , {