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

Commit 32250e4a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c updates from Wolfram Sang:
 "Quite some driver updates:
   - piix4 can now handle multiplexed adapters
   - brcmstb, xlr, eg20t, designware drivers support more SoCs
   - emev2 gained i2c slave support
   - img-scb and rcar got bigger refactoring to remove issues
   - lots of common driver updates

  i2c core changes:
   - new quirk flag when an adapter does not support clock stretching,
     so clients can be configured to avoid that if possible
   - added a helper function to retrieve timing parameters from firmware
     (with rcar being the first user)
   - "multi-master" DT binding added so drivers can adapt to this
     setting (like disabling PM to keep arbitration working)
   - RuntimePM for the logical adapter device is now always enabled by
     the core to ensure propagation from childs to the parent (the HW
     device)
   - new macro builtin_i2c_driver to reduce boilerplate"

* 'i2c/for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (70 commits)
  i2c: create builtin_i2c_driver to avoid registration boilerplate
  i2c: imx: fix i2c resource leak with dma transfer
  dt-bindings: i2c: eeprom: add another EEPROM device
  dt-bindings: move I2C eeprom descriptions to the proper file
  i2c: designware: Do not require clock when SSCN and FFCN are provided
  DT: i2c: trivial-devices: Add Epson RX8010 and MPL3115
  i2c: s3c2410: remove superfluous runtime PM calls
  i2c: always enable RuntimePM for the adapter device
  i2c: designware: retry transfer on transient failure
  i2c: ibm_iic: rename i2c_timings struct due to clash with generic version
  i2c: designware: Add support for AMD Seattle I2C
  i2c: imx: Remove unneeded comments
  i2c: st: use to_platform_device()
  i2c: designware: use to_pci_dev()
  i2c: brcmstb: Adding support for CM and DSL SoCs
  i2c: mediatek: fix i2c multi transfer issue in high speed mode
  i2c: imx: improve code readability
  i2c: imx: Improve message log when DMA is not used
  i2c: imx: add runtime pm support to improve the performance
  i2c: imx: init bus recovery info before adding i2c adapter
  ...
parents 5339f9d4 c698d639
Loading
Loading
Loading
Loading
+16 −5
Original line number Original line Diff line number Diff line
@@ -2,11 +2,22 @@ EEPROMs (I2C)


Required properties:
Required properties:


  - compatible : should be "<manufacturer>,<type>"
  - compatible : should be "<manufacturer>,<type>", like these:

	"atmel,24c00", "atmel,24c01", "atmel,24c02", "atmel,24c04",
	"atmel,24c08", "atmel,24c16", "atmel,24c32", "atmel,24c64",
	"atmel,24c128", "atmel,24c256", "atmel,24c512", "atmel,24c1024"

	"catalyst,24c32"

	"ramtron,24c64"

	"renesas,r1ex24002"

	 If there is no specific driver for <manufacturer>, a generic
	 If there is no specific driver for <manufacturer>, a generic
	 driver based on <type> is selected. Possible types are:
	 driver based on <type> is selected. Possible types are:
		 24c00, 24c01, 24c02, 24c04, 24c08, 24c16, 24c32, 24c64,
	 "24c00", "24c01", "24c02", "24c04", "24c08", "24c16", "24c32", "24c64",
		 24c128, 24c256, 24c512, 24c1024, spd
	 "24c128", "24c256", "24c512", "24c1024", "spd"


  - reg : the I2C address of the EEPROM
  - reg : the I2C address of the EEPROM


+4 −1
Original line number Original line Diff line number Diff line
@@ -3,7 +3,7 @@ I2C for Atmel platforms
Required properties :
Required properties :
- compatible : Must be "atmel,at91rm9200-i2c", "atmel,at91sam9261-i2c",
- compatible : Must be "atmel,at91rm9200-i2c", "atmel,at91sam9261-i2c",
     "atmel,at91sam9260-i2c", "atmel,at91sam9g20-i2c", "atmel,at91sam9g10-i2c",
     "atmel,at91sam9260-i2c", "atmel,at91sam9g20-i2c", "atmel,at91sam9g10-i2c",
     "atmel,at91sam9x5-i2c" or "atmel,sama5d2-i2c"
     "atmel,at91sam9x5-i2c", "atmel,sama5d4-i2c" or "atmel,sama5d2-i2c"
