# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/i2c/realtek,rtl9301-i2c.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Realtek RTL I2C Controller maintainers: - Chris Packham description: RTL9300 SoCs have two I2C controllers. Each of these has an SCL line (which if not-used for SCL can be a GPIO). There are 8 common SDA lines that can be assigned to either I2C controller. RTL9310 SoCs have equal capabilities but support 12 common SDA lines which can be assigned to either I2C controller. properties: compatible: oneOf: - items: - enum: - realtek,rtl9302b-i2c - realtek,rtl9302c-i2c - realtek,rtl9303-i2c - const: realtek,rtl9301-i2c - items: - enum: - realtek,rtl9311-i2c - realtek,rtl9312-i2c - realtek,rtl9313-i2c - const: realtek,rtl9310-i2c - enum: - realtek,rtl9301-i2c - realtek,rtl9310-i2c reg: items: - description: Register offset and size of this I2C controller. "#address-cells": const: 1 "#size-cells": const: 0 realtek,scl: $ref: /schemas/types.yaml#/definitions/uint32 description: The SCL line number of this I2C controller. enum: [ 0, 1 ] patternProperties: '^i2c@[0-9ab]$': $ref: /schemas/i2c/i2c-controller.yaml unevaluatedProperties: false properties: reg: description: The SDA line number associated with the I2C bus. maxItems: 1 required: - reg allOf: - if: properties: compatible: contains: const: realtek,rtl9310-i2c then: required: - realtek,scl - if: properties: compatible: contains: const: realtek,rtl9301-i2c then: patternProperties: '^i2c@[89ab]$': false required: - compatible - reg additionalProperties: false examples: - | i2c@36c { compatible = "realtek,rtl9301-i2c"; reg = <0x36c 0x14>; #address-cells = <1>; #size-cells = <0>; i2c@2 { reg = <2>; #address-cells = <1>; #size-cells = <0>; }; };