xref: /linux/Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml (revision 29d2bff1c34ad3e413bcdaa81b88e209b308031d)
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
7cd020be0STali Perrytitle: nuvoton NPCM7XX I2C Controller Device Tree Bindings
8cd020be0STali Perry
9cd020be0STali Perrydescription: |
10*29d2bff1STyrone Ting  I2C bus controllers of the NPCM series support both master and
11*29d2bff1STyrone Ting  slave mode. Each controller can switch between master and slave at run time
12*29d2bff1STyrone 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:
19*29d2bff1STyrone Ting    enum:
20*29d2bff1STyrone Ting      - nuvoton,npcm750-i2c
21*29d2bff1STyrone 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
40*29d2bff1STyrone Ting  nuvoton,sys-mgr:
41*29d2bff1STyrone Ting    $ref: /schemas/types.yaml#/definitions/phandle
42*29d2bff1STyrone Ting    description: The phandle of system manager register node.
43*29d2bff1STyrone 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#
52*29d2bff1STyrone Ting  - if:
53*29d2bff1STyrone Ting      properties:
54*29d2bff1STyrone Ting        compatible:
55*29d2bff1STyrone Ting          contains:
56*29d2bff1STyrone Ting            const: nuvoton,npcm845-i2c
57*29d2bff1STyrone Ting
58*29d2bff1STyrone Ting    then:
59*29d2bff1STyrone Ting      required:
60*29d2bff1STyrone 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";
74*29d2bff1STyrone Ting        nuvoton,sys-mgr = <&gcr>;
75cd020be0STali Perry    };
76cd020be0STali Perry
77cd020be0STali Perry...
78