Re: [PATCH 1/2] dt-bindings: i3c: MIPI I3C Host Controller Interface

Rob Herring
2020-08-15T09:18:26Z

On Thu, Aug 13, 2020 at 9:49 PM Nicolas Pitre <nico@fluxnic.net> wrote:
>
> From: Nicolas Pitre <npitre@baylibre.com>
>
> The MIPI I3C HCI (Host Controller Interface) specification defines
> a common software driver interface to support compliant MIPI I3C
> host controller hardware implementations from multiple vendors.
>
> Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
> ---
> .../devicetree/bindings/i3c/mipi-i3c-hci.txt | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/i3c/mipi-i3c-hci.txt

Bindings should be in schema format now.

> diff --git a/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.txt b/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.txt
> new file mode 100644
> index 0000000000..8de7d7ac6a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.txt
> @@ -0,0 +1,15 @@
> +MIPI I3C Host Controller Interface
> +----------------------------------
> +
> +Required properties:
> +- compatible : "mipi-i3c-hci"

A register interface (or protocol) spec is never complete enough to
capture all the details about a specific h/w implementation. One just
has to go look at AHCI, EHCI, OHCI, XHCI, UFS, 8250, etc. bindings.
Let's not start with pretending that here. Fine for this to be a
fallback, but it must have a compatible for a specific implementation.

Also, which version of the spec does this compatible correspond to? Or
are there not HCI differences in the spec versions you mention in the
cover letter?

> +- reg : Should contain 1 register range (address and length)
> +- interrupts : HCI interrupt
> +
> +Example:
> +
> + mipi_i3c_hci@0xa0000000 {

i3c@a0000000

> + compatible = "mipi-i3c-hci";
> + reg = <0xa0000000 0x2000>;
> + interrupts = <89>;
> + };
> --
> 2.26.2