~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/i2c/i2c-exynos5.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/i2c/i2c-exynos5.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Samsung's High Speed I2C controller
  8 
  9 maintainers:
 10   - Krzysztof Kozlowski <krzk@kernel.org>
 11 
 12 description: |
 13   The Samsung's High Speed I2C controller is used to interface with I2C devices
 14   at various speeds ranging from 100kHz to 3.4MHz.
 15 
 16   In case the HSI2C controller is encapsulated within USI block (it's the case
 17   e.g. for Exynos850 and Exynos Auto V9 SoCs), it might be also necessary to
 18   define USI node in device tree file, choosing "i2c" configuration. Please see
 19   Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml for details.
 20 
 21 properties:
 22   compatible:
 23     oneOf:
 24       - enum:
 25           - samsung,exynos5250-hsi2c    # Exynos5250 and Exynos5420
 26           - samsung,exynos5260-hsi2c    # Exynos5260
 27           - samsung,exynos7-hsi2c       # Exynos7
 28           - samsung,exynosautov9-hsi2c
 29       - items:
 30           - enum:
 31               - samsung,exynos5433-hsi2c
 32               - tesla,fsd-hsi2c
 33           - const: samsung,exynos7-hsi2c
 34       - items:
 35           - enum:
 36               - google,gs101-hsi2c
 37               - samsung,exynos850-hsi2c
 38           - const: samsung,exynosautov9-hsi2c
 39       - const: samsung,exynos5-hsi2c    # Exynos5250 and Exynos5420
 40         deprecated: true
 41 
 42   reg:
 43     maxItems: 1
 44 
 45   interrupts:
 46     maxItems: 1
 47 
 48   clock-frequency:
 49     default: 100000
 50     description:
 51       Desired operating frequency in Hz of the bus.
 52 
 53       If not specified, the bus operates in fast-speed mode at 100kHz.
 54 
 55       If specified, the bus operates in high-speed mode only if the
 56       clock-frequency is >= 1MHz.
 57 
 58   clocks:
 59     minItems: 1
 60     items:
 61       - description: I2C operating clock
 62       - description: Bus clock (APB)
 63 
 64   clock-names:
 65     minItems: 1
 66     items:
 67       - const: hsi2c
 68       - const: hsi2c_pclk
 69 
 70 required:
 71   - compatible
 72   - reg
 73   - interrupts
 74   - clocks
 75 
 76 allOf:
 77   - $ref: /schemas/i2c/i2c-controller.yaml#
 78   - if:
 79       properties:
 80         compatible:
 81           contains:
 82             enum:
 83               - samsung,exynosautov9-hsi2c
 84 
 85     then:
 86       properties:
 87         clocks:
 88           minItems: 2
 89 
 90         clock-names:
 91           minItems: 2
 92 
 93       required:
 94         - clock-names
 95 
 96     else:
 97       properties:
 98         clocks:
 99           maxItems: 1
100 
101 unevaluatedProperties: false
102 
103 examples:
104   - |
105     #include <dt-bindings/clock/exynos5420.h>
106     #include <dt-bindings/interrupt-controller/arm-gic.h>
107     #include <dt-bindings/interrupt-controller/irq.h>
108 
109     hsi2c_8: i2c@12e00000 {
110         compatible = "samsung,exynos5250-hsi2c";
111         reg = <0x12e00000 0x1000>;
112         interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
113         #address-cells = <1>;
114         #size-cells = <0>;
115         clock-frequency = <100000>;
116         clocks = <&clock CLK_USI4>;
117         clock-names = "hsi2c";
118 
119         pmic@66 {
120             /* compatible = "samsung,s2mps11-pmic"; */
121             reg = <0x66>;
122         };
123     };
124 
125   - |
126     #include <dt-bindings/clock/exynos850.h>
127     #include <dt-bindings/interrupt-controller/arm-gic.h>
128 
129     hsi2c_2: i2c@138c0000 {
130         compatible = "samsung,exynosautov9-hsi2c";
131         reg = <0x138c0000 0xc0>;
132         interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
133         #address-cells = <1>;
134         #size-cells = <0>;
135         clocks = <&cmu_peri CLK_GOUT_HSI2C2_IPCLK>,
136                  <&cmu_peri CLK_GOUT_HSI2C2_PCLK>;
137         clock-names = "hsi2c", "hsi2c_pclk";
138 
139         pmic@66 {
140             /* compatible = "samsung,s2mps11-pmic"; */
141             reg = <0x66>;
142         };
143     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php