Skip to content

Commit 278f1d0

Browse files
committed
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: "Highlights from the I2C subsystem for 3.18: - new drivers for Axxia AM55xx, and Hisilicon hix5hd2 SoC. - designware driver gained AMD support, exynos gained exynos7 support The rest is usual driver stuff. Hopefully no lowlights this time" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: i801: Add Device IDs for Intel Sunrise Point PCH i2c: hix5hd2: add i2c controller driver i2c-imx: Disable the clock on probe failure i2c: designware: Add support for AMD I2C controller i2c: designware: Rework probe() to get clock a bit later i2c: designware: Default to fast mode in case of ACPI i2c: axxia: Add I2C driver for AXM55xx i2c: exynos: add support for HSI2C module on Exynos7 i2c: mxs: detect No Slave Ack on SELECT in PIO mode i2c: cros_ec: Remove EC_I2C_FLAG_10BIT i2c: cros-ec-tunnel: Add of match table i2c: rcar: remove sign-compare flaw i2c: ismt: Use minimum descriptor size i2c: imx: Add arbitration lost check i2c: rk3x: Remove unlikely() annotations i2c: rcar: check for no IRQ in rcar_i2c_irq() i2c: rcar: make rcar_i2c_prepare_msg() *void* i2c: rcar: simplify check for last message i2c: designware: add support of platform data to set I2C mode i2c: designware: add support of I2C standard mode
2 parents d590c6c + 3e27a84 commit 278f1d0

File tree

19 files changed

+1404
-51
lines changed

19 files changed

+1404
-51
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
LSI Axxia I2C
2+
3+
Required properties :
4+
- compatible : Must be "lsi,api2c"
5+
- reg : Offset and length of the register set for the device
6+
- interrupts : the interrupt specifier
7+
- #address-cells : Must be <1>;
8+
- #size-cells : Must be <0>;
9+
- clock-names : Must contain "i2c".
10+
- clocks: Must contain an entry for each name in clock-names. See the common
11+
clock bindings.
12+
13+
Optional properties :
14+
- clock-frequency : Desired I2C bus clock frequency in Hz. If not specified,
15+
the default 100 kHz frequency will be used. As only Normal and Fast modes
16+
are supported, possible values are 100000 and 400000.
17+
18+
Example :
19+
20+
i2c@02010084000 {
21+
compatible = "lsi,api2c";
22+
device_type = "i2c";
23+
#address-cells = <1>;
24+
#size-cells = <0>;
25+
reg = <0x20 0x10084000 0x00 0x1000>;
26+
interrupts = <0 19 4>;
27+
clocks = <&clk_per>;
28+
clock-names = "i2c";
29+
clock-frequency = <400000>;
30+
};

Documentation/devicetree/bindings/i2c/i2c-exynos5.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Required properties:
1212
on Exynos5250 and Exynos5420 SoCs.
1313
-> "samsung,exynos5260-hsi2c", for i2c compatible with HSI2C available
1414
on Exynos5260 SoCs.
15+
-> "samsung,exynos7-hsi2c", for i2c compatible with HSI2C available
16+
on Exynos7 SoCs.
1517

1618
- reg: physical base address of the controller and length of memory mapped
1719
region.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
I2C for Hisilicon hix5hd2 chipset platform
2+
3+
Required properties:
4+
- compatible: Must be "hisilicon,hix5hd2-i2c"
5+
- reg: physical base address of the controller and length of memory mapped
6+
region.
7+
- interrupts: interrupt number to the cpu.
8+
- #address-cells = <1>;
9+
- #size-cells = <0>;
10+
- clocks: phandles to input clocks.
11+
12+
Optional properties:
13+
- clock-frequency: Desired I2C bus frequency in Hz, otherwise defaults to 100000
14+
- Child nodes conforming to i2c bus binding
15+
16+
Examples:
17+
I2C0@f8b10000 {
18+
compatible = "hisilicon,hix5hd2-i2c";
19+
reg = <0xf8b10000 0x1000>;
20+
interrupts = <0 38 4>;
21+
clocks = <&clock HIX5HD2_I2C0_RST>;
22+
#address-cells = <1>;
23+
#size-cells = <0>;
24+
}

