Staging
v0.8.1
https://github.com/torvalds/linux
Raw File
Tip revision: 568035b01cfb107af8d2e4bd2fb9aea22cf5b868 authored by Linus Torvalds on 14 August 2022, 22:50:18 UTC
Linux 6.0-rc1
Tip revision: 568035b
brcm,iproc-i2c.yaml
# 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>;
        };
    };
back to top