Re: [PATCH v4 1/2] dt-bindings: i3c: Add adi-i3c-master

Conor Dooley
2025-07-02T22:07:01Z

[-- Attachment #1.1: Type: text/plain, Size: 2979 bytes --]

On Wed, Jul 02, 2025 at 11:23:43AM -0300, Marcelo Schmitt wrote:
> Hello,
>
> On 07/02, Jorge Marques wrote:
> > On Fri, Jun 27, 2025 at 06:02:26PM +0200, Jorge Marques wrote:
> > > On Fri, Jun 27, 2025 at 04:49:19PM +0200, Krzysztof Kozlowski wrote:
> > > > On 27/06/2025 16:38, Jorge Marques wrote:
> > > > > On Fri, Jun 27, 2025 at 08:56:55AM +0200, Krzysztof Kozlowski wrote:
> > > > >> On Thu, Jun 26, 2025 at 12:07:36PM +0200, Jorge Marques wrote:
> > > > >>> Add bindings doc for ADI I3C Controller IP core, a FPGA synthesizable IP
> > > > >>> core that implements the MIPI I3C Basic controller specification.
> > > > >>
> ...
> >
> > I went after the reason of the historically -1.00.a suffix and
> > discovered that they came into existence due to AMD Xilinx auto
> > generation devicetree tool SDTGen
> > https://github.com/Xilinx/system-device-tree-xlnx
> > that would automatically suffix with the IP version, defaulting to 1.00.a,
> > and for a seamless experience, the were copied over to the dt-bindings.
> >
> > The adi,axi-pwmgen dt-binding went more creative and suffixed with
> > -2.00.a, while never enforcing Vivado to yield the devicetree with such
> > value (Major version is asserted in the driver through reg access, the
> > current core version is v2.1.1)
> >
> > Testing on my side (AMD Xilinx Vivado 2024.2), it seems Vivado now
> > defaults to 1.0, so the previous bindings from the other IPs are not
> > accurate anymore, either, (axi-pwmgen auto gens
> > `compatible = "xlnx,axi-pwm-gen-1.0";` (`xlnx` instead of `adi`, also)).
> >
> > For fun, the current Vivado version thinks the devicetree node for the
> > i3c master should be as follows:
> >
> > i3c_host_interface: i3c_controller_host_interface@44a00000 {
> > compatible = "xlnx,i3c-controller-host-interface-1.0";
> > reg = <0x44a00000 0x10000>;
> > clocks = <&clkc 15>;
> > clock-names = "s_axi_aclk";
> > };
> >
> > Let me know if we can drop the suffix, or replace with something else.
> > The current register defined core version is v0.1.0.
>
> I have no say in how dt-bindings should be, but having the IP version number
> automatically generated doesn't sound like a sane thing to do IMHO. Maybe try to
> standardize with -1.00.a suffix? Though one could also argue about dropping such
> suffixes. Since we were told that the convention is to have the file name to
> follow the compatible, I would go with 'xlnx,i3c-controller-host-interface'
> (without any suffix) so the file name is smaller and clearer IMHO. dt maintainers
> might prefer that in a different way.

To my knowledge this is an ADI IP from their HDL catalogue:
https://github.com/analogdevicesinc/hdl/tree/main/library/i3c_controller
I see no reason why it should have an "xlnx" vendor prefix - and I don't
think Jorge was seriously suggesting it either, given they mentioned it
was being shared "for fun".

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 111 bytes --]