mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'i2c/for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang:
- the core has now a lockless variant of i2c_smbus_xfer. Some open
coded versions of this got removed in drivers. This also enables
proper SCCB support in regmap.
- locking got a more precise naming. i2c_{un}lock_adapter() had to go,
and we know use i2c_lock_bus() consistently with flags like
I2C_LOCK_ROOT_ADAPTER and I2C_LOCK_SEGMENT to avoid ambiguity.
- the gpio fault injector got a new delicate testcase
- the bus recovery procedure got fixed to handle the new testcase
correctly
- a new quirk flag for controllers not able to handle zero length
messages together with driver updates to use it
- new drivers: FSI bus attached I2C masters, GENI I2C controller, Owl
family S900
- and a good set of driver improvements and bugfixes
* 'i2c/for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (77 commits)
i2c: rcar: implement STOP and REP_START according to docs
i2c: rcar: refactor private flags
i2c: core: ACPI: Make acpi_gsb_i2c_read_bytes() check i2c_transfer return value
i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
dt-bindings: i2c: rcar: Add r8a774a1 support
dt-bindings: i2c: sh_mobile: Add r8a774a1 support
i2c: imx: Simplify stopped state tracking
i2c: imx: Fix race condition in dma read
i2c: pasemi: remove hardcoded bus numbers on smbus
i2c: designware: Add SPDX license tag
i2c: designware: Convert to use struct i2c_timings
i2c: core: Parse SDA hold time from firmware
i2c: designware-pcidrv: Mark expected switch fall-through
i2c: amd8111: Mark expected switch fall-through
i2c: sh_mobile: use core to detect 'no zero length read' quirk
i2c: xlr: use core to detect 'no zero length' quirk
i2c: rcar: use core to detect 'no zero length' quirk
i2c: stu300: use core to detect 'no zero length' quirk
i2c: pmcmsp: use core to detect 'no zero length' quirk
i2c: mxs: use core to detect 'no zero length' quirk
...
This commit is contained in:
commit
99cc7ad46b
55 changed files with 2765 additions and 658 deletions
|
|
@ -72,6 +72,8 @@ Optional properties:
|
|||
|
||||
- wp-gpios: GPIO to which the write-protect pin of the chip is connected.
|
||||
|
||||
- address-width: number of address bits (one of 8, 16).
|
||||
|
||||
Example:
|
||||
|
||||
eeprom@52 {
|
||||
|
|
|
|||
40
Documentation/devicetree/bindings/i2c/i2c-fsi.txt
Normal file
40
Documentation/devicetree/bindings/i2c/i2c-fsi.txt
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
Device-tree bindings for FSI-attached I2C master and busses
|
||||
-----------------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible = "ibm,i2c-fsi";
|
||||
- reg = < address size >; : The FSI CFAM address and address
|
||||
space size.
|
||||
- #address-cells = <1>; : Number of address cells in child
|
||||
nodes.
|
||||
- #size-cells = <0>; : Number of size cells in child nodes.
|
||||
- child nodes : Nodes to describe busses off the I2C
|
||||
master.
|
||||
|
||||
Child node required properties:
|
||||
- reg = < port number > : The port number on the I2C master.
|
||||
|
||||
Child node optional properties:
|
||||
- child nodes : Nodes to describe devices on the I2C
|
||||
bus.
|
||||
|
||||
Examples:
|
||||
|
||||
i2c@1800 {
|
||||
compatible = "ibm,i2c-fsi";
|
||||
reg = < 0x1800 0x400 >;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
i2c-bus@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
i2c-bus@1 {
|
||||
reg = <1>;
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "vendor,dev-name";
|
||||
};
|
||||
};
|
||||
};
|
||||
27
Documentation/devicetree/bindings/i2c/i2c-owl.txt
Normal file
27
Documentation/devicetree/bindings/i2c/i2c-owl.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
Actions Semiconductor Owl I2C controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Should be "actions,s900-i2c".
|
||||
- reg : Offset and length of the register set for the device.
|
||||
- #address-cells : Should be 1.
|
||||
- #size-cells : Should be 0.
|
||||
- interrupts : A single interrupt specifier.
|
||||
- clocks : Phandle of the clock feeding the I2C controller.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- clock-frequency : Desired I2C bus clock frequency in Hz. As only Normal and
|
||||
Fast modes are supported, possible values are 100000 and
|
||||
400000.
|
||||
Examples:
|
||||
|
||||
i2c0: i2c@e0170000 {
|
||||
compatible = "actions,s900-i2c";
|
||||
reg = <0 0xe0170000 0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clock CLK_I2C0>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
|
@ -4,6 +4,7 @@ Required properties:
|
|||
- compatible:
|
||||
"renesas,i2c-r8a7743" if the device is a part of a R8A7743 SoC.
|
||||
"renesas,i2c-r8a7745" if the device is a part of a R8A7745 SoC.
|
||||
"renesas,i2c-r8a774a1" if the device is a part of a R8A774A1 SoC.
|
||||
"renesas,i2c-r8a7778" if the device is a part of a R8A7778 SoC.
|
||||
"renesas,i2c-r8a7779" if the device is a part of a R8A7779 SoC.
|
||||
"renesas,i2c-r8a7790" if the device is a part of a R8A7790 SoC.
|
||||
|
|
@ -16,11 +17,13 @@ Required properties:
|
|||
"renesas,i2c-r8a77965" if the device is a part of a R8A77965 SoC.
|
||||
"renesas,i2c-r8a77970" if the device is a part of a R8A77970 SoC.
|
||||
"renesas,i2c-r8a77980" if the device is a part of a R8A77980 SoC.
|
||||
"renesas,i2c-r8a77990" if the device is a part of a R8A77990 SoC.
|
||||
"renesas,i2c-r8a77995" if the device is a part of a R8A77995 SoC.
|
||||
"renesas,rcar-gen1-i2c" for a generic R-Car Gen1 compatible device.
|
||||
"renesas,rcar-gen2-i2c" for a generic R-Car Gen2 or RZ/G1 compatible
|
||||
device.
|
||||
"renesas,rcar-gen3-i2c" for a generic R-Car Gen3 compatible device.
|
||||
"renesas,rcar-gen3-i2c" for a generic R-Car Gen3 or RZ/G2 compatible
|
||||
device.
|
||||
"renesas,i2c-rcar" (deprecated)
|
||||
|
||||
When compatible with the generic version, nodes must list the
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ Required properties:
|
|||
- "renesas,iic-r8a7740" (R-Mobile A1)
|
||||
- "renesas,iic-r8a7743" (RZ/G1M)
|
||||
- "renesas,iic-r8a7745" (RZ/G1E)
|
||||
- "renesas,iic-r8a774a1" (RZ/G2M)
|
||||
- "renesas,iic-r8a7790" (R-Car H2)
|
||||
- "renesas,iic-r8a7791" (R-Car M2-W)
|
||||
- "renesas,iic-r8a7792" (R-Car V2H)
|
||||
|
|
@ -17,7 +18,8 @@ Required properties:
|
|||
- "renesas,iic-sh73a0" (SH-Mobile AG5)
|
||||
- "renesas,rcar-gen2-iic" (generic R-Car Gen2 or RZ/G1
|
||||
compatible device)
|
||||
- "renesas,rcar-gen3-iic" (generic R-Car Gen3 compatible device)
|
||||
- "renesas,rcar-gen3-iic" (generic R-Car Gen3 or RZ/G2
|
||||
compatible device)
|
||||
- "renesas,rmobile-iic" (generic device)
|
||||
|
||||
When compatible with a generic R-Car version, nodes
|
||||
|
|
|
|||
Loading…
Reference in a new issue