Messages in this thread Patch in this message | | | From | ryan_chen <> | Subject | [PATCH 1/2] dt-bindings: i2c-new: Add bindings for AST2600 i2C new controller | Date | Wed, 23 Mar 2022 08:40:08 +0800 |
| |
AST2600 support new register set for I2C controller, add bindings document to support driver of i2c new controller
Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com> --- .../bindings/i2c/aspeed,i2c-new.yaml | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c-new.yaml
diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c-new.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c-new.yaml new file mode 100644 index 000000000000..2e49c5438ad2 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c-new.yaml @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/aspeed,i2c-new.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ASPEED New I2C Controller on the AST26XX SoCs Device Tree Bindings + +maintainers: + - Ryan Chen <ryan_chen@aspeedtech.com> + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + +properties: + compatible: + enum: + - aspeed,ast2600-i2c-bus + + reg: + minItems: 1 + items: + - description: address offset and range of bus + - description: address offset and range of bus buffer + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + description: + root clock of bus, should reference the APB + clock in the second cell + + resets: + maxItems: 1 + + bus-frequency: + minimum: 500 + maximum: 2000000 + default: 100000 + description: frequency of the bus clock in Hz defaults to 100 kHz when not + specified + + multi-master: + type: boolean + description: + states that there is another master active on this bus + +required: + - reg + - compatible + - clocks + - resets + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/ast2600-clock.h> + + i2c_gr: i2c-global-regs@0 { + compatible = "aspeed,ast2600-i2c-global", "syscon"; + reg = <0x0 0x20>; + resets = <&syscon ASPEED_RESET_I2C>; + }; + + i2c0: i2c-bus@80 { + #address-cells = <1>; + #size-cells = <0>; + #interrupt-cells = <1>; + compatible = "aspeed,ast2600-i2c-bus"; + reg = <0x80 0x80>, <0xC00 0x20>; + clocks = <&syscon ASPEED_CLK_APB2>; + resets = <&syscon ASPEED_RESET_I2C>; + bus-frequency = <100000>; + }; -- 2.25.1
| |