0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/i2c/brcm,iproc-i2c.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Broadcom iProc I2C controller
0008
0009 maintainers:
0010 - Rafał Miłecki <rafal@milecki.pl>
0011
0012 properties:
0013 compatible:
0014 enum:
0015 - brcm,iproc-i2c
0016 - brcm,iproc-nic-i2c
0017
0018 reg:
0019 maxItems: 1
0020
0021 clock-frequency:
0022 enum: [ 100000, 400000 ]
0023
0024 interrupts:
0025 description: |
0026 Should contain the I2C interrupt. For certain revisions of the I2C
0027 controller, I2C interrupt is unwired to the interrupt controller. In such
0028 case, this property should be left unspecified, and driver will fall back
0029 to polling mode
0030 maxItems: 1
0031
0032 brcm,ape-hsls-addr-mask:
0033 $ref: /schemas/types.yaml#/definitions/uint32
0034 description: Host view of address mask into the 'APE' co-processor
0035
0036 allOf:
0037 - $ref: /schemas/i2c/i2c-controller.yaml#
0038 - if:
0039 properties:
0040 compatible:
0041 contains:
0042 const: brcm,iproc-nic-i2c
0043 then:
0044 required:
0045 - brcm,ape-hsls-addr-mask
0046
0047 unevaluatedProperties: false
0048
0049 required:
0050 - reg
0051 - clock-frequency
0052 - '#address-cells'
0053 - '#size-cells'
0054
0055 examples:
0056 - |
0057 #include <dt-bindings/interrupt-controller/arm-gic.h>
0058
0059 i2c@18008000 {
0060 compatible = "brcm,iproc-i2c";
0061 reg = <0x18008000 0x100>;
0062 #address-cells = <1>;
0063 #size-cells = <0>;
0064 interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
0065 clock-frequency = <100000>;
0066
0067 wm8750@1a {
0068 compatible = "wlf,wm8750";
0069 reg = <0x1a>;
0070 };
0071 };