All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory CLEMENT <gregory.clement@free-electrons.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Wolfram Sang" <wsa@the-dreams.de>,
	linux-i2c@vger.kernel.org, "Jason Cooper" <jason@lakedaemon.net>,
	"Sebastian Hesselbarth" <sebastian.hesselbarth@gmail.com>,
	"Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>,
	linux-arm-kernel@lists.infradead.org,
	"Antoine Tenart" <antoine.tenart@free-electrons.com>,
	"Miquèl Raynal" <miquel.raynal@free-electrons.com>,
	"Nadav Haklai" <nadavh@marvell.com>,
	"Shadi Ammouri" <shadi@marvell.com>,
	"Yehuda Yitschak" <yehuday@marvell.com>,
	"Omri Itach" <omrii@marvell.com>,
	"Hanna Hawa" <hannah@marvell.com>,
	"Igal Liberman" <igall@marvell.com>,
	"Marcin Wojtas" <mw@semihalf.com>
Subject: Re: [PATCH v2 2/2] i2c: mv64xxx: Fix clock resource by adding an optional bus clock
Date: Thu, 11 Jan 2018 09:16:11 +0100	[thread overview]
Message-ID: <87lgh47qus.fsf@free-electrons.com> (raw)
In-Reply-To: <20180110203243.GC11260@lunn.ch> (Andrew Lunn's message of "Wed, 10 Jan 2018 21:32:43 +0100")

Hi Andrew,
 
 On mer., janv. 10 2018, Andrew Lunn <andrew@lunn.ch> wrote:

> On Wed, Jan 10, 2018 at 06:07:43PM +0100, Gregory CLEMENT wrote:
>> On Armada 7K/8K we need to explicitly enable the bus clock. The bus clock
>> is optional because not all the SoCs need them but at least for Armada
>> 7K/8K it is actually mandatory.
>> 
>> The binding documentation is updating accordingly.
>> 
>> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>> ---
>>  .../devicetree/bindings/i2c/i2c-mv64xxx.txt          | 20 ++++++++++++++++++++
>>  drivers/i2c/busses/i2c-mv64xxx.c                     | 12 +++++++++++-
>>  2 files changed, 31 insertions(+), 1 deletion(-)
>> 
>> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> index 5c30026921ae..a835b724c738 100644
>> --- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> +++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> @@ -25,6 +25,15 @@ default frequency is 100kHz
>>                       whenever you're using the "allwinner,sun6i-a31-i2c"
>>                       compatible.
>>  
>> + - clocks:	   : pointers to the reference clocks for this device, the first
>> +		     one is the one used for the clock on the i2c bus, the second
>> +		     one is the clock used for the functional part of the
>> +		     controller
>> +
>> + - clock-names	   : names of used clocks, mandatory if the second clock is
>> +		   : used, the name must be "core", and "axi_clk" (the latter is
>> +		     only for Armada 7K/8K).
>
> Hi Gregory
>
> Are these two clocks related?
>
> Ethernet on Dove needs two clocks enabled. 
>
> static const struct clk_gating_soc_desc dove_gating_desc[] __initconst = {
>        { "usb0", NULL, 0, 0 },
>        { "usb1", NULL, 1, 0 },
>        { "ge",	 "gephy", 2, 0 },
>        { "sata", NULL, 3, 0 },
>
> ge has a parent clock gephy. When you enable ge, the common clock code
> walks up the tree of clocks, so will also turn on gephy.
>
> Does this child/parent relationship exist with these i2c clocks?

The child/parent relationship was the wrong assumption we made when we
wrote the clock driver for Armada 7K/8K. But now with more
documentation, it turned out that these 2 clocks are independant but
both are needed for i2c on Armada 7K/8K.

Gregory


>
>      Andrew

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

WARNING: multiple messages have this Message-ID (diff)
From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] i2c: mv64xxx: Fix clock resource by adding an optional bus clock
Date: Thu, 11 Jan 2018 09:16:11 +0100	[thread overview]
Message-ID: <87lgh47qus.fsf@free-electrons.com> (raw)
In-Reply-To: <20180110203243.GC11260@lunn.ch> (Andrew Lunn's message of "Wed, 10 Jan 2018 21:32:43 +0100")

Hi Andrew,
 
 On mer., janv. 10 2018, Andrew Lunn <andrew@lunn.ch> wrote:

> On Wed, Jan 10, 2018 at 06:07:43PM +0100, Gregory CLEMENT wrote:
>> On Armada 7K/8K we need to explicitly enable the bus clock. The bus clock
>> is optional because not all the SoCs need them but at least for Armada
>> 7K/8K it is actually mandatory.
>> 
>> The binding documentation is updating accordingly.
>> 
>> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>> ---
>>  .../devicetree/bindings/i2c/i2c-mv64xxx.txt          | 20 ++++++++++++++++++++
>>  drivers/i2c/busses/i2c-mv64xxx.c                     | 12 +++++++++++-
>>  2 files changed, 31 insertions(+), 1 deletion(-)
>> 
>> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> index 5c30026921ae..a835b724c738 100644
>> --- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> +++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
>> @@ -25,6 +25,15 @@ default frequency is 100kHz
>>                       whenever you're using the "allwinner,sun6i-a31-i2c"
>>                       compatible.
>>  
>> + - clocks:	   : pointers to the reference clocks for this device, the first
>> +		     one is the one used for the clock on the i2c bus, the second
>> +		     one is the clock used for the functional part of the
>> +		     controller
>> +
>> + - clock-names	   : names of used clocks, mandatory if the second clock is
>> +		   : used, the name must be "core", and "axi_clk" (the latter is
>> +		     only for Armada 7K/8K).
>
> Hi Gregory
>
> Are these two clocks related?
>
> Ethernet on Dove needs two clocks enabled. 
>
> static const struct clk_gating_soc_desc dove_gating_desc[] __initconst = {
>        { "usb0", NULL, 0, 0 },
>        { "usb1", NULL, 1, 0 },
>        { "ge",	 "gephy", 2, 0 },
>        { "sata", NULL, 3, 0 },
>
> ge has a parent clock gephy. When you enable ge, the common clock code
> walks up the tree of clocks, so will also turn on gephy.
>
> Does this child/parent relationship exist with these i2c clocks?

The child/parent relationship was the wrong assumption we made when we
wrote the clock driver for Armada 7K/8K. But now with more
documentation, it turned out that these 2 clocks are independant but
both are needed for i2c on Armada 7K/8K.

Gregory


>
>      Andrew

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2018-01-11  8:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-10 17:07 [PATCH v2 0/2] i2c: mv64xxx: Fix clock resource for Armada 7K/8K Gregory CLEMENT
2018-01-10 17:07 ` Gregory CLEMENT
2018-01-10 17:07 ` [PATCH v2 1/2] i2c: mv64xxx: Remove useless test before clk_disable_unprepare Gregory CLEMENT
2018-01-10 17:07   ` Gregory CLEMENT
2018-01-10 17:07 ` [PATCH v2 2/2] i2c: mv64xxx: Fix clock resource by adding an optional bus clock Gregory CLEMENT
2018-01-10 17:07   ` Gregory CLEMENT
2018-01-10 17:14   ` Thomas Petazzoni
2018-01-10 17:14     ` Thomas Petazzoni
2018-01-10 20:32   ` Andrew Lunn
2018-01-10 20:32     ` Andrew Lunn
2018-01-11  8:16     ` Gregory CLEMENT [this message]
2018-01-11  8:16       ` Gregory CLEMENT

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=87lgh47qus.fsf@free-electrons.com \
    --to=gregory.clement@free-electrons.com \
    --cc=andrew@lunn.ch \
    --cc=antoine.tenart@free-electrons.com \
    --cc=hannah@marvell.com \
    --cc=igall@marvell.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=miquel.raynal@free-electrons.com \
    --cc=mw@semihalf.com \
    --cc=nadavh@marvell.com \
    --cc=omrii@marvell.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=shadi@marvell.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=wsa@the-dreams.de \
    --cc=yehuday@marvell.com \
    /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.