Skip to content

Commit fba676b

Browse files
committed
Merge tag 'i2c-for-7.1-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: "The biggest news in this pull request is that it will start the last cycle of me handling the I2C subsystem. From 7.2. on, I will pass maintainership to Andi Shyti who has been maintaining the I2C drivers for a while now and who has done a great job in doing so. We will use this cycle for a hopefully smooth transition. Thanks must go to Andi for stepping up! I will still be around for guidance. Updates: - 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 - various minor improvements in other drivers 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" * tag 'i2c-for-7.1-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (40 commits) i2c: usbio: Add ACPI device-id for NVL platforms i2c: qcom-geni: Avoid extra TX DMA TRE for single read message in GPI mode i2c: atr: use kzalloc_flex i2c: spacemit: introduce pio for k1 i2c: spacemit: move i2c_xfer_msg() i2c: xiic: skip input clock setup on non-OF systems i2c: xiic: use numbered adapter registration i2c: xiic: cosmetic: use resource format specifier in debug log i2c: xiic: cosmetic cleanup i2c: xiic: switch to generic device property accessors i2c: xiic: remove duplicate error message i2c: xiic: switch to devres managed APIs i2c: rtl9300: add RTL9607C i2c controller support i2c: rtl9300: introduce new function properties to driver data i2c: rtl9300: introduce clk struct for upcoming rtl9607 support dt-bindings: i2c: realtek,rtl9301-i2c: extend for clocks and RTL9607C support i2c: rtl9300: introduce a property for 8 bit width reg address i2c: rtl9300: introduce F_BUSY to the reg_fields struct i2c: rtl9300: introduce max length property to driver data i2c: rtl9300: split data_reg into read and write reg ...
2 parents 1e76965 + e336aa3 commit fba676b

24 files changed

Lines changed: 970 additions & 393 deletions

Documentation/devicetree/bindings/i2c/i2c-iop3xx.txt

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/intel,ixp4xx-i2c.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: I2c Controller on XScale platforms such as IOP3xx and IXP4xx
8+
9+
maintainers:
10+
- Andi Shyti <andi.shyti@kernel.org>
11+
12+
allOf:
13+
- $ref: /schemas/i2c/i2c-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- intel,iop3xx-i2c
19+
- intel,ixp4xx-i2c
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
required:
28+
- compatible
29+
- reg
30+
31+
unevaluatedProperties: false
32+
33+
examples:
34+
- |
35+
#include <dt-bindings/interrupt-controller/irq.h>
36+
37+
i2c@c8011000 {
38+
compatible = "intel,ixp4xx-i2c";
39+
reg = <0xc8011000 0x18>;
40+
interrupts = <33 IRQ_TYPE_LEVEL_LOW>;
41+
};

Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,15 @@ properties:
2727
- items:
2828
- enum:
2929
- qcom,kaanapali-cci
30+
- qcom,milos-cci
3031
- qcom,qcm2290-cci
3132
- qcom,qcs8300-cci
3233
- qcom,sa8775p-cci
3334
- qcom,sc7280-cci
3435
- qcom,sc8280xp-cci
3536
- qcom,sdm670-cci
3637
- qcom,sdm845-cci
38+
- qcom,sm6150-cci
3739
- qcom,sm6350-cci
3840
- qcom,sm8250-cci
3941
- qcom,sm8450-cci
@@ -251,6 +253,7 @@ allOf:
251253
contains:
252254
enum:
253255
- qcom,sa8775p-cci
256+
- qcom,sm6150-cci
254257
- qcom,sm8550-cci
255258
- qcom,sm8650-cci
256259
- qcom,x1e80100-cci
@@ -265,6 +268,23 @@ allOf:
265268
- const: cpas_ahb
266269
- const: cci
267270

271+
- if:
272+
properties:
273+
compatible:
274+
contains:
275+
enum:
276+
- qcom,milos-cci
277+
then:
278+
properties:
279+
clocks:
280+
minItems: 3
281+
maxItems: 3
282+
clock-names:
283+
items:
284+
- const: soc_ahb
285+
- const: cpas_ahb
286+
- const: cci
287+
268288
additionalProperties: false
269289

270290
examples:

