All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org>
To: "Mike Looijmans" <info-KQxf8TFvCoAi8rCdYzckzA@public.gmane.org>,
	"Uwe Kleine-König"
	<u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>,
	Kevin Hilman
	<khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>,
	Santosh Shilimkar
	<ssantosh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Murali Karicheri <m-karicheri2-l0cyMroinI0@public.gmane.org>,
	Ben Gardiner
	<bengardiner-ScDXFp4xN3PN+rMO2ozGnw@public.gmane.org>,
	Mike Looijmans
	<milo-software-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [5/5] i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery
Date: Mon, 24 Nov 2014 21:22:24 +0200	[thread overview]
Message-ID: <54738570.8070601@ti.com> (raw)
In-Reply-To: <54737532.1050808-KQxf8TFvCoAi8rCdYzckzA@public.gmane.org>

On 11/24/2014 08:13 PM, Mike Looijmans wrote:
> On 24-11-2014 14:15, Grygorii Strashko wrote:
>> Hi Uwe,
>> On 11/23/2014 07:04 PM, Uwe Kleine-König wrote:
>>> On Thu, Nov 20, 2014 at 12:03:08PM +0200, Grygorii Strashko wrote:
>>>> @@ -664,6 +759,7 @@ static int davinci_i2c_probe(struct 
>>>> platform_device *pdev)
>>>>            if (!of_property_read_u32(pdev->dev.of_node, 
>>>> "clock-frequency",
>>>>                &prop))
>>>>                dev->pdata->bus_freq = prop / 1000;
>>>> +        dev->pdata->has_pfunc = true;
>>> I don't understand this. Why does this ICPFUNC recovery work if the bus
>>> is probed by oftree, but doesn't if not?
>> I've mentioned this in commit message:
>>   Allow platforms to indicate the presence of the ICPFUNC registers 
>> with a has_pfunc
>>   platform data flag and enable this mode for platforms which supports 
>> DT (da850 and
>>   Keystone 2 are two SoCs which support DT now and they also support 
>> ICPFUNC registers).
>>
>> I'll add proper comment here.
> 
> Just thinking: What happens if you try to use the ICPFUNC registers on 
> platforms that don't support it? If the answer is "nothing bad", then 
> you might as well assume that if the platform doesn't specify its own 
> GPIOs, you can always try using the ICPFUNC registers to shake the I2C 
> bus. Better to try and fail than to never try at all...
> 

I think the right answer is !"nothing bad".

My intention was to enable this feature by default, because current DT-compatible
SoCs support it and the possibility that older SoCs will migrate to DT is low.
But now I think that the right way will be to add proper compatible strings
and use them to detect if ICPFUNC registers are supported or not.

[...]

regards,
-grygorii

WARNING: multiple messages have this Message-ID (diff)
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: "Mike Looijmans" <info@milosoftware.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: Wolfram Sang <wsa@the-dreams.de>, <linux-i2c@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, Sekhar Nori <nsekhar@ti.com>,
	Kevin Hilman <khilman@deeprootsystems.com>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Murali Karicheri <m-karicheri2@ti.com>,
	Ben Gardiner <bengardiner@nanometrics.ca>,
	Mike Looijmans <milo-software@users.sourceforge.net>
Subject: Re: [5/5] i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery
Date: Mon, 24 Nov 2014 21:22:24 +0200	[thread overview]
Message-ID: <54738570.8070601@ti.com> (raw)
In-Reply-To: <54737532.1050808@milosoftware.com>

On 11/24/2014 08:13 PM, Mike Looijmans wrote:
> On 24-11-2014 14:15, Grygorii Strashko wrote:
>> Hi Uwe,
>> On 11/23/2014 07:04 PM, Uwe Kleine-König wrote:
>>> On Thu, Nov 20, 2014 at 12:03:08PM +0200, Grygorii Strashko wrote:
>>>> @@ -664,6 +759,7 @@ static int davinci_i2c_probe(struct 
>>>> platform_device *pdev)
>>>>            if (!of_property_read_u32(pdev->dev.of_node, 
>>>> "clock-frequency",
>>>>                &prop))
>>>>                dev->pdata->bus_freq = prop / 1000;
>>>> +        dev->pdata->has_pfunc = true;
>>> I don't understand this. Why does this ICPFUNC recovery work if the bus
>>> is probed by oftree, but doesn't if not?
>> I've mentioned this in commit message:
>>   Allow platforms to indicate the presence of the ICPFUNC registers 
>> with a has_pfunc
>>   platform data flag and enable this mode for platforms which supports 
>> DT (da850 and
>>   Keystone 2 are two SoCs which support DT now and they also support 
>> ICPFUNC registers).
>>
>> I'll add proper comment here.
> 
> Just thinking: What happens if you try to use the ICPFUNC registers on 
> platforms that don't support it? If the answer is "nothing bad", then 
> you might as well assume that if the platform doesn't specify its own 
> GPIOs, you can always try using the ICPFUNC registers to shake the I2C 
> bus. Better to try and fail than to never try at all...
> 

I think the right answer is !"nothing bad".

My intention was to enable this feature by default, because current DT-compatible
SoCs support it and the possibility that older SoCs will migrate to DT is low.
But now I think that the right way will be to add proper compatible strings
and use them to detect if ICPFUNC registers are supported or not.

[...]

