xref: /openbmc/linux/Documentation/devicetree/bindings/i2c/i2c-exynos5.yaml (revision bd5f985dc51875b1ca8b28a02952f3fa8864a506)
15ae45114SSam Protsenko# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25ae45114SSam Protsenko%YAML 1.2
35ae45114SSam Protsenko---
45ae45114SSam Protsenko$id: http://devicetree.org/schemas/i2c/i2c-exynos5.yaml#
55ae45114SSam Protsenko$schema: http://devicetree.org/meta-schemas/core.yaml#
65ae45114SSam Protsenko
75ae45114SSam Protsenkotitle: Samsung's High Speed I2C controller
85ae45114SSam Protsenko
95ae45114SSam Protsenkomaintainers:
105ae45114SSam Protsenko  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
115ae45114SSam Protsenko
125ae45114SSam Protsenkodescription: |
135ae45114SSam Protsenko  The Samsung's High Speed I2C controller is used to interface with I2C devices
145ae45114SSam Protsenko  at various speeds ranging from 100kHz to 3.4MHz.
155ae45114SSam Protsenko
16*bd5f985dSJaewon Kim  In case the HSI2C controller is encapsulated within USI block (it's the case
17*bd5f985dSJaewon Kim  e.g. for Exynos850 and Exynos Auto V9 SoCs), it might be also necessary to
18*bd5f985dSJaewon Kim  define USI node in device tree file, choosing "i2c" configuration. Please see
19*bd5f985dSJaewon Kim  Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml for details.
20*bd5f985dSJaewon Kim
215ae45114SSam ProtsenkoallOf:
225ae45114SSam Protsenko  - $ref: /schemas/i2c/i2c-controller.yaml#
235ae45114SSam Protsenko
245ae45114SSam Protsenkoproperties:
255ae45114SSam Protsenko  compatible:
265ae45114SSam Protsenko    oneOf:
275ae45114SSam Protsenko      - enum:
285ae45114SSam Protsenko          - samsung,exynos5250-hsi2c    # Exynos5250 and Exynos5420
295ae45114SSam Protsenko          - samsung,exynos5260-hsi2c    # Exynos5260
305ae45114SSam Protsenko          - samsung,exynos7-hsi2c       # Exynos7
31*bd5f985dSJaewon Kim          - samsung,exynosautov9-hsi2c  # ExynosAutoV9 and Exynos850
325ae45114SSam Protsenko      - const: samsung,exynos5-hsi2c    # Exynos5250 and Exynos5420
335ae45114SSam Protsenko        deprecated: true
345ae45114SSam Protsenko
355ae45114SSam Protsenko  reg:
365ae45114SSam Protsenko    maxItems: 1
375ae45114SSam Protsenko
385ae45114SSam Protsenko  interrupts:
395ae45114SSam Protsenko    maxItems: 1
405ae45114SSam Protsenko
415ae45114SSam Protsenko  clock-frequency:
425ae45114SSam Protsenko    default: 100000
435ae45114SSam Protsenko    description:
445ae45114SSam Protsenko      Desired operating frequency in Hz of the bus.
455ae45114SSam Protsenko
465ae45114SSam Protsenko      If not specified, the bus operates in fast-speed mode at 100kHz.
475ae45114SSam Protsenko
485ae45114SSam Protsenko      If specified, the bus operates in high-speed mode only if the
495ae45114SSam Protsenko      clock-frequency is >= 1MHz.
505ae45114SSam Protsenko
515ae45114SSam Protsenko  clocks:
525ae45114SSam Protsenko    maxItems: 1
535ae45114SSam Protsenko    description: I2C operating clock
545ae45114SSam Protsenko
555ae45114SSam Protsenko  clock-names:
565ae45114SSam Protsenko    const: hsi2c
575ae45114SSam Protsenko
585ae45114SSam Protsenkorequired:
595ae45114SSam Protsenko  - compatible
605ae45114SSam Protsenko  - reg
615ae45114SSam Protsenko  - interrupts
625ae45114SSam Protsenko  - clocks
635ae45114SSam Protsenko
645ae45114SSam ProtsenkounevaluatedProperties: false
655ae45114SSam Protsenko
665ae45114SSam Protsenkoexamples:
675ae45114SSam Protsenko  - |
685ae45114SSam Protsenko    #include <dt-bindings/clock/exynos5420.h>
695ae45114SSam Protsenko    #include <dt-bindings/interrupt-controller/arm-gic.h>
705ae45114SSam Protsenko    #include <dt-bindings/interrupt-controller/irq.h>
715ae45114SSam Protsenko
725ae45114SSam Protsenko    hsi2c_8: i2c@12e00000 {
735ae45114SSam Protsenko        compatible = "samsung,exynos5250-hsi2c";
745ae45114SSam Protsenko        reg = <0x12e00000 0x1000>;
755ae45114SSam Protsenko        interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
765ae45114SSam Protsenko        #address-cells = <1>;
775ae45114SSam Protsenko        #size-cells = <0>;
785ae45114SSam Protsenko        clock-frequency = <100000>;
795ae45114SSam Protsenko        clocks = <&clock CLK_USI4>;
805ae45114SSam Protsenko        clock-names = "hsi2c";
815ae45114SSam Protsenko
825ae45114SSam Protsenko        pmic@66 {
835ae45114SSam Protsenko            /* compatible = "samsung,s2mps11-pmic"; */
845ae45114SSam Protsenko            reg = <0x66>;
855ae45114SSam Protsenko        };
865ae45114SSam Protsenko    };
87