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.
This commit is contained in:
@@ -14,9 +14,6 @@ description: The Nomadik I2C host controller began its life in the ST
|
||||
maintainers:
|
||||
- Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/i2c/i2c-controller.yaml#
|
||||
|
||||
# Need a custom select here or 'arm,primecell' will match on lots of nodes
|
||||
select:
|
||||
properties:
|
||||
@@ -24,21 +21,23 @@ select:
|
||||
contains:
|
||||
enum:
|
||||
- st,nomadik-i2c
|
||||
- mobileye,eyeq5-i2c
|
||||
required:
|
||||
- compatible
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
# The variant found in STn8815
|
||||
- items:
|
||||
- const: st,nomadik-i2c
|
||||
- const: arm,primecell
|
||||
# The variant found in DB8500
|
||||
- items:
|
||||
- const: stericsson,db8500-i2c
|
||||
- const: st,nomadik-i2c
|
||||
- const: arm,primecell
|
||||
- items:
|
||||
- const: mobileye,eyeq5-i2c
|
||||
- const: arm,primecell
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -55,7 +54,7 @@ properties:
|
||||
- items:
|
||||
- const: mclk
|
||||
- const: apb_pclk
|
||||
# Clock name in DB8500
|
||||
# Clock name in DB8500 or EyeQ5
|
||||
- items:
|
||||
- const: i2cclk
|
||||
- const: apb_pclk
|
||||
@@ -70,6 +69,16 @@ properties:
|
||||
minimum: 1
|
||||
maximum: 400000
|
||||
|
||||
mobileye,olb:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
items:
|
||||
- items:
|
||||
- description: Phandle to OLB system controller node.
|
||||
- description: Platform-wide controller ID (integer starting from zero).
|
||||
description:
|
||||
The phandle pointing to OLB system controller node, with the I2C
|
||||
controller index.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@@ -79,6 +88,20 @@ required:
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/i2c/i2c-controller.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mobileye,eyeq5-i2c
|
||||
then:
|
||||
required:
|
||||
- mobileye,olb
|
||||
else:
|
||||
properties:
|
||||
mobileye,olb: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
@@ -111,5 +134,19 @@ examples:
|
||||
clocks = <&i2c0clk>, <&pclki2c0>;
|
||||
clock-names = "mclk", "apb_pclk";
|
||||
};
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/mips-gic.h>
|
||||
i2c@300000 {
|
||||
compatible = "mobileye,eyeq5-i2c", "arm,primecell";
|
||||
reg = <0x300000 0x1000>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-frequency = <400000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&i2c_ser_clk>, <&i2c_clk>;
|
||||
clock-names = "i2cclk", "apb_pclk";
|
||||
mobileye,olb = <&olb 0>;
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
+432
-308
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user