Skip to content

Commit 883e3c9

Browse files
committed
Merge tag 'i2c-for-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: "Core updates: - move towards using the 'fwnode' handle instead of 'of_node' (meaning 'of_node' even gets removed from i2c_board_info) - add support for Write Disable-aware SPD eeproms - minor stuff (use new helpers, typo fixes) i2c-atr (address translator) updates: - support per-channel alias pools - added support for dynamic address translation (also adds FPC202 driver as its user) - add 'static' and 'passthrough' flags Cleanups and refactorings - Many drivers switched to dev_err_probe() - Generic cleanups applied to designware, iproc, ismt, mlxbf, npcm7xx, qcom-geni, pasemi, and thunderx - davinci: declare I2C mangling support among I2C features - designware: clean up DTS handling - designware: fix PM runtime on driver unregister - imx: improve error logging during probe - lpc2k: improve checks in probe error path - xgene-slimpro: improve PCC shared memory handling - pasemi: improve error handling in reset, smbus clear, timeouts - tegra: validate buffer length during transfers - wmt: convert binding to YAML format Improvements and extended support: - microchip-core: add SMBus support - mlxbf: add support for repeated start in block transfers - mlxbf: improve timer configuration - npcm: attempt clock toggle recovery before failing init - octeon: add support for block mode operations - pasemi: add support for unjam device feature - riic: add support for bus recovery New device support: - MediaTek Dimensity 1200 (MT6893) - Sophgo SG2044 - Renesas RZ/V2N (R9A09G056) - Rockchip RK3528 - AMD ISP (new driver)" * tag 'i2c-for-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (89 commits) i2c: Use str_read_write() helper i2c: mlxbf: avoid 64-bit division i2c: viai2c-wmt: Replace dev_err() with dev_err_probe() in probe function i2c: designware: Don't warn about missing get_clk_rate_khz i2c: designware: Invoke runtime suspend on quick slave re-registration i2c-mlxbf: Improve I2C bus timing configuration i2c-mlxbf: Add repeated start condition support i2c: xgene-slimpro: Replace dev_err() with dev_err_probe() in probe function dt-bindings: i2c: i2c-wmt: Convert to YAML i2c: microchip-corei2c: add smbus support i2c: mlxbf: Allow build with COMPILE_TEST i2c: I2C_DESIGNWARE_AMDISP should depend on DRM_AMD_ISP i2c: atr: add passthrough flag i2c: atr: add static flag i2c: atr: allow replacing mappings in attach_addr() i2c: atr: deduplicate logic in attach_addr() i2c: atr: do not create mapping in detach_addr() i2c: atr: split up i2c_atr_get_mapping_by_addr() i2c: atr: find_mapping() -> get_mapping() i2c: atr: Fix lockdep for nested ATRs ...
2 parents eafd95e + 17b7d78 commit 883e3c9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2124
-662
lines changed

Documentation/devicetree/bindings/i2c/i2c-mt65xx.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ properties:
5252
- const: mediatek,mt8173-i2c
5353
- items:
5454
- enum:
55+
- mediatek,mt6893-i2c
5556
- mediatek,mt8195-i2c
5657
- const: mediatek,mt8192-i2c
5758

Documentation/devicetree/bindings/i2c/i2c-rk3x.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ properties:
3737
- rockchip,px30-i2c
3838
- rockchip,rk3308-i2c
3939
- rockchip,rk3328-i2c
40+
- rockchip,rk3528-i2c
4041
- rockchip,rk3562-i2c
4142
- rockchip,rk3568-i2c
4243
- rockchip,rk3576-i2c

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

Lines changed: 0 additions & 24 deletions
This file was deleted.

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ properties:
2929
- enum:
3030
- renesas,riic-r9a08g045 # RZ/G3S
3131
- renesas,riic-r9a09g047 # RZ/G3E
32+
- renesas,riic-r9a09g056 # RZ/V2N
3233
- const: renesas,riic-r9a09g057 # RZ/V2H(P)
3334

3435
- const: renesas,riic-r9a09g057 # RZ/V2H(P)

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,13 @@ properties:
3232
- const: renesas,r9a06g032-i2c # RZ/N1D
3333
- const: renesas,rzn1-i2c # RZ/N1
3434
- const: snps,designware-i2c
35-
- description: Microsemi Ocelot SoCs I2C controller
36-
items:
37-
- const: mscc,ocelot-i2c
38-
- const: snps,designware-i2c
3935
- description: Baikal-T1 SoC System I2C controller
4036
const: baikal,bt1-sys-i2c
41-
- description: T-HEAD TH1520 SoCs I2C controller
42-
items:
43-
- const: thead,th1520-i2c
37+
- items:
38+
- enum:
39+
- mscc,ocelot-i2c
40+
- sophgo,sg2044-i2c
41+
- thead,th1520-i2c
4442
- const: snps,designware-i2c
4543

