From: Sekhar Nori <nsekhar@ti.com>
To: Mugunthan V N <mugunthanvnm@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>,
Daniel Mack <zonque@gmail.com>, <netdev@vger.kernel.org>,
<bcousson@baylibre.com>, <sergei.shtylyov@cogentembedded.com>,
<davem@davemloft.net>, <ujhelyi.m@gmail.com>,
<vaibhav.bedia@ti.com>, <d-gerlach@ti.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-omap@vger.kernel.org>, <devicetree@vger.kernel.org>,
Grant Likely <grant.likely@linaro.org>,
Rob Herring <rob.herring@calxeda.com>
Subject: Re: [PATCH v4 3/5] net: ethernet: cpsw: introduce ti,am3352-cpsw compatible string
Date: Mon, 26 Aug 2013 12:15:24 +0530 [thread overview]
Message-ID: <521AF984.7090405@ti.com> (raw)
In-Reply-To: <521AEECF.8060606@ti.com>
On Monday 26 August 2013 11:29 AM, Mugunthan V N wrote:
> On Saturday 24 August 2013 01:24 AM, Santosh Shilimkar wrote:
>> On Friday 23 August 2013 02:29 PM, Mugunthan V N wrote:
>>> On Friday 23 August 2013 11:40 PM, Santosh Shilimkar wrote:
>>>> On Friday 23 August 2013 01:39 PM, Sekhar Nori wrote:
>>>>> On 8/23/2013 10:58 PM, Santosh Shilimkar wrote:
>>>>>> On Friday 23 August 2013 01:24 PM, Daniel Mack wrote:
>>>>>>> On 23.08.2013 19:19, Santosh Shilimkar wrote:
>>>>>>>> On Friday 23 August 2013 01:09 PM, Sekhar Nori wrote:
>>>>>>>>> On 8/23/2013 10:26 PM, Santosh Shilimkar wrote:
>>>>>>>>>> So just stick the IP version or call it cpsw-v1... cpsw-v2 etc.
>>>>>>>>> If this could be handled using IP version then the right way would be to
>>>>>>>>> just read the IP version from hardware and use it. No need of DT property.
>>>>>>>>>
>>>>>>>> Thats fine as well but I thought the patch needed additional properties like
>>>>>>>> CM reg-address come from DT and hence the separate compatible. If you can
>>>>>>>> manage without that, thats even better.
>>>>>>> We can't, that's the whole point :)
>>>>>>>
>>>>>> I saw that from the patch :)
>>>>>>
>>>>>>> Well, theoretically, we could for now, but that's not a clean solution.
>>>>>>> Again: the problem here is that the control port is separated from the
>>>>>>> cpsw core, and so we have to implement something specific for the AM3352
>>>>>>> SoC. I know that's a violation of clean and generic driver ideas, but
>>>>>>> there's no way we can assume that every cpsw v2 ip block has a control
>>>>>>> port that is compatible to the one found on am335x chips.
>>>>>>>
>>>>>> But there is a possibility that other SOC will just use the same
>>>>>> control module approach. So using a revision IP is just fine. BTW,
>>>>> But this is misleading because it makes appear like the same compatible
>>>>> can be used on on another SoC like DRA7 which probably has the same
>>>>> version of IP but a different control module implementation, when in
>>>>> practice it cannot.
>>>>>
>>>>> The fact is we are doing something SoC specific in the driver and we
>>>>> cannot hide that behind IP versions. If really in practice there comes
>>>>> another SoC with the same control module definition then it can always
>>>>> use ti,am3352-cpsw compatible as well. The compatible name does not
>>>>> preclude its usage.
>>>>>
>>>> My point was the CPSW needs a feature which is implemented using
>>>> control module rather than within the IP itself. Its an implementation
>>>> detail. As such the additional feature makes sense for that IP. O.w
>>>> there was no need to do any monkeying with control module.
>>>>
>>>> E.g
>>>> MMC card detect is a basic functionality, implemented by various types
>>>> like control module, PMIC or MMC IP itself. As such the driver need
>>>> that support and all the implementation details needs to still handled
>>>> to make that part work.
>>>>
>>>>
>>> CPSW core as such understands only GMII/MII signals, there is an
>>> additional module which converts GMII/MII signals to RGMII/RMII signals
>>> respectively which is called as CPRGMII/CPRMII as specified in the
>>> AM335x TRM in Figure 14-1. Ethernet Switch Integration.
>>>
>>> So to control this sub-module, the control register is used and this has
>>> to be configured according to the EVM design like what mode of phy is
>>> connected. CPRGMII and CPRMII is no way related to CPSW core.
>>>
>> Ok then why are you polluting cpsw driver with that code which
>> not realted to CPSW as you said above. You are contradicting what
>> you said by supporting the SOC usage in the core CPSW driver.
> This patch series is not from me and because of the reason I mentioned
> about control module driver, so that cpsw driver can make use control
> module apis to select phy mode and control module driver takes care of
> SoC specific register offsets and definitions, but now it is not
> possible as it is not acceptable in mainline. So other way is to keep
> these in driver itself as it is done in this patch series with SoC
> compatibilities.
What is done in this patch is _not_ "SoC compatibilities". SoC
compatibility would be what was done in v1 of this patch ie, explicit
check for
of_machine_is_compatible("ti,am33xx")
"ti,am3352-cpsw" says "CPSW as implemented on AM3352". This is not the
same as checking if SoC is AM3352.
The example quoted on ePAPR spec for a compatible string is:
compatible = “fsl,mpc8641-uart”, “ns16550";
MPC8641 is freescale PowerPC based SoC[1]. This shows that it is not
unnatural to use SoC names in compatibles for IPs. That, or the ePAPR
specification needs to be updated to show the right example of how a
compatible could be defined. Until then I see no reason of changing what
is implemented in this patch.
In short, even if there was no control module handling in the driver,
using "ti,am3352-cpsw" would be just fine.
I have also CCed the DT maintainers for their opinion. They should have
been explicitly CCed anyway.
Thanks,
Sekhar
[1] http://www.freescale.com/files/32bit/doc/data_sheet/MPC8641DEC.pdf
next prev parent reply other threads:[~2013-08-26 6:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-23 14:16 [PATCH v4 0/5] cpsw: support for control module register Daniel Mack
2013-08-23 14:16 ` [PATCH v4 1/5] net: ethernet: cpsw: switch to devres allocations Daniel Mack
2013-08-23 18:10 ` Sergei Shtylyov
2013-08-23 18:34 ` Daniel Mack
2013-08-23 14:16 ` [PATCH v4 2/5] net: ethernet: cpsw: add optional third memory region for CONTROL module Daniel Mack
2013-08-23 14:59 ` Sergei Shtylyov
2013-08-23 16:21 ` Daniel Mack
2013-08-23 17:37 ` Sergei Shtylyov
2013-08-23 14:16 ` [PATCH v4 3/5] net: ethernet: cpsw: introduce ti,am3352-cpsw compatible string Daniel Mack
2013-08-23 14:23 ` Santosh Shilimkar
2013-08-23 15:22 ` Benoit Cousson
2013-08-23 15:54 ` Santosh Shilimkar
2013-08-23 16:30 ` Daniel Mack
2013-08-23 16:56 ` Santosh Shilimkar
2013-08-23 17:09 ` Sekhar Nori
2013-08-23 17:17 ` Daniel Mack
2013-08-23 17:19 ` Santosh Shilimkar
2013-08-23 17:24 ` Daniel Mack
2013-08-23 17:28 ` Santosh Shilimkar
2013-08-23 17:39 ` Sekhar Nori
2013-08-23 18:10 ` Santosh Shilimkar
2013-08-23 18:29 ` Mugunthan V N
2013-08-23 19:54 ` Santosh Shilimkar
2013-08-26 5:59 ` Mugunthan V N
2013-08-26 6:45 ` Sekhar Nori [this message]
2013-08-23 17:23 ` Mugunthan V N
2013-08-26 5:22 ` Gupta, Pekon
2013-08-23 16:31 ` Sekhar Nori
2013-08-23 16:45 ` Mugunthan V N
2013-08-23 17:05 ` Santosh Shilimkar
2013-08-23 14:16 ` [PATCH v4 4/5] net: ethernet: cpsw: add support for hardware interface mode config Daniel Mack
2013-08-23 16:50 ` Mugunthan V N
2013-08-23 14:16 ` [PATCH v4 5/5] ARM: dts: am33xx: adopt to cpsw changes Daniel Mack
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=521AF984.7090405@ti.com \
--to=nsekhar@ti.com \
--cc=bcousson@baylibre.com \
--cc=d-gerlach@ti.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=mugunthanvnm@ti.com \
--cc=netdev@vger.kernel.org \
--cc=rob.herring@calxeda.com \
--cc=santosh.shilimkar@ti.com \
--cc=sergei.shtylyov@cogentembedded.com \
--cc=ujhelyi.m@gmail.com \
--cc=vaibhav.bedia@ti.com \
--cc=zonque@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).