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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/i2c/samsung,s3c2410-i2c.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/samsung,s3c2410-i2c.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Samsung S3C/S5P/Exynos SoC I2C Controller
  8 
  9 maintainers:
 10   - Krzysztof Kozlowski <krzk@kernel.org>
 11 
 12 properties:
 13   compatible:
 14     oneOf:
 15       - enum:
 16           - samsung,s3c2410-i2c
 17           - samsung,s3c2440-i2c
 18             # For s3c2440-like I2C used inside HDMIPHY block found on several SoCs:
 19           - samsung,s3c2440-hdmiphy-i2c
 20             # For s3c2440-like I2C used as a host to SATA PHY controller on an
 21             # internal bus:
 22           - samsung,exynos5-sata-phy-i2c
 23       - items:
 24           - enum:
 25               - samsung,exynos7885-i2c
 26               - samsung,exynos850-i2c
 27           - const: samsung,s3c2440-i2c
 28 
 29   clocks:
 30     maxItems: 1
 31 
 32   clock-names:
 33     items:
 34       - const: i2c
 35 
 36   gpios:
 37     description: |
 38       The order of the GPIOs should be the following:: <SDA, SCL>.  The GPIO
 39       specifier depends on the gpio controller. Required in all cases except
 40       for "samsung,s3c2440-hdmiphy-i2c" whose input/output lines are
 41       permanently wired to the respective client.
 42       This property is deprecated. Use "pinctrl-0" and "pinctrl-names" instead.
 43     deprecated: true
 44 
 45   interrupts:
 46     maxItems: 1
 47 
 48   reg:
 49     maxItems: 1
 50 
 51   samsung,i2c-max-bus-freq:
 52     $ref: /schemas/types.yaml#/definitions/uint32
 53     description:
 54       Desired frequency in Hz of the bus.
 55     default: 100000
 56 
 57   samsung,i2c-sda-delay:
 58     $ref: /schemas/types.yaml#/definitions/uint32
 59     description:
 60       Delay (in ns) applied to data line (SDA) edges.
 61     default: 0
 62 
 63   samsung,i2c-slave-addr:
 64     $ref: /schemas/types.yaml#/definitions/uint32
 65     description:
 66       Slave address in multi-master environment.
 67     default: 0
 68 
 69   samsung,sysreg-phandle:
 70     $ref: /schemas/types.yaml#/definitions/phandle
 71     description: Pandle to syscon used to control the system registers.
 72 
 73 required:
 74   - compatible
 75   - reg
 76 
 77 allOf:
 78   - $ref: /schemas/i2c/i2c-controller.yaml#
 79   - if:
 80       properties:
 81         compatible:
 82           contains:
 83             enum:
 84               - samsung,s3c2440-hdmiphy-i2c
 85               - samsung,exynos5-sata-phy-i2c
 86     then:
 87       properties:
 88         gpios: false
 89 
 90   - if:
 91       properties:
 92         compatible:
 93           contains:
 94             enum:
 95               - samsung,s3c2410-i2c
 96               - samsung,s3c2440-i2c
 97               - samsung,s3c2440-hdmiphy-i2c
 98     then:
 99       required:
100         - interrupts
101 
102 unevaluatedProperties: false
103 
104 examples:
105   - |
106     #include <dt-bindings/clock/exynos5250.h>
107     #include <dt-bindings/interrupt-controller/arm-gic.h>
108 
109     i2c@12c60000 {
110         compatible = "samsung,s3c2440-i2c";
111         reg = <0x12C60000 0x100>;
112         interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
113         #address-cells = <1>;
114         #size-cells = <0>;
115         clocks = <&clock CLK_I2C0>;
116         clock-names = "i2c";
117         pinctrl-names = "default";
118         pinctrl-0 = <&i2c0_bus>;
119 
120         samsung,sysreg-phandle = <&sysreg_system_controller>;
121         samsung,i2c-sda-delay = <100>;
122         samsung,i2c-max-bus-freq = <20000>;
123         samsung,i2c-slave-addr = <0x66>;
124 
125         eeprom@50 {
126             compatible = "samsung,s524ad0xd1", "atmel,24c128";
127             reg = <0x50>;
128         };
129     };
130 
131     i2c@12ce0000 {
132         compatible = "samsung,s3c2440-hdmiphy-i2c";
133         reg = <0x12CE0000 0x1000>;
134         interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
135         #address-cells = <1>;
136         #size-cells = <0>;
137         clocks = <&clock CLK_I2C_HDMI>;
138         clock-names = "i2c";
139 
140         samsung,i2c-sda-delay = <100>;
141         samsung,i2c-max-bus-freq = <66000>;
142 
143         phy-i2c@38 {
144             compatible = "samsung,exynos4212-hdmiphy";
145             reg = <0x38>;
146         };
147     };
148 
149     i2c@121d0000 {
150         compatible = "samsung,exynos5-sata-phy-i2c";
151         reg = <0x121D0000 0x100>;
152         #address-cells = <1>;
153         #size-cells = <0>;
154         clocks = <&clock CLK_SATA_PHYI2C>;
155         clock-names = "i2c";
156 
157         samsung,i2c-sda-delay = <100>;
158         samsung,i2c-max-bus-freq = <40000>;
159 
160         phy-i2c@38 {
161             compatible = "samsung,exynos-sataphy-i2c";
162             reg = <0x38>;
163         };
164     };

~ [ 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