Commit ec9187ec authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c updates from Wolfram Sang:
 "Core got a new helper 'i2c_client_get_device_id()', designware got
  some bigger updates, the rest is driver updates all over the place"

* tag 'i2c-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (41 commits)
  i2c: ismt: Fix an out-of-bounds bug in ismt_access()
  i2c: mux: reg: check return value after calling platform_get_resource()
  i2c: xiic: Make sure to disable clock on .remove()
  i2c: hisi: Add support to get clock frequency from clock
  i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
  i2c: slave-eeprom: Convert to i2c's .probe_new()
  i2c: mux: pca954x: Convert to i2c's .probe_new()
  drivers/i2c: use simple i2c probe
  i2c: mux: pca9541: switch to using .probe_new
  i2c: gpio: Fix potential unused warning for 'i2c_gpio_dt_ids'
  i2c: qcom-geni: add support for I2C Master Hub variant
  i2c: qcom-geni: add desc struct to prepare support for I2C Master Hub variant
  soc: qcom: geni-se: add support for I2C Master Hub wrapper variant
  soc: qcom: geni-se: add desc struct to specify clocks from device match data
  dt-bindings: i2c: qcom-geni: document I2C Master Hub serial I2C engine
  dt-bindings: qcom: geni-se: document I2C Master Hub wrapper variant
  dt-bindings: i2c: renesas,riic: Document RZ/Five SoC
  i2c: tegra: Set ACPI node as primary fwnode
  i2c: smbus: add DDR support for SPD
  i2c: /pasemi: PASemi I2C controller IRQ enablement
  ...
parents 785d21ba 39244cc7
Loading
Loading
Loading
Loading
+73 −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/hisilicon,ascend910-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: HiSilicon common I2C controller

maintainers:
  - Yicong Yang <yangyicong@hisilicon.com>

description:
  The HiSilicon common I2C controller can be used for many different
  types of SoC such as Huawei Ascend AI series chips.

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

properties:
  compatible:
    const: hisilicon,ascend910-i2c

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-frequency:
    default: 400000

  i2c-sda-falling-time-ns:
    default: 343

  i2c-scl-falling-time-ns:
    default: 203

  i2c-sda-hold-time-ns:
    default: 830

  i2c-scl-rising-time-ns:
    default: 365

  i2c-digital-filter-width-ns:
    default: 0

required:
  - compatible
  - reg
  - interrupts

unevaluatedProperties: false

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

    i2c@38b0000 {
      compatible = "hisilicon,ascend910-i2c";
      reg = <0x38b0000 0x10000>;
      interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
      i2c-sda-falling-time-ns = <56>;
      i2c-scl-falling-time-ns = <56>;
      i2c-sda-hold-time-ns = <56>;
      i2c-scl-rising-time-ns = <56>;
      i2c-digital-filter;
      i2c-digital-filter-width-ns = <0x0>;
      clocks = <&alg_clk>;
      clock-frequency = <400000>;
    };
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ properties:
      - const: mediatek,mt6577-i2c
      - const: mediatek,mt6589-i2c
      - const: mediatek,mt7622-i2c
      - const: mediatek,mt7986-i2c
      - const: mediatek,mt8168-i2c
      - const: mediatek,mt8173-i2c
      - const: mediatek,mt8183-i2c
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ properties:
      - const: allwinner,sun6i-a31-i2c
      - items:
          - enum:
              - allwinner,suniv-f1c100s-i2c
              - allwinner,sun8i-a23-i2c
              - allwinner,sun8i-a83t-i2c
              - allwinner,sun8i-v536-i2c
+54 −10
Original line number Diff line number Diff line
@@ -10,18 +10,19 @@ maintainers:
  - Andy Gross <agross@kernel.org>
  - Bjorn Andersson <bjorn.andersson@linaro.org>

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

properties:
  compatible:
    const: qcom,geni-i2c
    enum:
      - qcom,geni-i2c
      - qcom,geni-i2c-master-hub

  clocks:
    maxItems: 1
    minItems: 1
    maxItems: 2

  clock-names:
    const: se
    minItems: 1
    maxItems: 2

  clock-frequency:
    default: 100000
@@ -35,13 +36,12 @@ properties:
      - const: rx

  interconnects:
    minItems: 2
    maxItems: 3

  interconnect-names:
    items:
      - const: qup-core
      - const: qup-config
      - const: qup-memory
    minItems: 2
    maxItems: 3

  interrupts:
    maxItems: 1
@@ -71,6 +71,50 @@ required:
  - clock-names
  - reg

allOf:
  - $ref: /schemas/i2c/i2c-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: qcom,geni-i2c-master-hub
    then:
      properties:
        clocks:
          minItems: 2

        clock-names:
          items:
            - const: se
            - const: core

        dmas: false
        dma-names: false

        interconnects:
          maxItems: 2

        interconnect-names:
          items:
            - const: qup-core
            - const: qup-config
    else:
      properties:
        clocks:
          maxItems: 1

        clock-names:
          const: se

        interconnects:
          minItems: 3

        interconnect-names:
          items:
            - const: qup-core
            - const: qup-config
            - const: qup-memory

unevaluatedProperties: false

examples:
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ properties:
      - enum:
          - renesas,riic-r7s72100   # RZ/A1H
          - renesas,riic-r7s9210    # RZ/A2M
          - renesas,riic-r9a07g043  # RZ/G2UL
          - renesas,riic-r9a07g043  # RZ/G2UL and RZ/Five
          - renesas,riic-r9a07g044  # RZ/G2{L,LC}
          - renesas,riic-r9a07g054  # RZ/V2L
      - const: renesas,riic-rz      # RZ/A or RZ/G2L
Loading