18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/marvell,mv64xxx-i2c.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Marvell MV64XXX I2C Controller Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Gregory CLEMENT <gregory.clement@bootlin.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciproperties: 138c2ecf20Sopenharmony_ci compatible: 148c2ecf20Sopenharmony_ci oneOf: 158c2ecf20Sopenharmony_ci - const: allwinner,sun4i-a10-i2c 168c2ecf20Sopenharmony_ci - items: 178c2ecf20Sopenharmony_ci - const: allwinner,sun7i-a20-i2c 188c2ecf20Sopenharmony_ci - const: allwinner,sun4i-a10-i2c 198c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-i2c 208c2ecf20Sopenharmony_ci - items: 218c2ecf20Sopenharmony_ci - const: allwinner,sun8i-a23-i2c 228c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-i2c 238c2ecf20Sopenharmony_ci - items: 248c2ecf20Sopenharmony_ci - const: allwinner,sun8i-a83t-i2c 258c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-i2c 268c2ecf20Sopenharmony_ci - items: 278c2ecf20Sopenharmony_ci - const: allwinner,sun50i-a64-i2c 288c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-i2c 298c2ecf20Sopenharmony_ci - items: 308c2ecf20Sopenharmony_ci - const: allwinner,sun50i-a100-i2c 318c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-i2c 328c2ecf20Sopenharmony_ci - items: 338c2ecf20Sopenharmony_ci - const: allwinner,sun50i-h6-i2c 348c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-i2c 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci - const: marvell,mv64xxx-i2c 378c2ecf20Sopenharmony_ci - const: marvell,mv78230-i2c 388c2ecf20Sopenharmony_ci - const: marvell,mv78230-a0-i2c 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci description: 418c2ecf20Sopenharmony_ci Only use "marvell,mv78230-a0-i2c" for a very rare, initial 428c2ecf20Sopenharmony_ci version of the SoC which had broken offload support. Linux 438c2ecf20Sopenharmony_ci auto-detects this and sets it appropriately. 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci reg: 468c2ecf20Sopenharmony_ci maxItems: 1 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci interrupts: 498c2ecf20Sopenharmony_ci maxItems: 1 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci clocks: 528c2ecf20Sopenharmony_ci minItems: 1 538c2ecf20Sopenharmony_ci maxItems: 2 548c2ecf20Sopenharmony_ci items: 558c2ecf20Sopenharmony_ci - description: Reference clock for the I2C bus 568c2ecf20Sopenharmony_ci - description: Bus clock (Only for Armada 7K/8K) 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci clock-names: 598c2ecf20Sopenharmony_ci minItems: 1 608c2ecf20Sopenharmony_ci maxItems: 2 618c2ecf20Sopenharmony_ci items: 628c2ecf20Sopenharmony_ci - const: core 638c2ecf20Sopenharmony_ci - const: reg 648c2ecf20Sopenharmony_ci description: 658c2ecf20Sopenharmony_ci Mandatory if two clocks are used (only for Armada 7k and 8k). 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci resets: 688c2ecf20Sopenharmony_ci maxItems: 1 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_cirequired: 718c2ecf20Sopenharmony_ci - compatible 728c2ecf20Sopenharmony_ci - reg 738c2ecf20Sopenharmony_ci - interrupts 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciallOf: 768c2ecf20Sopenharmony_ci - $ref: /schemas/i2c/i2c-controller.yaml# 778c2ecf20Sopenharmony_ci - if: 788c2ecf20Sopenharmony_ci properties: 798c2ecf20Sopenharmony_ci compatible: 808c2ecf20Sopenharmony_ci contains: 818c2ecf20Sopenharmony_ci enum: 828c2ecf20Sopenharmony_ci - allwinner,sun4i-a10-i2c 838c2ecf20Sopenharmony_ci - allwinner,sun6i-a31-i2c 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci then: 868c2ecf20Sopenharmony_ci required: 878c2ecf20Sopenharmony_ci - clocks 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci - if: 908c2ecf20Sopenharmony_ci properties: 918c2ecf20Sopenharmony_ci compatible: 928c2ecf20Sopenharmony_ci contains: 938c2ecf20Sopenharmony_ci const: allwinner,sun6i-a31-i2c 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci then: 968c2ecf20Sopenharmony_ci required: 978c2ecf20Sopenharmony_ci - resets 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ciunevaluatedProperties: false 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ciexamples: 1028c2ecf20Sopenharmony_ci - | 1038c2ecf20Sopenharmony_ci i2c@11000 { 1048c2ecf20Sopenharmony_ci compatible = "marvell,mv64xxx-i2c"; 1058c2ecf20Sopenharmony_ci reg = <0x11000 0x20>; 1068c2ecf20Sopenharmony_ci interrupts = <29>; 1078c2ecf20Sopenharmony_ci clock-frequency = <100000>; 1088c2ecf20Sopenharmony_ci }; 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci - | 1118c2ecf20Sopenharmony_ci i2c@11000 { 1128c2ecf20Sopenharmony_ci compatible = "marvell,mv78230-i2c"; 1138c2ecf20Sopenharmony_ci reg = <0x11000 0x100>; 1148c2ecf20Sopenharmony_ci interrupts = <29>; 1158c2ecf20Sopenharmony_ci clock-frequency = <100000>; 1168c2ecf20Sopenharmony_ci }; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci - | 1198c2ecf20Sopenharmony_ci i2c@701000 { 1208c2ecf20Sopenharmony_ci compatible = "marvell,mv78230-i2c"; 1218c2ecf20Sopenharmony_ci reg = <0x701000 0x20>; 1228c2ecf20Sopenharmony_ci interrupts = <29>; 1238c2ecf20Sopenharmony_ci clock-frequency = <100000>; 1248c2ecf20Sopenharmony_ci clock-names = "core", "reg"; 1258c2ecf20Sopenharmony_ci clocks = <&core_clock>, <®_clock>; 1268c2ecf20Sopenharmony_ci }; 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci... 129