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

Commit 14b73072 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c updates from Wilfram Sang:
 "I2C has the following updates for you:

   - an immutable cross-subsystem branch fixing PMIC access on Intel
     Baytrail

   - bigger driver updates to the designware, meson, exynos5 drivers

   - new i2c_acpi_new_device() function to create devices from ACPI

   - struct i2c_driver has now a flag 'disable_i2c_core_irq_mapping' to
     allow custom IRQ mapping in case the default does not fit

   - mux subsystem centralized error messages in its core

   - new driver for ltc4306 i2c mux

   - usual set of small updates"

* 'i2c/for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (44 commits)
  i2c: thunderx: Enable HWMON class probing
  i2c: rcar: clarify PM handling with more comments
  i2c: rcar: fix resume by always initializing registers before transfer
  i2c: tegra: fix spelling mistake: "contoller" -> "controller"
  i2c: exynos5: use core helper to get driver data
  i2c: exynos5: de-duplicate error logs on clock setup
  i2c: exynos5: simplify clock frequency handling
  i2c: exynos5: simplify timings calculation
  i2c: designware-baytrail: fix potential null pointer dereference on dev
  i2c: designware: Get selected speed mode sda-hold-time via ACPI
  [media] cx231xx: stop double error reporting
  i2c: core: Allow drivers to disable i2c-core irq mapping
  i2c: core: Add new i2c_acpi_new_device helper function
  i2c: core: Allow getting ACPI info by index
  i2c: img-scb: use setup_timer
  i2c: i2c-scmi: add a MS HID
  i2c: mux: ltc4306: LTC4306 and LTC4305 I2C multiplexer/switch
  dt-bindings: i2c: mux: ltc4306: Add dt-bindings for I2C multiplexer/switch
  i2c: mux: reg: stop double error reporting
  i2c: mux: pinctrl: stop double error reporting
  ...
parents d26f552e 889ef45c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ Required properties:
 - #address-cells: should be <1>
 - #size-cells: should be <0>

For details regarding the following core I2C bindings see also i2c.txt.

Optional properties:
- clock-frequency: the desired I2C bus clock frequency in Hz; in
  absence of this property the default value is used (100 kHz).
+61 −0
Original line number Diff line number Diff line
* Linear Technology / Analog Devices I2C bus switch

Required Properties:

  - compatible: Must contain one of the following.
    "lltc,ltc4305", "lltc,ltc4306"
  - 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:

  - enable-gpios: Reference to the GPIO connected to the enable input.
  - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
    children in idle state. This is necessary for example, if there are several
    multiplexers on the bus and the devices behind them use same I2C addresses.
  - gpio-controller: Marks the device node as a GPIO Controller.
  - #gpio-cells: Should be two.  The first cell is the pin number and
	the second cell is used to specify flags.
	See ../gpio/gpio.txt for more information.
  - ltc,downstream-accelerators-enable: Enables the rise time accelerators
	on the downstream port.
  - ltc,upstream-accelerators-enable: Enables the rise time accelerators
	on the upstream port.

Example:

	ltc4306: i2c-mux@4a {
		compatible = "lltc,ltc4306";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x4a>;

		gpio-controller;
		#gpio-cells = <2>;

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

			eeprom@50 {
				compatible = "at,24c02";
				reg = <0x50>;
			};
		};

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

			eeprom@50 {
				compatible = "at,24c02";
				reg = <0x50>;
			};
		};
	};
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ Required properties :
   - "rockchip,rk3188-i2c": for rk3188
   - "rockchip,rk3228-i2c": for rk3228
   - "rockchip,rk3288-i2c": for rk3288
   - "rockchip,rk3328-i2c", "rockchip,rk3399-i2c": for rk3328
   - "rockchip,rk3399-i2c": for rk3399
 - interrupts : interrupt number
 - clocks: See ../clock/clock-bindings.txt
+8 −0
Original line number Diff line number Diff line
@@ -7775,6 +7775,14 @@ S: Maintained
F:	Documentation/hwmon/ltc4261
F:	drivers/hwmon/ltc4261.c

LTC4306 I2C MULTIPLEXER DRIVER
M:	Michael Hennerich <michael.hennerich@analog.com>
W:	http://ez.analog.com/community/linux-device-drivers
L:	linux-i2c@vger.kernel.org
S:	Supported
F:	drivers/i2c/muxes/i2c-mux-ltc4306.c
F:	Documentation/devicetree/bindings/i2c/i2c-mux-ltc4306.txt

LTP (Linux Test Project)
M:	Mike Frysinger <vapier@gentoo.org>
M:	Cyril Hrubis <chrubis@suse.cz>
+2 −1
Original line number Diff line number Diff line
@@ -933,6 +933,7 @@ config I2C_TEGRA
config I2C_TEGRA_BPMP
	tristate "NVIDIA Tegra BPMP I2C controller"
	depends on TEGRA_BPMP
	default y
	help
	  If you say yes to this option, support will be included for the I2C
	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
@@ -1021,7 +1022,7 @@ config I2C_XLR

config I2C_XLP9XX
	tristate "XLP9XX I2C support"
	depends on CPU_XLP || ARCH_VULCAN || COMPILE_TEST
	depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
	help
	  This driver enables support for the on-chip I2C interface of
	  the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
Loading