xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-s3c2410.txt (revision a4e5e0106ac7145f56eb39a691e302cabb4635be)
1* Samsung's I2C controller
2
3The Samsung's I2C controller is used to interface with I2C devices.
4
5Required properties:
6  - compatible: value should be either of the following.
7      (a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c.
8      (b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c.
9      (c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used
10          inside HDMIPHY block found on several samsung SoCs
11      (d) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
12	   a host to SATA PHY controller on an internal bus.
13  - reg: physical base address of the controller and length of memory mapped
14    region.
15  - interrupts: interrupt number to the cpu.
16  - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.
17
18Required for all cases except "samsung,s3c2440-hdmiphy-i2c":
19  - Samsung GPIO variant (deprecated):
20    - gpios: The order of the gpios should be the following: <SDA, SCL>.
21      The gpio specifier depends on the gpio controller. Required in all
22      cases except for "samsung,s3c2440-hdmiphy-i2c" whose input/output
23      lines are permanently wired to the respective clienta
24  - Pinctrl variant (preferred, if available):
25    - pinctrl-0: Pin control group to be used for this controller.
26    - pinctrl-names: Should contain only one value - "default".
27
28Optional properties:
29  - samsung,i2c-slave-addr: Slave address in multi-master environment. If not
30    specified, default value is 0.
31  - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
32    specified, the default value in Hz is 100000.
33  - samsung,sysreg-phandle - handle to syscon used to control the system registers
34
35Example:
36
37	i2c@13870000 {
38		compatible = "samsung,s3c2440-i2c";
39		reg = <0x13870000 0x100>;
40		interrupts = <345>;
41		samsung,i2c-sda-delay = <100>;
42		samsung,i2c-max-bus-freq = <100000>;
43		/* Samsung GPIO variant begins here */
44		gpios = <&gpd1 2 0 /* SDA */
45			 &gpd1 3 0 /* SCL */>;
46		/* Samsung GPIO variant ends here */
47		/* Pinctrl variant begins here */
48		pinctrl-0 = <&i2c3_bus>;
49		pinctrl-names = "default";
50		/* Pinctrl variant ends here */
51		#address-cells = <1>;
52		#size-cells = <0>;
53
54		wm8994@1a {
55			compatible = "wlf,wm8994";
56			reg = <0x1a>;
57		};
58	};
59