-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: i2c: mv64xxx: Add YAML schemas
Switch the DT binding to a YAML schema to enable the DT validation. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Rob Herring <robh@kernel.org> Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
- Loading branch information
Maxime Ripard
authored and
Wolfram Sang
committed
Jun 26, 2019
1 parent
bbddb0f
commit f8bbde7
Showing
2 changed files
with
124 additions
and
64 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
124 changes: 124 additions & 0 deletions
124
Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/i2c/marvell,mv64xxx-i2c.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Marvell MV64XXX I2C Controller Device Tree Bindings | ||
|
||
maintainers: | ||
- Gregory CLEMENT <gregory.clement@bootlin.com> | ||
|
||
properties: | ||
compatible: | ||
oneOf: | ||
- const: allwinner,sun4i-a10-i2c | ||
- items: | ||
- const: allwinner,sun7i-a20-i2c | ||
- const: allwinner,sun4i-a10-i2c | ||
- const: allwinner,sun6i-a31-i2c | ||
- items: | ||
- const: allwinner,sun8i-a23-i2c | ||
- const: allwinner,sun6i-a31-i2c | ||
- items: | ||
- const: allwinner,sun8i-a83t-i2c | ||
- const: allwinner,sun6i-a31-i2c | ||
- items: | ||
- const: allwinner,sun50i-a64-i2c | ||
- const: allwinner,sun6i-a31-i2c | ||
|
||
- const: marvell,mv64xxx-i2c | ||
- const: marvell,mv78230-i2c | ||
- const: marvell,mv78230-a0-i2c | ||
|
||
description: | ||
Only use "marvell,mv78230-a0-i2c" for a very rare, initial | ||
version of the SoC which had broken offload support. Linux | ||
auto-detects this and sets it appropriately. | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
minItems: 1 | ||
maxItems: 2 | ||
items: | ||
- description: Reference clock for the I2C bus | ||
- description: Bus clock (Only for Armada 7K/8K) | ||
|
||
clock-names: | ||
minItems: 1 | ||
maxItems: 2 | ||
items: | ||
- const: core | ||
- const: reg | ||
description: | ||
Mandatory if two clocks are used (only for Armada 7k and 8k). | ||
|
||
resets: | ||
maxItems: 1 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
|
||
allOf: | ||
- $ref: /schemas/i2c/i2c-controller.yaml# | ||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- allwinner,sun4i-a10-i2c | ||
- allwinner,sun6i-a31-i2c | ||
|
||
then: | ||
required: | ||
- clocks | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
const: allwinner,sun6i-a31-i2c | ||
|
||
then: | ||
required: | ||
- resets | ||
|
||
# FIXME: We should set it, but it would report all the generic | ||
# properties as additional properties. | ||
# additionalProperties: false | ||
|
||
examples: | ||
- | | ||
i2c@11000 { | ||
compatible = "marvell,mv64xxx-i2c"; | ||
reg = <0x11000 0x20>; | ||
interrupts = <29>; | ||
clock-frequency = <100000>; | ||
}; | ||
- | | ||
i2c@11000 { | ||
compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; | ||
reg = <0x11000 0x100>; | ||
interrupts = <29>; | ||
clock-frequency = <100000>; | ||
}; | ||
- | | ||
i2c@701000 { | ||
compatible = "marvell,mv78230-i2c"; | ||
reg = <0x701000 0x20>; | ||
interrupts = <29>; | ||
clock-frequency = <100000>; | ||
clock-names = "core", "reg"; | ||
clocks = <&core_clock>, <®_clock>; | ||
}; | ||
... |