[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aXxCt6N0RyfgoC7D@smile.fi.intel.com>
Date: Fri, 30 Jan 2026 07:33:43 +0200
From: Andy Shevchenko <andriy.shevchenko@...el.com>
To: Rob Herring <robh@...nel.org>
Cc: Andrew Lunn <andrew@...n.ch>, Michal Simek <michal.simek@....com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Abdurrahman Hussain <abdurrahman@...thop.ai>,
Andi Shyti <andi.shyti@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, info@...ean-labs.com,
linux-arm-kernel@...ts.infradead.org, linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH v6 1/7] dt-bindings: i2c: xiic: make clocks optional
On Thu, Jan 29, 2026 at 10:14:04AM -0600, Rob Herring wrote:
> On Wed, Jan 28, 2026 at 04:45:12PM +0200, Andy Shevchenko wrote:
> > On Wed, Jan 28, 2026 at 03:34:02PM +0100, Andrew Lunn wrote:
> > > On Wed, Jan 28, 2026 at 12:21:41PM +0100, Michal Simek wrote:
> > > > On 1/28/26 11:37, Krzysztof Kozlowski wrote:
> > > > > On Tue, Jan 27, 2026 at 09:03:55PM +0000, Abdurrahman Hussain wrote:
> > > > > > The xiic driver is designed to operate without explicit clock configuration
> > > > >
> > > > > And if you change this in the driver, then you change bindings?
> > > > >
> > > > > You miss here explanation based on hardware - how does the hardware work
> > > > > if nothing ticks it clocks?
> > > >
> > > > Hardware obviously have clock input which needs to be connected. Without it
> > > > it won't work.
> > >
> > > Should ACPI potential limitations be making the DT description less
> > > accurate?
> > >
> > > Would it not be better that the driver has an DT binding and an ACPI
> > > binding? Where there are common properties, common functions can be
> > > used to retrieve them. However, if ACPI lacks usable clocks, use the
> > > of_ method to get the clock from DT, and skip it for ACPI.
> >
> > Why should we use of_ methods? If this is required we can check the type of
> > fwnode and act accordingly, but I think this should go deeper into some
> > treewide available helpers, because now some drivers repeat the mantra.
> >
> > But how do the driver get the clock frequency (if needed for some register
> > settings and/or calculations)? DT seems to have well established property
> > 'clock-frequency' for that. Can we consider it as "ACPI binding" as well?
>
> Well established and somewhat deprecated. Generally, 'clocks' should be
> used instead. There are some exceptions like I2C buses here to set the
> bus frequency (or max freq). We probably should have used
> 'bus-frequency' in this case, but that predates me.
>
> ACPI can use whatever the ACPI binding maintainers want. If you know who
> they are, please let me know. :)
There is no such "entity" AFAIK, as on ACPI side we try pushing vendors to make
their efforts to bring a standard. Nevertheless, we have players, like MSFT, who
make decisions on their own (hence we have tons of "extensions" to the ACPI and
other specifications. Speaking of the standard, we have UEFI, MIPI and problably
others that have their own properties (but standard) and they usually use dedicated
prefixes (uefi-*, mipi-*). Also we have custom vendor specific ones, for example,
Intel in some cases (legit I suppose, as it's about Intel's IP) provides intc-*
properties. In many cases, though we have utilisation of the DT properties and
vendors more or less follow that. (Disclaimer: I described how I see it's done,
and not how I think it has to be done)
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists