Commit dab334c9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c updates from Wolfram Sang:

 - big refactoring of the PASEMI driver to support the Apple M1

 - huge improvements to the XIIC in terms of locking and SMP safety

 - refactoring and clean ups for the i801 driver

... and the usual bunch of small driver updates

* 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (43 commits)
  i2c: amd-mp2-plat: ACPI: Use ACPI_COMPANION() directly
  i2c: i801: Add support for Intel Ice Lake PCH-N
  i2c: virtio: update the maintainer to Conghui
  i2c: xlr: Fix a resource leak in the error handling path of 'xlr_i2c_probe()'
  i2c: qup: move to use request_irq by IRQF_NO_AUTOEN flag
  i2c: qup: fix a trivial typo
  i2c: tegra: Ensure that device is suspended before driver is removed
  i2c: i801: Fix incorrect and needless software PEC disabling
  i2c: mediatek: Dump i2c/dma register when a timeout occurs
  i2c: mediatek: Reset the handshake signal between i2c and dma
  i2c: mlxcpld: Allow flexible polling time setting for I2C transactions
  i2c: pasemi: Set enable bit for Apple variant
  i2c: pasemi: Add Apple platform driver
  i2c: pasemi: Refactor _probe to use devm_*
  i2c: pasemi: Allow to configure bus frequency
  i2c: pasemi: Move common reset code to own function
  i2c: pasemi: Split pci driver to its own file
  i2c: pasemi: Split off common probing code
  i2c: pasemi: Remove usage of pci_dev
  i2c: pasemi: Use dev_name instead of port number
  ...
parents 206825f5 c6f49acb
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -97,6 +97,12 @@ properties:
      - items:
          - const: nxp,se97b
          - const: atmel,24c02
      - items:
          - const: onnn,cat24c04
          - const: atmel,24c04
      - items:
          - const: onnn,cat24c05
          - const: atmel,24c04
      - items:
          - const: renesas,r1ex24002
          - const: atmel,24c02
+61 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/i2c/apple,i2c.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Apple/PASemi I2C controller

maintainers:
  - Sven Peter <sven@svenpeter.dev>

description: |
  Apple SoCs such as the M1 come with a I2C controller based on the one found
  in machines with P. A. Semi's PWRficient processors.
  The bus is used to communicate with e.g. USB PD chips or the speaker
  amp.

allOf:
  - $ref: /schemas/i2c/i2c-controller.yaml#

properties:
  compatible:
    enum:
      - apple,t8103-i2c
      - apple,i2c

  reg:
    maxItems: 1

  clocks:
    items:
      - description: I2C bus reference clock

  interrupts:
    maxItems: 1

  clock-frequency:
    description: |
      Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
      used. This frequency is generated by dividing the reference clock.
      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).

required:
  - compatible
  - reg
  - clocks
  - interrupts

unevaluatedProperties: false

examples:
  - |
    i2c@35010000 {
      compatible = "apple,t8103-i2c";
      reg = <0x35010000 0x4000>;
      interrupt-parent = <&aic>;
      interrupts = <0 627 4>;
      clocks = <&ref_clk>;
      #address-cells = <1>;
      #size-cells = <0>;
    };
+1 −1
Original line number Diff line number Diff line
@@ -20189,7 +20189,7 @@ F: include/uapi/linux/virtio_snd.h
F:	sound/virtio/*
VIRTIO I2C DRIVER
M:	Jie Deng <jie.deng@intel.com>
M:	Conghui Chen <conghui.chen@intel.com>
M:	Viresh Kumar <viresh.kumar@linaro.org>
L:	linux-i2c@vger.kernel.org
L:	virtualization@lists.linux-foundation.org
+15 −1
Original line number Diff line number Diff line
@@ -615,7 +615,10 @@ config I2C_EXYNOS5
	depends on ARCH_EXYNOS || COMPILE_TEST
	default y if ARCH_EXYNOS
	help
	  High-speed I2C controller on Exynos5 and newer Samsung SoCs.
	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
	  Exynos5433 and Exynos7.
	  Choose Y here only if you build for such Samsung SoC.

config I2C_GPIO
	tristate "GPIO-based bitbanging I2C"
@@ -856,6 +859,17 @@ config I2C_PASEMI
	help
	  Supports the PA Semi PWRficient on-chip SMBus interfaces.

config I2C_APPLE
	tristate "Apple SMBus platform driver"
	depends on ARCH_APPLE || COMPILE_TEST
	default ARCH_APPLE
	help
	  Say Y here if you want to use the I2C controller present on Apple
	  Silicon chips such as the M1.

	  This driver can also be built as a module. If so, the module
	  will be called i2c-apple.

config I2C_PCA_PLATFORM
	tristate "PCA9564/PCA9665 as platform device"
	select I2C_ALGOPCA
+3 −0
Original line number Diff line number Diff line
@@ -84,7 +84,10 @@ obj-$(CONFIG_I2C_NPCM7XX) += i2c-npcm7xx.o
obj-$(CONFIG_I2C_OCORES)	+= i2c-ocores.o
obj-$(CONFIG_I2C_OMAP)		+= i2c-omap.o
obj-$(CONFIG_I2C_OWL)		+= i2c-owl.o
i2c-pasemi-objs := i2c-pasemi-core.o i2c-pasemi-pci.o
obj-$(CONFIG_I2C_PASEMI)	+= i2c-pasemi.o
i2c-apple-objs := i2c-pasemi-core.o i2c-pasemi-platform.o
obj-$(CONFIG_I2C_APPLE)	+= i2c-apple.o
obj-$(CONFIG_I2C_PCA_PLATFORM)	+= i2c-pca-platform.o
obj-$(CONFIG_I2C_PNX)		+= i2c-pnx.o
obj-$(CONFIG_I2C_PXA)		+= i2c-pxa.o
Loading