xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/nuvoton,npcm7xx-i2c.yaml (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*c66ec88fSEmmanuel Vadot%YAML 1.2
3*c66ec88fSEmmanuel Vadot---
4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/nuvoton,npcm7xx-i2c.yaml#
5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadottitle: nuvoton NPCM7XX I2C Controller Device Tree Bindings
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadotdescription: |
10*c66ec88fSEmmanuel Vadot  The NPCM750x includes sixteen I2C bus controllers. All Controllers support
11*c66ec88fSEmmanuel Vadot  both master and slave mode. Each controller can switch between master and slave
12*c66ec88fSEmmanuel Vadot  at run time (i.e. IPMB mode). Each controller has two 16 byte HW FIFO for TX and
13*c66ec88fSEmmanuel Vadot  RX.
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel Vadotmaintainers:
16*c66ec88fSEmmanuel Vadot  - Tali Perry <tali.perry1@gmail.com>
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadotproperties:
19*c66ec88fSEmmanuel Vadot  compatible:
20*c66ec88fSEmmanuel Vadot    const: nuvoton,npcm7xx-i2c
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot  reg:
23*c66ec88fSEmmanuel Vadot    maxItems: 1
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadot  interrupts:
26*c66ec88fSEmmanuel Vadot    maxItems: 1
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot  clocks:
29*c66ec88fSEmmanuel Vadot    maxItems: 1
30*c66ec88fSEmmanuel Vadot    description: Reference clock for the I2C bus
31*c66ec88fSEmmanuel Vadot
32*c66ec88fSEmmanuel Vadot  clock-frequency:
33*c66ec88fSEmmanuel Vadot    description: Desired I2C bus clock frequency in Hz. If not specified,
34*c66ec88fSEmmanuel Vadot                 the default 100 kHz frequency will be used.
35*c66ec88fSEmmanuel Vadot                 possible values are 100000, 400000 and 1000000.
36*c66ec88fSEmmanuel Vadot    default: 100000
37*c66ec88fSEmmanuel Vadot    enum: [100000, 400000, 1000000]
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadotrequired:
40*c66ec88fSEmmanuel Vadot  - compatible
41*c66ec88fSEmmanuel Vadot  - reg
42*c66ec88fSEmmanuel Vadot  - interrupts
43*c66ec88fSEmmanuel Vadot  - clocks
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel VadotallOf:
46*c66ec88fSEmmanuel Vadot  - $ref: /schemas/i2c/i2c-controller.yaml#
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel VadotunevaluatedProperties: false
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel Vadotexamples:
51*c66ec88fSEmmanuel Vadot  - |
52*c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
53*c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
54*c66ec88fSEmmanuel Vadot    i2c0: i2c@80000 {
55*c66ec88fSEmmanuel Vadot        reg = <0x80000 0x1000>;
56*c66ec88fSEmmanuel Vadot        clocks = <&clk NPCM7XX_CLK_APB2>;
57*c66ec88fSEmmanuel Vadot        clock-frequency = <100000>;
58*c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
59*c66ec88fSEmmanuel Vadot        compatible = "nuvoton,npcm750-i2c";
60*c66ec88fSEmmanuel Vadot    };
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel Vadot...
63