From: Maxime Coquelin <maxime.coquelin@st.com>
To: Srinivas KANDAGATLA <srinivas.kandagatla@st.com>,
Lucas Stach <l.stach@pengutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Russell King <linux@arm.linux.org.uk>,
Pawel Moll <pawel.moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Lee Jones <lee.jones@linaro.org>,
Wolfram Sang <wsa@the-dreams.de>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Rob Herring <rob.herring@calxeda.com>,
Stephen GALLIMORE <stephen.gallimore@st.com>,
Stuart MENEFY <stuart.menefy@st.com>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
Rob Landley <rob@landley.net>,
Stephen Warren <swarren@wwwdotorg.org>,
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>,
Gabriel FERNANDEZ <gabriel.fernandez@st.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Grant Likely <grant.likely@linaro.org>
Subject: Re: [PATCH v5 1/4] i2c: busses: i2c-st: Add ST I2C controller
Date: Mon, 28 Oct 2013 16:02:36 +0100 [thread overview]
Message-ID: <526E7C8C.8080603@st.com> (raw)
In-Reply-To: <5260EFDC.804@st.com>
On 10/18/2013 10:22 AM, Srinivas KANDAGATLA wrote:
> On 17/10/13 15:49, Lucas Stach wrote:
>> Am Donnerstag, den 17.10.2013, 15:30 +0100 schrieb srinivas kandagatla:
>> [...]
>>> Sorry to ask this but, Where is this requirement coming from?
>>> I have not spotted any thing as such in ePAPR specs.
>>>
>>>
>>> All the spec says is.
>>> ===
>>> The compatible property value consists of one or more strings that
>>> define the specific programming model for the device. This list of
>>> strings should be used by a client program for device driver selection.
>>> The property value consists of a concatenated list of null terminated
>>> strings, *from most specific to most general.* They allow a device to
>>> express its compatibility with a family of similar devices, potentially
>>> allowing a single device driver to match against several devices.
>>> The recommended format is “manufacturer,model”, where manufacturer is a
>>> string describing the name of the manufacturer (such as an OUI), and
>>> model specifies the model number.
>>>
>>> Example:
>>> compatible = “fsl,mpc8641-uart”, “ns16550";
>>> In this example, an operating system would first try to locate a device
>>> driver that supported fsl,mpc8641-uart. If a driver was not found, it
>>> would then try to locate a driver that supported the more general
>>> ns16550 device type.
>>> ===
>>>
>>> The more general compatible string in this case is "st,comms-ssc-i2c",
>>> rather than the first soc name.
>>> How can a first SOC name be more general?
>>>
>>> As this driver is not very specific to StiH415, it is generic driver for
>>> ST comms-ssc-i2c block.
>>>
>> You just can't know if someone in the future decides to subtly change
>> the register layout or make some other incompatible change to the
>> comms-ssc-i2c block.
>>
> This is not the case for comms-ssc-i2c block, This IP is kind of reused
> from past 10+ years(I think!!). Am not predicting the future here, but I
> am making a informed guess from past experience that this IP would not
> change in future.
Having discussed with HW design team in charge of this IP,
I also bet that this IP won't change in the future.
>
> Am still not happy with the idea of using first SoC for the compatible
> for following reasons:
>
> 1> Generic IPs can be integrated into various vendor SoCs. For example
> synopsis IP can be integrated by ST parts and other non-ST parts. What
> would be the first SoC name in this case?
>
> 2> Looking at example like "arm,pl310-cache", "arm,l220-cache"... or any
> other generic ips, why are these IPs not encoding the first SoC name in
> there compatible string? I think the answer is generic IP.
>
> 3> IMHO, the idea of first SoC might solve the problem you described,
> but why would some one know about the first SoC when this was available.
> In this case this IP was available may be 10+ years back on an ST40
> platform. Having such old SoC names in compatible strings in the device
> trees for a modern chip looks bit confusing.
>
> 4> ST generic drivers which are in kernel still use st,<IP> name, so I
> would like this consistency across all the st drivers (at least the ones
> which are going to be used by mach-sti platforms).
>
> 5> ePAPR spec clearly says that compatible string should contain "most
> specific to most general" names. In this case using more generic name
> makes more sense than having a specific name because its generic IP.
> Allowing a single device driver to match against several devices.
>
> 6> IMHO, the compatible string should be "vendor,<IP-name>-<IP-version>"
> rather than first SoC.
I agree.
In this case, we add support to revision 4 of SSC IP.
Is "st,comms-ssc-v4" okay?
Thanks,
Maxime
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: maxime.coquelin@st.com (Maxime Coquelin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 1/4] i2c: busses: i2c-st: Add ST I2C controller
Date: Mon, 28 Oct 2013 16:02:36 +0100 [thread overview]
Message-ID: <526E7C8C.8080603@st.com> (raw)
In-Reply-To: <5260EFDC.804@st.com>
On 10/18/2013 10:22 AM, Srinivas KANDAGATLA wrote:
> On 17/10/13 15:49, Lucas Stach wrote:
>> Am Donnerstag, den 17.10.2013, 15:30 +0100 schrieb srinivas kandagatla:
>> [...]
>>> Sorry to ask this but, Where is this requirement coming from?
>>> I have not spotted any thing as such in ePAPR specs.
>>>
>>>
>>> All the spec says is.
>>> ===
>>> The compatible property value consists of one or more strings that
>>> define the specific programming model for the device. This list of
>>> strings should be used by a client program for device driver selection.
>>> The property value consists of a concatenated list of null terminated
>>> strings, *from most specific to most general.* They allow a device to
>>> express its compatibility with a family of similar devices, potentially
>>> allowing a single device driver to match against several devices.
>>> The recommended format is ?manufacturer,model?, where manufacturer is a
>>> string describing the name of the manufacturer (such as an OUI), and
>>> model specifies the model number.
>>>
>>> Example:
>>> compatible = ?fsl,mpc8641-uart?, ?ns16550";
>>> In this example, an operating system would first try to locate a device
>>> driver that supported fsl,mpc8641-uart. If a driver was not found, it
>>> would then try to locate a driver that supported the more general
>>> ns16550 device type.
>>> ===
>>>
>>> The more general compatible string in this case is "st,comms-ssc-i2c",
>>> rather than the first soc name.
>>> How can a first SOC name be more general?
>>>
>>> As this driver is not very specific to StiH415, it is generic driver for
>>> ST comms-ssc-i2c block.
>>>
>> You just can't know if someone in the future decides to subtly change
>> the register layout or make some other incompatible change to the
>> comms-ssc-i2c block.
>>
> This is not the case for comms-ssc-i2c block, This IP is kind of reused
> from past 10+ years(I think!!). Am not predicting the future here, but I
> am making a informed guess from past experience that this IP would not
> change in future.
Having discussed with HW design team in charge of this IP,
I also bet that this IP won't change in the future.
>
> Am still not happy with the idea of using first SoC for the compatible
> for following reasons:
>
> 1> Generic IPs can be integrated into various vendor SoCs. For example
> synopsis IP can be integrated by ST parts and other non-ST parts. What
> would be the first SoC name in this case?
>
> 2> Looking at example like "arm,pl310-cache", "arm,l220-cache"... or any
> other generic ips, why are these IPs not encoding the first SoC name in
> there compatible string? I think the answer is generic IP.
>
> 3> IMHO, the idea of first SoC might solve the problem you described,
> but why would some one know about the first SoC when this was available.
> In this case this IP was available may be 10+ years back on an ST40
> platform. Having such old SoC names in compatible strings in the device
> trees for a modern chip looks bit confusing.
>
> 4> ST generic drivers which are in kernel still use st,<IP> name, so I
> would like this consistency across all the st drivers (at least the ones
> which are going to be used by mach-sti platforms).
>
> 5> ePAPR spec clearly says that compatible string should contain "most
> specific to most general" names. In this case using more generic name
> makes more sense than having a specific name because its generic IP.
> Allowing a single device driver to match against several devices.
>
> 6> IMHO, the compatible string should be "vendor,<IP-name>-<IP-version>"
> rather than first SoC.
I agree.
In this case, we add support to revision 4 of SSC IP.
Is "st,comms-ssc-v4" okay?
Thanks,
Maxime
WARNING: multiple messages have this Message-ID (diff)
From: Maxime Coquelin <maxime.coquelin@st.com>
To: Srinivas KANDAGATLA <srinivas.kandagatla@st.com>,
Lucas Stach <l.stach@pengutronix.de>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>,
Mark Rutland <mark.rutland@arm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Russell King <linux@arm.linux.org.uk>,
Pawel Moll <pawel.moll@arm.com>, Wolfram Sang <wsa@the-dreams.de>,
Stephen Warren <swarren@wwwdotorg.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Rob Herring <rob.herring@calxeda.com>,
Stephen GALLIMORE <stephen.gallimore@st.com>,
Stuart MENEFY <stuart.menefy@st.com>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
Rob Landley <rob@landley.net>,
Grant Likely <grant.likely@linaro.org>,
Lee Jones <lee.jones@linaro.org>,
Gabriel FERNANDEZ <gabriel.fernandez@st.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v5 1/4] i2c: busses: i2c-st: Add ST I2C controller
Date: Mon, 28 Oct 2013 16:02:36 +0100 [thread overview]
Message-ID: <526E7C8C.8080603@st.com> (raw)
In-Reply-To: <5260EFDC.804@st.com>
On 10/18/2013 10:22 AM, Srinivas KANDAGATLA wrote:
> On 17/10/13 15:49, Lucas Stach wrote:
>> Am Donnerstag, den 17.10.2013, 15:30 +0100 schrieb srinivas kandagatla:
>> [...]
>>> Sorry to ask this but, Where is this requirement coming from?
>>> I have not spotted any thing as such in ePAPR specs.
>>>
>>>
>>> All the spec says is.
>>> ===
>>> The compatible property value consists of one or more strings that
>>> define the specific programming model for the device. This list of
>>> strings should be used by a client program for device driver selection.
>>> The property value consists of a concatenated list of null terminated
>>> strings, *from most specific to most general.* They allow a device to
>>> express its compatibility with a family of similar devices, potentially
>>> allowing a single device driver to match against several devices.
>>> The recommended format is “manufacturer,model”, where manufacturer is a
>>> string describing the name of the manufacturer (such as an OUI), and
>>> model specifies the model number.
>>>
>>> Example:
>>> compatible = “fsl,mpc8641-uart”, “ns16550";
>>> In this example, an operating system would first try to locate a device
>>> driver that supported fsl,mpc8641-uart. If a driver was not found, it
>>> would then try to locate a driver that supported the more general
>>> ns16550 device type.
>>> ===
>>>
>>> The more general compatible string in this case is "st,comms-ssc-i2c",
>>> rather than the first soc name.
>>> How can a first SOC name be more general?
>>>
>>> As this driver is not very specific to StiH415, it is generic driver for
>>> ST comms-ssc-i2c block.
>>>
>> You just can't know if someone in the future decides to subtly change
>> the register layout or make some other incompatible change to the
>> comms-ssc-i2c block.
>>
> This is not the case for comms-ssc-i2c block, This IP is kind of reused
> from past 10+ years(I think!!). Am not predicting the future here, but I
> am making a informed guess from past experience that this IP would not
> change in future.
Having discussed with HW design team in charge of this IP,
I also bet that this IP won't change in the future.
>
> Am still not happy with the idea of using first SoC for the compatible
> for following reasons:
>
> 1> Generic IPs can be integrated into various vendor SoCs. For example
> synopsis IP can be integrated by ST parts and other non-ST parts. What
> would be the first SoC name in this case?
>
> 2> Looking at example like "arm,pl310-cache", "arm,l220-cache"... or any
> other generic ips, why are these IPs not encoding the first SoC name in
> there compatible string? I think the answer is generic IP.
>
> 3> IMHO, the idea of first SoC might solve the problem you described,
> but why would some one know about the first SoC when this was available.
> In this case this IP was available may be 10+ years back on an ST40
> platform. Having such old SoC names in compatible strings in the device
> trees for a modern chip looks bit confusing.
>
> 4> ST generic drivers which are in kernel still use st,<IP> name, so I
> would like this consistency across all the st drivers (at least the ones
> which are going to be used by mach-sti platforms).
>
> 5> ePAPR spec clearly says that compatible string should contain "most
> specific to most general" names. In this case using more generic name
> makes more sense than having a specific name because its generic IP.
> Allowing a single device driver to match against several devices.
>
> 6> IMHO, the compatible string should be "vendor,<IP-name>-<IP-version>"
> rather than first SoC.
I agree.
In this case, we add support to revision 4 of SSC IP.
Is "st,comms-ssc-v4" okay?
Thanks,
Maxime
next prev parent reply other threads:[~2013-10-28 15:02 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-14 12:46 [PATCH v5 0/4] Add I2C support to ST SoCs Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-14 12:46 ` [PATCH v5 1/4] i2c: busses: i2c-st: Add ST I2C controller Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-16 15:14 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-16 15:14 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-16 15:14 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20131016151419.GA14104-HVbc7XotTAhnXn40ka+A6Q@public.gmane.org>
2013-10-17 7:27 ` Maxime COQUELIN
2013-10-17 7:27 ` Maxime COQUELIN
2013-10-17 7:27 ` Maxime COQUELIN
2013-10-17 9:33 ` srinivas kandagatla
2013-10-17 9:33 ` srinivas kandagatla
2013-10-17 9:33 ` srinivas kandagatla
[not found] ` <525FAEED.7030207-qxv4g6HH51o@public.gmane.org>
2013-10-17 14:19 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 14:19 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 14:19 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 14:30 ` srinivas kandagatla
2013-10-17 14:30 ` srinivas kandagatla
2013-10-17 14:30 ` srinivas kandagatla
[not found] ` <525FF498.3060202-qxv4g6HH51o@public.gmane.org>
2013-10-17 14:49 ` Lucas Stach
2013-10-17 14:49 ` Lucas Stach
2013-10-17 14:49 ` Lucas Stach
[not found] ` <1382021369.4093.44.camel-WzVe3FnzCwFR6QfukMTsflXZhhPuCNm+@public.gmane.org>
2013-10-18 8:22 ` srinivas kandagatla
2013-10-18 8:22 ` srinivas kandagatla
2013-10-18 8:22 ` srinivas kandagatla
2013-10-28 15:02 ` Maxime Coquelin [this message]
2013-10-28 15:02 ` Maxime Coquelin
2013-10-28 15:02 ` Maxime Coquelin
[not found] ` <526E7C8C.8080603-qxv4g6HH51o@public.gmane.org>
2013-11-01 12:50 ` srinivas kandagatla
2013-11-01 12:50 ` srinivas kandagatla
2013-11-01 12:50 ` srinivas kandagatla
2013-10-17 15:53 ` Lee Jones
2013-10-17 15:53 ` Lee Jones
2013-10-17 16:09 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 16:09 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 16:09 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 14:16 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 14:16 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 16:48 ` Maxime COQUELIN
2013-10-17 16:48 ` Maxime COQUELIN
2013-10-28 19:25 ` Kumar Gala
2013-10-28 19:25 ` Kumar Gala
2013-10-29 13:19 ` Maxime Coquelin
2013-10-29 13:19 ` Maxime Coquelin
[not found] ` <526FB5FF.2060908-qxv4g6HH51o@public.gmane.org>
2013-10-29 15:49 ` Kumar Gala
2013-10-29 15:49 ` Kumar Gala
2013-10-29 15:49 ` Kumar Gala
2013-11-01 11:16 ` Wolfram Sang
2013-11-01 11:16 ` Wolfram Sang
2013-11-04 14:28 ` Maxime Coquelin
2013-11-04 14:28 ` Maxime Coquelin
2013-11-04 14:28 ` Maxime Coquelin
[not found] ` <1381754813-4679-1-git-send-email-maxime.coquelin-qxv4g6HH51o@public.gmane.org>
2013-10-14 12:46 ` [PATCH v5 2/4] ARM: STi: Supply I2C configuration to STiH416 SoC Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-14 12:46 ` [PATCH v5 4/4] ARM: STi: Add I2C config to B2000 and B2020 boards Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-16 14:54 ` [PATCH v5 0/4] Add I2C support to ST SoCs Maxime COQUELIN
2013-10-16 14:54 ` Maxime COQUELIN
2013-10-16 14:54 ` Maxime COQUELIN
2013-10-14 12:46 ` [PATCH v5 3/4] ARM: STi: Supply I2C configuration to STiH415 SoC Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
2013-10-14 12:46 ` Maxime COQUELIN
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=526E7C8C.8080603@st.com \
--to=maxime.coquelin@st.com \
--cc=devicetree@vger.kernel.org \
--cc=gabriel.fernandez@st.com \
--cc=grant.likely@linaro.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=l.stach@pengutronix.de \
--cc=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=plagnioj@jcrosoft.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=srinivas.kandagatla@st.com \
--cc=stephen.gallimore@st.com \
--cc=stuart.menefy@st.com \
--cc=swarren@wwwdotorg.org \
--cc=wsa@the-dreams.de \
/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.