i2c-s3c2410.txt 2.2 KB
Newer Older
1 2 3 4 5 6 7 8
* Samsung's I2C controller

The Samsung's I2C controller is used to interface with I2C devices.

Required properties:
  - compatible: value should be either of the following.
      (a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c.
      (b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c.
9 10
      (c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used
          inside HDMIPHY block found on several samsung SoCs
11 12
      (d) "samsung, exynos5440-i2c", for s3c2440-like i2c used
	   on EXYNOS5440 which does not need GPIO configuration.
13 14
      (e) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
	   a host to SATA PHY controller on an internal bus.
15 16 17 18 19
  - reg: physical base address of the controller and length of memory mapped
    region.
  - interrupts: interrupt number to the cpu.
  - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.

20 21 22 23 24 25 26 27 28 29
Required for all cases except "samsung,s3c2440-hdmiphy-i2c":
  - Samsung GPIO variant (deprecated):
    - gpios: The order of the gpios should be the following: <SDA, SCL>.
      The gpio specifier depends on the gpio controller. Required in all
      cases except for "samsung,s3c2440-hdmiphy-i2c" whose input/output
      lines are permanently wired to the respective clienta
  - Pinctrl variant (preferred, if available):
    - pinctrl-0: Pin control group to be used for this controller.
    - pinctrl-names: Should contain only one value - "default".

30
Optional properties:
31
  - samsung,i2c-slave-addr: Slave address in multi-master environment. If not
32 33 34 35 36 37 38 39 40 41 42 43
    specified, default value is 0.
  - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
    specified, the default value in Hz is 100000.

Example:

	i2c@13870000 {
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13870000 0x100>;
		interrupts = <345>;
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <100000>;
44
		/* Samsung GPIO variant begins here */
45 46
		gpios = <&gpd1 2 0 /* SDA */
			 &gpd1 3 0 /* SCL */>;
47 48 49 50 51
		/* Samsung GPIO variant ends here */
		/* Pinctrl variant begins here */
		pinctrl-0 = <&i2c3_bus>;
		pinctrl-names = "default";
		/* Pinctrl variant ends here */
52 53 54 55 56 57 58 59
		#address-cells = <1>;
		#size-cells = <0>;

		wm8994@1a {
			compatible = "wlf,wm8994";
			reg = <0x1a>;
		};
	};