Add yaml file to replace txt file, and added description and example of reset attribute for Spreadtrum I2C controller. Signed-off-by: Huangzheng Lai <Huangzheng.Lai@xxxxxxxxxx> --- .../devicetree/bindings/i2c/i2c-sprd.txt | 31 -------- .../devicetree/bindings/i2c/i2c-sprd.yaml | 79 +++++++++++++++++++ 2 files changed, 79 insertions(+), 31 deletions(-) delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-sprd.txt create mode 100644 Documentation/devicetree/bindings/i2c/i2c-sprd.yaml diff --git a/Documentation/devicetree/bindings/i2c/i2c-sprd.txt b/Documentation/devicetree/bindings/i2c/i2c-sprd.txt deleted file mode 100644 index 7b6b3b8d0d11..000000000000 --- a/Documentation/devicetree/bindings/i2c/i2c-sprd.txt +++ /dev/null @@ -1,31 +0,0 @@ -I2C for Spreadtrum platforms - -Required properties: -- compatible: Should be "sprd,sc9860-i2c". -- reg: Specify the physical base address of the controller and length - of memory mapped region. -- interrupts: Should contain I2C interrupt. -- clock-names: Should contain following entries: - "i2c" for I2C clock, - "source" for I2C source (parent) clock, - "enable" for I2C module enable clock. -- clocks: Should contain a clock specifier for each entry in clock-names. -- clock-frequency: Contains desired I2C bus clock frequency in Hz. -- #address-cells: Should be 1 to describe address cells for I2C device address. -- #size-cells: Should be 0 means no size cell for I2C device address. - -Optional properties: -- Child nodes conforming to I2C bus binding - -Examples: -i2c0: i2c@70500000 { - compatible = "sprd,sc9860-i2c"; - reg = <0 0x70500000 0 0x1000>; - interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; - clock-names = "i2c", "source", "enable"; - clocks = <&clk_i2c3>, <&ext_26m>, <&clk_ap_apb_gates 11>; - clock-frequency = <400000>; - #address-cells = <1>; - #size-cells = <0>; -}; - diff --git a/Documentation/devicetree/bindings/i2c/i2c-sprd.yaml b/Documentation/devicetree/bindings/i2c/i2c-sprd.yaml new file mode 100644 index 000000000000..54378afe8419 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-sprd.yaml @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright 2020 Unisoc Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/i2c-sprd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Unisoc I2C Controller Device + +maintainers: + - Huangzheng Lai <laihuangzheng@xxxxxxxxx> + +properties: + compatible: + items: + - const: sprd,sc9860-i2c + + reg: + maxItems: 2 + + interrupts: + maxItems: 1 + + clock-names: + items: + - const: i2c + - const: source + - const: enable + + clocks: + items: + - description: Clock specifier for "i2c" in clock-names + - description: Clock specifier for "source" in clock-names + - description: Clock specifier for "enable" in clock-names + + clock-frequency: + description: Constains desired I2C bus clock frequency in Hz + + "#address-cells": + const: 1 + description: Address cells for I2C device address + + "#size-cells": + const: 0 + description: Size cell for I2C device address + + reset-names: + const: i2c_rst + + resets: + maxItems: 1 + description: Phandle to the reset controller. + +required: + - compatible + - reg + - interrupts + - clock-names + - clocks + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + i2c0: i2c@2240000 { + compatible = "sprd,sc9860-i2c"; + reg = <0 0x2240000 0 0x1000>; + interrupts = <11>; + clock-names = "i2c", "source", "enable"; + clocks = <&clk_i2c3>, <&ext_26m>, <&clk_ap_apb_gates 11>; + clock-frequency = <400000>; + #address-cells = <1>; + #size-cells = <0>; + reset-names = "i2c_rst"; + resets = <&apahb_gate 3>; + }; + -- 2.17.1