Commit 55fe9217 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i3c updates from Alexandre Belloni:
 "Only clean ups and no functional change this cycle. A couple of yaml
  conversions of the DT bindings, and a couple of code cleanups"

* tag 'i3c/for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
  MAINTAINERS: rectify entries for some i3c drivers after dt conversion
  i3c: master: svc: fix returnvar.cocci warning
  i3c/master: simplify the return expression of i3c_hci_remove()
  dt-bindings: i3c: Convert snps,dw-i3c-master to DT schema
  dt-bindings: i3c: Convert cdns,i3c-master to DT schema
parents fa78526a 66ed42ca
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>;
        };
    };
...
+0 −41
Original line number Diff line number Diff line
Bindings for Synopsys DesignWare I3C master block
=================================================

Required properties:
--------------------
- compatible: shall be "snps,dw-i3c-master-1.00a"
- clocks: shall reference the core_clk
- interrupts: the interrupt line connected to this I3C master
- reg: Offset and length of 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 3
- #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@2000 {
		compatible = "snps,dw-i3c-master-1.00a";
		#address-cells = <3>;
		#size-cells = <0>;
		reg = <0x02000 0x1000>;
		interrupts = <0>;
		clocks = <&i3cclk>;

		eeprom@57{
			compatible = "atmel,24c01";
			reg = <0x57 0x0 0x10>;
			pagesize = <0x8>;
		};
	};
+52 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/i3c/snps,dw-i3c-master.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Synopsys DesignWare I3C master block

maintainers:
  - Alexandre Belloni <alexandre.belloni@bootlin.com>

allOf:
  - $ref: i3c.yaml#

properties:
  compatible:
    const: snps,dw-i3c-master-1.00a

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - interrupts

unevaluatedProperties: false

examples:
  - |
    i3c-master@2000 {
        compatible = "snps,dw-i3c-master-1.00a";
        #address-cells = <3>;
        #size-cells = <0>;
        reg = <0x02000 0x1000>;
        interrupts = <0>;
        clocks = <&i3cclk>;

        eeprom@57{
            compatible = "atmel,24c01";
            reg = <0x57 0x0 0x10>;
            pagesize = <0x8>;
        };
    };
...
+2 −2
Original line number Diff line number Diff line
@@ -9319,13 +9319,13 @@ F: drivers/i2c/i2c-stub.c
I3C DRIVER FOR CADENCE I3C MASTER IP
M:	Przemysław Gaj <pgaj@cadence.com>
S:	Maintained
F:	Documentation/devicetree/bindings/i3c/cdns,i3c-master.txt
F:	Documentation/devicetree/bindings/i3c/cdns,i3c-master.yaml
F:	drivers/i3c/master/i3c-master-cdns.c
I3C DRIVER FOR SYNOPSYS DESIGNWARE
M:	Vitor Soares <vitor.soares@synopsys.com>
S:	Maintained
F:	Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.txt
F:	Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
F:	drivers/i3c/master/dw*
I3C SUBSYSTEM
Loading