162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/nuvoton,npcm7xx-i2c.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: nuvoton NPCM7XX I2C Controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  I2C bus controllers of the NPCM series support both master and
1162306a36Sopenharmony_ci  slave mode. Each controller can switch between master and slave at run time
1262306a36Sopenharmony_ci  (i.e. IPMB mode). HW FIFO for TX and RX are supported.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cimaintainers:
1562306a36Sopenharmony_ci  - Tali Perry <tali.perry1@gmail.com>
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    enum:
2062306a36Sopenharmony_ci      - nuvoton,npcm750-i2c
2162306a36Sopenharmony_ci      - nuvoton,npcm845-i2c
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg:
2462306a36Sopenharmony_ci    maxItems: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  interrupts:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  clocks:
3062306a36Sopenharmony_ci    maxItems: 1
3162306a36Sopenharmony_ci    description: Reference clock for the I2C bus
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  clock-frequency:
3462306a36Sopenharmony_ci    description: Desired I2C bus clock frequency in Hz. If not specified,
3562306a36Sopenharmony_ci                 the default 100 kHz frequency will be used.
3662306a36Sopenharmony_ci                 possible values are 100000, 400000 and 1000000.
3762306a36Sopenharmony_ci    default: 100000
3862306a36Sopenharmony_ci    enum: [100000, 400000, 1000000]
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  nuvoton,sys-mgr:
4162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
4262306a36Sopenharmony_ci    description: The phandle of system manager register node.
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_cirequired:
4562306a36Sopenharmony_ci  - compatible
4662306a36Sopenharmony_ci  - reg
4762306a36Sopenharmony_ci  - interrupts
4862306a36Sopenharmony_ci  - clocks
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciallOf:
5162306a36Sopenharmony_ci  - $ref: /schemas/i2c/i2c-controller.yaml#
5262306a36Sopenharmony_ci  - if:
5362306a36Sopenharmony_ci      properties:
5462306a36Sopenharmony_ci        compatible:
5562306a36Sopenharmony_ci          contains:
5662306a36Sopenharmony_ci            const: nuvoton,npcm845-i2c
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci    then:
5962306a36Sopenharmony_ci      required:
6062306a36Sopenharmony_ci        - nuvoton,sys-mgr
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciunevaluatedProperties: false
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciexamples:
6562306a36Sopenharmony_ci  - |
6662306a36Sopenharmony_ci    #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
6762306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
6862306a36Sopenharmony_ci    i2c0: i2c@80000 {
6962306a36Sopenharmony_ci        reg = <0x80000 0x1000>;
7062306a36Sopenharmony_ci        clocks = <&clk NPCM7XX_CLK_APB2>;
7162306a36Sopenharmony_ci        clock-frequency = <100000>;
7262306a36Sopenharmony_ci        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
7362306a36Sopenharmony_ci        compatible = "nuvoton,npcm750-i2c";
7462306a36Sopenharmony_ci        nuvoton,sys-mgr = <&gcr>;
7562306a36Sopenharmony_ci    };
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci...
78