Documentation/devicetree/bindings/i2c/realtek,rtl9301-i2c.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ description:
1515
assigned to either I2C controller.
1616
RTL9310 SoCs have equal capabilities but support 12 common SDA lines which
1717
can be assigned to either I2C controller.
18+
RTL9607C SoCs have equal capabilities but each controller only supports 1
19+
SCL/SDA line.
1820

1921
properties:
2022
compatible:
@@ -34,6 +36,7 @@ properties:
3436
- enum:
3537
- realtek,rtl9301-i2c
3638
- realtek,rtl9310-i2c
39+
- realtek,rtl9607-i2c
3740

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

57+
clocks:
58+
maxItems: 1
59+
5460
patternProperties:
5561
'^i2c@[0-9ab]$':
5662
$ref: /schemas/i2c/i2c-controller.yaml
@@ -81,6 +87,15 @@ allOf:
8187
then:
8288
patternProperties:
8389
'^i2c@[89ab]$': false
90+
- if:
91+
properties:
92+
compatible:
93+
contains:
94+
const: realtek,rtl9607-i2c
95+
then:
96+
required:
97+
- realtek,scl
98+
- clocks
8499

85100
required:
86101
- compatible

Documentation/devicetree/bindings/i2c/renesas,riic.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
- items:
2626
- enum:
2727
- renesas,riic-r9a08g045 # RZ/G3S
28+
- renesas,riic-r9a08g046 # RZ/G3L
2829
- renesas,riic-r9a09g047 # RZ/G3E
2930
- renesas,riic-r9a09g056 # RZ/V2N
3031
- const: renesas,riic-r9a09g057 # RZ/V2H(P)

Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ properties:
3232
- const: renesas,r9a06g032-i2c # RZ/N1D
3333
- const: renesas,rzn1-i2c # RZ/N1
3434
- const: snps,designware-i2c
35-
- description: Baikal-T1 SoC System I2C controller
36-
const: baikal,bt1-sys-i2c
3735
- description: Mobileye EyeQ DesignWare I2C controller
3836
items:
3937
- enum:

Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ allOf:
1414

1515
properties:
1616
compatible:
17-
const: spacemit,k1-i2c
17+
oneOf:
18+
- items:
19+
- const: spacemit,k3-i2c
20+
- const: spacemit,k1-i2c
21+
- const: spacemit,k1-i2c
1822

1923
reg:
2024
maxItems: 1

drivers/i2c/busses/Kconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,8 +1211,7 @@ config I2C_SYNQUACER
12111211

12121212
config I2C_TEGRA
12131213
tristate "NVIDIA Tegra internal I2C controller"
1214-
depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
1215-
# COMPILE_TEST needs architectures with readsX()/writesX() primitives
1214+
depends on ARCH_TEGRA || COMPILE_TEST
12161215
depends on PINCTRL
12171216
# ARCH_TEGRA implies PINCTRL, but the COMPILE_TEST side doesn't.
12181217
help

drivers/i2c/busses/i2c-cp2615.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,7 @@ static struct i2c_adapter_quirks cp2615_i2c_quirks = {
270270
.max_comb_2nd_msg_len = MAX_I2C_SIZE
271271
};
272272

273-
static void
274-
cp2615_i2c_remove(struct usb_interface *usbif)
273+
static void cp2615_i2c_disconnect(struct usb_interface *usbif)
275274
{
276275
struct i2c_adapter *adap = usb_get_intfdata(usbif);
277276

@@ -328,7 +327,7 @@ MODULE_DEVICE_TABLE(usb, id_table);
328327
static struct usb_driver cp2615_i2c_driver = {
329328
.name = "i2c-cp2615",
330329
.probe = cp2615_i2c_probe,
331-
.disconnect = cp2615_i2c_remove,
330+
.disconnect = cp2615_i2c_disconnect,
332331
.id_table = id_table,
333332
};
334333

drivers/i2c/busses/i2c-designware-platdrv.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ static const struct acpi_device_id dw_i2c_acpi_match[] = {
268268
{ "AMDI0510", 0 },
269269
{ "APMC0D0F", 0 },
270270
{ "FUJI200B", 0 },
271+
{ "GOOG5000", 0 },
271272
{ "HISI02A1", 0 },
272273
{ "HISI02A2", 0 },
273274
{ "HISI02A3", 0 },

0 commit comments

Comments
 (0)