- reg: physical base address of the controller and length of memory mapped
- reg: physical base address of the controller and length of memory mapped
     region.
     region.
- interrupts: interrupt number to the cpu.
- interrupts: interrupt number to the cpu.
@@ -17,6 +17,8 @@ Optional properties:
- dma-names: should contain "tx" and "rx".
- dma-names: should contain "tx" and "rx".
- atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO
- atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO
  capable I2C controllers.
  capable I2C controllers.
- i2c-sda-hold-time-ns: TWD hold time, only available for "atmel,sama5d4-i2c"
  and "atmel,sama5d2-i2c".
- Child nodes conforming to i2c bus binding
- Child nodes conforming to i2c bus binding


Examples :
Examples :
@@ -52,6 +54,7 @@ i2c0: i2c@f8034600 {
	#size-cells = <0>;
	#size-cells = <0>;
	clocks = <&flx0>;
	clocks = <&flx0>;
	atmel,fifo-size = <16>;
	atmel,fifo-size = <16>;
	i2c-sda-hold-time-ns = <336>;


	wm8731: wm8731@1a {
	wm8731: wm8731@1a {
		compatible = "wm8731";
		compatible = "wm8731";
+1 −1
Original line number Original line Diff line number Diff line
@@ -2,7 +2,7 @@ Broadcom stb bsc iic master controller


Required properties:
Required properties:


- compatible: should be "brcm,brcmstb-i2c"
- compatible: should be "brcm,brcmstb-i2c" or "brcm,brcmper-i2c"
- clock-frequency: 32-bit decimal value of iic master clock freqency in Hz
- clock-frequency: 32-bit decimal value of iic master clock freqency in Hz
		   valid values are 375000, 390000, 187500, 200000
		   valid values are 375000, 390000, 187500, 200000
		   93750, 97500, 46875 and 50000
		   93750, 97500, 46875 and 50000
+4 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,10 @@ Optional properties:
  propoerty indicates the default frequency 100 kHz.
  propoerty indicates the default frequency 100 kHz.
- clocks: clock specifier.
- clocks: clock specifier.


- i2c-scl-falling-time-ns: see i2c.txt
- i2c-scl-internal-delay-ns: see i2c.txt
- i2c-scl-rising-time-ns: see i2c.txt

Examples :
Examples :


i2c0: i2c@e6508000 {
i2c0: i2c@e6508000 {
+31 −5
Original line number Original line Diff line number Diff line
@@ -29,12 +29,38 @@ Optional properties
These properties may not be supported by all drivers. However, if a driver
These properties may not be supported by all drivers. However, if a driver
wants to support one of the below features, it should adapt the bindings below.
wants to support one of the below features, it should adapt the bindings below.


- clock-frequency	- frequency of bus clock in Hz.
- clock-frequency
- wakeup-source		- device can be used as a wakeup source.
	frequency of bus clock in Hz.


- interrupts		- interrupts used by the device.
- i2c-scl-falling-time-ns
- interrupt-names	- "irq" and "wakeup" names are recognized by I2C core,
	Number of nanoseconds the SCL signal takes to fall; t(f) in the I2C
			  other names are left to individual drivers.
	specification.

- i2c-scl-internal-delay-ns
	Number of nanoseconds the IP core additionally needs to setup SCL.

- i2c-scl-rising-time-ns
	Number of nanoseconds the SCL signal takes to rise; t(r) in the I2C
	specification.

- i2c-sda-falling-time-ns
	Number of nanoseconds the SDA signal takes to fall; t(f) in the I2C
	specification.

- interrupts
	interrupts used by the device.

- interrupt-names
	"irq" and "wakeup" names are recognized by I2C core, other names are
	left to individual drivers.

- multi-master
	states that there is another master active on this bus. The OS can use
	this information to adapt power management to keep the arbitration awake
	all the time, for example.

- wakeup-source
	device can be used as a wakeup source.


Binding may contain optional "interrupts" property, describing interrupts
Binding may contain optional "interrupts" property, describing interrupts
used by the device. I2C core will assign "irq" interrupt (or the very first
used by the device. I2C core will assign "irq" interrupt (or the very first
Loading