Commit b5df4b5c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c updates from Wolfram Sang:

 - if a host can be a client, too, the I2C core can now use it to
   emulate SMBus HostNotify support (STM32 and R-Car added this so far)

 - also for client mode, a testunit has been added. It can create rare
   situations on the bus, so host controllers can be tested

 - a binding has been added to mark the bus as "single-master". This
   allows for better timeout detections

 - new driver for Mellanox Bluefield

 - massive refactoring of the Tegra driver

 - EEPROMs recognized by the at24 driver can now have custom names

 - rest is driver updates

* 'i2c/for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (80 commits)
  Documentation: i2c: add testunit docs to index
  i2c: tegra: Improve driver module description
  i2c: tegra: Clean up whitespaces, newlines and indentation
  i2c: tegra: Clean up and improve comments
  i2c: tegra: Clean up printk messages
  i2c: tegra: Clean up variable names
  i2c: tegra: Improve formatting of variables
  i2c: tegra: Check errors for both positive and negative values
  i2c: tegra: Factor out hardware initialization into separate function
  i2c: tegra: Factor out register polling into separate function
  i2c: tegra: Factor out packet header setup from tegra_i2c_xfer_msg()
  i2c: tegra: Factor out error recovery from tegra_i2c_xfer_msg()
  i2c: tegra: Rename wait/poll functions
  i2c: tegra: Remove "dma" variable from tegra_i2c_xfer_msg()
  i2c: tegra: Remove redundant check in tegra_i2c_issue_bus_clear()
  i2c: tegra: Remove likely/unlikely from the code
  i2c: tegra: Remove outdated barrier()
  i2c: tegra: Clean up variable types
  i2c: tegra: Reorder location of functions in the code
  i2c: tegra: Clean up probe function
  ...
parents ed7cfefe 40daf09a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -114,6 +114,9 @@ properties:
          - const: renesas,r1ex24128
          - const: atmel,24c128

  label:
    description: Descriptive name of the EEPROM.

  reg:
    maxItems: 1

+23 −6
Original line number Diff line number Diff line
@@ -9,12 +9,18 @@ title: Freescale Low Power Inter IC (LPI2C) for i.MX
maintainers:
  - Anson Huang <Anson.Huang@nxp.com>

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

properties:
  compatible:
    enum:
    oneOf:
      - enum:
          - fsl,imx7ulp-lpi2c
      - fsl,imx8qxp-lpi2c
          - fsl,imx8qm-lpi2c
      - items:
          - const: fsl,imx8qxp-lpi2c
          - const: fsl,imx7ulp-lpi2c

  reg:
    maxItems: 1
@@ -22,23 +28,34 @@ properties:
  interrupts:
    maxItems: 1

  assigned-clock-parents: true
  assigned-clock-rates: true
  assigned-clocks: true
  clock-frequency: true

  clock-names:
    maxItems: 1

  clocks:
    maxItems: 1

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx7ulp-clock.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    lpi2c7@40a50000 {
    i2c@40a50000 {
        compatible = "fsl,imx7ulp-lpi2c";
        reg = <0x40A50000 0x10000>;
        interrupt-parent = <&intc>;
+7 −1
Original line number Diff line number Diff line
@@ -9,6 +9,9 @@ title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
maintainers:
  - Wolfram Sang <wolfram@the-dreams.de>

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

properties:
  compatible:
    oneOf:
@@ -18,6 +21,9 @@ properties:
      - items:
          - const: fsl,imx35-i2c
          - const: fsl,imx1-i2c
      - items:
          - const: fsl,imx7d-i2c
          - const: fsl,imx21-i2c
      - items:
          - enum:
              - fsl,imx25-i2c
@@ -75,7 +81,7 @@ required:
  - interrupts
  - clocks

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
+5 −0
Original line number Diff line number Diff line
@@ -87,6 +87,11 @@ wants to support one of the below features, it should adapt these bindings.
	this information to detect a stalled bus more reliably, for example.
	Can not be combined with 'multi-master'.

- smbus
	states that additional SMBus restrictions and features apply to this bus.
	Examples of features are SMBusHostNotify and SMBusAlert. Examples of
	restrictions are more reserved addresses and timeout definitions.

Required properties (per child device)
--------------------------------------

+8 −4
Original line number Diff line number Diff line
@@ -17,9 +17,13 @@ properties:
    pattern: "^i2c@[0-9a-f]+$"

  compatible:
    enum:
      - ingenic,jz4780-i2c
    oneOf:
      - enum:
        - ingenic,jz4770-i2c
        - ingenic,x1000-i2c
      - items:
        - const: ingenic,jz4780-i2c
        - const: ingenic,jz4770-i2c

  reg:
    maxItems: 1
@@ -60,7 +64,7 @@ examples:
    #include <dt-bindings/dma/jz4780-dma.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c@10054000 {
      compatible = "ingenic,jz4780-i2c";
      compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
      #address-cells = <1>;
      #size-cells = <0>;
      reg = <0x10054000 0x1000>;
Loading