xref: /linux/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1cd020be0STali Perry# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2cd020be0STali Perry%YAML 1.2
3cd020be0STali Perry---
4cd020be0STali Perry$id: http://devicetree.org/schemas/i2c/nuvoton,npcm7xx-i2c.yaml#
5cd020be0STali Perry$schema: http://devicetree.org/meta-schemas/core.yaml#
6cd020be0STali Perry
7*dd3cb467SAndrew Lunntitle: nuvoton NPCM7XX I2C Controller
8cd020be0STali Perry
9cd020be0STali Perrydescription: |
1029d2bff1STyrone Ting  I2C bus controllers of the NPCM series support both master and
1129d2bff1STyrone Ting  slave mode. Each controller can switch between master and slave at run time
1229d2bff1STyrone Ting  (i.e. IPMB mode). HW FIFO for TX and RX are supported.
13cd020be0STali Perry
14cd020be0STali Perrymaintainers:
15cd020be0STali Perry  - Tali Perry <tali.perry1@gmail.com>
16cd020be0STali Perry
17cd020be0STali Perryproperties:
18cd020be0STali Perry  compatible:
1929d2bff1STyrone Ting    enum:
2029d2bff1STyrone Ting      - nuvoton,npcm750-i2c
2129d2bff1STyrone Ting      - nuvoton,npcm845-i2c
22cd020be0STali Perry
23cd020be0STali Perry  reg:
24cd020be0STali Perry    maxItems: 1
25cd020be0STali Perry
26cd020be0STali Perry  interrupts:
27cd020be0STali Perry    maxItems: 1
28cd020be0STali Perry
29cd020be0STali Perry  clocks:
30cd020be0STali Perry    maxItems: 1
31cd020be0STali Perry    description: Reference clock for the I2C bus
32cd020be0STali Perry
33cd020be0STali Perry  clock-frequency:
34cd020be0STali Perry    description: Desired I2C bus clock frequency in Hz. If not specified,
35cd020be0STali Perry                 the default 100 kHz frequency will be used.
36cd020be0STali Perry                 possible values are 100000, 400000 and 1000000.
37cd020be0STali Perry    default: 100000
38cd020be0STali Perry    enum: [100000, 400000, 1000000]
39cd020be0STali Perry
4029d2bff1STyrone Ting  nuvoton,sys-mgr:
4129d2bff1STyrone Ting    $ref: /schemas/types.yaml#/definitions/phandle
4229d2bff1STyrone Ting    description: The phandle of system manager register node.
4329d2bff1STyrone Ting
44cd020be0STali Perryrequired:
45cd020be0STali Perry  - compatible
46cd020be0STali Perry  - reg
47cd020be0STali Perry  - interrupts
48cd020be0STali Perry  - clocks
49cd020be0STali Perry
50cd020be0STali PerryallOf:
51cd020be0STali Perry  - $ref: /schemas/i2c/i2c-controller.yaml#
5229d2bff1STyrone Ting  - if:
5329d2bff1STyrone Ting      properties:
5429d2bff1STyrone Ting        compatible:
5529d2bff1STyrone Ting          contains:
5629d2bff1STyrone Ting            const: nuvoton,npcm845-i2c
5729d2bff1STyrone Ting
5829d2bff1STyrone Ting    then:
5929d2bff1STyrone Ting      required:
6029d2bff1STyrone Ting        - nuvoton,sys-mgr
61cd020be0STali Perry
62cd020be0STali PerryunevaluatedProperties: false
63cd020be0STali Perry
64cd020be0STali Perryexamples:
65cd020be0STali Perry  - |
66cd020be0STali Perry    #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
67cd020be0STali Perry    #include <dt-bindings/interrupt-controller/arm-gic.h>
68cd020be0STali Perry    i2c0: i2c@80000 {
69cd020be0STali Perry        reg = <0x80000 0x1000>;
70cd020be0STali Perry        clocks = <&clk NPCM7XX_CLK_APB2>;
71cd020be0STali Perry        clock-frequency = <100000>;
72cd020be0STali Perry        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
73cd020be0STali Perry        compatible = "nuvoton,npcm750-i2c";
7429d2bff1STyrone Ting        nuvoton,sys-mgr = <&gcr>;
75cd020be0STali Perry    };
76cd020be0STali Perry
77cd020be0STali Perry...
78