Commit 70dbb12e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull more i2c updates from Wolfram Sang:
 "Andi was super busy the last weeks, so this pull requests contains one
  series (nomadik) and a number of smaller additions which were ready to
  go but nearly overlooked.

  New feature support:

   - Added support for frequencies up to 3.4 MHz on Nomadik I2C

   - DesignWare now accounts for bus capacitance and clock optimisation
     (declared as new parameters in the binding) to improve the
     calculation of signal rise and fall times (t_high and t_low)

  New Hardware support:

   - DWAPB I2C controller on FUJITSU-MONAKA (new ACPI HID)

   - Allwinner A523 (new compatible ID)

   - Mobileye EyeQ6H (new compatible ID)"

* tag 'i2c-for-6.13-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  MAINTAINERS: transfer i2c-aspeed maintainership from Brendan to Ryan
  i2c: designware: determine HS tHIGH and tLOW based on HW parameters
  dt-bindings: i2c: snps,designware-i2c: declare bus capacitance and clk freq optimized
  i2c: nomadik: support >=1MHz speed modes
  i2c: nomadik: fix BRCR computation
  i2c: nomadik: support Mobileye EyeQ6H I2C controller
  i2c: nomadik: switch from of_device_is_compatible() to of_match_device()
  dt-bindings: i2c: nomadik: support 400kHz < clock-frequency <= 3.4MHz
  dt-bindings: i2c: nomadik: add mobileye,eyeq6h-i2c bindings
  dt-bindings: i2c: mv64xxx: Add Allwinner A523 compatible string
  i2c: designware: Add ACPI HID for DWAPB I2C controller on FUJITSU-MONAKA
  i2c: qup: use generic device property accessors
parents 5d38cb9b 16470f60
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ properties:
              - allwinner,sun50i-a100-i2c
              - allwinner,sun50i-h616-i2c
              - allwinner,sun50i-r329-i2c
              - allwinner,sun55i-a523-i2c
          - const: allwinner,sun8i-v536-i2c
          - const: allwinner,sun6i-a31-i2c
      - const: marvell,mv64xxx-i2c
+18 −0
Original line number Diff line number Diff line
@@ -97,6 +97,22 @@ properties:
      - const: tx
      - const: rx

  snps,bus-capacitance-pf:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      This property indicates the bus capacitance in picofarads (pF).
      This value is used to compute the tHIGH and tLOW periods for high speed
      mode.
    enum: [100, 400]
    default: 100

  snps,clk-freq-optimized:
    description:
      This property indicates whether the hardware reduce its clock frequency
      by reducing the internal latency required to generate the high period and
      low period of SCL line.
    type: boolean

unevaluatedProperties: false

required:
@@ -121,6 +137,8 @@ examples:
      i2c-sda-hold-time-ns = <300>;
      i2c-sda-falling-time-ns = <300>;
      i2c-scl-falling-time-ns = <300>;
      snps,bus-capacitance-pf = <400>;
      snps,clk-freq-optimized;
    };
  - |
    i2c@2000 {
+7 −6
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ select:
        enum:
          - st,nomadik-i2c
          - mobileye,eyeq5-i2c
          - mobileye,eyeq6h-i2c
  required:
    - compatible

@@ -29,15 +30,15 @@ properties:
  compatible:
    oneOf:
      - items:
          - const: st,nomadik-i2c
          - enum:
              - st,nomadik-i2c
              - mobileye,eyeq5-i2c
              - mobileye,eyeq6h-i2c
          - const: arm,primecell
      - items:
          - const: stericsson,db8500-i2c
          - const: st,nomadik-i2c
          - const: arm,primecell
      - items:
          - const: mobileye,eyeq5-i2c
          - const: arm,primecell

  reg:
    maxItems: 1
@@ -54,7 +55,7 @@ properties:
      - items:
          - const: mclk
          - const: apb_pclk
      # Clock name in DB8500 or EyeQ5
      # Clock name in DB8500 or EyeQ
      - items:
          - const: i2cclk
          - const: apb_pclk
@@ -67,7 +68,7 @@ properties:

  clock-frequency:
    minimum: 1
    maximum: 400000
    maximum: 3400000

  mobileye,olb:
    $ref: /schemas/types.yaml#/definitions/phandle-array
+1 −1
Original line number Diff line number Diff line
@@ -2213,7 +2213,7 @@ F: drivers/mmc/host/usdhi6rol0.c
F:	drivers/pinctrl/pinctrl-artpec*
ARM/ASPEED I2C DRIVER
M:	Brendan Higgins <brendanhiggins@google.com>
M:	Ryan Chen <ryan_chen@aspeedtech.com>
R:	Benjamin Herrenschmidt <benh@kernel.crashing.org>
R:	Joel Stanley <joel@jms.id.au>
L:	linux-i2c@vger.kernel.org
+5 −0
Original line number Diff line number Diff line
@@ -382,6 +382,11 @@ int i2c_dw_fw_parse_and_configure(struct dw_i2c_dev *dev)

	i2c_parse_fw_timings(device, t, false);

	if (device_property_read_u32(device, "snps,bus-capacitance-pf", &dev->bus_capacitance_pF))
		dev->bus_capacitance_pF = 100;

	dev->clk_freq_optimized = device_property_read_bool(device, "snps,clk-freq-optimized");

	i2c_dw_adjust_bus_speed(dev);

	if (is_of_node(fwnode))
Loading