From: Krzysztof Kozlowski <krzk@kernel.org>
To: Ryan Chen <ryan_chen@aspeedtech.com>
Cc: "benh@kernel.crashing.org" <benh@kernel.crashing.org>,
"joel@jms.id.au" <joel@jms.id.au>,
"andi.shyti@kernel.org" <andi.shyti@kernel.org>,
"robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"andrew@codeconstruct.com.au" <andrew@codeconstruct.com.au>,
"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
"andriy.shevchenko@linux.intel.com"
<andriy.shevchenko@linux.intel.com>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-aspeed@lists.ozlabs.org" <linux-aspeed@lists.ozlabs.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Mo Elbadry <elbadrym@google.com>
Subject: Re: [PATCH v16 1/3] dt-bindings: i2c: aspeed: support for AST2600-i2cv2
Date: Tue, 25 Mar 2025 11:18:41 +0100 [thread overview]
Message-ID: <99053328-a117-493e-b5f3-00902669c8e7@kernel.org> (raw)
In-Reply-To: <OS8PR06MB7541FD8691B43EA33BDC1D22F2A72@OS8PR06MB7541.apcprd06.prod.outlook.com>
On 25/03/2025 10:52, Ryan Chen wrote:
>>
>>> i2c-aspeed.c for legacy layout, compatible "aspeed,ast2600-i2c-bus"
>>> i2c-ast2600.c for the new register set, compatible compatible
>> "aspeed,ast2600-i2cv2"
>>> Do you mean I have integrate into 1 driver at i2c-aspeed.c ? can't be
>> separate two driver?
>>
>> What is this patch about? Bindings. Not drivers. Look at email month ago:
>>
>> "All this describes driver, not hardware."
>>
>> Why are you keep bringing here drivers since a month?
> Let me try to rephrase the reasoning from a hardware point of view:
>
> On AST2600, each I2C controller instance is functionally the same type of device (I2C controller),
> but it can present two different and incompatible register layouts,
> depending on a hardware-controlled configuration (via global register bits that are fixed in production SoCs).
> The layouts are not backward-compatible:
> Registers are at different offsets. Bit definitions differ.
> The programming sequence is not the same.
> Because of this incompatibility at the register level, software cannot handle both layouts in a generic way without explicit knowledge of which version is present.
> That’s why I proposed a new compatible string — to represent a hardware-visible difference in register interface, even though the logical function (I2C controller) is the same.
You implied software is set in stone and that's not true. You have a
compatible which says to the software - this device has two programming
interfaces, choose whatever you wish and work with that.
Different compatible would mean the device is different, it changes or
you have compatibility issues.
NONE of these cases are here.
I am done with this topic, because explaining this and other
trivialities to Aspeed takes way too much time, so last opinion:
Your compatible already expressed that there are two interfaces, so your
drivers can just choose whichever they want. If you need to toggle a bit
in system controller, it is fine. If you need different compatible, then
that's a NAK.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-03-25 10:18 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-24 5:59 [PATCH v16 0/3] Add ASPEED AST2600 I2Cv2 controller driver Ryan Chen
2025-02-24 5:59 ` [PATCH v16 1/3] dt-bindings: i2c: aspeed: support for AST2600-i2cv2 Ryan Chen
2025-02-24 7:16 ` Rob Herring (Arm)
2025-02-24 9:11 ` Krzysztof Kozlowski
2025-02-24 9:12 ` Krzysztof Kozlowski
2025-02-26 9:28 ` Ryan Chen
2025-02-26 9:56 ` Krzysztof Kozlowski
2025-02-27 8:19 ` Ryan Chen
2025-02-27 20:04 ` Krzysztof Kozlowski
2025-03-05 9:35 ` Ryan Chen
2025-03-17 7:45 ` Krzysztof Kozlowski
2025-03-17 9:21 ` Ryan Chen
2025-03-19 7:44 ` Krzysztof Kozlowski
2025-03-19 11:12 ` Ryan Chen
2025-03-24 7:21 ` Krzysztof Kozlowski
2025-03-24 8:30 ` Ryan Chen
2025-03-24 9:07 ` Krzysztof Kozlowski
2025-03-24 10:01 ` Ryan Chen
2025-03-24 11:10 ` Krzysztof Kozlowski
2025-03-25 9:52 ` Ryan Chen
2025-03-25 10:18 ` Krzysztof Kozlowski [this message]
2025-09-10 7:25 ` Jeremy Kerr
2025-09-10 7:44 ` Krzysztof Kozlowski
2025-09-10 8:31 ` Jeremy Kerr
2025-09-11 1:27 ` Ryan Chen
2025-09-11 1:38 ` Jeremy Kerr
2025-09-11 9:03 ` Jeremy Kerr
2025-09-12 6:37 ` Krzysztof Kozlowski
2025-09-12 7:13 ` Ryan Chen
2025-02-24 5:59 ` [PATCH v16 2/3] i2c: aspeed: support AST2600 i2c new register mode driver Ryan Chen
2025-02-24 8:54 ` Philipp Zabel
2025-02-24 9:04 ` Ryan Chen
2025-02-24 9:32 ` Philipp Zabel
2025-02-28 1:28 ` kernel test robot
2025-02-28 12:38 ` Andy Shevchenko
2025-03-17 7:48 ` Krzysztof Kozlowski
2025-03-17 8:00 ` Andy Shevchenko
2025-03-17 8:51 ` Ryan Chen
2025-03-17 8:57 ` Krzysztof Kozlowski
2025-02-24 5:59 ` [PATCH v16 3/3] i2c: aspeed: support AST2600 i2c new register target " Ryan Chen
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=99053328-a117-493e-b5f3-00902669c8e7@kernel.org \
--to=krzk@kernel.org \
--cc=andi.shyti@kernel.org \
--cc=andrew@codeconstruct.com.au \
--cc=andriy.shevchenko@linux.intel.com \
--cc=benh@kernel.crashing.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=elbadrym@google.com \
--cc=joel@jms.id.au \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=openbmc@lists.ozlabs.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=ryan_chen@aspeedtech.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