regards,
-grygorii

  parent reply	other threads:[~2014-11-24 19:22 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-20 10:03 [PATCH 0/5] i2c: davinci improvements and fixes Grygorii Strashko
2014-11-20 10:03 ` Grygorii Strashko
2014-11-20 10:03 ` [PATCH 1/5] i2c: i2c-davinci: switch to use platform_get_irq Grygorii Strashko
2014-11-20 10:03   ` Grygorii Strashko
2014-11-20 21:48   ` [1/5] " Uwe Kleine-König
     [not found]     ` <20141120214838.GA346-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-11-21 11:01       ` Grygorii Strashko
2014-11-21 11:01         ` Grygorii Strashko
     [not found]         ` <546F1B7D.1020209-l0cyMroinI0@public.gmane.org>
2014-11-21 14:03           ` Rob Herring
2014-11-21 14:03             ` Rob Herring
2014-11-21 14:59             ` Grygorii Strashko
     [not found] ` <1416477788-5544-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-11-20 10:03   ` [PATCH 2/5] i2c: davinci: query STP always when NACK is received Grygorii Strashko
2014-11-20 10:03     ` Grygorii Strashko
     [not found]     ` <1416477788-5544-3-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-11-20 22:19       ` [2/5] " Uwe Kleine-König
2014-11-20 22:19         ` Uwe Kleine-König
     [not found]         ` <20141120221953.GI27002-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-11-21 12:48           ` Grygorii Strashko
2014-11-21 12:48             ` Grygorii Strashko
     [not found]             ` <546F34B9.1000206-l0cyMroinI0@public.gmane.org>
2014-11-21 13:10               ` Uwe Kleine-König
2014-11-21 13:10                 ` Uwe Kleine-König
2014-11-21 15:33                 ` Grygorii Strashko
2014-11-21 15:33                   ` Grygorii Strashko
     [not found]                   ` <546F5B51.1030006-l0cyMroinI0@public.gmane.org>
2014-11-23 20:33                     ` Uwe Kleine-König
2014-11-23 20:33                       ` Uwe Kleine-König
     [not found]                       ` <20141123203314.GF4431-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-11-24 13:34                         ` Grygorii Strashko
2014-11-24 13:34                           ` Grygorii Strashko
     [not found]                           ` <547333EB.5050403-l0cyMroinI0@public.gmane.org>
2014-11-24 20:02                             ` Uwe Kleine-König
2014-11-24 20:02                               ` Uwe Kleine-König
2014-11-20 10:03 ` [PATCH 3/5] i2c: recovery: change input parameter to i2c_adapter for prepare/unprepare_recovery Grygorii Strashko
2014-11-20 10:03   ` Grygorii Strashko
     [not found]   ` <1416477788-5544-4-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-11-21 18:49     ` [3/5] " Uwe Kleine-König
2014-11-21 18:49       ` Uwe Kleine-König
2014-11-20 10:03 ` [PATCH 4/5] i2c: davinci: use bus recovery infrastructure Grygorii Strashko
2014-11-20 10:03   ` Grygorii Strashko
     [not found]   ` <1416477788-5544-5-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-11-21 19:07     ` [4/5] " Uwe Kleine-König
2014-11-21 19:07       ` Uwe Kleine-König
     [not found]       ` <20141121190744.GB4431-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-11-21 19:33         ` Grygorii Strashko
2014-11-21 19:33           ` Grygorii Strashko
     [not found]           ` <546F9382.40102-l0cyMroinI0@public.gmane.org>
2014-11-23 20:36             ` Uwe Kleine-König
2014-11-23 20:36               ` Uwe Kleine-König
2014-11-24 13:26               ` Grygorii Strashko
2014-11-24 13:26                 ` Grygorii Strashko
     [not found]                 ` <547331F2.3000006-l0cyMroinI0@public.gmane.org>
2014-11-24 20:07                   ` Uwe Kleine-König
2014-11-24 20:07                     ` Uwe Kleine-König
2014-11-20 10:03 ` [PATCH 5/5] i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery Grygorii Strashko
2014-11-20 10:03   ` Grygorii Strashko
     [not found]   ` <1416477788-5544-6-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-11-23 17:04     ` [5/5] " Uwe Kleine-König
2014-11-23 17:04       ` Uwe Kleine-König
     [not found]       ` <20141123170400.GC4431-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-11-24 13:15         ` Grygorii Strashko
2014-11-24 13:15           ` Grygorii Strashko
     [not found]           ` <54732F8E.4080105-l0cyMroinI0@public.gmane.org>
2014-11-24 18:13             ` Mike Looijmans
2014-11-24 18:13               ` Mike Looijmans
     [not found]               ` <54737532.1050808-KQxf8TFvCoAi8rCdYzckzA@public.gmane.org>
2014-11-24 19:22                 ` Grygorii Strashko [this message]
2014-11-24 19:22                   ` Grygorii Strashko
2014-11-24 19:45             ` Uwe Kleine-König
2014-11-24 19:45               ` Uwe Kleine-König
     [not found]               ` <20141124194533.GU4431-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-11-25 13:04                 ` Grygorii Strashko
2014-11-25 13:04                   ` Grygorii Strashko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54738570.8070601@ti.com \
    --to=grygorii.strashko-l0cymroini0@public.gmane.org \
    --cc=bengardiner-ScDXFp4xN3PN+rMO2ozGnw@public.gmane.org \
    --cc=info-KQxf8TFvCoAi8rCdYzckzA@public.gmane.org \
    --cc=khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=m-karicheri2-l0cyMroinI0@public.gmane.org \
    --cc=milo-software-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=nsekhar-l0cyMroinI0@public.gmane.org \
    --cc=ssantosh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.