4644
reg:
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/wm,wm8505-i2c.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: I2C Controller on WonderMedia WM8505 and related SoCs
8+
9+
maintainers:
10+
- Alexey Charkov <alchark@gmail.com>
11+
12+
allOf:
13+
- $ref: /schemas/i2c/i2c-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: wm,wm8505-i2c
18+
19+
reg:
20+
maxItems: 1
21+
22+
interrupts:
23+
maxItems: 1
24+
25+
clocks:
26+
maxItems: 1
27+
28+
clock-frequency:
29+
enum: [100000, 400000]
30+
31+
required:
32+
- compatible
33+
- reg
34+
- interrupts
35+
- clocks
36+
37+
unevaluatedProperties: false
38+
39+
examples:
40+
- |
41+
i2c_0: i2c@d8280000 {
42+
compatible = "wm,wm8505-i2c";
43+
reg = <0xd8280000 0x1000>;
44+
interrupts = <19>;
45+
clocks = <&clki2c0>;
46+
clock-frequency = <400000>;
47+
};
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/misc/ti,fpc202.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TI FPC202 dual port controller with expanded IOs
8+
9+
maintainers:
10+
- Romain Gantois <romain.gantois@bootlin.com>
11+
12+
allOf:
13+
- $ref: /schemas/i2c/i2c-atr.yaml#
14+
15+
properties:
16+
compatible:
17+
const: ti,fpc202
18+
19+
reg:
20+
maxItems: 1
21+
22+
gpio-controller: true
23+
24+
"#gpio-cells":
25+
const: 2
26+
27+
enable-gpios:
28+
description:
29+
Specifier for the GPIO connected to the EN pin.
30+
maxItems: 1
31+
32+
'#address-cells':
33+
const: 1
34+
35+
'#size-cells':
36+
const: 0
37+
38+
patternProperties:
39+
"^i2c@[0-1]$":
40+
$ref: /schemas/i2c/i2c-controller.yaml#
41+
description: Downstream device ports 0 and 1
42+
43+
properties:
44+
reg:
45+
maxItems: 1
46+
description:
47+
Downstream port ID
48+
49+
required:
50+
- "#address-cells"
51+
- "#size-cells"
52+
- reg
53+
54+
unevaluatedProperties: false
55+
56+
required:
57+
- compatible
58+
- reg
59+
- gpio-controller
60+
- "#gpio-cells"
61+
- "#address-cells"
62+
- "#size-cells"
63+
64+
unevaluatedProperties: false
65+
66+
examples:
67+
- |
68+
i2c {
69+
#address-cells = <1>;
70+
#size-cells = <0>;
71+
72+
i2c-atr@f {
73+
compatible = "ti,fpc202";
74+
reg = <0xf>;
75+
#address-cells = <1>;
76+
#size-cells = <0>;
77+
78+
gpio-controller;
79+
#gpio-cells = <2>;
80+
81+
i2c@0 {
82+
#address-cells = <1>;
83+
#size-cells = <0>;
84+
reg = <0>;
85+
};
86+
87+
i2c@1 {
88+
#address-cells = <1>;
89+
#size-cells = <0>;
90+
reg = <1>;
91+
};
92+
};
93+
};
94+
...

Documentation/i2c/busses/i2c-parport.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Remarks:
8484
\|
8585

8686
must be 74HC05, they must be open collector output.
87-
- All resitors are 10k.
87+
- All resistors are 10k.
8888
- Pins 18-25 of the parallel port connected to GND.
8989
- Pins 4-9 (D2-D7) could be used as VDD is the driver drives them high.
9090
The ADM1032 evaluation board uses D4-D7. Beware that the amount of

MAINTAINERS

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3480,7 +3480,7 @@ M: Alexey Charkov <alchark@gmail.com>
34803480
M: Krzysztof Kozlowski <krzk@kernel.org>
34813481
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
34823482
S: Odd Fixes
3483-
F: Documentation/devicetree/bindings/i2c/i2c-wmt.txt
3483+
F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
34843484
F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
34853485
F: Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
34863486
F: arch/arm/boot/dts/vt8500/
@@ -23872,6 +23872,13 @@ L: linux-i2c@vger.kernel.org
2387223872
S: Supported
2387323873
F: drivers/i2c/busses/i2c-designware-*
2387423874

23875+
SYNOPSYS DESIGNWARE I2C DRIVER - AMDISP
23876+
M: Nirujogi Pratap <pratap.nirujogi@amd.com>
23877+
M: Bin Du <bin.du@amd.com>
23878+
L: linux-i2c@vger.kernel.org
23879+
S: Maintained
23880+
F: drivers/i2c/busses/i2c-designware-amdisp.c
23881+
2387523882
SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER
2387623883
M: Jaehoon Chung <jh80.chung@samsung.com>
2387723884
L: linux-mmc@vger.kernel.org
@@ -24624,6 +24631,13 @@ F: drivers/misc/tifm*
2462424631
F: drivers/mmc/host/tifm_sd.c
2462524632
F: include/linux/tifm.h
2462624633

24634+
TI FPC202 DUAL PORT CONTROLLER
24635+
M: Romain Gantois <romain.gantois@bootlin.com>
24636+
L: linux-kernel@vger.kernel.org
24637+
S: Maintained
24638+
F: Documentation/devicetree/bindings/misc/ti,fpc202.yaml
24639+
F: drivers/misc/ti_fpc202.c
24640+
2462724641
TI FPD-LINK DRIVERS
2462824642
M: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2462924643
L: linux-media@vger.kernel.org

drivers/i2c/algos/i2c-algo-pcf.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <linux/errno.h>
2020
#include <linux/i2c.h>
2121
#include <linux/i2c-algo-pcf.h>
22+
#include <linux/string_choices.h>
2223
#include "i2c-algo-pcf.h"
2324

2425

@@ -316,7 +317,7 @@ static int pcf_xfer(struct i2c_adapter *i2c_adap,
316317
pmsg = &msgs[i];
317318

318319
DEB2(printk(KERN_DEBUG "i2c-algo-pcf.o: Doing %s %d bytes to 0x%02x - %d of %d messages\n",
319-
pmsg->flags & I2C_M_RD ? "read" : "write",
320+
str_read_write(pmsg->flags & I2C_M_RD),
320321
pmsg->len, pmsg->addr, i + 1, num);)
321322

322323
ret = pcf_doAddress(adap, pmsg);

0 commit comments

Comments
 (0)