From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/4] phy: miphy365x: Add Device Tree bindings for the MiPHY365x
Date: Wed, 18 Jun 2014 15:20:09 +0530 [thread overview]
Message-ID: <53A160D1.8000908@ti.com> (raw)
In-Reply-To: <20140617112353.GB4139@lee--X1>
Hi,
On Tuesday 17 June 2014 04:53 PM, Lee Jones wrote:
>>> The MiPHY365x is a Generic PHY which can serve various SATA or PCIe
>>> devices. It has 2 ports which it can use for either; both SATA, both
>>> PCIe or one of each in any configuration.
>>
>> I've asked others who wrote multi-phy PHY providers to model each individual
>> PHY as sub-node of the PHY provider. So It's only fair I ask you the same to
>> do. So in this case the dt node should look something like:
>>
>> miphy365x_phy: miphy365x at fe382000 {
>> compatible = "st,miphy365x-phy";
>> #phy-cells = <2>;
>> st,syscfg = <&syscfg_rear>;
>> channel at 0 {
>> reg = <0xfe382000 0x100>, <0xfe394000 0x100>;
>> reg-names = "sata", "pcie";
>> }
>>
>> channel at 1{
>> reg = <0xfe38a000 0x100>, <0xfe804000 0x100>;
>> reg-names = "sata", "pcie";
>> }
>>
>> };
>
> I'm interested to know why you've taken this approach, as it makes the
> code much more complex. The DT framework goes to the trouble of
It looks to be much closer representation of the hardware in dt. It also
enables to have more control of each individual PHYs. For example, we can have
something like status="disabled" for channels which is disabled.
> converting all addresses to to resources so drivers can easily pull
> them out using platform_get_resource() and friends. Pushing the reg
right. Can't we use of_address_to_resource here?
> properties down into a child node means that we have to now iterate
> over the sub-nodes and pull them out manually. This will lead to a
You anyway iterate while creating PHYs based on some constant. Now you have to
iterate over the sub-nodes.
> pretty messy implementation IMHO.
>
> Can you point me in the direction of previous implementations where you
> have stipulated the same set of constraints please?
ah.. there isn't any. The author of the other multi-phy driver [1] also feels
this will just add to the complexity of the driver.
Maybe we should ask the opinion of others?
[1] -> http://www.spinics.net/lists/linux-sh/msg32087.html
>
WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Lee Jones <lee.jones@linaro.org>,
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
devicetree <devicetree@vger.kernel.org>
Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/4] phy: miphy365x: Add Device Tree bindings for the MiPHY365x
Date: Wed, 18 Jun 2014 15:20:09 +0530 [thread overview]
Message-ID: <53A160D1.8000908@ti.com> (raw)
In-Reply-To: <20140617112353.GB4139@lee--X1>
Hi,
On Tuesday 17 June 2014 04:53 PM, Lee Jones wrote:
>>> The MiPHY365x is a Generic PHY which can serve various SATA or PCIe
>>> devices. It has 2 ports which it can use for either; both SATA, both
>>> PCIe or one of each in any configuration.
>>
>> I've asked others who wrote multi-phy PHY providers to model each individual
>> PHY as sub-node of the PHY provider. So It's only fair I ask you the same to
>> do. So in this case the dt node should look something like:
>>
>> miphy365x_phy: miphy365x@fe382000 {
>> compatible = "st,miphy365x-phy";
>> #phy-cells = <2>;
>> st,syscfg = <&syscfg_rear>;
>> channel@0 {
>> reg = <0xfe382000 0x100>, <0xfe394000 0x100>;
>> reg-names = "sata", "pcie";
>> }
>>
>> channel@1{
>> reg = <0xfe38a000 0x100>, <0xfe804000 0x100>;
>> reg-names = "sata", "pcie";
>> }
>>
>> };
>
> I'm interested to know why you've taken this approach, as it makes the
> code much more complex. The DT framework goes to the trouble of
It looks to be much closer representation of the hardware in dt. It also
enables to have more control of each individual PHYs. For example, we can have
something like status="disabled" for channels which is disabled.
> converting all addresses to to resources so drivers can easily pull
> them out using platform_get_resource() and friends. Pushing the reg
right. Can't we use of_address_to_resource here?
> properties down into a child node means that we have to now iterate
> over the sub-nodes and pull them out manually. This will lead to a
You anyway iterate while creating PHYs based on some constant. Now you have to
iterate over the sub-nodes.
> pretty messy implementation IMHO.
>
> Can you point me in the direction of previous implementations where you
> have stipulated the same set of constraints please?
ah.. there isn't any. The author of the other multi-phy driver [1] also feels
this will just add to the complexity of the driver.
Maybe we should ask the opinion of others?
[1] -> http://www.spinics.net/lists/linux-sh/msg32087.html
>
WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Lee Jones <lee.jones@linaro.org>,
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
devicetree <devicetree@vger.kernel.org>
Cc: <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/4] phy: miphy365x: Add Device Tree bindings for the MiPHY365x
Date: Wed, 18 Jun 2014 15:20:09 +0530 [thread overview]
Message-ID: <53A160D1.8000908@ti.com> (raw)
In-Reply-To: <20140617112353.GB4139@lee--X1>
Hi,
On Tuesday 17 June 2014 04:53 PM, Lee Jones wrote:
>>> The MiPHY365x is a Generic PHY which can serve various SATA or PCIe
>>> devices. It has 2 ports which it can use for either; both SATA, both
>>> PCIe or one of each in any configuration.
>>
>> I've asked others who wrote multi-phy PHY providers to model each individual
>> PHY as sub-node of the PHY provider. So It's only fair I ask you the same to
>> do. So in this case the dt node should look something like:
>>
>> miphy365x_phy: miphy365x@fe382000 {
>> compatible = "st,miphy365x-phy";
>> #phy-cells = <2>;
>> st,syscfg = <&syscfg_rear>;
>> channel@0 {
>> reg = <0xfe382000 0x100>, <0xfe394000 0x100>;
>> reg-names = "sata", "pcie";
>> }
>>
>> channel@1{
>> reg = <0xfe38a000 0x100>, <0xfe804000 0x100>;
>> reg-names = "sata", "pcie";
>> }
>>
>> };
>
> I'm interested to know why you've taken this approach, as it makes the
> code much more complex. The DT framework goes to the trouble of
It looks to be much closer representation of the hardware in dt. It also
enables to have more control of each individual PHYs. For example, we can have
something like status="disabled" for channels which is disabled.
> converting all addresses to to resources so drivers can easily pull
> them out using platform_get_resource() and friends. Pushing the reg
right. Can't we use of_address_to_resource here?
> properties down into a child node means that we have to now iterate
> over the sub-nodes and pull them out manually. This will lead to a
You anyway iterate while creating PHYs based on some constant. Now you have to
iterate over the sub-nodes.
> pretty messy implementation IMHO.
>
> Can you point me in the direction of previous implementations where you
> have stipulated the same set of constraints please?
ah.. there isn't any. The author of the other multi-phy driver [1] also feels
this will just add to the complexity of the driver.
Maybe we should ask the opinion of others?
[1] -> http://www.spinics.net/lists/linux-sh/msg32087.html
>
next prev parent reply other threads:[~2014-06-18 9:50 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-22 13:53 [RESEND 0/4] phy: Introduce support for MiPHY365x Lee Jones
2014-05-22 13:53 ` Lee Jones
2014-05-22 13:53 ` [PATCH 1/4] phy: miphy365x: Add Device Tree bindings for the MiPHY365x Lee Jones
2014-05-22 13:53 ` Lee Jones
2014-06-10 11:00 ` Kishon Vijay Abraham I
2014-06-10 11:00 ` Kishon Vijay Abraham I
2014-06-17 11:23 ` Lee Jones
2014-06-17 11:23 ` Lee Jones
2014-06-18 9:50 ` Kishon Vijay Abraham I [this message]
2014-06-18 9:50 ` Kishon Vijay Abraham I
2014-06-18 9:50 ` Kishon Vijay Abraham I
2014-06-18 10:04 ` Lee Jones
2014-06-18 10:04 ` Lee Jones
2014-06-24 9:38 ` Arnd Bergmann
2014-06-24 9:38 ` Arnd Bergmann
2014-06-24 9:38 ` Arnd Bergmann
2014-06-24 12:46 ` Lee Jones
2014-06-24 12:46 ` Lee Jones
2014-06-24 14:08 ` Arnd Bergmann
2014-06-24 14:08 ` Arnd Bergmann
2014-06-24 14:08 ` Arnd Bergmann
2014-06-24 14:51 ` Lee Jones
2014-06-24 14:51 ` Lee Jones
2014-06-24 14:51 ` Lee Jones
2014-05-22 13:53 ` [PATCH 2/4] phy: miphy365x: Add MiPHY365x header file for DT x Driver defines Lee Jones
2014-05-22 13:53 ` Lee Jones
2014-06-25 20:53 ` Sergei Shtylyov
2014-06-25 20:53 ` Sergei Shtylyov
2014-05-22 13:53 ` [PATCH 3/4] ARM: DT: STi: Add DT node for MiPHY365x Lee Jones
2014-05-22 13:53 ` Lee Jones
2014-05-22 13:53 ` [PATCH 4/4] phy: miphy365x: Provide support for the MiPHY356x Generic PHY Lee Jones
2014-05-22 13:53 ` Lee Jones
2014-06-05 15:09 ` [RESEND 0/4] phy: Introduce support for MiPHY365x Lee Jones
2014-06-05 15:09 ` Lee Jones
-- strict thread matches above, loose matches on Subject: below --
2014-04-29 7:21 [PATCH " Lee Jones
2014-04-29 7:21 ` [PATCH 1/4] phy: miphy365x: Add Device Tree bindings for the MiPHY365x Lee Jones
2014-04-29 7:21 ` Lee Jones
2014-05-19 13:56 ` Lee Jones
2014-05-19 13:56 ` Lee Jones
2014-05-19 14:00 ` Kishon Vijay Abraham I
2014-05-19 14:00 ` Kishon Vijay Abraham I
2014-05-19 14:07 ` Lee Jones
2014-05-19 14:07 ` Lee Jones
2014-03-12 13:14 [PATCH 0/4] phy: Introduce support for MiPHY365x Lee Jones
2014-03-12 13:14 ` [PATCH 1/4] phy: miphy365x: Add Device Tree bindings for the MiPHY365x Lee Jones
2014-03-12 13:14 ` Lee Jones
2014-02-14 11:23 Lee Jones
2014-02-14 11:23 ` Lee Jones
2014-02-14 11:23 ` Lee Jones
2014-03-05 7:34 ` Mark Rutland
2014-03-05 7:34 ` Mark Rutland
2014-03-05 7:34 ` Mark Rutland
2014-03-05 8:40 ` Lee Jones
2014-03-05 8:40 ` Lee Jones
2014-03-05 8:40 ` Lee Jones
2014-03-05 9:12 ` Lee Jones
2014-03-05 9:12 ` Lee Jones
2014-03-05 9:12 ` Lee Jones
2014-02-12 16:03 Lee Jones
2014-02-12 16:03 ` Lee Jones
2014-02-12 16:40 ` Mark Rutland
2014-02-12 16:40 ` Mark Rutland
2014-02-12 16:40 ` Mark Rutland
2014-02-13 11:03 ` Lee Jones
2014-02-13 11:03 ` Lee Jones
2014-02-13 12:23 ` Mark Rutland
2014-02-13 12:23 ` Mark Rutland
2014-02-13 12:23 ` Mark Rutland
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=53A160D1.8000908@ti.com \
--to=kishon@ti.com \
--cc=linux-arm-kernel@lists.infradead.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.