[PATCH v4 12/20] dt-bindings: arm: hisilicon: convert hisilicon,hi3798cv200-perictrl bindings to json-schema

Rob Herring robh at kernel.org
Tue Sep 29 09:52:36 EDT 2020


On Tue, Sep 29, 2020 at 8:25 AM Leizhen (ThunderTown)
<thunder.leizhen at huawei.com> wrote:
>
>
>
> On 2020/9/29 17:21, Leizhen (ThunderTown) wrote:
> >
> >
> > On 2020/9/29 11:18, Leizhen (ThunderTown) wrote:
> >>
> >>
> >> On 2020/9/29 3:14, Rob Herring wrote:
> >>> On Mon, Sep 28, 2020 at 11:13:16PM +0800, Zhen Lei wrote:
> >>>> Convert the Hisilicon Hi3798CV200 Peripheral Controller binding to DT
> >>>> schema format using json-schema.
> >>>>
> >>>> Signed-off-by: Zhen Lei <thunder.leizhen at huawei.com>
> >>>> ---
> >>>>  .../controller/hisilicon,hi3798cv200-perictrl.txt  | 21 ----------
> >>>>  .../controller/hisilicon,hi3798cv200-perictrl.yaml | 45 ++++++++++++++++++++++
> >>>>  2 files changed, 45 insertions(+), 21 deletions(-)
> >>>>  delete mode 100644 Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.txt
> >>>>  create mode 100644 Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.yaml
> >>>>
> >>>> diff --git a/Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.txt b/Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.txt
> >>>> deleted file mode 100644
> >>>> index 0d5282f4670658d..000000000000000
> >>>> --- a/Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.txt
> >>>> +++ /dev/null
> >>>> @@ -1,21 +0,0 @@
> >>>> -Hisilicon Hi3798CV200 Peripheral Controller
> >>>> -
> >>>> -The Hi3798CV200 Peripheral Controller controls peripherals, queries
> >>>> -their status, and configures some functions of peripherals.
> >>>> -
> >>>> -Required properties:
> >>>> -- compatible: Should contain "hisilicon,hi3798cv200-perictrl", "syscon"
> >>>> -  and "simple-mfd".
> >>>> -- reg: Register address and size of Peripheral Controller.
> >>>> -- #address-cells: Should be 1.
> >>>> -- #size-cells: Should be 1.
> >>>> -
> >>>> -Examples:
> >>>> -
> >>>> -  perictrl: peripheral-controller at 8a20000 {
> >>>> -          compatible = "hisilicon,hi3798cv200-perictrl", "syscon",
> >>>> -                       "simple-mfd";
> >>>> -          reg = <0x8a20000 0x1000>;
> >>>> -          #address-cells = <1>;
> >>>> -          #size-cells = <1>;
> >>>> -  };
> >>>> diff --git a/Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.yaml b/Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.yaml
> >>>> new file mode 100644
> >>>> index 000000000000000..4e547017e368393
> >>>> --- /dev/null
> >>>> +++ b/Documentation/devicetree/bindings/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.yaml
> >>>> @@ -0,0 +1,45 @@
> >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >>>> +%YAML 1.2
> >>>> +---
> >>>> +$id: http://devicetree.org/schemas/arm/hisilicon/controller/hisilicon,hi3798cv200-perictrl.yaml#
> >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>>> +
> >>>> +title: Hisilicon Hi3798CV200 Peripheral Controller
> >>>> +
> >>>> +maintainers:
> >>>> +  - Wei Xu <xuwei5 at hisilicon.com>
> >>>> +
> >>>> +description: |
> >>>> +  The Hi3798CV200 Peripheral Controller controls peripherals, queries
> >>>> +  their status, and configures some functions of peripherals.
> >>>> +
> >>>> +properties:
> >>>> +  compatible:
> >>>> +    items:
> >>>> +      - const: hisilicon,hi3798cv200-perictrl
> >>>> +      - const: syscon
> >>>> +      - const: simple-mfd
> >>>> +
> >>>> +  reg:
> >>>> +    description: Register address and size
> >>>> +    maxItems: 1
> >>>> +
> >>>> +  '#address-cells':
> >>>> +    const: 1
> >>>> +
> >>>> +  '#size-cells':
> >>>> +    const: 1
> >>>
> >>> That implies child nodes. You need some sort of schema for them.
> >>
> >> OK, I will drop #address-cells and #size-cells in this binding.
> >
> > I think I misunderstood. I shoud describe child nodes here.
> >
> > It's National Day the day after tomorrow, total eight days off. It's so hurry.
> > I'll give up this patch! And do it for v5.11
>
> I searched the dtsi, these two properties are required by property "ranges", so
> I will add it.

'ranges' also implies there are child nodes as does 'simple-mfd', so
whatever child nodes you have are missing and need to be documented
too. Also, 'ranges' implies the child nodes are memory-mapped, but
'simple-mfd' implies they are not. 'simple-bus' is what should be used
for memory-mapped children.

Rob



More information about the linux-arm-kernel mailing list