On Tue, Sep 29, 2020 at 8:25 AM Leizhen (ThunderTown) <thunder.leizhen@xxxxxxxxxx> 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@xxxxxxxxxx> > >>>> --- > >>>> .../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@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@xxxxxxxxxxxxx> > >>>> + > >>>> +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