Commit 4bd69ecf authored by Rob Herring's avatar Rob Herring Committed by Alexandre Belloni
Browse files

dt-bindings: i3c: Convert cdns,i3c-master to DT schema



Convert the Cadence I3C master to DT schema format. This fixes a warning
as it is used in the i3c.yaml example.

The "nintendo,nunchuk" is not documented by a schema, so change the
example child device to something which is documented.

Signed-off-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20220422192224.2594098-1-robh@kernel.org
parent 31231092
Loading
Loading
Loading
Loading
+0 −43
Original line number Diff line number Diff line
Bindings for cadence I3C master block
=====================================

Required properties:
--------------------
- compatible: shall be "cdns,i3c-master"
- clocks: shall reference the pclk and sysclk
- clock-names: shall contain "pclk" and "sysclk"
- interrupts: the interrupt line connected to this I3C master
- reg: I3C master registers

Mandatory properties defined by the generic binding (see
Documentation/devicetree/bindings/i3c/i3c.yaml for more details):

- #address-cells: shall be set to 1
- #size-cells: shall be set to 0

Optional properties defined by the generic binding (see
Documentation/devicetree/bindings/i3c/i3c.yaml for more details):

- i2c-scl-hz
- i3c-scl-hz

I3C device connected on the bus follow the generic description (see
Documentation/devicetree/bindings/i3c/i3c.yaml for more details).

Example:

	i3c-master@0d040000 {
		compatible = "cdns,i3c-master";
		clocks = <&coreclock>, <&i3csysclock>;
		clock-names = "pclk", "sysclk";
		interrupts = <3 0>;
		reg = <0x0d040000 0x1000>;
		#address-cells = <1>;
		#size-cells = <0>;
		i2c-scl-hz = <100000>;

		nunchuk: nunchuk@52 {
			compatible = "nintendo,nunchuk";
			reg = <0x52 0x0 0x10>;
		};
	};
+60 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/i3c/cdns,i3c-master.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cadence I3C master block

maintainers:
  - Boris Brezillon <bbrezillon@kernel.org>

allOf:
  - $ref: i3c.yaml#

properties:
  compatible:
    const: cdns,i3c-master

  reg:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: pclk
      - const: sysclk

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

unevaluatedProperties: false

examples:
  - |
    i3c-master@d040000 {
        compatible = "cdns,i3c-master";
        clocks = <&coreclock>, <&i3csysclock>;
        clock-names = "pclk", "sysclk";
        interrupts = <3 0>;
        reg = <0x0d040000 0x1000>;
        #address-cells = <3>;
        #size-cells = <0>;
        i2c-scl-hz = <100000>;

        eeprom@57{
            compatible = "atmel,24c01";
            reg = <0x57 0x0 0x10>;
            pagesize = <0x8>;
        };
    };
...