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

 - 'remove' callback converted to return void. Big change with trivial
   fixes all over the tree. Other subsystems depending on this change
   have been asked to pull an immutable topic branch for this.

 - new driver for Microchip PCI1xxxx switch

 - heavy refactoring of the Mellanox BlueField driver

 - we prefer async probe in the i801 driver now

 - the rest is usual driver updates (support for more SoCs, some
   refactoring, some feature additions)

* tag 'i2c-for-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (37 commits)
  i2c: pci1xxxx: prevent signed integer overflow
  i2c: acpi: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
  i2c: i801: Prefer async probe
  i2c: designware-pci: Use standard pattern for memory allocation
  i2c: designware-pci: Group AMD NAVI quirk parts together
  i2c: microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch
  docs: i2c: slave-interface: return errno when handle I2C_SLAVE_WRITE_REQUESTED
  i2c: mlxbf: remove device tree support
  i2c: mlxbf: support BlueField-3 SoC
  i2c: cadence: Add standard bus recovery support
  i2c: mlxbf: add multi slave functionality
  i2c: mlxbf: support lock mechanism
  macintosh/ams: Adapt declaration of ams_i2c_remove() to earlier change
  i2c: riic: Use devm_platform_ioremap_resource()
  i2c: mlxbf: remove IRQF_ONESHOT
  dt-bindings: i2c: rockchip: add rockchip,rk3128-i2c
  dt-bindings: i2c: renesas,rcar-i2c: Add r8a779g0 support
  i2c: tegra: Add GPCDMA support
  i2c: scmi: Convert to be a platform driver
  i2c: rk3x: Add rv1126 support
  ...
parents 0326074f 228336f5
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ properties:
              - fsl,imx8dxl-lpi2c
              - fsl,imx8qm-lpi2c
              - fsl,imx8ulp-lpi2c
              - fsl,imx93-lpi2c
          - const: fsl,imx7ulp-lpi2c

  reg:
@@ -37,10 +38,22 @@ properties:
  clock-frequency: true

  clock-names:
    maxItems: 1
    items:
      - const: per
      - const: ipg

  clocks:
    maxItems: 1
    maxItems: 2

  dmas:
    items:
      - description: DMA controller phandle and request line for TX
      - description: DMA controller phandle and request line for RX

  dma-names:
    items:
      - const: tx
      - const: rx

  power-domains:
    maxItems: 1
@@ -63,5 +76,6 @@ examples:
        reg = <0x40A50000 0x10000>;
        interrupt-parent = <&intc>;
        interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clks IMX7ULP_CLK_LPI2C7>;
        clocks = <&clks IMX7ULP_CLK_LPI2C7>,
                 <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
    };
+11 −0
Original line number Diff line number Diff line
@@ -18,6 +18,17 @@ properties:
      - const: fsl,imx1-i2c
      - const: fsl,imx21-i2c
      - const: fsl,vf610-i2c
      - items:
          - enum:
              - fsl,ls1012a-i2c
              - fsl,ls1021a-i2c
              - fsl,ls1028a-i2c
              - fsl,ls1043a-i2c
              - fsl,ls1046a-i2c
              - fsl,ls1088a-i2c
              - fsl,ls208xa-i2c
              - fsl,lx2160a-i2c
          - const: fsl,vf610-i2c
      - items:
          - const: fsl,imx35-i2c
          - const: fsl,imx1-i2c
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ properties:
      - items:
          - enum:
              - rockchip,rk3036-i2c
              - rockchip,rk3128-i2c
              - rockchip,rk3368-i2c
          - const: rockchip,rk3288-i2c
      - items:
+13 −0
Original line number Diff line number Diff line
@@ -66,6 +66,19 @@ properties:
  resets:
    maxItems: 1

  dmas:
    items:
      - description: RX DMA Channel
      - description: TX DMA Channel

  dma-names:
    items:
      - const: rx
      - const: tx

dependencies:
  dmas: [ dma-names ]

required:
  - compatible
  - reg
+0 −77
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mellanox I2C SMBus on BlueField SoCs

maintainers:
  - Khalil Blaiech <kblaiech@nvidia.com>

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

properties:
  compatible:
    enum:
      - mellanox,i2c-mlxbf1
      - mellanox,i2c-mlxbf2

  reg:
    minItems: 3
    items:
      - description: Smbus block registers
      - description: Cause master registers
      - description: Cause slave registers
      - description: Cause coalesce registers

  interrupts:
    maxItems: 1

  clock-frequency:
    enum: [ 100000, 400000, 1000000 ]
    description:
      bus frequency used to configure timing registers;
      The frequency is expressed in Hz. Default is 100000.

required:
  - compatible
  - reg
  - interrupts

unevaluatedProperties: false

if:
  properties:
    compatible:
      contains:
        enum:
          - mellanox,i2c-mlxbf1

then:
  properties:
    reg:
      maxItems: 3

examples:
  - |
    i2c@2804000 {
        compatible = "mellanox,i2c-mlxbf1";
        reg = <0x02804000 0x800>,
              <0x02801200 0x020>,
              <0x02801260 0x020>;
        interrupts = <57>;
        clock-frequency = <100000>;
    };

  - |
    i2c@2808800 {
        compatible = "mellanox,i2c-mlxbf2";
        reg = <0x02808800 0x600>,
              <0x02808e00 0x020>,
              <0x02808e20 0x020>,
              <0x02808e40 0x010>;
        interrupts = <57>;
        clock-frequency = <400000>;
    };
Loading