Message ID | 27dba330ec0c1cd7edbcec53083f78169713a42e.1647652688.git.tonyhuang.sunplus@gmail.com |
---|---|
State | New |
Headers | show |
Series | Add mmc driver for Sunplus SP7021 SOC | expand |
On 19/03/2022 02:50, Tony Huang wrote: > Add mmc yaml file for Sunplus SP7021 > > Signed-off-by: Tony Huang <tonyhuang.sunplus@gmail.com> > --- > Changes in v4: > - Addressed comments from Ulf Hansson. > > .../devicetree/bindings/mmc/sunplus,mmc.yaml | 79 ++++++++++++++++++++++ > MAINTAINERS | 6 ++ > 2 files changed, 85 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml > > diff --git a/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml b/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml > new file mode 100644 > index 0000000..13ed07c > --- /dev/null > +++ b/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml > @@ -0,0 +1,79 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) Sunplus Ltd. Co. 2021 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mmc/sunplus,mmc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: sunplus MMC controller s/sunplus/Sunplus/ > + > +allOf: > + - $ref: "mmc-controller.yaml" allOf below maintainers, > + > +maintainers: > + - Tony Huang <tonyhuang.sunplus@gmail.com> > + - Li-hao Kuo <lhjeff911@gmail.com> > + > +properties: > + compatible: > + enum: > + - sunplus,mmc-v1 > + - sunplus,mmc-v2 How did this happen? Versions of blocks are usually discouraged, unless you have clear specification,. The previous discussion did not end with "add v1 and v2". Do you have clear documentation/specification of these blocks? If no, please use SoC compatibles. > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + minItems: 1 maxItems > + > + resets: > + maxItems: 1 > + > + max-frequency: true > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - resets > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + mmc0: mmc@9c003b00 { > + compatible = "sunplus,mmc-v2"; > + reg = <0x9c003b00 0x180>; > + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clkc 0x4e>; > + resets = <&rstc 0x3e>; > + bus-width = <8>; > + max-frequency = <52000000>; > + non-removable; > + disable-wp; > + cap-mmc-highspeed; > + mmc-ddr-3_3v; > + no-sdio; > + no-sd; > + }; > + > + mmc1: mmc@9c003e80 { > + compatible = "sunplus,mmc-v1"; > + reg = <0x9c003e80 0x280>; > + interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clkc 0x4f>; > + resets = <&rstc 0x3f>; > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc1_mux &mmc1_mux_cd>; > + max-frequency = <52000000>; > + disable-wp; > + cap-sd-highspeed; > + no-sdio; > + no-mmc; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index fb18ce7..2d91431 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -18242,6 +18242,12 @@ L: netdev@vger.kernel.org > S: Maintained > F: drivers/net/ethernet/dlink/sundance.c > > +SUNPLUS MMC DRIVER > +M: Tony Huang <tonyhuang.sunplus@gmail.com> > +M: Li-hao Kuo <lhjeff911@gmail.com> Wrong indentation. > +S: Maintained > +F: Documentation/devicetree/bindings/mmc/sunplu,mmc.yaml Wrong file name. > + > SUPERH > M: Yoshinori Sato <ysato@users.sourceforge.jp> > M: Rich Felker <dalias@libc.org> Best regards, Krzysztof
Dear Krzysztof: > > +++ b/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml > > @@ -0,0 +1,79 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright > > +(C) Sunplus Ltd. Co. 2021 %YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/mmc/sunplus,mmc.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: sunplus MMC controller > > s/sunplus/Sunplus/ > Below is my modification: title: Sunplus MMC Controller > > + > > +allOf: > > + - $ref: "mmc-controller.yaml" > > allOf below maintainers, > I will modify it. > > + > > +maintainers: > > + - Tony Huang <tonyhuang.sunplus@gmail.com> > > + - Li-hao Kuo <lhjeff911@gmail.com> > > + > > +properties: > > + compatible: > > + enum: > > + - sunplus,mmc-v1 > > + - sunplus,mmc-v2 > > How did this happen? Versions of blocks are usually discouraged, unless you > have clear specification,. The previous discussion did not end with "add v1 and > v2". > > Do you have clear documentation/specification of these blocks? If no, please > use SoC compatibles. > v1: support SDIO 2.0 v2: support eMMC 4.41 The register base address and offset address of emmc and sd card are different. eMMC and sdcard are individual hardware settings We need version to distinguish different speeds > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + clocks: > > + minItems: 1 > > maxItems > I will modify it. > > + > > + resets: > > + maxItems: 1 > > + > > + max-frequency: true > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - clocks > > + - resets > > + > > +unevaluatedProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + #include <dt-bindings/interrupt-controller/arm-gic.h> > > + mmc0: mmc@9c003b00 { > > + compatible = "sunplus,mmc-v2"; > > + reg = <0x9c003b00 0x180>; > > + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; > > + clocks = <&clkc 0x4e>; > > + resets = <&rstc 0x3e>; > > + bus-width = <8>; > > + max-frequency = <52000000>; > > + non-removable; > > + disable-wp; > > + cap-mmc-highspeed; > > + mmc-ddr-3_3v; > > + no-sdio; > > + no-sd; > > + }; > > + > > + mmc1: mmc@9c003e80 { > > + compatible = "sunplus,mmc-v1"; > > + reg = <0x9c003e80 0x280>; > > + interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; > > + clocks = <&clkc 0x4f>; > > + resets = <&rstc 0x3f>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&mmc1_mux &mmc1_mux_cd>; > > + max-frequency = <52000000>; > > + disable-wp; > > + cap-sd-highspeed; > > + no-sdio; > > + no-mmc; > > + }; > > diff --git a/MAINTAINERS b/MAINTAINERS index fb18ce7..2d91431 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -18242,6 +18242,12 @@ L: netdev@vger.kernel.org > > S: Maintained > > F: drivers/net/ethernet/dlink/sundance.c > > > > +SUNPLUS MMC DRIVER > > +M: Tony Huang <tonyhuang.sunplus@gmail.com> > > +M: Li-hao Kuo <lhjeff911@gmail.com> > > Wrong indentation. I will modify it. > > > +S: Maintained > > +F: Documentation/devicetree/bindings/mmc/sunplu,mmc.yaml > > Wrong file name. > I will modify it.
On 21/03/2022 03:35, Tony Huang 黃懷厚 wrote: > Dear Krzysztof: > >>> +++ b/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml >>> @@ -0,0 +1,79 @@ >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright >>> +(C) Sunplus Ltd. Co. 2021 %YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/mmc/sunplus,mmc.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: sunplus MMC controller >> >> s/sunplus/Sunplus/ >> > > Below is my modification: > title: Sunplus MMC Controller > >>> + >>> +allOf: >>> + - $ref: "mmc-controller.yaml" >> >> allOf below maintainers, >> > > I will modify it. > >>> + >>> +maintainers: >>> + - Tony Huang <tonyhuang.sunplus@gmail.com> >>> + - Li-hao Kuo <lhjeff911@gmail.com> >>> + >>> +properties: >>> + compatible: >>> + enum: >>> + - sunplus,mmc-v1 >>> + - sunplus,mmc-v2 >> >> How did this happen? Versions of blocks are usually discouraged, unless you >> have clear specification,. The previous discussion did not end with "add v1 and >> v2". >> >> Do you have clear documentation/specification of these blocks? If no, please >> use SoC compatibles. >> > > v1: support SDIO 2.0 > v2: support eMMC 4.41 That's spec is not enough. You need to provide detailed specification of each of them. See for example versioned blocks of Synopsys DeisgnWare (e.g. eMMC/SDHCI). > The register base address and offset address of emmc and sd card are different. > eMMC and sdcard are individual hardware settings > We need version to distinguish different speeds That's not the answer. How did it happen that you have now versions and before there were SoC compatibles? No one pointed to this and you did not mention it in description of changes. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml b/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml new file mode 100644 index 0000000..13ed07c --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) Sunplus Ltd. Co. 2021 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mmc/sunplus,mmc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: sunplus MMC controller + +allOf: + - $ref: "mmc-controller.yaml" + +maintainers: + - Tony Huang <tonyhuang.sunplus@gmail.com> + - Li-hao Kuo <lhjeff911@gmail.com> + +properties: + compatible: + enum: + - sunplus,mmc-v1 + - sunplus,mmc-v2 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 1 + + resets: + maxItems: 1 + + max-frequency: true + +required: + - compatible + - reg + - interrupts + - clocks + - resets + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + mmc0: mmc@9c003b00 { + compatible = "sunplus,mmc-v2"; + reg = <0x9c003b00 0x180>; + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc 0x4e>; + resets = <&rstc 0x3e>; + bus-width = <8>; + max-frequency = <52000000>; + non-removable; + disable-wp; + cap-mmc-highspeed; + mmc-ddr-3_3v; + no-sdio; + no-sd; + }; + + mmc1: mmc@9c003e80 { + compatible = "sunplus,mmc-v1"; + reg = <0x9c003e80 0x280>; + interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc 0x4f>; + resets = <&rstc 0x3f>; + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_mux &mmc1_mux_cd>; + max-frequency = <52000000>; + disable-wp; + cap-sd-highspeed; + no-sdio; + no-mmc; + }; diff --git a/MAINTAINERS b/MAINTAINERS index fb18ce7..2d91431 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18242,6 +18242,12 @@ L: netdev@vger.kernel.org S: Maintained F: drivers/net/ethernet/dlink/sundance.c +SUNPLUS MMC DRIVER +M: Tony Huang <tonyhuang.sunplus@gmail.com> +M: Li-hao Kuo <lhjeff911@gmail.com> +S: Maintained +F: Documentation/devicetree/bindings/mmc/sunplu,mmc.yaml + SUPERH M: Yoshinori Sato <ysato@users.sourceforge.jp> M: Rich Felker <dalias@libc.org>
Add mmc yaml file for Sunplus SP7021 Signed-off-by: Tony Huang <tonyhuang.sunplus@gmail.com> --- Changes in v4: - Addressed comments from Ulf Hansson. .../devicetree/bindings/mmc/sunplus,mmc.yaml | 79 ++++++++++++++++++++++ MAINTAINERS | 6 ++ 2 files changed, 85 insertions(+) create mode 100644 Documentation/devicetree/bindings/mmc/sunplus,mmc.yaml