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