Commit e336aa3c authored by Wolfram Sang's avatar Wolfram Sang
Browse files

Merge tag 'i2c-host-7.1-part1' of...

Merge tag 'i2c-host-7.1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-mergewindow

i2c-host for v7.1, part 1

- generic cleanups in npcm7xx, qcom-cci, xiic and designware DT
  bindings

- atr: use kzalloc_flex for alias pool allocation
- ixp4xx: convert bindings to DT schema
- ocores: use read_poll_timeout_atomic() for polling waits
- qcom-geni: skip extra TX DMA TRE for single read messages
- s3c24xx: validate SMBus block length before using it
- spacemit: refactor xfer path and add K1 PIO support
- tegra: identify DVC and VI with SoC data variants
- tegra: support SoC-specific register offsets
- xiic: switch to devres and generic fw properties
- xiic: skip input clock setup on non-OF systems

rtl9300:
- add per-SoC callbacks and clock support for RTL9607C
- add support for new 50 kHz and 2.5 MHz bus speeds
- general refactoring in preparation for RTL9607C support

New support:
- DesignWare GOOG5000 (ACPI HID)
- Intel Nova Lake (ACPI ID)
- Realtek RTL9607C
- SpacemiT K3 binding
- Tegra410 register layout support
parents 73e65c42 e43f2df3
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
i2c Controller on XScale platforms such as IOP3xx and IXP4xx

Required properties:
- compatible : Must be one of
  "intel,iop3xx-i2c"
  "intel,ixp4xx-i2c";
- reg
- #address-cells = <1>;
- #size-cells = <0>;

Optional properties:
- Child nodes conforming to i2c bus binding

Example:

i2c@c8011000 {
	compatible = "intel,ixp4xx-i2c";
	reg = <0xc8011000 0x18>;
	interrupts = <33 IRQ_TYPE_LEVEL_LOW>;
};
+41 −0
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/intel,ixp4xx-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: I2c Controller on XScale platforms such as IOP3xx and IXP4xx

maintainers:
  - Andi Shyti <andi.shyti@kernel.org>

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

properties:
  compatible:
    enum:
      - intel,iop3xx-i2c
      - intel,ixp4xx-i2c

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg

unevaluatedProperties: false

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

    i2c@c8011000 {
        compatible = "intel,ixp4xx-i2c";
        reg = <0xc8011000 0x18>;
        interrupts = <33 IRQ_TYPE_LEVEL_LOW>;
    };
+15 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ description:
  assigned to either I2C controller.
  RTL9310 SoCs have equal capabilities but support 12 common SDA lines which
  can be assigned to either I2C controller.
  RTL9607C SoCs have equal capabilities but each controller only supports 1
  SCL/SDA line.

properties:
  compatible:
@@ -34,6 +36,7 @@ properties:
      - enum:
          - realtek,rtl9301-i2c
          - realtek,rtl9310-i2c
          - realtek,rtl9607-i2c

  reg:
    items:
@@ -51,6 +54,9 @@ properties:
      The SCL line number of this I2C controller.
    enum: [ 0, 1 ]

  clocks:
    maxItems: 1

patternProperties:
  '^i2c@[0-9ab]$':
    $ref: /schemas/i2c/i2c-controller.yaml
@@ -81,6 +87,15 @@ allOf:
    then:
      patternProperties:
        '^i2c@[89ab]$': false
  - if:
      properties:
        compatible:
          contains:
            const: realtek,rtl9607-i2c
    then:
      required:
        - realtek,scl
        - clocks

required:
  - compatible
+0 −2
Original line number Diff line number Diff line
@@ -32,8 +32,6 @@ properties:
          - const: renesas,r9a06g032-i2c  # RZ/N1D
          - const: renesas,rzn1-i2c       # RZ/N1
          - const: snps,designware-i2c
      - description: Baikal-T1 SoC System I2C controller
        const: baikal,bt1-sys-i2c
      - description: Mobileye EyeQ DesignWare I2C controller
        items:
          - enum:
+5 −1
Original line number Diff line number Diff line
@@ -14,7 +14,11 @@ allOf:

properties:
  compatible:
    const: spacemit,k1-i2c
    oneOf:
      - items:
          - const: spacemit,k3-i2c
          - const: spacemit,k1-i2c
      - const: spacemit,k1-i2c

  reg:
    maxItems: 1
Loading