Re: [PATCH RFC 3/3] binding: mmc: hi3798cv200-dw-mshc: convert to YAML and rename to histb-dw-mshc, add compatible of hi3798mv200

From: forbidden405@xxxxxxxxxxx
Date: Sun Apr 16 2023 - 03:49:40 EST


On 4/16/2023 3:26 PM, Krzysztof Kozlowski wrote:
> On 15/04/2023 16:18, Yang Xiwen via B4 Relay wrote:
>> From: Yang Xiwen <forbidden405@xxxxxxxxxxx>
>>
>> Hi3798MV200 has an extra clock, also document it here.
>
> Use subject prefixes matching the subsystem (which you can get for
> example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
> your patch is touching).
>
>
> Subject: it is way too long. It should be just conversion. Don't
> introduce new compatibles.
>
>>
>> Signed-off-by: Yang Xiwen <forbidden405@xxxxxxxxxxx>
>> ---
>> .../bindings/mmc/hi3798cv200-dw-mshc.txt | 40 ----------
>> .../devicetree/bindings/mmc/histb-dw-mshc.yaml | 90 ++++++++++++++++++++++
>> 2 files changed, 90 insertions(+), 40 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.txt
>> deleted file mode 100644
>> index a0693b7145f2a..0000000000000
>> --- a/Documentation/devicetree/bindings/mmc/hi3798cv200-dw-mshc.txt
>> +++ /dev/null
>> @@ -1,40 +0,0 @@
>> -* Hisilicon Hi3798CV200 specific extensions to the Synopsys Designware Mobile
>> - Storage Host Controller
>> -
>> -Read synopsys-dw-mshc.txt for more details
>> -
>> -The Synopsys designware mobile storage host controller is used to interface
>> -a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
>> -differences between the core Synopsys dw mshc controller properties described
>> -by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200
>> -specific extensions to the Synopsys Designware Mobile Storage Host Controller.
>> -
>> -Required Properties:
>> -- compatible: Should contain "hisilicon,hi3798cv200-dw-mshc".
>> -- clocks: A list of phandle + clock-specifier pairs for the clocks listed
>> - in clock-names.
>> -- clock-names: Should contain the following:
>> - "ciu" - The ciu clock described in synopsys-dw-mshc.txt.
>> - "biu" - The biu clock described in synopsys-dw-mshc.txt.
>> - "ciu-sample" - Hi3798CV200 extended phase clock for ciu sampling.
>> - "ciu-drive" - Hi3798CV200 extended phase clock for ciu driving.
>> -
>> -Example:
>> -
>> - emmc: mmc@9830000 {
>> - compatible = "hisilicon,hi3798cv200-dw-mshc";
>> - reg = <0x9830000 0x10000>;
>> - interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
>> - clocks = <&crg HISTB_MMC_CIU_CLK>,
>> - <&crg HISTB_MMC_BIU_CLK>,
>> - <&crg HISTB_MMC_SAMPLE_CLK>,
>> - <&crg HISTB_MMC_DRV_CLK>;
>> - clock-names = "ciu", "biu", "ciu-sample", "ciu-drive";
>> - fifo-depth = <256>;
>> - clock-frequency = <200000000>;
>> - cap-mmc-highspeed;
>> - mmc-ddr-1_8v;
>> - mmc-hs200-1_8v;
>> - non-removable;
>> - bus-width = <8>;
>> - };
>> diff --git a/Documentation/devicetree/bindings/mmc/histb-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/histb-dw-mshc.yaml
>> new file mode 100644
>> index 0000000000000..05a435185e9da
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mmc/histb-dw-mshc.yaml
>> @@ -0,0 +1,90 @@
>> +# SPDX-License-Identifier: GPL-2.0
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mmc/histb-dw-mshc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title:
>> + Hisilicon Hi3798CV200 specific extensions to the Synopsys Designware Mobile
>> + Storage Host Controller
>> +
>> +maintainers:
>> + - Yang Xiwen <forbidden405@xxxxxxxxxxx>
>> +
>> +description:
>> + The Synopsys designware mobile storage host controller is used to interface
>> + a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
>> + differences between the core Synopsys dw mshc controller properties described
>> + by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200
>> + specific extensions to the Synopsys Designware Mobile Storage Host Controller.
>
> Drop the last sentence.
>
>> +
>> +allOf:
>> + - $ref: "synopsys-dw-mshc-common.yaml#"
>
> Drop quotes.
>
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: hisilicon,hi3798mv200-dw-mshc
>> + then:
>> + properties:
>> + clocks:
>> + minItems: 5
>> +
>> + clock-names:
>> + minItems: 5
>
> Entire allOf goes after required:.
>
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - hisilicon,hi3798cv200-dw-mshc
>> + - hisilicon,hi3798mv200-dw-mshc
>
> New compatibles are not related to conversion.
>
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + clocks:
>> + minItems: 4
>> + maxItems: 5
>> + description: A list of phandles for the clocks listed in clock-names
>
> Drop description.
>
>> +
>> + clock-names:
>> + minItems: 4
>> + items:
>> + - const: ciu
>> + - const: biu
>> + - const: ciu-sample
>> + - const: ciu-drive
>> + - const: sap-dll-mode
>
> Only four clocks were in original document. Don't mix different changes
> in one patch.
>
>> +
>> +unevaluatedProperties: false
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - clocks
>> + - clock-names
>> +
>> +examples:
>> + - |
>> + emmc: mmc@9830000 {
>> + compatible = "hisilicon,hi3798cv200-dw-mshc";
>> + reg = <0x9830000 0x10000>;
>
> Wrong indentation. Use 4 spaces for example indentation.
>
>> + interrupts = <35>;
>> + clocks = <&crg 1>,
>
>> +
>>
>
> Best regards,
> Krzysztof
>
Thanks, will fix in v3.
By the way, this is v1, v2 fixed some mistakes and the changelog is in
the cover-letter.
--
Best regards,
Yang Xiwen