Documentation/i2c/busses/i2c-i801

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Supported adapters:
2828
* Intel Wildcat Point (PCH)
2929
* Intel Wildcat Point-LP (PCH)
3030
* Intel BayTrail (SOC)
31+
* Intel Sunrise Point-H (PCH)
3132
Datasheets: Publicly available at the Intel website
3233

3334
On Intel Patsburg and later chipsets, both the normal host SMBus controller

drivers/i2c/busses/Kconfig

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ config I2C_AMD8111
7777
This driver can also be built as a module. If so, the module
7878
will be called i2c-amd8111.
7979

80+
config I2C_HIX5HD2
81+
tristate "Hix5hd2 high-speed I2C driver"
82+
depends on ARCH_HIX5HD2
83+
help
84+
Say Y here to include support for high-speed I2C controller in the
85+
Hisilicon based hix5hd2 SoCs.
86+
87+
This driver can also be built as a module. If so, the module
88+
will be called i2c-hix5hd2.
89+
8090
config I2C_I801
8191
tristate "Intel 82801 (ICH/PCH)"
8292
depends on PCI
@@ -112,6 +122,7 @@ config I2C_I801
112122
Wildcat Point (PCH)
113123
Wildcat Point-LP (PCH)
114124
BayTrail (SOC)
125+
Sunrise Point-H (PCH)
115126

116127
This driver can also be built as a module. If so, the module
117128
will be called i2c-i801.
@@ -337,6 +348,17 @@ config I2C_AU1550
337348
This driver can also be built as a module. If so, the module
338349
will be called i2c-au1550.
339350

351+
config I2C_AXXIA
352+
tristate "Axxia I2C controller"
353+
depends on ARCH_AXXIA || COMPILE_TEST
354+
default ARCH_AXXIA
355+
help
356+
Say yes if you want to support the I2C bus on Axxia platforms.
357+
358+
Please note that this controller is limited to transfers of maximum
359+
255 bytes in length. Any attempt to to a larger transfer will return
360+
an error.
361+
340362
config I2C_BCM2835
341363
tristate "Broadcom BCM2835 I2C controller"
342364
depends on ARCH_BCM2835
@@ -423,6 +445,7 @@ config I2C_DESIGNWARE_CORE
423445
config I2C_DESIGNWARE_PLATFORM
424446
tristate "Synopsys DesignWare Platform"
425447
select I2C_DESIGNWARE_CORE
448+
depends on (ACPI && COMMON_CLK) || !ACPI
426449
help
427450
If you say yes to this option, support will be included for the
428451
Synopsys DesignWare I2C adapter. Only master mode is supported.
@@ -465,7 +488,7 @@ config I2C_EG20T
465488

466489
config I2C_EXYNOS5
467490
tristate "Exynos5 high-speed I2C driver"
468-
depends on ARCH_EXYNOS5 && OF
491+
depends on ARCH_EXYNOS && OF
469492
default y
470493
help
471494
High-speed I2C controller on Exynos5 based Samsung SoCs.

drivers/i2c/busses/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o
3131
# Embedded system I2C/SMBus host controller drivers
3232
obj-$(CONFIG_I2C_AT91) += i2c-at91.o
3333
obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o
34+
obj-$(CONFIG_I2C_AXXIA) += i2c-axxia.o
3435
obj-$(CONFIG_I2C_BCM2835) += i2c-bcm2835.o
3536
obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
3637
obj-$(CONFIG_I2C_CADENCE) += i2c-cadence.o
@@ -47,6 +48,7 @@ obj-$(CONFIG_I2C_EG20T) += i2c-eg20t.o
4748
obj-$(CONFIG_I2C_EXYNOS5) += i2c-exynos5.o
4849
obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o
4950
obj-$(CONFIG_I2C_HIGHLANDER) += i2c-highlander.o
51+
obj-$(CONFIG_I2C_HIX5HD2) += i2c-hix5hd2.o
5052
obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o
5153
obj-$(CONFIG_I2C_IMX) += i2c-imx.o
5254
obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o

0 commit comments

Comments
 (0)