Skip to content

Commit 008128c

Browse files
committed
Merge tag 'i2c-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: - new drivers for HPE GXP and Loongson 2K/LS7A - bigger refactorings for i801 and xiic - gpio driver gained ACPI and SDA-write only support - the core converted some OF helpers to fwnode helpers - usual bunch of driver updates * tag 'i2c-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits) MAINTAINERS: Add HPE GXP I2C Support i2c: Add GXP SoC I2C Controller dt-bindings: i2c: Add hpe,gxp-i2c i2c: xiic: Remove some dead code i2c: xiic: Add SCL frequency configuration support i2c: xiic: Update compatible with new IP version dt-bindings: i2c: xiic: Add 'xlnx,axi-iic-2.1' to compatible i2c: i801: Call i801_check_post() from i801_access() i2c: i801: Call i801_check_pre() from i801_access() i2c: i801: Centralize configuring block commands in i801_block_transaction i2c: i801: Centralize configuring non-block commands in i801_simple_transaction i2c: i801: Handle SMBAUXCTL_E32B in i801_block_transaction_by_block only i2c: i801: Add i801_simple_transaction(), complementing i801_block_transaction() Documentation: i2c: correct spelling dt-bindings: i2c: i2c-st: convert to DT schema i2c: i801: add helper i801_set_hstadd() i2c: i801: make FEATURE_BLOCK_PROC dependent on FEATURE_BLOCK_BUFFER i2c: i801: make FEATURE_HOST_NOTIFY dependent on FEATURE_IRQ i2c: i801: improve interrupt handler i2c: st: use pm_sleep_ptr to avoid ifdef CONFIG_PM_SLEEP ...
2 parents 39f0134 + e8444bb commit 008128c

37 files changed

+2128
-396
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/hpe,gxp-i2c.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: HPE GXP SoC I2C Controller
8+
9+
maintainers:
10+
- Nick Hawkins <[email protected]>
11+
12+
allOf:
13+
- $ref: /schemas/i2c/i2c-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: hpe,gxp-i2c
18+
19+
reg:
20+
maxItems: 1
21+
22+
interrupts:
23+
maxItems: 1
24+
25+
clock-frequency:
26+
default: 100000
27+
28+
hpe,sysreg:
29+
$ref: /schemas/types.yaml#/definitions/phandle
30+
description:
31+
Phandle to the global status and enable interrupt registers shared
32+
between each I2C engine controller instance. It enables the I2C
33+
engine controller to act as both a master or slave by being able to
34+
arm and respond to interrupts from its engine. Each bit in the
35+
registers represent the respective bit position.
36+
37+
required:
38+
- compatible
39+
- reg
40+
- interrupts
41+
42+
unevaluatedProperties: false
43+
44+
examples:
45+
- |
46+
i2c@2600 {
47+
compatible = "hpe,gxp-i2c";
48+
reg = <0x2500 0x70>;
49+
interrupts = <9>;
50+
#address-cells = <1>;
51+
#size-cells = <0>;
52+
hpe,sysreg = <&sysreg_system_controller>;
53+
clock-frequency = <10000>;
54+
55+
eeprom@50 {
56+
compatible = "atmel,24c128";
57+
reg = <0x50>;
58+
};
59+
};

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ properties:
3333
open drain.
3434
maxItems: 1
3535

36+
i2c-gpio,sda-output-only:
37+
description: sda as output only
38+
type: boolean
39+
3640
i2c-gpio,scl-output-only:
3741
description: scl as output only
3842
type: boolean
@@ -63,6 +67,28 @@ properties:
6367
GPIO line used for SCL into open drain mode, and that something is not
6468
the GPIO chip. It is essentially an inconsistency flag.
6569

70+
i2c-gpio,sda-has-no-pullup:
71+
type: boolean
72+
description: sda is used in a non-compliant way and has no pull-up.
73+
Therefore disable open-drain. This property is mutually-exclusive
74+
with i2c-gpio,sda-open-drain.
75+
76+
i2c-gpio,scl-has-no-pullup:
77+
type: boolean
78+
description: scl is used in a non-compliant way and has no pull-up.
79+
Therefore disable open-drain. This property is mutually-exclusive
80+
with i2c-gpio,scl-open-drain.
81+
82+
dependencies:
83+
i2c-gpio,sda-has-no-pullup:
84+
not:
85+
required:
86+
- i2c-gpio,sda-open-drain
87+
i2c-gpio,scl-has-no-pullup:
88+
not:
89+
required:
90+
- i2c-gpio,scl-open-drain
91+
6692
required:
6793
- compatible
6894
- sda-gpios

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ properties:
4141
- mediatek,mt6797-i2c
4242
- mediatek,mt7623-i2c
4343
- const: mediatek,mt6577-i2c
44+
- items:
45+
- enum:
46+
- mediatek,mt8365-i2c
47+
- const: mediatek,mt8168-i2c
4448
- items:
4549
- enum:
4650
- mediatek,mt8195-i2c

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

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/loongson,ls2x-i2c.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Loongson LS2X I2C Controller
8+
9+
maintainers:
10+
- Binbin Zhou <[email protected]>
11+
12+
allOf:
13+
- $ref: /schemas/i2c/i2c-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- loongson,ls2k-i2c
19+
- loongson,ls7a-i2c
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
required:
28+
- compatible
29+
- reg
30+
- interrupts
31+
32+
unevaluatedProperties: false
33+
34+
examples:
35+
- |
36+
#include <dt-bindings/interrupt-controller/irq.h>
37+
38+
i2c0: i2c@1fe21000 {
39+
compatible = "loongson,ls2k-i2c";
40+
reg = <0x1fe21000 0x8>;
41+
interrupt-parent = <&extioiic>;
42+
interrupts = <22 IRQ_TYPE_LEVEL_LOW>;
43+
#address-cells = <1>;
44+
#size-cells = <0>;
45+
46+
eeprom@57 {
47+
compatible = "atmel,24c16";
48+
reg = <0x57>;
49+
pagesize = <16>;
50+
};
51+
};

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

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,24 @@ maintainers:
1212

