From: Kevin Hilman <khilman@kernel.org>
To: Conor Dooley <conor@kernel.org>
Cc: Bhargav Raviprakash <bhargav.r@ltts.com>,
arnd@arndb.de, broonie@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, gregkh@linuxfoundation.org,
jpanis@baylibre.com, kristo@kernel.org,
krzysztof.kozlowski+dt@linaro.org, lee@kernel.org,
lgirdwood@gmail.com, linus.walleij@linaro.org,
linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org,
linux-kernel@vger.kernel.org, m.nirmaladevi@ltts.com, nm@ti.com,
robh+dt@kernel.org, vigneshr@ti.com
Subject: Re: [RESEND PATCH v1 03/13] dt-bindings: mfd: ti,tps6594: Add TI TPS65224 PMIC
Date: Wed, 14 Feb 2024 10:02:42 -0800 [thread overview]
Message-ID: <7hfrxu6i0t.fsf@baylibre.com> (raw)
In-Reply-To: <20240214-depraved-unfunded-3f0b3d6bf3e2@spud>
Conor Dooley <conor@kernel.org> writes:
> On Wed, Feb 14, 2024 at 09:26:13AM -0800, Kevin Hilman wrote:
>> Conor Dooley <conor@kernel.org> writes:
>> > On Wed, Feb 14, 2024 at 03:01:06PM +0530, Bhargav Raviprakash wrote:
>> >> On Fri 2/9/2024 10:41 PM, Conor Dooley wrote:
>> >> > On Thu, Feb 08, 2024 at 04:23:33PM +0530, Bhargav Raviprakash wrote:
>> >> > > TPS65224 is a Power Management IC with 4 Buck regulators and 3 LDO
>> >> > > regulators, it includes additional features like GPIOs, watchdog, ESMs
>> >> > > (Error Signal Monitor), and PFSM (Pre-configurable Finite State Machine)
>> >> > > managing the state of the device.
>> >> >
>> >> > > TPS6594 and TPS65224 have significant functional overlap.
>> >> >
>> >> > What does "significant functional overlap" mean? Does one implement a
>> >> > compatible subset of the other? I assume the answer is no, given there
>> >> > seems to be some core looking registers at different addresses.
>> >>
>> >> The intention behind “significant functional overlap” was meant to
>> >> indicate a lot of the features between TPS6594 and TPS65224 overlap,
>> >> while there are some features specific to TPS65224.
>> >> There is compatibility between the PMIC register maps, I2C, PFSM,
>> >> and other drivers even though there are some core registers at
>> >> different addresses.
>> >>
>> >> Would it be more appropriate to say the 2 devices are compatible and have
>> >> sufficient feature overlap rather than significant functional overlap?
>> >
>> > If core registers are at different addresses, then it is unlikely that
>> > these devices are compatible.
>>
>> That's not necessarily true. Hardware designers can sometimes be
>> creative. :)
>
> Hence "unlikely" in my mail :)
>
>> > In this context, compatible means that existing software intended for
>> > the 6594 would run without modification on the 65224, although maybe
>> > only supporting a subset of features. If that's not the case, then
>> > the devices are not compatible.
>>
>> Compatible is a fuzzy term... so we need to get into the gray area.
>>
>> What's going on here is that this new part is derivative in many
>> signifcant (but not all) ways from an existing similar part. When
>> writing drivers for new, derivative parts, there's always a choice
>> between 1) extending the existing driver (using a new compatible string
>> & match table for the diffs) or 2) creating a new driver which will have
>> a bunch of duplicated code.
>>
>> The first verion of this series[1] took the 2nd approach, but due to the
>> significant functional (and feature) overlap, the recommendation was
>> instead to take the "reuse" path to avoid signficant amounts of
>> duplicated code.
>>
>> Of course, it's possible that while going down the "reuse" path, there
>> may be a point where creating a separate driver for some aspects might
>> make sense, but that needs to be justified. Based on a quick glance of
>> what I see in this series so far (I have not done a detailed review),
>> the differences with the new device look to me like they can be handled
>> with chip-specific data in a match table.
>
> This is all nice information, but not really relevant here - this is a
> binding patch, not a driver one & the conversation stemmed from me
> making sure that a fallback compatible was not suitable.
hehe, oops. <blush>. my fault for mixing the two together
Sorry for the noise.
Kevin
WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@kernel.org>
To: Conor Dooley <conor@kernel.org>
Cc: Bhargav Raviprakash <bhargav.r@ltts.com>,
arnd@arndb.de, broonie@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, gregkh@linuxfoundation.org,
jpanis@baylibre.com, kristo@kernel.org,
krzysztof.kozlowski+dt@linaro.org, lee@kernel.org,
lgirdwood@gmail.com, linus.walleij@linaro.org,
linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org,
linux-kernel@vger.kernel.org, m.nirmaladevi@ltts.com, nm@ti.com,
robh+dt@kernel.org, vigneshr@ti.com
Subject: Re: [RESEND PATCH v1 03/13] dt-bindings: mfd: ti,tps6594: Add TI TPS65224 PMIC
Date: Wed, 14 Feb 2024 10:02:42 -0800 [thread overview]
Message-ID: <7hfrxu6i0t.fsf@baylibre.com> (raw)
In-Reply-To: <20240214-depraved-unfunded-3f0b3d6bf3e2@spud>
Conor Dooley <conor@kernel.org> writes:
> On Wed, Feb 14, 2024 at 09:26:13AM -0800, Kevin Hilman wrote:
>> Conor Dooley <conor@kernel.org> writes:
>> > On Wed, Feb 14, 2024 at 03:01:06PM +0530, Bhargav Raviprakash wrote:
>> >> On Fri 2/9/2024 10:41 PM, Conor Dooley wrote:
>> >> > On Thu, Feb 08, 2024 at 04:23:33PM +0530, Bhargav Raviprakash wrote:
>> >> > > TPS65224 is a Power Management IC with 4 Buck regulators and 3 LDO
>> >> > > regulators, it includes additional features like GPIOs, watchdog, ESMs
>> >> > > (Error Signal Monitor), and PFSM (Pre-configurable Finite State Machine)
>> >> > > managing the state of the device.
>> >> >
>> >> > > TPS6594 and TPS65224 have significant functional overlap.
>> >> >
>> >> > What does "significant functional overlap" mean? Does one implement a
>> >> > compatible subset of the other? I assume the answer is no, given there
>> >> > seems to be some core looking registers at different addresses.
>> >>
>> >> The intention behind “significant functional overlap” was meant to
>> >> indicate a lot of the features between TPS6594 and TPS65224 overlap,
>> >> while there are some features specific to TPS65224.
>> >> There is compatibility between the PMIC register maps, I2C, PFSM,
>> >> and other drivers even though there are some core registers at
>> >> different addresses.
>> >>
>> >> Would it be more appropriate to say the 2 devices are compatible and have
>> >> sufficient feature overlap rather than significant functional overlap?
>> >
>> > If core registers are at different addresses, then it is unlikely that
>> > these devices are compatible.
>>
>> That's not necessarily true. Hardware designers can sometimes be
>> creative. :)
>
> Hence "unlikely" in my mail :)
>
>> > In this context, compatible means that existing software intended for
>> > the 6594 would run without modification on the 65224, although maybe
>> > only supporting a subset of features. If that's not the case, then
>> > the devices are not compatible.
>>
>> Compatible is a fuzzy term... so we need to get into the gray area.
>>
>> What's going on here is that this new part is derivative in many
>> signifcant (but not all) ways from an existing similar part. When
>> writing drivers for new, derivative parts, there's always a choice
>> between 1) extending the existing driver (using a new compatible string
>> & match table for the diffs) or 2) creating a new driver which will have
>> a bunch of duplicated code.
>>
>> The first verion of this series[1] took the 2nd approach, but due to the
>> significant functional (and feature) overlap, the recommendation was
>> instead to take the "reuse" path to avoid signficant amounts of
>> duplicated code.
>>
>> Of course, it's possible that while going down the "reuse" path, there
>> may be a point where creating a separate driver for some aspects might
>> make sense, but that needs to be justified. Based on a quick glance of
>> what I see in this series so far (I have not done a detailed review),
>> the differences with the new device look to me like they can be handled
>> with chip-specific data in a match table.
>
> This is all nice information, but not really relevant here - this is a
> binding patch, not a driver one & the conversation stemmed from me
> making sure that a fallback compatible was not suitable.
hehe, oops. <blush>. my fault for mixing the two together
Sorry for the noise.
Kevin
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-02-14 18:02 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-08 10:53 [RESEND PATCH v1 00/13] Add support for TI TPS65224 PMIC Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 01/13] mfd: tps6594: Add register definitions " Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-09 17:35 ` Nishanth Menon
2024-02-09 17:35 ` Nishanth Menon
2024-02-14 12:02 ` Bhargav Raviprakash
2024-02-14 12:02 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 02/13] mfd: tps6594: use volatile_table instead of volatile_reg Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 03/13] dt-bindings: mfd: ti,tps6594: Add TI TPS65224 PMIC Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-09 17:11 ` Conor Dooley
2024-02-09 17:11 ` Conor Dooley
2024-02-14 9:31 ` Bhargav Raviprakash
2024-02-14 9:31 ` Bhargav Raviprakash
2024-02-14 9:38 ` Conor Dooley
2024-02-14 9:38 ` Conor Dooley
2024-02-14 17:26 ` Kevin Hilman
2024-02-14 17:26 ` Kevin Hilman
2024-02-14 17:45 ` Conor Dooley
2024-02-14 17:45 ` Conor Dooley
2024-02-14 18:02 ` Kevin Hilman [this message]
2024-02-14 18:02 ` Kevin Hilman
2024-02-14 18:10 ` Conor Dooley
2024-02-14 18:10 ` Conor Dooley
2024-02-16 9:08 ` Julien Panis
2024-02-16 9:08 ` Julien Panis
2024-02-16 11:47 ` Conor Dooley
2024-02-16 11:47 ` Conor Dooley
2024-02-16 11:47 ` Conor Dooley
2024-02-16 11:47 ` Conor Dooley
2024-02-08 10:53 ` [RESEND PATCH v1 04/13] mfd: tps6594-i2c: Add TI TPS65224 PMIC I2C Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-14 17:04 ` Kevin Hilman
2024-02-14 17:04 ` Kevin Hilman
2024-02-08 10:53 ` [RESEND PATCH v1 05/13] mfd: tps6594-spi: Add TI TPS65224 PMIC SPI Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-14 18:10 ` Kevin Hilman
2024-02-14 18:10 ` Kevin Hilman
2024-02-22 8:43 ` Bhargav Raviprakash
2024-02-22 8:43 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 06/13] mfd: tps6594-core: Add TI TPS65224 PMIC core Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 07/13] misc: tps6594-pfsm: Add TI TPS65224 PMIC PFSM Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 08/13] misc: tps6594-esm: reversion check limited to TPS6594 family Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 09/13] misc: tps6594-esm: use regmap_field Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 10/13] misc: tps6594-esm: Add TI TPS65224 PMIC ESM Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 11/13] regulator: tps6594-regulator: Add TI TPS65224 PMIC regulators Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 12/13] pinctrl: pinctrl-tps6594: Add TPS65224 PMIC pinctrl and GPIO Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 13/13] arch: arm64: dts: ti: k3-am62p5-sk: Add TPS65224 PMIC support in AM62P dts Bhargav Raviprakash
2024-02-08 10:53 ` Bhargav Raviprakash
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=7hfrxu6i0t.fsf@baylibre.com \
--to=khilman@kernel.org \
--cc=arnd@arndb.de \
--cc=bhargav.r@ltts.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=conor@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jpanis@baylibre.com \
--cc=kristo@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.nirmaladevi@ltts.com \
--cc=nm@ti.com \
--cc=robh+dt@kernel.org \
--cc=vigneshr@ti.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.