Document the device-tree bindings for Realtek SoCs mmc driver.
Signed-off-by: Jyan Chou <jyanchou@realtek.com>
---
v6 -> v7:
- Drop reset-names and realtek,m2tmx since it is not needed in our driver.
v5 -> v6:
- Drop the incorrect, generic compatible and modify it to specific.
- Drop useless properties.
- Modify bindings to make DTS and driver match.
v4 -> v5:
- Remove unused property, e.g.,cqe, resets, clock-freq-min-max.
- Fix indentation.
v3 -> v4:
- Describe the items to make properties and item easy to understand.
- Fix examples' indentation and compiling error.
- Drop useless properties.
v2 -> v3:
- Modify dt-bindings' content and description.
- Fix coding style.
- Update the list of maintainers.
v1 -> v2:
- Add dt-bindings.
---
---
.../bindings/mmc/realtek,rtd-dw-cqe-emmc.yaml | 153 ++++++++++++++++++
1 file changed, 153 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mmc/realtek,rtd-dw-cqe-emmc.yaml
diff --git a/Documentation/devicetree/bindings/mmc/realtek,rtd-dw-cqe-emmc.yaml b/Documentation/devicetree/bindings/mmc/realtek,rtd-dw-cqe-emmc.yaml
new file mode 100644
index 000000000000..ae063fcae365
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/realtek,rtd-dw-cqe-emmc.yaml
@@ -0,0 +1,153 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/realtek,rtd-dw-cqe-emmc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Realtek DesignWare mobile storage host controller
+
+description:
+ Realtek uses the Synopsys DesignWare mobile storage host controller
+ to interface a SoC with storage medium. This file documents the Realtek
+ specific extensions.
+
+maintainers:
+ - Jyan Chou <jyanchou@realtek.com>
+
+allOf:
+ - $ref: synopsys-dw-mshc-common.yaml#
+
+properties:
+ compatible:
+ enum:
+ - realtek,rtd1325-dw-cqe-emmc
+ - realtek,rtd1319-dw-cqe-emmc
+ - realtek,rtd1315e-dw-cqe-emmc
+ - realtek,rtd1619b-dw-cqe-emmc
+
+ reg:
+ items:
+ - description: emmc base address
+ - description: cqhci base address
+
+ reg-names:
+ items:
+ - const: emmc
+ - const: cqhci
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 4
+
+ clock-names:
+ items:
+ - const: biu
+ - const: ciu
+ - const: vp0
+ - const: vp1
+
+ resets:
+ maxItems: 1
+
+ pinctrl-0:
+ description:
+ should contain default/high speed pin ctrl.
+ maxItems: 1
+
+ pinctrl-1:
+ description:
+ should contain sdr50 pin ctrl.
+ maxItems: 1
+
+ pinctrl-2:
+ description:
+ should contain ddr50 mode pin ctrl.
+ maxItems: 1
+
+ pinctrl-3:
+ description:
+ should contain hs200 speed pin ctrl.
+ maxItems: 1
+
+ pinctrl-4:
+ description:
+ should contain hs400 speed pin ctrl.
+ maxItems: 1
+
+ pinctrl-5:
+ description:
+ should contain tune0 pin ctrl.
+ maxItems: 1
+
+ pinctrl-6:
+ description:
+ should contain tune1 pin ctrl.
+ maxItems: 1
+
+ pinctrl-7:
+ description:
+ should contain tune2 pin ctrl.
+ maxItems: 1
+
+ pinctrl-8:
+ description:
+ should contain tune3 pin ctrl.
+ maxItems: 1
+
+ pinctrl-9:
+ description:
+ should contain tune4 pin ctrl.
+ maxItems: 1
+
+ pinctrl-names:
+ maxItems: 10
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts
+ - clocks
+ - clock-names
+ - vmmc-supply
+ - pinctrl-names
+ - pinctrl-0
+ - pinctrl-1
+ - pinctrl-3
+ - pinctrl-4
+ - pinctrl-5
+ - pinctrl-6
+ - pinctrl-7
+ - pinctrl-8
+ - pinctrl-9
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ emmc: mmc@12000 {
+ compatible = "realtek,rtd1315e-dw-cqe-emmc";
+ reg = <0x00012000 0x00600>,
+ <0x00012180 0x00060>;
+ reg-names = "emmc", "cqhci";
+ interrupts = <0 42 4>;
+ clocks = <&cc 22>, <&cc 26>, <&cc 121>, <&cc 122>;
+ clock-names = "biu", "ciu", "vp0", "vp1";
+ resets = <&rst 20>;
+ vmmc-supply = <®_vcc1v8>;
+ pinctrl-names = "default", "sdr50", "ddr50", "hs200", "hs400",
+ "tune0","tune1", "tune2","tune3", "tune4";
+ pinctrl-0 = <&emmc_pins_sdr50>;
+ pinctrl-1 = <&emmc_pins_sdr50>;
+ pinctrl-2 = <&emmc_pins_ddr50>;
+ pinctrl-3 = <&emmc_pins_hs200>;
+ pinctrl-4 = <&emmc_pins_hs400>;
+ pinctrl-5 = <&emmc_pins_tune0>;
+ pinctrl-6 = <&emmc_pins_tune1>;
+ pinctrl-7 = <&emmc_pins_tune2>;
+ pinctrl-8 = <&emmc_pins_tune3>;
+ pinctrl-9 = <&emmc_pins_tune4>;
+ supports-cqe;
+ };
--
2.42.0
On 21/11/2023 10:11, Jyan Chou wrote:
> Document the device-tree bindings for Realtek SoCs mmc driver.
This is a friendly reminder during the review process.
It seems my or other reviewer's previous comments were not fully
addressed. Maybe the feedback got lost between the quotes, maybe you
just forgot to apply it. Please go back to the previous discussion and
either implement all requested changes or keep discussing them.
Thank you.
Additionally:
A nit, subject: drop second/last, redundant "bindings for". The
"dt-bindings" prefix is already stating that these are bindings.
>
> Signed-off-by: Jyan Chou <jyanchou@realtek.com>
>
> ---
> v6 -> v7:
> - Drop reset-names and realtek,m2tmx since it is not needed in our driver.
>
> v5 -> v6:
> - Drop the incorrect, generic compatible and modify it to specific.
> - Drop useless properties.
I asked which ones. I still do not see that information here.
> - Modify bindings to make DTS and driver match.
>
> v4 -> v5:
> - Remove unused property, e.g.,cqe, resets, clock-freq-min-max.
> - Fix indentation.
>
...
> +
> +maintainers:
> + - Jyan Chou <jyanchou@realtek.com>
> +
> +allOf:
> + - $ref: synopsys-dw-mshc-common.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - realtek,rtd1325-dw-cqe-emmc
> + - realtek,rtd1319-dw-cqe-emmc
> + - realtek,rtd1315e-dw-cqe-emmc
> + - realtek,rtd1619b-dw-cqe-emmc
That's not what is present in your driver. Why other compatibles are not
there? What do you want to express here?
> +
> + reg:
> + items:
> + - description: emmc base address
> + - description: cqhci base address
> +
> + reg-names:
> + items:
> + - const: emmc
> + - const: cqhci
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 4
> +
> + clock-names:
> + items:
> + - const: biu
> + - const: ciu
> + - const: vp0
> + - const: vp1
> +
> + resets:
> + maxItems: 1
> +
> + pinctrl-0:
> + description:
> + should contain default/high speed pin ctrl.
> + maxItems: 1
> +
> + pinctrl-1:
> + description:
> + should contain sdr50 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-2:
> + description:
> + should contain ddr50 mode pin ctrl.
> + maxItems: 1
> +
> + pinctrl-3:
> + description:
> + should contain hs200 speed pin ctrl.
> + maxItems: 1
> +
> + pinctrl-4:
> + description:
> + should contain hs400 speed pin ctrl.
> + maxItems: 1
> +
> + pinctrl-5:
> + description:
> + should contain tune0 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-6:
> + description:
> + should contain tune1 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-7:
> + description:
> + should contain tune2 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-8:
> + description:
> + should contain tune3 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-9:
> + description:
> + should contain tune4 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-names:
> + maxItems: 10
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - interrupts
> + - clocks
> + - clock-names
> + - vmmc-supply
> + - pinctrl-names
> + - pinctrl-0
> + - pinctrl-1
> + - pinctrl-3
> + - pinctrl-4
> + - pinctrl-5
> + - pinctrl-6
> + - pinctrl-7
> + - pinctrl-8
> + - pinctrl-9
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + emmc: mmc@12000 {
> + compatible = "realtek,rtd1315e-dw-cqe-emmc";
> + reg = <0x00012000 0x00600>,
> + <0x00012180 0x00060>;
> + reg-names = "emmc", "cqhci";
> + interrupts = <0 42 4>;
Use proper interrupt defines instead of raw values.
> + clocks = <&cc 22>, <&cc 26>, <&cc 121>, <&cc 122>;
> + clock-names = "biu", "ciu", "vp0", "vp1";
Where is the DTS implementing this binding?
I said it once:
> I asked you to test the bindings. This also means that you must test
> your DTS against bindings. Your bindings, DTS and driver do not match,
> therefore let's be a bit more clear:
>
> NAK, till you upstream your DTS.
I still do not see DTS anywhere. Please link it.
Best regards,
Krzysztof
>> Document the device-tree bindings for Realtek SoCs mmc driver.
> This is a friendly reminder during the review process.
> It seems my or other reviewer's previous comments were not fully addressed. Maybe the feedback got lost between the quotes, maybe you just forgot to apply it. Please go back to the previous discussion and either implement all requested changes or keep discussing them.
> Thank you.
> Additionally:
> A nit, subject: drop second/last, redundant "bindings for". The "dt-bindings" prefix is already stating that these are bindings.
Okay, I will check if I miss to correct some previous comments.
>>
>> Signed-off-by: Jyan Chou <jyanchou@realtek.com>
>>
>> ---
>> v6 -> v7:
>> - Drop reset-names and realtek,m2tmx since it is not needed in our driver.
>>
>> v5 -> v6:
>> - Drop the incorrect, generic compatible and modify it to specific.
>> - Drop useless properties.
> I asked which ones. I still do not see that information here.
Okay, I will list it in.
>> - Modify bindings to make DTS and driver match.
>>
>> v4 -> v5:
>> - Remove unused property, e.g.,cqe, resets, clock-freq-min-max.
>> - Fix indentation.
>>
...
>> +
>> +maintainers:
>> + - Jyan Chou <jyanchou@realtek.com>
>> +
>> +allOf:
>> + - $ref: synopsys-dw-mshc-common.yaml#
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - realtek,rtd1325-dw-cqe-emmc
>> + - realtek,rtd1319-dw-cqe-emmc
>> + - realtek,rtd1315e-dw-cqe-emmc
>> + - realtek,rtd1619b-dw-cqe-emmc
> That's not what is present in your driver. Why other compatibles are not there? What do you want to express here?
Other compatibles are surely needed to be in our driver, I will correct it in our new version, thanks.
>> +
>> + reg:
>> + items:
>> + - description: emmc base address
>> + - description: cqhci base address
>> +
>> + reg-names:
>> + items:
>> + - const: emmc
>> + - const: cqhci
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 4
>> +
>> + clock-names:
>> + items:
>> + - const: biu
>> + - const: ciu
>> + - const: vp0
>> + - const: vp1
>> +
>> + resets:
>> + maxItems: 1
>> +
>> + pinctrl-0:
>> + description:
>> + should contain default/high speed pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-1:
>> + description:
>> + should contain sdr50 pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-2:
>> + description:
>> + should contain ddr50 mode pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-3:
>> + description:
>> + should contain hs200 speed pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-4:
>> + description:
>> + should contain hs400 speed pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-5:
>> + description:
>> + should contain tune0 pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-6:
>> + description:
>> + should contain tune1 pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-7:
>> + description:
>> + should contain tune2 pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-8:
>> + description:
>> + should contain tune3 pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-9:
>> + description:
>> + should contain tune4 pin ctrl.
>> + maxItems: 1
>> +
>> + pinctrl-names:
>> + maxItems: 10
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - reg-names
>> + - interrupts
>> + - clocks
>> + - clock-names
>> + - vmmc-supply
>> + - pinctrl-names
>> + - pinctrl-0
>> + - pinctrl-1
>> + - pinctrl-3
>> + - pinctrl-4
>> + - pinctrl-5
>> + - pinctrl-6
>> + - pinctrl-7
>> + - pinctrl-8
>> + - pinctrl-9
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + emmc: mmc@12000 {
>> + compatible = "realtek,rtd1315e-dw-cqe-emmc";
>> + reg = <0x00012000 0x00600>,
>> + <0x00012180 0x00060>;
>> + reg-names = "emmc", "cqhci";
>> + interrupts = <0 42 4>;
> Use proper interrupt defines instead of raw values.
Okay, I will correct it.
> + clocks = <&cc 22>, <&cc 26>, <&cc 121>, <&cc 122>;
> + clock-names = "biu", "ciu", "vp0", "vp1";
> Where is the DTS implementing this binding?
> I said it once:
>> I asked you to test the bindings. This also means that you must test
>> your DTS against bindings. Your bindings, DTS and driver do not match,
>> therefore let's be a bit more clear:
>>
>> NAK, till you upstream your DTS.
> I still do not see DTS anywhere. Please link it.
Sorry for asking. Which dts do we need to link it? The device tree we use for our SOC?
or realtek,rtd-dw-cqe-emmc.example.dts? Thanks.
Best Regards,
Jyan
-----Original Message-----
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sent: Tuesday, November 21, 2023 5:35 PM
To: Jyan Chou [周芷安] <jyanchou@realtek.com>; ulf.hansson@linaro.org; adrian.hunter@intel.com; jh80.chung@samsung.com; riteshh@codeaurora.org; robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org
Cc: conor+dt@kernel.org; asutoshd@codeaurora.org; p.zabel@pengutronix.de; linux-mmc@vger.kernel.org; devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; arnd@arndb.de; briannorris@chromium.org; doug@schmorgal.com; tonyhuang.sunplus@gmail.com; abel.vesa@linaro.org; william.qiu@starfivetech.com
Subject: Re: [PATCH v7][4/4] dt-bindings: mmc: Add dt-bindings for realtek mmc driver
External mail.
On 21/11/2023 10:11, Jyan Chou wrote:
> Document the device-tree bindings for Realtek SoCs mmc driver.
This is a friendly reminder during the review process.
It seems my or other reviewer's previous comments were not fully addressed. Maybe the feedback got lost between the quotes, maybe you just forgot to apply it. Please go back to the previous discussion and either implement all requested changes or keep discussing them.
Thank you.
Additionally:
A nit, subject: drop second/last, redundant "bindings for". The "dt-bindings" prefix is already stating that these are bindings.
>
> Signed-off-by: Jyan Chou <jyanchou@realtek.com>
>
> ---
> v6 -> v7:
> - Drop reset-names and realtek,m2tmx since it is not needed in our driver.
>
> v5 -> v6:
> - Drop the incorrect, generic compatible and modify it to specific.
> - Drop useless properties.
I asked which ones. I still do not see that information here.
> - Modify bindings to make DTS and driver match.
>
> v4 -> v5:
> - Remove unused property, e.g.,cqe, resets, clock-freq-min-max.
> - Fix indentation.
>
...
> +
> +maintainers:
> + - Jyan Chou <jyanchou@realtek.com>
> +
> +allOf:
> + - $ref: synopsys-dw-mshc-common.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - realtek,rtd1325-dw-cqe-emmc
> + - realtek,rtd1319-dw-cqe-emmc
> + - realtek,rtd1315e-dw-cqe-emmc
> + - realtek,rtd1619b-dw-cqe-emmc
That's not what is present in your driver. Why other compatibles are not there? What do you want to express here?
> +
> + reg:
> + items:
> + - description: emmc base address
> + - description: cqhci base address
> +
> + reg-names:
> + items:
> + - const: emmc
> + - const: cqhci
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 4
> +
> + clock-names:
> + items:
> + - const: biu
> + - const: ciu
> + - const: vp0
> + - const: vp1
> +
> + resets:
> + maxItems: 1
> +
> + pinctrl-0:
> + description:
> + should contain default/high speed pin ctrl.
> + maxItems: 1
> +
> + pinctrl-1:
> + description:
> + should contain sdr50 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-2:
> + description:
> + should contain ddr50 mode pin ctrl.
> + maxItems: 1
> +
> + pinctrl-3:
> + description:
> + should contain hs200 speed pin ctrl.
> + maxItems: 1
> +
> + pinctrl-4:
> + description:
> + should contain hs400 speed pin ctrl.
> + maxItems: 1
> +
> + pinctrl-5:
> + description:
> + should contain tune0 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-6:
> + description:
> + should contain tune1 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-7:
> + description:
> + should contain tune2 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-8:
> + description:
> + should contain tune3 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-9:
> + description:
> + should contain tune4 pin ctrl.
> + maxItems: 1
> +
> + pinctrl-names:
> + maxItems: 10
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - interrupts
> + - clocks
> + - clock-names
> + - vmmc-supply
> + - pinctrl-names
> + - pinctrl-0
> + - pinctrl-1
> + - pinctrl-3
> + - pinctrl-4
> + - pinctrl-5
> + - pinctrl-6
> + - pinctrl-7
> + - pinctrl-8
> + - pinctrl-9
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + emmc: mmc@12000 {
> + compatible = "realtek,rtd1315e-dw-cqe-emmc";
> + reg = <0x00012000 0x00600>,
> + <0x00012180 0x00060>;
> + reg-names = "emmc", "cqhci";
> + interrupts = <0 42 4>;
Use proper interrupt defines instead of raw values.
> + clocks = <&cc 22>, <&cc 26>, <&cc 121>, <&cc 122>;
> + clock-names = "biu", "ciu", "vp0", "vp1";
Where is the DTS implementing this binding?
I said it once:
> I asked you to test the bindings. This also means that you must test
> your DTS against bindings. Your bindings, DTS and driver do not match,
> therefore let's be a bit more clear:
>
> NAK, till you upstream your DTS.
I still do not see DTS anywhere. Please link it.
Best regards,
Krzysztof
© 2016 - 2025 Red Hat, Inc.