1313
properties:
1414
compatible:
15-
enum:
16-
- qcom,msm8226-cci
17-
- qcom,msm8916-cci
18-
- qcom,msm8974-cci
19-
- qcom,msm8996-cci
20-
- qcom,sdm845-cci
21-
- qcom,sm8250-cci
22-
- qcom,sm8450-cci
15+
oneOf:
16+
- enum:
17+
- qcom,msm8226-cci
18+
- qcom,msm8974-cci
19+
- qcom,msm8996-cci
20+
21+
- items:
22+
- enum:
23+
- qcom,msm8916-cci
24+
- const: qcom,msm8226-cci # CCI v1
25+
26+
- items:
27+
- enum:
28+
- qcom,sdm845-cci
29+
- qcom,sm6350-cci
30+
- qcom,sm8250-cci
31+
- qcom,sm8450-cci
32+
- const: qcom,msm8996-cci # CCI v2
2333

2434
"#address-cells":
2535
const: 1
@@ -88,10 +98,12 @@ allOf:
8898
- if:
8999
properties:
90100
compatible:
91-
contains:
92-
enum:
93-
- qcom,msm8226-cci
94-
- qcom,msm8974-cci
101+
oneOf:
102+
- contains:
103+
enum:
104+
- qcom,msm8974-cci
105+
106+
- const: qcom,msm8226-cci
95107
then:
96108
properties:
97109
clocks:
@@ -105,10 +117,12 @@ allOf:
105117
- if:
106118
properties:
107119
compatible:
108-
contains:
109-
enum:
110-
- qcom,msm8916-cci
111-
- qcom,msm8996-cci
120+
oneOf:
121+
- contains:
122+
enum:
123+
- qcom,msm8916-cci
124+
125+
- const: qcom,msm8996-cci
112126
then:
113127
properties:
114128
clocks:
@@ -126,6 +140,7 @@ allOf:
126140
contains:
127141
enum:
128142
- qcom,sdm845-cci
143+
- qcom,sm6350-cci
129144
then:
130145
properties:
131146
clocks:
@@ -169,7 +184,7 @@ examples:
169184
170185
cci@ac4a000 {
171186
reg = <0x0ac4a000 0x4000>;
172-
compatible = "qcom,sdm845-cci";
187+
compatible = "qcom,sdm845-cci", "qcom,msm8996-cci";
173188
#address-cells = <1>;
174189
#size-cells = <0>;
175190

Documentation/devicetree/bindings/i2c/socionext,uniphier-fi2c.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ properties:
2929
minimum: 100000
3030
maximum: 400000
3131

32+
resets:
33+
maxItems: 1
34+
3235
required:
3336
- compatible
3437
- reg

Documentation/devicetree/bindings/i2c/socionext,uniphier-i2c.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ properties:
2929
minimum: 100000
3030
maximum: 400000
3131

32+
resets:
33+
maxItems: 1
34+
3235
required:
3336
- compatible
3437
- reg
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/st,sti-i2c.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: I2C controller embedded in STMicroelectronics STi platform
8+
9+
maintainers:
10+
- Patrice Chotard <[email protected]>
11+
12+
allOf:
13+
- $ref: /schemas/i2c/i2c-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- st,comms-ssc-i2c
19+
- st,comms-ssc4-i2c
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
maxItems: 1
26+
27+
clocks:
28+
maxItems: 1
29+
30+
clock-names:
31+
maxItems: 1
32+
33+
clock-frequency:
34+
enum: [ 100000, 400000 ]
35+
default: 100000
36+
37+
st,i2c-min-scl-pulse-width-us:
38+
description:
39+
The minimum valid SCL pulse width that is allowed through the
40+
deglitch circuit. In units of us.
41+
42+
st,i2c-min-sda-pulse-width-us:
43+
description:
44+
The minimum valid SDA pulse width that is allowed through the
45+
deglitch circuit. In units of us.
46+
47+
required:
48+
- compatible
49+
- reg
50+
- interrupts
51+
- clocks
52+
- clock-names
53+
54+
unevaluatedProperties: false
55+
56+
examples:
57+
- |
58+
#include <dt-bindings/interrupt-controller/arm-gic.h>
59+
#include <dt-bindings/clock/stih407-clks.h>
60+
i2c@fed40000 {
61+
compatible = "st,comms-ssc4-i2c";
62+
reg = <0xfed40000 0x110>;
63+
interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
64+
clocks = <&clk_s_a0_ls CLK_ICN_REG>;
65+
clock-names = "ssc";
66+
clock-frequency = <400000>;
67+
pinctrl-names = "default";
68+
pinctrl-0 = <&pinctrl_i2c0_default>;
69+
st,i2c-min-scl-pulse-width-us = <0>;
70+
st,i2c-min-sda-pulse-width-us = <5>;
71+
};

0 commit comments

Comments
 (0)