mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
bbddb0fc3b
commit
f8bbde72ef
|
@ -1,64 +0,0 @@
|
||||||
|
|
||||||
* Marvell MV64XXX I2C controller
|
|
||||||
|
|
||||||
Required properties :
|
|
||||||
|
|
||||||
- reg : Offset and length of the register set for the device
|
|
||||||
- compatible : Should be either:
|
|
||||||
- "allwinner,sun4i-a10-i2c"
|
|
||||||
- "allwinner,sun6i-a31-i2c"
|
|
||||||
- "marvell,mv64xxx-i2c"
|
|
||||||
- "marvell,mv78230-i2c"
|
|
||||||
- "marvell,mv78230-a0-i2c"
|
|
||||||
* Note: 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.
|
|
||||||
- interrupts : The interrupt number
|
|
||||||
|
|
||||||
Optional properties :
|
|
||||||
|
|
||||||
- clock-frequency : Desired I2C bus clock frequency in Hz. If not set the
|
|
||||||
default frequency is 100kHz
|
|
||||||
|
|
||||||
- resets : phandle to the parent reset controller. Mandatory
|
|
||||||
whenever you're using the "allwinner,sun6i-a31-i2c"
|
|
||||||
compatible.
|
|
||||||
|
|
||||||
- clocks: : pointers to the reference clocks for this device, the
|
|
||||||
first one is the one used for the clock on the i2c bus,
|
|
||||||
the second one is the clock used to acces the registers
|
|
||||||
of the controller
|
|
||||||
|
|
||||||
- clock-names : names of used clocks, mandatory if the second clock is
|
|
||||||
used, the name must be "core", and "reg" (the latter is
|
|
||||||
only for Armada 7K/8K).
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
i2c@11000 {
|
|
||||||
compatible = "marvell,mv64xxx-i2c";
|
|
||||||
reg = <0x11000 0x20>;
|
|
||||||
interrupts = <29>;
|
|
||||||
clock-frequency = <100000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
For the Armada XP:
|
|
||||||
|
|
||||||
i2c@11000 {
|
|
||||||
compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
|
|
||||||
reg = <0x11000 0x100>;
|
|
||||||
interrupts = <29>;
|
|
||||||
clock-frequency = <100000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
For the Armada 7040:
|
|
||||||
|
|
||||||
i2c@701000 {
|
|
||||||
compatible = "marvell,mv78230-i2c";
|
|
||||||
reg = <0x701000 0x20>;
|
|
||||||
interrupts = <29>;
|
|
||||||
clock-frequency = <100000>;
|
|
||||||
clock-names = "core", "reg";
|
|
||||||
clocks = <&core_clock>, <®_clock>;
|
|
||||||
};
|
|
|
@ -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>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
Loading…
Reference in New Issue