Skip to content

Commit 7e5d423

Browse files
author
Wolfram Sang
committed
Merge tag 'i2c-host-6.9-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-mergewindow
Théo adds support for the Mobileye EyeQ5-I2C in the bindings. This patch is followed by eight commits featuring improvements to the Nomadik controller, such as simplification of the IRQ logic, renaming of the private data structure, more efficient use of FIELD_PREP/GET, GENMASK, etc., better time measurement with ktime, and more.
2 parents a4145ce + bb27130 commit 7e5d423

File tree

2 files changed

+475
-314
lines changed

2 files changed

+475
-314
lines changed

Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,30 @@ description: The Nomadik I2C host controller began its life in the ST
1414
maintainers:
1515
- Linus Walleij <linus.walleij@linaro.org>
1616

17-
allOf:
18-
- $ref: /schemas/i2c/i2c-controller.yaml#
19-
2017
# Need a custom select here or 'arm,primecell' will match on lots of nodes
2118
select:
2219
properties:
2320
compatible:
2421
contains:
2522
enum:
2623
- st,nomadik-i2c
24+
- mobileye,eyeq5-i2c
2725
required:
2826
- compatible
2927

3028
properties:
3129
compatible:
3230
oneOf:
33-
# The variant found in STn8815
3431
- items:
3532
- const: st,nomadik-i2c
3633
- const: arm,primecell
37-
# The variant found in DB8500
3834
- items:
3935
- const: stericsson,db8500-i2c
4036
- const: st,nomadik-i2c
4137
- const: arm,primecell
38+
- items:
39+
- const: mobileye,eyeq5-i2c
40+
- const: arm,primecell
4241

4342
reg:
4443
maxItems: 1
@@ -55,7 +54,7 @@ properties:
5554
- items:
5655
- const: mclk
5756
- const: apb_pclk
58-
# Clock name in DB8500
57+
# Clock name in DB8500 or EyeQ5
5958
- items:
6059
- const: i2cclk
6160
- const: apb_pclk
@@ -70,6 +69,16 @@ properties:
7069
minimum: 1
7170
maximum: 400000
7271

72+
mobileye,olb:
73+
$ref: /schemas/types.yaml#/definitions/phandle-array
74+
items:
75+
- items:
76+
- description: Phandle to OLB system controller node.
77+
- description: Platform-wide controller ID (integer starting from zero).
78+
description:
79+
The phandle pointing to OLB system controller node, with the I2C
80+
controller index.
81+
7382
required:
7483
- compatible
7584
- reg
@@ -79,6 +88,20 @@ required:
7988

8089
unevaluatedProperties: false
8190

91+
allOf:
92+
- $ref: /schemas/i2c/i2c-controller.yaml#
93+
- if:
94+
properties:
95+
compatible:
96+
contains:
97+
const: mobileye,eyeq5-i2c
98+
then:
99+
required:
100+
- mobileye,olb
101+
else:
102+
properties:
103+
mobileye,olb: false
104+
82105
examples:
83106
- |
84107
#include <dt-bindings/interrupt-controller/irq.h>
@@ -111,5 +134,19 @@ examples:
111134
clocks = <&i2c0clk>, <&pclki2c0>;
112135
clock-names = "mclk", "apb_pclk";
113136
};
137+
- |
138+
#include <dt-bindings/interrupt-controller/mips-gic.h>
139+
i2c@300000 {
140+
compatible = "mobileye,eyeq5-i2c", "arm,primecell";
141+
reg = <0x300000 0x1000>;
142+
interrupt-parent = <&gic>;
143+
interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
144+
clock-frequency = <400000>;
145+
#address-cells = <1>;
146+
#size-cells = <0>;
147+
clocks = <&i2c_ser_clk>, <&i2c_clk>;
148+
clock-names = "i2cclk", "apb_pclk";
149+
mobileye,olb = <&olb 0>;
150+
};
114151
115152
...

0 commit comments

Comments
 (0)