Commit 24519fa7 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Rob Herring
Browse files

dt-bindings: i2c: brcm,iproc-i2c: convert to the json-schema



This helps validating DTS files.

Introduced changes:
1. Added arm-gic.h include

Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20210713093155.1752-1-zajec5@gmail.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent eb717398
Loading
Loading
Loading
Loading
+0 −46
Original line number Diff line number Diff line
Broadcom iProc I2C controller

Required properties:

- compatible:
    Must be "brcm,iproc-i2c" or "brcm,iproc-nic-i2c"

- reg:
    Define the base and range of the I/O address space that contain the iProc
    I2C controller registers

- clock-frequency:
    This is the I2C bus clock. Need to be either 100000 or 400000

- #address-cells:
    Always 1 (for I2C addresses)

- #size-cells:
    Always 0

Optional properties:

- interrupts:
    Should contain the I2C interrupt. For certain revisions of the I2C
    controller, I2C interrupt is unwired to the interrupt controller. In such
    case, this property should be left unspecified, and driver will fall back
    to polling mode

- brcm,ape-hsls-addr-mask:
    Required for "brcm,iproc-nic-i2c". Host view of address mask into the
    'APE' co-processor. Value must be unsigned, 32-bit

Example:
	i2c0: i2c@18008000 {
		compatible = "brcm,iproc-i2c";
		reg = <0x18008000 0x100>;
		#address-cells = <1>;
		#size-cells = <0>;
		interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
		clock-frequency = <100000>;

		codec: wm8750@1a {
			compatible = "wlf,wm8750";
			reg = <0x1a>;
		};
	};
+71 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/brcm,iproc-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom iProc I2C controller

maintainers:
  - Rafał Miłecki <rafal@milecki.pl>

properties:
  compatible:
    enum:
      - brcm,iproc-i2c
      - brcm,iproc-nic-i2c

  reg:
    maxItems: 1

  clock-frequency:
    enum: [ 100000, 400000 ]

  interrupts:
    description: |
      Should contain the I2C interrupt. For certain revisions of the I2C
      controller, I2C interrupt is unwired to the interrupt controller. In such
      case, this property should be left unspecified, and driver will fall back
      to polling mode
    maxItems: 1

  brcm,ape-hsls-addr-mask:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Host view of address mask into the 'APE' co-processor

allOf:
  - $ref: /schemas/i2c/i2c-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: brcm,iproc-nic-i2c
    then:
      required:
        - brcm,ape-hsls-addr-mask

unevaluatedProperties: false

required:
  - reg
  - clock-frequency
  - '#address-cells'
  - '#size-cells'

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    i2c@18008000 {
        compatible = "brcm,iproc-i2c";
        reg = <0x18008000 0x100>;
        #address-cells = <1>;
        #size-cells = <0>;
        interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
        clock-frequency = <100000>;

        wm8750@1a {
            compatible = "wlf,wm8750";
            reg = <0x1a>;
        };
    };