Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02d0a752 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c updates from Wolfram Sang:
 "For 3.14, the I2C subsystem has the following to offer:

   - new drivers for Renesas RIIC and RobotFuzz OSIF
   - driver cleanups & improvements & bugfixes

  Pretty standard stuff this time, I'd say.  There is more complex stuff
  coming up, but I didn't have the bandwidth between the years to pull
  it in for this release.  Sadly"

* 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (26 commits)
  i2c: s3c2410: fix quirk usage for 64-bit
  i2c: pnx: Use devm_*() functions
  i2c: at91: add a new compatibility string for the at91sam9261
  i2c-ismt: support I2C_SMBUS_I2C_BLOCK_DATA transaction type
  i2c: Add bus driver for for OSIF USB i2c device.
  i2c: i2c-tiny-usb: Remove RobotFuzz USB vendor:product ID
  i2c: designware: remove HAVE_CLK build dependecy
  Documentation: i2c: Remove obsolete example
  i2c: nomadik: remove platform data header
  i2c: nomadik: auto-calculate slave setup time
  i2c: viperboard: remove superfluous assignment
  i2c: xilinx: Use devm_* functions
  i2c: xilinx: Do not enable irq before irq handler
  i2c: xilinx: Fix i2c checkpatch warnings
  i2c: at91: document clock properties
  i2c: isch: Use devm_request_region()
  i2c: viperboard: Use devm_kzalloc() functions
  i2c: imx: propagate irq error code in probe
  i2c: s3c2410: dont need CPU_FREQ transitions for exynos series
  i2c: s3c2410: Add polling mode support
  ...
parents fb2e2c85 5f1b1155
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ Required properties :
- interrupts: interrupt number to the cpu.
- #address-cells = <1>;
- #size-cells = <0>;
- clocks: phandles to input clocks.

Optional properties:
- Child nodes conforming to i2c bus binding
@@ -21,6 +22,7 @@ i2c0: i2c@fff84000 {
	interrupts = <12 4 6>;
	#address-cells = <1>;
	#size-cells = <0>;
	clocks = <&twi0_clk>;

	24c512@50 {
		compatible = "24c512";
+50 −0
Original line number Diff line number Diff line
* NXP PCA954x I2C bus switch

Required Properties:

  - compatible: Must contain one of the following.
    "nxp,pca9540", "nxp,pca9542", "nxp,pca9543", "nxp,pca9544",
    "nxp,pca9545", "nxp,pca9546", "nxp,pca9547", "nxp,pca9548"

  - reg: The I2C address of the device.

  The following required properties are defined externally:

  - Standard I2C mux properties. See i2c-mux.txt in this directory.
  - I2C child bus nodes. See i2c-mux.txt in this directory.

Optional Properties:

  - reset-gpios: Reference to the GPIO connected to the reset input.


Example:

	i2c-switch@74 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x74>;

		i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;

			eeprom@54 {
				compatible = "at,24c08";
				reg = <0x54>;
			};
		};

		i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;

			rtc@51 {
				compatible = "nxp,pcf8563";
				reg = <0x51>;
			};
		};
	};
+29 −0
Original line number Diff line number Diff line
Device tree configuration for Renesas RIIC driver

Required properties:
- compatible      : "renesas,riic-<soctype>". "renesas,riic-rz" as fallback
- reg             : address start and address range size of device
- interrupts      : 8 interrupts (TEI, RI, TI, SPI, STI, NAKI, ALI, TMOI)
- clock-frequency : frequency of bus clock in Hz
- #address-cells  : should be <1>
- #size-cells     : should be <0>

Pinctrl properties might be needed, too. See there.

Example:

	i2c0: i2c@fcfee000 {
		compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
		reg = <0xfcfee000 0x44>;
		interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>,
			     <0 158 IRQ_TYPE_EDGE_RISING>,
			     <0 159 IRQ_TYPE_EDGE_RISING>,
			     <0 160 IRQ_TYPE_LEVEL_HIGH>,
			     <0 161 IRQ_TYPE_LEVEL_HIGH>,
			     <0 162 IRQ_TYPE_LEVEL_HIGH>,
			     <0 163 IRQ_TYPE_LEVEL_HIGH>,
			     <0 164 IRQ_TYPE_LEVEL_HIGH>;
		clock-frequency = <100000>;
		#address-cells = <1>;
		#size-cells = <0>;
	};
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ Required properties:
          inside HDMIPHY block found on several samsung SoCs
      (d) "samsung, exynos5440-i2c", for s3c2440-like i2c used
	   on EXYNOS5440 which does not need GPIO configuration.
      (e) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
	   a host to SATA PHY controller on an internal bus.
  - reg: physical base address of the controller and length of memory mapped
    region.
  - interrupts: interrupt number to the cpu.
+0 −3
Original line number Diff line number Diff line
@@ -64,9 +64,6 @@ EINVAL
	detected before any I/O operation was started.  Use a more
	specific fault code when you can.

	One example would be a driver trying an SMBus Block Write
	with block size outside the range of 1-32 bytes.

EIO
	This rather vague error means something went wrong when
	performing an I/O operation.  Use a more specific fault
Loading