mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-30 21:52:21 +00:00

The I2C controller IP used in the Allwinner A523/T527 SoCs is compatible with the ones used in the other recent Allwinner SoCs. Add the A523 specific compatible string to the list of existing names falling back to the allwinner,sun8i-v536-i2c string. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Andi Shyti <andi.shyti@kernel.org> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
143 lines
3.1 KiB
YAML
143 lines
3.1 KiB
YAML
# 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
|
|
|
|
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:
|
|
- enum:
|
|
- allwinner,suniv-f1c100s-i2c
|
|
- allwinner,sun8i-a23-i2c
|
|
- allwinner,sun8i-a83t-i2c
|
|
- allwinner,sun8i-v536-i2c
|
|
- allwinner,sun50i-a64-i2c
|
|
- allwinner,sun50i-h6-i2c
|
|
- const: allwinner,sun6i-a31-i2c
|
|
- description: Allwinner SoCs with offload support
|
|
items:
|
|
- enum:
|
|
- allwinner,sun20i-d1-i2c
|
|
- allwinner,sun50i-a100-i2c
|
|
- allwinner,sun50i-h616-i2c
|
|
- allwinner,sun50i-r329-i2c
|
|
- allwinner,sun55i-a523-i2c
|
|
- const: allwinner,sun8i-v536-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
|
|
items:
|
|
- description: Reference clock for the I2C bus
|
|
- description: Bus clock (Only for Armada 7K/8K)
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: core
|
|
- const: reg
|
|
description:
|
|
Mandatory if two clocks are used (only for Armada 7k and 8k).
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
dmas:
|
|
items:
|
|
- description: RX DMA Channel
|
|
- description: TX DMA Channel
|
|
|
|
dma-names:
|
|
items:
|
|
- const: rx
|
|
- const: tx
|
|
|
|
dependencies:
|
|
dmas: [ dma-names ]
|
|
|
|
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
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c@11000 {
|
|
compatible = "marvell,mv64xxx-i2c";
|
|
reg = <0x11000 0x20>;
|
|
interrupts = <29>;
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
- |
|
|
i2c@11000 {
|
|
compatible = "marvell,mv78230-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>;
|
|
};
|
|
|
|
...
|