Skip to content

Commit 0ae982d

Browse files
committed
Merge tag 'i2c-for-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: "I2C Core: - prevent double-free of an fwnode if it is a software node - use recent helpers instead of custom ACPI or outdated OF ones - add a more elaborate description of a message flag Cleanups and refactorings: - lpi2c, riic, st, stm32f7: general improvements - riic: support more flexible IRQ configurations - tegra: fix documentation Improvements: - lpi2c: improve register polling and add atomic transfer - imx: use guarded spinlocks New hardware support: - Samsung Exynos 2200 - Renesas RZ/T2H (R9A09G077), RZ/N2H (R9A09G087) DT binding: - rk3x: enable power domains - nxp: support clock property" * tag 'i2c-for-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: core: Fix double-free of fwnode in i2c_unregister_device() i2c: lpi2c: implement xfer_atomic callback i2c: lpi2c: use readl_poll_timeout() for register polling dt-bindings: i2c: i2c-rk3x: Allow use of a power-domain dt-bindings: i2c: exynos5: add samsung,exynos2200-hsi2c compatible i2c: lpi2c: convert to use secs_to_jiffies() i2c: st: Use min() to improve code i2c: imx: use guard to take spinlock i2c: stm32f7: Use str_on_off() helper dt-bindings: i2c: nxp,pnx-i2c: allow clocks property i2c: riic: Add support for RZ/T2H SoC i2c: riic: Move generic compatible string to end of array i2c: riic: Pass IRQ desc array as part of OF data dt-bindings: i2c: renesas,riic: Document RZ/T2H and RZ/N2H support dt-bindings: i2c: renesas,riic: Move ref for i2c-controller.yaml to the end i2c: tegra: Add missing kernel-doc for dma_dev member i2c: Clarify behavior of I2C_M_RD flag i2c: mux: pca954x: Use dev_fwnode() i2c: acpi: Replace custom code with device_match_acpi_handle()
2 parents 0919a5b + 1c24e5f commit 0ae982d

File tree

14 files changed

+333
-165
lines changed

14 files changed

+333
-165
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ properties:
3636
- items:
3737
- enum:
3838
- google,gs101-hsi2c
39+
- samsung,exynos2200-hsi2c
3940
- samsung,exynos850-hsi2c
4041
- const: samsung,exynosautov9-hsi2c
4142
- const: samsung,exynos5-hsi2c # Exynos5250 and Exynos5420

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ properties:
105105
(t(f) in the I2C specification). If not specified we will use the SCL
106106
value since they are the same in nearly all cases.
107107

108+
power-domains:
109+
maxItems: 1
110+
108111
required:
109112
- compatible
110113
- reg

Documentation/devicetree/bindings/i2c/nxp,pnx-i2c.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ properties:
2222
interrupts:
2323
maxItems: 1
2424

25+
clocks:
26+
maxItems: 1
27+
2528
clock-frequency:
2629
default: 100000
2730

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

Lines changed: 71 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ maintainers:
1010
- Chris Brandt <[email protected]>
1111
- Wolfram Sang <[email protected]>
1212

13-
allOf:
14-
- $ref: /schemas/i2c/i2c-controller.yaml#
15-
1613
properties:
1714
compatible:
1815
oneOf:
@@ -32,32 +29,50 @@ properties:
3229
- renesas,riic-r9a09g056 # RZ/V2N
3330
- const: renesas,riic-r9a09g057 # RZ/V2H(P)
3431

35-
- const: renesas,riic-r9a09g057 # RZ/V2H(P)
32+
- enum:
33+
- renesas,riic-r9a09g057 # RZ/V2H(P)
34+
- renesas,riic-r9a09g077 # RZ/T2H
35+
36+
- items:
37+
- const: renesas,riic-r9a09g087 # RZ/N2H
38+
- const: renesas,riic-r9a09g077 # RZ/T2H
3639

3740
reg:
3841
maxItems: 1
3942

4043
interrupts:
41-
items:
42-
- description: Transmit End Interrupt
43-
- description: Receive Data Full Interrupt
44-
- description: Transmit Data Empty Interrupt
45-
- description: Stop Condition Detection Interrupt
46-
- description: Start Condition Detection Interrupt
47-
- description: NACK Reception Interrupt
48-
- description: Arbitration-Lost Interrupt
49-
- description: Timeout Interrupt
44+
oneOf:
45+
- items:
46+
- description: Transmit End Interrupt
47+
- description: Receive Data Full Interrupt
48+
- description: Transmit Data Empty Interrupt
49+
- description: Stop Condition Detection Interrupt
50+
- description: Start Condition Detection Interrupt
51+
- description: NACK Reception Interrupt
52+
- description: Arbitration-Lost Interrupt
53+
- description: Timeout Interrupt
54+
- items:
55+
- description: Transfer Error Or Event Generation
56+
- description: Receive Data Full Interrupt
57+
- description: Transmit Data Empty Interrupt
58+
- description: Transmit End Interrupt
5059

5160
interrupt-names:
52-
items:
53-
- const: tei
54-
- const: ri
55-
- const: ti
56-
- const: spi
57-
- const: sti
58-
- const: naki
59-
- const: ali
60-
- const: tmoi
61+
oneOf:
62+
- items:
63+
- const: tei
64+
- const: ri
65+
- const: ti
66+
- const: spi
67+
- const: sti
68+
- const: naki
69+
- const: ali
70+
- const: tmoi
71+
- items:
72+
- const: eei
73+
- const: rxi
74+
- const: txi
75+
- const: tei
6176

6277
clock-frequency:
6378
description:
@@ -84,18 +99,40 @@ required:
8499
- '#address-cells'
85100
- '#size-cells'
86101

87-
if:
88-
properties:
89-
compatible:
90-
contains:
91-
enum:
92-
- renesas,riic-r9a07g043
93-
- renesas,riic-r9a07g044
94-
- renesas,riic-r9a07g054
95-
- renesas,riic-r9a09g057
96-
then:
97-
required:
98-
- resets
102+
allOf:
103+
- $ref: /schemas/i2c/i2c-controller.yaml#
104+
105+
- if:
106+
properties:
107+
compatible:
108+
contains:
109+
const: renesas,riic-r9a09g077
110+
then:
111+
properties:
112+
interrupts:
113+
maxItems: 4
114+
interrupt-names:
115+
maxItems: 4
116+
resets: false
117+
else:
118+
properties:
119+
interrupts:
120+
minItems: 8
121+
interrupt-names:
122+
minItems: 8
123+
124+
- if:
125+
properties:
126+
compatible:
127+
contains:
128+
enum:
129+
- renesas,riic-r9a07g043
130+
- renesas,riic-r9a07g044
131+
- renesas,riic-r9a07g054
132+
- renesas,riic-r9a09g057
133+
then:
134+
required:
135+
- resets
99136

100137
unevaluatedProperties: false
101138

0 commit comments

Comments
 (0)