1*5ae45114SSam Protsenko# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5ae45114SSam Protsenko%YAML 1.2
3*5ae45114SSam Protsenko---
4*5ae45114SSam Protsenko$id: http://devicetree.org/schemas/i2c/i2c-exynos5.yaml#
5*5ae45114SSam Protsenko$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5ae45114SSam Protsenko
7*5ae45114SSam Protsenkotitle: Samsung's High Speed I2C controller
8*5ae45114SSam Protsenko
9*5ae45114SSam Protsenkomaintainers:
10*5ae45114SSam Protsenko  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
11*5ae45114SSam Protsenko
12*5ae45114SSam Protsenkodescription: |
13*5ae45114SSam Protsenko  The Samsung's High Speed I2C controller is used to interface with I2C devices
14*5ae45114SSam Protsenko  at various speeds ranging from 100kHz to 3.4MHz.
15*5ae45114SSam Protsenko
16*5ae45114SSam ProtsenkoallOf:
17*5ae45114SSam Protsenko  - $ref: /schemas/i2c/i2c-controller.yaml#
18*5ae45114SSam Protsenko
19*5ae45114SSam Protsenkoproperties:
20*5ae45114SSam Protsenko  compatible:
21*5ae45114SSam Protsenko    oneOf:
22*5ae45114SSam Protsenko      - enum:
23*5ae45114SSam Protsenko          - samsung,exynos5250-hsi2c    # Exynos5250 and Exynos5420
24*5ae45114SSam Protsenko          - samsung,exynos5260-hsi2c    # Exynos5260
25*5ae45114SSam Protsenko          - samsung,exynos7-hsi2c       # Exynos7
26*5ae45114SSam Protsenko      - const: samsung,exynos5-hsi2c    # Exynos5250 and Exynos5420
27*5ae45114SSam Protsenko        deprecated: true
28*5ae45114SSam Protsenko
29*5ae45114SSam Protsenko  reg:
30*5ae45114SSam Protsenko    maxItems: 1
31*5ae45114SSam Protsenko
32*5ae45114SSam Protsenko  interrupts:
33*5ae45114SSam Protsenko    maxItems: 1
34*5ae45114SSam Protsenko
35*5ae45114SSam Protsenko  clock-frequency:
36*5ae45114SSam Protsenko    default: 100000
37*5ae45114SSam Protsenko    description:
38*5ae45114SSam Protsenko      Desired operating frequency in Hz of the bus.
39*5ae45114SSam Protsenko
40*5ae45114SSam Protsenko      If not specified, the bus operates in fast-speed mode at 100kHz.
41*5ae45114SSam Protsenko
42*5ae45114SSam Protsenko      If specified, the bus operates in high-speed mode only if the
43*5ae45114SSam Protsenko      clock-frequency is >= 1MHz.
44*5ae45114SSam Protsenko
45*5ae45114SSam Protsenko  clocks:
46*5ae45114SSam Protsenko    maxItems: 1
47*5ae45114SSam Protsenko    description: I2C operating clock
48*5ae45114SSam Protsenko
49*5ae45114SSam Protsenko  clock-names:
50*5ae45114SSam Protsenko    const: hsi2c
51*5ae45114SSam Protsenko
52*5ae45114SSam Protsenkorequired:
53*5ae45114SSam Protsenko  - compatible
54*5ae45114SSam Protsenko  - reg
55*5ae45114SSam Protsenko  - interrupts
56*5ae45114SSam Protsenko  - clocks
57*5ae45114SSam Protsenko
58*5ae45114SSam ProtsenkounevaluatedProperties: false
59*5ae45114SSam Protsenko
60*5ae45114SSam Protsenkoexamples:
61*5ae45114SSam Protsenko  - |
62*5ae45114SSam Protsenko    #include <dt-bindings/clock/exynos5420.h>
63*5ae45114SSam Protsenko    #include <dt-bindings/interrupt-controller/arm-gic.h>
64*5ae45114SSam Protsenko    #include <dt-bindings/interrupt-controller/irq.h>
65*5ae45114SSam Protsenko
66*5ae45114SSam Protsenko    hsi2c_8: i2c@12e00000 {
67*5ae45114SSam Protsenko        compatible = "samsung,exynos5250-hsi2c";
68*5ae45114SSam Protsenko        reg = <0x12e00000 0x1000>;
69*5ae45114SSam Protsenko        interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
70*5ae45114SSam Protsenko        #address-cells = <1>;
71*5ae45114SSam Protsenko        #size-cells = <0>;
72*5ae45114SSam Protsenko        clock-frequency = <100000>;
73*5ae45114SSam Protsenko        clocks = <&clock CLK_USI4>;
74*5ae45114SSam Protsenko        clock-names = "hsi2c";
75*5ae45114SSam Protsenko
76*5ae45114SSam Protsenko        pmic@66 {
77*5ae45114SSam Protsenko            /* compatible = "samsung,s2mps11-pmic"; */
78*5ae45114SSam Protsenko            reg = <0x66>;
79*5ae45114SSam Protsenko        };
80*5ae45114SSam Protsenko    };
81