From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Huangzheng Lai <Huangzheng.Lai@unisoc.com>,
Andi Shyti <andi.shyti@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: Orson Zhai <orsonzhai@gmail.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Chunyan Zhang <zhang.lyra@gmail.com>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org,
huangzheng lai <laihuangzheng@gmail.com>,
Xiongpeng Wu <xiongpeng.wu@unisoc.com>
Subject: Re: [PATCH] dt-bindings: i2c: Add yaml for Spreadtrum I2C controller
Date: Tue, 31 Oct 2023 09:21:55 +0100 [thread overview]
Message-ID: <82d76f96-331d-465d-9159-e9473a02f957@linaro.org> (raw)
In-Reply-To: <20231031080820.5588-1-Huangzheng.Lai@unisoc.com>
On 31/10/2023 09:08, Huangzheng Lai wrote:
> 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@unisoc.com>
> ---
> .../devicetree/bindings/i2c/i2c-sprd.txt | 31 --------
> .../devicetree/bindings/i2c/i2c-sprd.yaml | 79 +++++++++++++++++++
Filename matching compatible.
> 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@gmail.com>
> +
Missing ref to i2c-controller. Open existing bindings and use them as
template instead of making something on your own with known bugs.
> +properties:
> + compatible:
> + items:
You can drop the items.
> + - const: sprd,sc9860-i2c
> +
> + reg:
> + maxItems: 2
You need to describe the items (items with description)
> +
> + interrupts:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: i2c
> + - const: source
> + - const: enable
> +
> + clocks:
> + items:
> + - description: Clock specifier for "i2c" in clock-names
This description is useless and redundant. Instead, say what clock is
it. If you do not know, then just maxItems: 3
> + - 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
Typo, Contains
> +
> + "#address-cells":
> + const: 1
> + description: Address cells for I2C device address
Drop, why do you need it?
> +
> + "#size-cells":
> + const: 0
> + description: Size cell for I2C device address
Drop
> +
> + reset-names:
> + const: i2c_rst
Drop, wasn't in original binding. Or explain in commit msg what you
changed and why.
> +
> + resets:
> + maxItems: 1
> + description: Phandle to the reset controller.
Drop, wasn't in original binding. Or explain in commit msg what you
changed and why.
Description is also quite redundant/useless.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clock-names
> + - clocks
> + - "#address-cells"
> + - "#size-cells"
Really... Open existing bindings.
> +
> +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>;
Incomplete. Add child node.
> + };
> +
Best regards,
Krzysztof
next prev parent reply other threads:[~2023-10-31 8:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-31 8:08 [PATCH] dt-bindings: i2c: Add yaml for Spreadtrum I2C controller Huangzheng Lai
2023-10-31 8:21 ` Krzysztof Kozlowski [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-11-03 9:16 Huangzheng Lai
2023-11-03 10:21 ` Rob Herring
2023-11-03 11:54 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=82d76f96-331d-465d-9159-e9473a02f957@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=Huangzheng.Lai@unisoc.com \
--cc=andi.shyti@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=laihuangzheng@gmail.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=orsonzhai@gmail.com \
--cc=robh+dt@kernel.org \
--cc=xiongpeng.wu@unisoc.com \
--cc=zhang.lyra@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.