* [PATCH v3 0/3] StarFive's SDIO/eMMC driver support @ 2023-02-03 8:19 William Qiu 2023-02-03 8:19 ` [PATCH v3 1/3] dt-bindings: mmc: Add StarFive MMC module William Qiu ` (3 more replies) 0 siblings, 4 replies; 17+ messages in thread From: William Qiu @ 2023-02-03 8:19 UTC (permalink / raw) To: linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, William Qiu, linux-kernel Hi, This patchset adds initial rudimentary support for the StarFive designware mobile storage host controller driver. And this driver will be used in StarFive's VisionFive 2 board. The main purpose of adding this driver is to accommodate the ultra-high speed mode of eMMC. The last patch should be applied after the patchset [1]: [1] https://lore.kernel.org/all/20221220011247.35560-1-hal.feng@starfivetech.com/ Changes since v2: - Wraped commit message according to Linux coding style. - Rephrased the description of the patches. - Changed the description of syscon regsiter. - Dropped redundant properties. The patch series is based on v6.1. William Qiu (3): dt-bindings: mmc: Add StarFive MMC module mmc: starfive: Add sdio/emmc driver support riscv: dts: starfive: Add mmc node .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 ++++++++ MAINTAINERS | 6 + .../jh7110-starfive-visionfive-2.dtsi | 23 +++ arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 ++++ drivers/mmc/host/Kconfig | 10 + drivers/mmc/host/Makefile | 1 + drivers/mmc/host/dw_mmc-starfive.c | 185 ++++++++++++++++++ 7 files changed, 339 insertions(+) create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml create mode 100644 drivers/mmc/host/dw_mmc-starfive.c -- 2.34.1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 1/3] dt-bindings: mmc: Add StarFive MMC module 2023-02-03 8:19 [PATCH v3 0/3] StarFive's SDIO/eMMC driver support William Qiu @ 2023-02-03 8:19 ` William Qiu 2023-02-03 9:00 ` Krzysztof Kozlowski 2023-02-03 8:19 ` [PATCH v3 2/3] mmc: starfive: Add sdio/emmc driver support William Qiu ` (2 subsequent siblings) 3 siblings, 1 reply; 17+ messages in thread From: William Qiu @ 2023-02-03 8:19 UTC (permalink / raw) To: linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, William Qiu, linux-kernel Add documentation to describe StarFive designware mobile storage host controller driver. Signed-off-by: William Qiu <william.qiu@starfivetech.com> --- .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml diff --git a/Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml b/Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml new file mode 100644 index 000000000000..deacf8e9cfb2 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml @@ -0,0 +1,77 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mmc/starfive,jh7110-mmc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: StarFive Designware Mobile Storage Host Controller + +description: + StarFive uses the Synopsys designware mobile storage host controller + to interface a SoC with storage medium such as eMMC or SD/MMC cards. + +allOf: + - $ref: synopsys-dw-mshc-common.yaml# + +maintainers: + - William Qiu <william.qiu@starfivetech.com> + +properties: + compatible: + const: starfive,jh7110-mmc + + reg: + maxItems: 1 + + clocks: + items: + - description: biu clock + - description: ciu clock + + clock-names: + items: + - const: biu + - const: ciu + + interrupts: + maxItems: 1 + + starfive,sysreg: + $ref: /schemas/types.yaml#/definitions/phandle-array + items: + - items: + - description: phandle to System Register Controller syscon node + - description: offset of SYS_SYSCONSAIF__SYSCFG register for MMC controller + - description: shift of SYS_SYSCONSAIF__SYSCFG register for MMC controller + - description: mask of SYS_SYSCONSAIF__SYSCFG register for MMC controller + description: + Should be four parameters, the phandle to System Register Controller + syscon node and the offset/shift/mask of SYS_SYSCONSAIF__SYSCFG register + for MMC controller. + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - starfive,sysreg + +unevaluatedProperties: false + +examples: + - | + mmc@16010000 { + compatible = "starfive,jh7110-mmc"; + reg = <0x16010000 0x10000>; + clocks = <&syscrg 91>, + <&syscrg 93>; + clock-names = "biu","ciu"; + resets = <&syscrg 64>; + reset-names = "reset"; + interrupts = <74>; + fifo-depth = <32>; + fifo-watermark-aligned; + data-addr = <0>; + starfive,sysreg = <&sysreg 0x14 0x1a 0x7c000000>; + }; -- 2.34.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: mmc: Add StarFive MMC module 2023-02-03 8:19 ` [PATCH v3 1/3] dt-bindings: mmc: Add StarFive MMC module William Qiu @ 2023-02-03 9:00 ` Krzysztof Kozlowski 0 siblings, 0 replies; 17+ messages in thread From: Krzysztof Kozlowski @ 2023-02-03 9:00 UTC (permalink / raw) To: William Qiu, linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, linux-kernel On 03/02/2023 09:19, William Qiu wrote: > Add documentation to describe StarFive designware mobile storage > host controller driver. > > Signed-off-by: William Qiu <william.qiu@starfivetech.com> > --- > .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 +++++++++++++++++++ > 1 file changed, 77 insertions(+) Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 2/3] mmc: starfive: Add sdio/emmc driver support 2023-02-03 8:19 [PATCH v3 0/3] StarFive's SDIO/eMMC driver support William Qiu 2023-02-03 8:19 ` [PATCH v3 1/3] dt-bindings: mmc: Add StarFive MMC module William Qiu @ 2023-02-03 8:19 ` William Qiu 2023-02-03 8:19 ` [PATCH v3 3/3] riscv: dts: starfive: Add mmc node William Qiu 2023-02-14 12:18 ` [PATCH v3 0/3] StarFive's SDIO/eMMC driver support Ulf Hansson 3 siblings, 0 replies; 17+ messages in thread From: William Qiu @ 2023-02-03 8:19 UTC (permalink / raw) To: linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, William Qiu, linux-kernel Add sdio/emmc driver support for StarFive JH7110 soc. Tested-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: William Qiu <william.qiu@starfivetech.com> --- MAINTAINERS | 6 + drivers/mmc/host/Kconfig | 10 ++ drivers/mmc/host/Makefile | 1 + drivers/mmc/host/dw_mmc-starfive.c | 185 +++++++++++++++++++++++++++++ 4 files changed, 202 insertions(+) create mode 100644 drivers/mmc/host/dw_mmc-starfive.c diff --git a/MAINTAINERS b/MAINTAINERS index 85e8f83161d7..0ff348da6463 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19659,6 +19659,12 @@ F: Documentation/devicetree/bindings/reset/starfive,jh7100-reset.yaml F: drivers/reset/starfive/reset-starfive-jh71* F: include/dt-bindings/reset/starfive?jh71*.h +STARFIVE JH7110 MMC/SD/SDIO DRIVER +M: William Qiu <william.qiu@starfivetech.com> +S: Maintained +F: Documentation/devicetree/bindings/mmc/starfive* +F: drivers/mmc/dw_mmc-starfive.c + STATIC BRANCH/CALL M: Peter Zijlstra <peterz@infradead.org> M: Josh Poimboeuf <jpoimboe@kernel.org> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index fb1062a6394c..b87262503403 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -871,6 +871,16 @@ config MMC_DW_ROCKCHIP Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on RK3066, RK3188 and RK3288 SoC's. +config MMC_DW_STARFIVE + tristate "StarFive specific extensions for Synopsys DW Memory Card Interface" + depends on SOC_STARFIVE + depends on MMC_DW + select MMC_DW_PLTFM + help + This selects support for StarFive JH7110 SoC specific extensions to the + Synopsys DesignWare Memory Card Interface driver. Select this option + for platforms based on StarFive JH7110 SoC. + config MMC_SH_MMCIF tristate "SuperH Internal MMCIF support" depends on SUPERH || ARCH_RENESAS || COMPILE_TEST diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile index 4e4ceb32c4b4..32c0e5564b9a 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -56,6 +56,7 @@ obj-$(CONFIG_MMC_DW_HI3798CV200) += dw_mmc-hi3798cv200.o obj-$(CONFIG_MMC_DW_K3) += dw_mmc-k3.o obj-$(CONFIG_MMC_DW_PCI) += dw_mmc-pci.o obj-$(CONFIG_MMC_DW_ROCKCHIP) += dw_mmc-rockchip.o +obj-$(CONFIG_MMC_DW_STARFIVE) += dw_mmc-starfive.o obj-$(CONFIG_MMC_SH_MMCIF) += sh_mmcif.o obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o obj-$(CONFIG_MMC_VUB300) += vub300.o diff --git a/drivers/mmc/host/dw_mmc-starfive.c b/drivers/mmc/host/dw_mmc-starfive.c new file mode 100644 index 000000000000..e4d0bdb40d12 --- /dev/null +++ b/drivers/mmc/host/dw_mmc-starfive.c @@ -0,0 +1,185 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * StarFive Designware Mobile Storage Host Controller Driver + * + * Copyright (c) 2022 StarFive Technology Co., Ltd. + */ + +#include <linux/clk.h> +#include <linux/delay.h> +#include <linux/mfd/syscon.h> +#include <linux/mmc/host.h> +#include <linux/module.h> +#include <linux/of_address.h> +#include <linux/platform_device.h> +#include <linux/regmap.h> + +#include "dw_mmc.h" +#include "dw_mmc-pltfm.h" + +#define ALL_INT_CLR 0x1ffff +#define MAX_DELAY_CHAIN 32 + +struct starfive_priv { + struct device *dev; + struct regmap *reg_syscon; + u32 syscon_offset; + u32 syscon_shift; + u32 syscon_mask; +}; + +static void dw_mci_starfive_set_ios(struct dw_mci *host, struct mmc_ios *ios) +{ + int ret; + unsigned int clock; + + if (ios->timing == MMC_TIMING_MMC_DDR52 || ios->timing == MMC_TIMING_UHS_DDR50) { + clock = (ios->clock > 50000000 && ios->clock <= 52000000) ? 100000000 : ios->clock; + ret = clk_set_rate(host->ciu_clk, clock); + if (ret) + dev_dbg(host->dev, "Use an external frequency divider %uHz\n", ios->clock); + host->bus_hz = clk_get_rate(host->ciu_clk); + } else { + dev_dbg(host->dev, "Using the internal divider\n"); + } +} + +static int dw_mci_starfive_execute_tuning(struct dw_mci_slot *slot, + u32 opcode) +{ + static const int grade = MAX_DELAY_CHAIN; + struct dw_mci *host = slot->host; + struct starfive_priv *priv = host->priv; + int rise_point = -1, fall_point = -1; + int err, prev_err; + int i; + bool found = 0; + u32 regval; + + /* Use grade as the max delay chain, and use the rise_point and + * fall_point to ensure the best sampling point of a data input + * signals. + */ + for (i = 0; i < grade; i++) { + regval = i << priv->syscon_shift; + err = regmap_update_bits(priv->reg_syscon, priv->syscon_offset, + priv->syscon_mask, regval); + if (err) + return err; + mci_writel(host, RINTSTS, ALL_INT_CLR); + + err = mmc_send_tuning(slot->mmc, opcode, NULL); + if (!err) + found = 1; + + if (i > 0) { + if (err && !prev_err) + fall_point = i - 1; + if (!err && prev_err) + rise_point = i; + } + + if (rise_point != -1 && fall_point != -1) + goto tuning_out; + + prev_err = err; + err = 0; + } + +tuning_out: + if (found) { + if (rise_point == -1) + rise_point = 0; + if (fall_point == -1) + fall_point = grade - 1; + if (fall_point < rise_point) { + if ((rise_point + fall_point) > + (grade - 1)) + i = fall_point / 2; + else + i = (rise_point + grade - 1) / 2; + } else { + i = (rise_point + fall_point) / 2; + } + + regval = i << priv->syscon_shift; + err = regmap_update_bits(priv->reg_syscon, priv->syscon_offset, + priv->syscon_mask, regval); + if (err) + return err; + mci_writel(host, RINTSTS, ALL_INT_CLR); + + dev_info(host->dev, "Found valid delay chain! use it [delay=%d]\n", i); + } else { + dev_err(host->dev, "No valid delay chain! use default\n"); + err = -EINVAL; + } + + mci_writel(host, RINTSTS, ALL_INT_CLR); + return err; +} + +static int dw_mci_starfive_parse_dt(struct dw_mci *host) +{ + struct of_phandle_args args; + struct starfive_priv *priv; + int ret; + + priv = devm_kzalloc(host->dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + ret = of_parse_phandle_with_fixed_args(host->dev->of_node, + "starfive,syscon", 3, 0, &args); + if (ret) { + dev_err(host->dev, "Failed to parse starfive,syscon\n"); + return -EINVAL; + } + + priv->reg_syscon = syscon_node_to_regmap(args.np); + of_node_put(args.np); + if (IS_ERR(priv->reg_syscon)) + return PTR_ERR(priv->reg_syscon); + + priv->syscon_offset = args.args[0]; + priv->syscon_shift = args.args[1]; + priv->syscon_mask = args.args[2]; + + host->priv = priv; + + return 0; +} + +static const struct dw_mci_drv_data starfive_data = { + .common_caps = MMC_CAP_CMD23, + .set_ios = dw_mci_starfive_set_ios, + .parse_dt = dw_mci_starfive_parse_dt, + .execute_tuning = dw_mci_starfive_execute_tuning, +}; + +static const struct of_device_id dw_mci_starfive_match[] = { + { .compatible = "starfive,jh7110-mmc", + .data = &starfive_data }, + {}, +}; +MODULE_DEVICE_TABLE(of, dw_mci_starfive_match); + +static int dw_mci_starfive_probe(struct platform_device *pdev) +{ + return dw_mci_pltfm_register(pdev, &starfive_data);; +} + +static struct platform_driver dw_mci_starfive_driver = { + .probe = dw_mci_starfive_probe, + .remove = dw_mci_pltfm_remove, + .driver = { + .name = "dwmmc_starfive", + .probe_type = PROBE_PREFER_ASYNCHRONOUS, + .of_match_table = dw_mci_starfive_match, + }, +}; +module_platform_driver(dw_mci_starfive_driver); + +MODULE_DESCRIPTION("StarFive JH7110 Specific DW-MSHC Driver Extension"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:dwmmc_starfive"); -- 2.34.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 3/3] riscv: dts: starfive: Add mmc node 2023-02-03 8:19 [PATCH v3 0/3] StarFive's SDIO/eMMC driver support William Qiu 2023-02-03 8:19 ` [PATCH v3 1/3] dt-bindings: mmc: Add StarFive MMC module William Qiu 2023-02-03 8:19 ` [PATCH v3 2/3] mmc: starfive: Add sdio/emmc driver support William Qiu @ 2023-02-03 8:19 ` William Qiu 2023-02-03 9:02 ` Krzysztof Kozlowski 2023-02-15 10:31 ` Emil Renner Berthing 2023-02-14 12:18 ` [PATCH v3 0/3] StarFive's SDIO/eMMC driver support Ulf Hansson 3 siblings, 2 replies; 17+ messages in thread From: William Qiu @ 2023-02-03 8:19 UTC (permalink / raw) To: linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, William Qiu, linux-kernel This adds the mmc node for the StarFive JH7110 SoC. Set mmco node to emmc and set mmc1 node to sd. Signed-off-by: William Qiu <william.qiu@starfivetech.com> --- .../jh7110-starfive-visionfive-2.dtsi | 23 ++++++++++++ arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 +++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi index c60280b89c73..e1a0248e907f 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi @@ -42,6 +42,29 @@ &rtc_osc { clock-frequency = <32768>; }; +&mmc0 { + max-frequency = <100000000>; + bus-width = <8>; + cap-mmc-highspeed; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + non-removable; + cap-mmc-hw-reset; + post-power-on-delay-ms = <200>; + status = "okay"; +}; + +&mmc1 { + max-frequency = <100000000>; + bus-width = <4>; + no-sdio; + no-mmc; + broken-cd; + cap-sd-highspeed; + post-power-on-delay-ms = <200>; + status = "okay"; +}; + &gmac0_rmii_refin { clock-frequency = <50000000>; }; diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi index 64d260ea1f29..ae1a664e7af5 100644 --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi @@ -370,6 +370,11 @@ syscrg: clock-controller@13020000 { #reset-cells = <1>; }; + sysreg: syscon@13030000 { + compatible = "starfive,sysreg", "syscon"; + reg = <0x0 0x13030000 0x0 0x1000>; + }; + gpio: gpio@13040000 { compatible = "starfive,jh7110-sys-pinctrl"; reg = <0x0 0x13040000 0x0 0x10000>; @@ -407,5 +412,37 @@ gpioa: gpio@17020000 { gpio-controller; #gpio-cells = <2>; }; + + mmc0: mmc@16010000 { + compatible = "starfive,jh7110-mmc"; + reg = <0x0 0x16010000 0x0 0x10000>; + clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>, + <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>; + clock-names = "biu","ciu"; + resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>; + reset-names = "reset"; + interrupts = <74>; + fifo-depth = <32>; + fifo-watermark-aligned; + data-addr = <0>; + starfive,sysreg = <&sysreg 0x14 0x1a 0x7c000000>; + status = "disabled"; + }; + + mmc1: mmc@16020000 { + compatible = "starfive,jh7110-mmc"; + reg = <0x0 0x16020000 0x0 0x10000>; + clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>, + <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>; + clock-names = "biu","ciu"; + resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>; + reset-names = "reset"; + interrupts = <75>; + fifo-depth = <32>; + fifo-watermark-aligned; + data-addr = <0>; + starfive,sysreg = <&sysreg 0x9c 0x1 0x3e>; + status = "disabled"; + }; }; }; -- 2.34.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v3 3/3] riscv: dts: starfive: Add mmc node 2023-02-03 8:19 ` [PATCH v3 3/3] riscv: dts: starfive: Add mmc node William Qiu @ 2023-02-03 9:02 ` Krzysztof Kozlowski 2023-02-03 9:23 ` William Qiu 2023-02-15 10:31 ` Emil Renner Berthing 1 sibling, 1 reply; 17+ messages in thread From: Krzysztof Kozlowski @ 2023-02-03 9:02 UTC (permalink / raw) To: William Qiu, linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, linux-kernel On 03/02/2023 09:19, William Qiu wrote: > This adds the mmc node for the StarFive JH7110 SoC. Do not use "This xxx". Use imperative mode. https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > Set mmco node to emmc and set mmc1 node to sd. > > Signed-off-by: William Qiu <william.qiu@starfivetech.com> > + > &gmac0_rmii_refin { > clock-frequency = <50000000>; > }; > diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi > index 64d260ea1f29..ae1a664e7af5 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi > +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi > @@ -370,6 +370,11 @@ syscrg: clock-controller@13020000 { > #reset-cells = <1>; > }; > > + sysreg: syscon@13030000 { > + compatible = "starfive,sysreg", "syscon"; No: 1. Undocumented. 2. A bit too generic. You should have here SoC specific compatible as well (either as second or third compatible, if all your SoCs share register layout). > + reg = <0x0 0x13030000 0x0 0x1000>; > + }; > + Best regards, Krzysztof ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 3/3] riscv: dts: starfive: Add mmc node 2023-02-03 9:02 ` Krzysztof Kozlowski @ 2023-02-03 9:23 ` William Qiu 2023-02-03 9:30 ` Krzysztof Kozlowski 0 siblings, 1 reply; 17+ messages in thread From: William Qiu @ 2023-02-03 9:23 UTC (permalink / raw) To: Krzysztof Kozlowski, linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, linux-kernel On 2023/2/3 17:02, Krzysztof Kozlowski wrote: > On 03/02/2023 09:19, William Qiu wrote: >> This adds the mmc node for the StarFive JH7110 SoC. > > Do not use "This xxx". Use imperative mode. > https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > >> Set mmco node to emmc and set mmc1 node to sd. >> >> Signed-off-by: William Qiu <william.qiu@starfivetech.com> > > >> + >> &gmac0_rmii_refin { >> clock-frequency = <50000000>; >> }; >> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi >> index 64d260ea1f29..ae1a664e7af5 100644 >> --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi >> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi >> @@ -370,6 +370,11 @@ syscrg: clock-controller@13020000 { >> #reset-cells = <1>; >> }; >> >> + sysreg: syscon@13030000 { >> + compatible = "starfive,sysreg", "syscon"; > > No: > 1. Undocumented. > 2. A bit too generic. You should have here SoC specific compatible as > well (either as second or third compatible, if all your SoCs share > register layout). > Hi Krzysztof, As for the compatible, I will change it to "starfive,jh7110-sysreg" in next version,but for undocumented, I don't get it, can you clarify that. Thank you anyway. Best regards, William Qiu >> + reg = <0x0 0x13030000 0x0 0x1000>; >> + }; >> + > > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 3/3] riscv: dts: starfive: Add mmc node 2023-02-03 9:23 ` William Qiu @ 2023-02-03 9:30 ` Krzysztof Kozlowski 2023-02-03 9:35 ` William Qiu 0 siblings, 1 reply; 17+ messages in thread From: Krzysztof Kozlowski @ 2023-02-03 9:30 UTC (permalink / raw) To: William Qiu, linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, linux-kernel On 03/02/2023 10:23, William Qiu wrote: > > > On 2023/2/3 17:02, Krzysztof Kozlowski wrote: >> On 03/02/2023 09:19, William Qiu wrote: >>> This adds the mmc node for the StarFive JH7110 SoC. >> >> Do not use "This xxx". Use imperative mode. >> https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 >> >>> Set mmco node to emmc and set mmc1 node to sd. >>> >>> Signed-off-by: William Qiu <william.qiu@starfivetech.com> >> >> >>> + >>> &gmac0_rmii_refin { >>> clock-frequency = <50000000>; >>> }; >>> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi >>> index 64d260ea1f29..ae1a664e7af5 100644 >>> --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi >>> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi >>> @@ -370,6 +370,11 @@ syscrg: clock-controller@13020000 { >>> #reset-cells = <1>; >>> }; >>> >>> + sysreg: syscon@13030000 { >>> + compatible = "starfive,sysreg", "syscon"; >> >> No: >> 1. Undocumented. >> 2. A bit too generic. You should have here SoC specific compatible as >> well (either as second or third compatible, if all your SoCs share >> register layout). >> > > Hi Krzysztof, > > As for the compatible, I will change it to "starfive,jh7110-sysreg" > in next version,but for undocumented, I don't get it, can you > clarify that. > Thank you anyway. You need bindings for it. I don't see it in linux-next, cover letter dependencies nor here. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 3/3] riscv: dts: starfive: Add mmc node 2023-02-03 9:30 ` Krzysztof Kozlowski @ 2023-02-03 9:35 ` William Qiu 0 siblings, 0 replies; 17+ messages in thread From: William Qiu @ 2023-02-03 9:35 UTC (permalink / raw) To: Krzysztof Kozlowski, linux-riscv, devicetree, linux-mmc Cc: Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, linux-kernel On 2023/2/3 17:30, Krzysztof Kozlowski wrote: > On 03/02/2023 10:23, William Qiu wrote: >> >> >> On 2023/2/3 17:02, Krzysztof Kozlowski wrote: >>> On 03/02/2023 09:19, William Qiu wrote: >>>> This adds the mmc node for the StarFive JH7110 SoC. >>> >>> Do not use "This xxx". Use imperative mode. >>> https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 >>> >>>> Set mmco node to emmc and set mmc1 node to sd. >>>> >>>> Signed-off-by: William Qiu <william.qiu@starfivetech.com> >>> >>> >>>> + >>>> &gmac0_rmii_refin { >>>> clock-frequency = <50000000>; >>>> }; >>>> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi >>>> index 64d260ea1f29..ae1a664e7af5 100644 >>>> --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi >>>> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi >>>> @@ -370,6 +370,11 @@ syscrg: clock-controller@13020000 { >>>> #reset-cells = <1>; >>>> }; >>>> >>>> + sysreg: syscon@13030000 { >>>> + compatible = "starfive,sysreg", "syscon"; >>> >>> No: >>> 1. Undocumented. >>> 2. A bit too generic. You should have here SoC specific compatible as >>> well (either as second or third compatible, if all your SoCs share >>> register layout). >>> >> >> Hi Krzysztof, >> >> As for the compatible, I will change it to "starfive,jh7110-sysreg" >> in next version,but for undocumented, I don't get it, can you >> clarify that. >> Thank you anyway. > > You need bindings for it. I don't see it in linux-next, cover letter > dependencies nor here. > I see, I will update it in next version. Thank you for taking time to review and provide helpful comments for this patch. Best regards, William Qiu > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 3/3] riscv: dts: starfive: Add mmc node 2023-02-03 8:19 ` [PATCH v3 3/3] riscv: dts: starfive: Add mmc node William Qiu 2023-02-03 9:02 ` Krzysztof Kozlowski @ 2023-02-15 10:31 ` Emil Renner Berthing 2023-02-15 10:32 ` William Qiu 1 sibling, 1 reply; 17+ messages in thread From: Emil Renner Berthing @ 2023-02-15 10:31 UTC (permalink / raw) To: William Qiu Cc: linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, linux-kernel On Fri, 3 Feb 2023 at 09:21, William Qiu <william.qiu@starfivetech.com> wrote: > > This adds the mmc node for the StarFive JH7110 SoC. > Set mmco node to emmc and set mmc1 node to sd. > > Signed-off-by: William Qiu <william.qiu@starfivetech.com> > --- > .../jh7110-starfive-visionfive-2.dtsi | 23 ++++++++++++ > arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 +++++++++++++++++++ > 2 files changed, 60 insertions(+) > > diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > index c60280b89c73..e1a0248e907f 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > @@ -42,6 +42,29 @@ &rtc_osc { > clock-frequency = <32768>; > }; > > +&mmc0 { > + max-frequency = <100000000>; > + bus-width = <8>; > + cap-mmc-highspeed; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + non-removable; > + cap-mmc-hw-reset; > + post-power-on-delay-ms = <200>; > + status = "okay"; > +}; > + > +&mmc1 { > + max-frequency = <100000000>; > + bus-width = <4>; > + no-sdio;ru > + no-mmc; > + broken-cd; > + cap-sd-highspeed; > + post-power-on-delay-ms = <200>; > + status = "okay"; > +}; Please add these so they're sorted alphabetically (but keep the clocks at the top), so there's at least some sort of system. > &gmac0_rmii_refin { > clock-frequency = <50000000>; > }; > diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi > index 64d260ea1f29..ae1a664e7af5 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi > +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi > @@ -370,6 +370,11 @@ syscrg: clock-controller@13020000 { > #reset-cells = <1>; > }; > > + sysreg: syscon@13030000 { > + compatible = "starfive,sysreg", "syscon"; > + reg = <0x0 0x13030000 0x0 0x1000>; > + }; > + > gpio: gpio@13040000 { > compatible = "starfive,jh7110-sys-pinctrl"; > reg = <0x0 0x13040000 0x0 0x10000>; > @@ -407,5 +412,37 @@ gpioa: gpio@17020000 { > gpio-controller; > #gpio-cells = <2>; > }; > + > + mmc0: mmc@16010000 { > + compatible = "starfive,jh7110-mmc"; > + reg = <0x0 0x16010000 0x0 0x10000>; > + clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>, > + <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>; > + clock-names = "biu","ciu"; > + resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>; > + reset-names = "reset"; > + interrupts = <74>; > + fifo-depth = <32>; > + fifo-watermark-aligned; > + data-addr = <0>; > + starfive,sysreg = <&sysreg 0x14 0x1a 0x7c000000>; This may need updating depending on whether you fix the driver or bindings. > + status = "disabled"; > + }; > + > + mmc1: mmc@16020000 { > + compatible = "starfive,jh7110-mmc"; > + reg = <0x0 0x16020000 0x0 0x10000>; > + clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>, > + <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>; > + clock-names = "biu","ciu"; > + resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>; > + reset-names = "reset"; > + interrupts = <75>; > + fifo-depth = <32>; > + fifo-watermark-aligned; > + data-addr = <0>; > + starfive,sysreg = <&sysreg 0x9c 0x1 0x3e>; > + status = "disabled"; > + }; > }; > }; > -- > 2.34.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 3/3] riscv: dts: starfive: Add mmc node 2023-02-15 10:31 ` Emil Renner Berthing @ 2023-02-15 10:32 ` William Qiu 0 siblings, 0 replies; 17+ messages in thread From: William Qiu @ 2023-02-15 10:32 UTC (permalink / raw) To: Emil Renner Berthing Cc: linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, Ulf Hansson, linux-kernel On 2023/2/15 18:31, Emil Renner Berthing wrote: > On Fri, 3 Feb 2023 at 09:21, William Qiu <william.qiu@starfivetech.com> wrote: >> >> This adds the mmc node for the StarFive JH7110 SoC. >> Set mmco node to emmc and set mmc1 node to sd. >> >> Signed-off-by: William Qiu <william.qiu@starfivetech.com> >> --- >> .../jh7110-starfive-visionfive-2.dtsi | 23 ++++++++++++ >> arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 +++++++++++++++++++ >> 2 files changed, 60 insertions(+) >> >> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi >> index c60280b89c73..e1a0248e907f 100644 >> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi >> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi >> @@ -42,6 +42,29 @@ &rtc_osc { >> clock-frequency = <32768>; >> }; >> >> +&mmc0 { >> + max-frequency = <100000000>; >> + bus-width = <8>; >> + cap-mmc-highspeed; >> + mmc-ddr-1_8v; >> + mmc-hs200-1_8v; >> + non-removable; >> + cap-mmc-hw-reset; >> + post-power-on-delay-ms = <200>; >> + status = "okay"; >> +}; >> + >> +&mmc1 { >> + max-frequency = <100000000>; >> + bus-width = <4>; >> + no-sdio;ru >> + no-mmc; >> + broken-cd; >> + cap-sd-highspeed; >> + post-power-on-delay-ms = <200>; >> + status = "okay"; >> +}; > > Please add these so they're sorted alphabetically (but keep the clocks > at the top), so there's at least some sort of system. > >> &gmac0_rmii_refin { >> clock-frequency = <50000000>; >> }; >> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi >> index 64d260ea1f29..ae1a664e7af5 100644 >> --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi >> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi >> @@ -370,6 +370,11 @@ syscrg: clock-controller@13020000 { >> #reset-cells = <1>; >> }; >> >> + sysreg: syscon@13030000 { >> + compatible = "starfive,sysreg", "syscon"; >> + reg = <0x0 0x13030000 0x0 0x1000>; >> + }; >> + >> gpio: gpio@13040000 { >> compatible = "starfive,jh7110-sys-pinctrl"; >> reg = <0x0 0x13040000 0x0 0x10000>; >> @@ -407,5 +412,37 @@ gpioa: gpio@17020000 { >> gpio-controller; >> #gpio-cells = <2>; >> }; >> + >> + mmc0: mmc@16010000 { >> + compatible = "starfive,jh7110-mmc"; >> + reg = <0x0 0x16010000 0x0 0x10000>; >> + clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>, >> + <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>; >> + clock-names = "biu","ciu"; >> + resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>; >> + reset-names = "reset"; >> + interrupts = <74>; >> + fifo-depth = <32>; >> + fifo-watermark-aligned; >> + data-addr = <0>; >> + starfive,sysreg = <&sysreg 0x14 0x1a 0x7c000000>; > > This may need updating depending on whether you fix the driver or bindings. > I'll do it then >> + status = "disabled"; >> + }; >> + >> + mmc1: mmc@16020000 { >> + compatible = "starfive,jh7110-mmc"; >> + reg = <0x0 0x16020000 0x0 0x10000>; >> + clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>, >> + <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>; >> + clock-names = "biu","ciu"; >> + resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>; >> + reset-names = "reset"; >> + interrupts = <75>; >> + fifo-depth = <32>; >> + fifo-watermark-aligned; >> + data-addr = <0>; >> + starfive,sysreg = <&sysreg 0x9c 0x1 0x3e>; >> + status = "disabled"; >> + }; >> }; >> }; >> -- >> 2.34.1 >> >> >> _______________________________________________ >> linux-riscv mailing list >> linux-riscv@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 0/3] StarFive's SDIO/eMMC driver support 2023-02-03 8:19 [PATCH v3 0/3] StarFive's SDIO/eMMC driver support William Qiu ` (2 preceding siblings ...) 2023-02-03 8:19 ` [PATCH v3 3/3] riscv: dts: starfive: Add mmc node William Qiu @ 2023-02-14 12:18 ` Ulf Hansson 2023-02-15 1:56 ` William Qiu 2023-02-15 10:00 ` Emil Renner Berthing 3 siblings, 2 replies; 17+ messages in thread From: Ulf Hansson @ 2023-02-14 12:18 UTC (permalink / raw) To: William Qiu Cc: linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, linux-kernel On Fri, 3 Feb 2023 at 09:19, William Qiu <william.qiu@starfivetech.com> wrote: > > Hi, > > This patchset adds initial rudimentary support for the StarFive > designware mobile storage host controller driver. And this driver will > be used in StarFive's VisionFive 2 board. The main purpose of adding > this driver is to accommodate the ultra-high speed mode of eMMC. > > The last patch should be applied after the patchset [1]: > [1] https://lore.kernel.org/all/20221220011247.35560-1-hal.feng@starfivetech.com/ > > Changes since v2: > - Wraped commit message according to Linux coding style. > - Rephrased the description of the patches. > - Changed the description of syscon regsiter. > - Dropped redundant properties. > > The patch series is based on v6.1. > > William Qiu (3): > dt-bindings: mmc: Add StarFive MMC module > mmc: starfive: Add sdio/emmc driver support > riscv: dts: starfive: Add mmc node > > .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 ++++++++ > MAINTAINERS | 6 + > .../jh7110-starfive-visionfive-2.dtsi | 23 +++ > arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 ++++ > drivers/mmc/host/Kconfig | 10 + > drivers/mmc/host/Makefile | 1 + > drivers/mmc/host/dw_mmc-starfive.c | 185 ++++++++++++++++++ > 7 files changed, 339 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml > create mode 100644 drivers/mmc/host/dw_mmc-starfive.c > Patch 1 and patch 2 applied for next, thanks! Note that I fixed some checkpatch errors/warnings. Next time, please run ./scripts/checkpatch.pl before you submit your patches. Kind regards Uffe ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 0/3] StarFive's SDIO/eMMC driver support 2023-02-14 12:18 ` [PATCH v3 0/3] StarFive's SDIO/eMMC driver support Ulf Hansson @ 2023-02-15 1:56 ` William Qiu 2023-02-15 10:00 ` Emil Renner Berthing 1 sibling, 0 replies; 17+ messages in thread From: William Qiu @ 2023-02-15 1:56 UTC (permalink / raw) To: Ulf Hansson Cc: linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, linux-kernel On 2023/2/14 20:18, Ulf Hansson wrote: > On Fri, 3 Feb 2023 at 09:19, William Qiu <william.qiu@starfivetech.com> wrote: >> >> Hi, >> >> This patchset adds initial rudimentary support for the StarFive >> designware mobile storage host controller driver. And this driver will >> be used in StarFive's VisionFive 2 board. The main purpose of adding >> this driver is to accommodate the ultra-high speed mode of eMMC. >> >> The last patch should be applied after the patchset [1]: >> [1] https://lore.kernel.org/all/20221220011247.35560-1-hal.feng@starfivetech.com/ >> >> Changes since v2: >> - Wraped commit message according to Linux coding style. >> - Rephrased the description of the patches. >> - Changed the description of syscon regsiter. >> - Dropped redundant properties. >> >> The patch series is based on v6.1. >> >> William Qiu (3): >> dt-bindings: mmc: Add StarFive MMC module >> mmc: starfive: Add sdio/emmc driver support >> riscv: dts: starfive: Add mmc node >> >> .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 ++++++++ >> MAINTAINERS | 6 + >> .../jh7110-starfive-visionfive-2.dtsi | 23 +++ >> arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 ++++ >> drivers/mmc/host/Kconfig | 10 + >> drivers/mmc/host/Makefile | 1 + >> drivers/mmc/host/dw_mmc-starfive.c | 185 ++++++++++++++++++ >> 7 files changed, 339 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml >> create mode 100644 drivers/mmc/host/dw_mmc-starfive.c >> > > Patch 1 and patch 2 applied for next, thanks! > > Note that I fixed some checkpatch errors/warnings. Next time, please > run ./scripts/checkpatch.pl before you submit your patches. > > Kind regards > Uffe z Hi Uffe, Sorry about that, I'll check the patches before submit next time. Thanks for taking time reviewing this patch series. Best Regards William ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 0/3] StarFive's SDIO/eMMC driver support 2023-02-14 12:18 ` [PATCH v3 0/3] StarFive's SDIO/eMMC driver support Ulf Hansson 2023-02-15 1:56 ` William Qiu @ 2023-02-15 10:00 ` Emil Renner Berthing 2023-02-15 10:16 ` William Qiu 1 sibling, 1 reply; 17+ messages in thread From: Emil Renner Berthing @ 2023-02-15 10:00 UTC (permalink / raw) To: Ulf Hansson Cc: William Qiu, linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, linux-kernel On Tue, 14 Feb 2023 at 13:21, Ulf Hansson <ulf.hansson@linaro.org> wrote: > > On Fri, 3 Feb 2023 at 09:19, William Qiu <william.qiu@starfivetech.com> wrote: > > > > Hi, > > > > This patchset adds initial rudimentary support for the StarFive > > designware mobile storage host controller driver. And this driver will > > be used in StarFive's VisionFive 2 board. The main purpose of adding > > this driver is to accommodate the ultra-high speed mode of eMMC. > > > > The last patch should be applied after the patchset [1]: > > [1] https://lore.kernel.org/all/20221220011247.35560-1-hal.feng@starfivetech.com/ > > > > Changes since v2: > > - Wraped commit message according to Linux coding style. > > - Rephrased the description of the patches. > > - Changed the description of syscon regsiter. > > - Dropped redundant properties. > > > > The patch series is based on v6.1. > > > > William Qiu (3): > > dt-bindings: mmc: Add StarFive MMC module > > mmc: starfive: Add sdio/emmc driver support > > riscv: dts: starfive: Add mmc node > > > > .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 ++++++++ > > MAINTAINERS | 6 + > > .../jh7110-starfive-visionfive-2.dtsi | 23 +++ > > arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 ++++ > > drivers/mmc/host/Kconfig | 10 + > > drivers/mmc/host/Makefile | 1 + > > drivers/mmc/host/dw_mmc-starfive.c | 185 ++++++++++++++++++ > > 7 files changed, 339 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml > > create mode 100644 drivers/mmc/host/dw_mmc-starfive.c > > > > Patch 1 and patch 2 applied for next, thanks! > > Note that I fixed some checkpatch errors/warnings. Next time, please > run ./scripts/checkpatch.pl before you submit your patches. Hi, Something here is not right. The bindings document "starfive,sysreg", but the code is looking for "starfive,syscon". William, did you test this and run dtbs_check before sending this series? /Emil > Kind regards > Uffe > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 0/3] StarFive's SDIO/eMMC driver support 2023-02-15 10:00 ` Emil Renner Berthing @ 2023-02-15 10:16 ` William Qiu 2023-02-15 10:22 ` Conor Dooley 0 siblings, 1 reply; 17+ messages in thread From: William Qiu @ 2023-02-15 10:16 UTC (permalink / raw) To: Emil Renner Berthing, Ulf Hansson Cc: linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, linux-kernel On 2023/2/15 18:00, Emil Renner Berthing wrote: > On Tue, 14 Feb 2023 at 13:21, Ulf Hansson <ulf.hansson@linaro.org> wrote: >> >> On Fri, 3 Feb 2023 at 09:19, William Qiu <william.qiu@starfivetech.com> wrote: >> > >> > Hi, >> > >> > This patchset adds initial rudimentary support for the StarFive >> > designware mobile storage host controller driver. And this driver will >> > be used in StarFive's VisionFive 2 board. The main purpose of adding >> > this driver is to accommodate the ultra-high speed mode of eMMC. >> > >> > The last patch should be applied after the patchset [1]: >> > [1] https://lore.kernel.org/all/20221220011247.35560-1-hal.feng@starfivetech.com/ >> > >> > Changes since v2: >> > - Wraped commit message according to Linux coding style. >> > - Rephrased the description of the patches. >> > - Changed the description of syscon regsiter. >> > - Dropped redundant properties. >> > >> > The patch series is based on v6.1. >> > >> > William Qiu (3): >> > dt-bindings: mmc: Add StarFive MMC module >> > mmc: starfive: Add sdio/emmc driver support >> > riscv: dts: starfive: Add mmc node >> > >> > .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 ++++++++ >> > MAINTAINERS | 6 + >> > .../jh7110-starfive-visionfive-2.dtsi | 23 +++ >> > arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 ++++ >> > drivers/mmc/host/Kconfig | 10 + >> > drivers/mmc/host/Makefile | 1 + >> > drivers/mmc/host/dw_mmc-starfive.c | 185 ++++++++++++++++++ >> > 7 files changed, 339 insertions(+) >> > create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml >> > create mode 100644 drivers/mmc/host/dw_mmc-starfive.c >> > >> >> Patch 1 and patch 2 applied for next, thanks! >> >> Note that I fixed some checkpatch errors/warnings. Next time, please >> run ./scripts/checkpatch.pl before you submit your patches. > > Hi, > > Something here is not right. The bindings document "starfive,sysreg", > but the code is looking for "starfive,syscon". > William, did you test this and run dtbs_check before sending this series? > > /Emil Hi Emil, Sorry about that, it's my negligence that I did dtbs_check without checking the configuration of CONFIG_SOC_STARFIVE. I made a modification in the next version and add binding for all the syscon at the same time. Next time I'll make sure the check is correct.I'm sorry again for this oversight. I'll send v4 patch series today. Best Regards William > >> Kind regards >> Uffe >> >> _______________________________________________ >> linux-riscv mailing list >> linux-riscv@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 0/3] StarFive's SDIO/eMMC driver support 2023-02-15 10:16 ` William Qiu @ 2023-02-15 10:22 ` Conor Dooley 2023-02-15 10:36 ` William Qiu 0 siblings, 1 reply; 17+ messages in thread From: Conor Dooley @ 2023-02-15 10:22 UTC (permalink / raw) To: William Qiu Cc: Emil Renner Berthing, Ulf Hansson, linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, linux-kernel [-- Attachment #1: Type: text/plain, Size: 3325 bytes --] On Wed, Feb 15, 2023 at 06:16:35PM +0800, William Qiu wrote: > > > On 2023/2/15 18:00, Emil Renner Berthing wrote: > > On Tue, 14 Feb 2023 at 13:21, Ulf Hansson <ulf.hansson@linaro.org> wrote: > >> > >> On Fri, 3 Feb 2023 at 09:19, William Qiu <william.qiu@starfivetech.com> wrote: > >> > > >> > Hi, > >> > > >> > This patchset adds initial rudimentary support for the StarFive > >> > designware mobile storage host controller driver. And this driver will > >> > be used in StarFive's VisionFive 2 board. The main purpose of adding > >> > this driver is to accommodate the ultra-high speed mode of eMMC. > >> > > >> > The last patch should be applied after the patchset [1]: > >> > [1] https://lore.kernel.org/all/20221220011247.35560-1-hal.feng@starfivetech.com/ > >> > > >> > Changes since v2: > >> > - Wraped commit message according to Linux coding style. > >> > - Rephrased the description of the patches. > >> > - Changed the description of syscon regsiter. > >> > - Dropped redundant properties. > >> > > >> > The patch series is based on v6.1. > >> > > >> > William Qiu (3): > >> > dt-bindings: mmc: Add StarFive MMC module > >> > mmc: starfive: Add sdio/emmc driver support > >> > riscv: dts: starfive: Add mmc node > >> > > >> > .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 ++++++++ > >> > MAINTAINERS | 6 + > >> > .../jh7110-starfive-visionfive-2.dtsi | 23 +++ > >> > arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 ++++ > >> > drivers/mmc/host/Kconfig | 10 + > >> > drivers/mmc/host/Makefile | 1 + > >> > drivers/mmc/host/dw_mmc-starfive.c | 185 ++++++++++++++++++ > >> > 7 files changed, 339 insertions(+) > >> > create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml > >> > create mode 100644 drivers/mmc/host/dw_mmc-starfive.c > >> > > >> > >> Patch 1 and patch 2 applied for next, thanks! > >> > >> Note that I fixed some checkpatch errors/warnings. Next time, please > >> run ./scripts/checkpatch.pl before you submit your patches. > > > > Hi, > > > > Something here is not right. The bindings document "starfive,sysreg", > > but the code is looking for "starfive,syscon". > > William, did you test this and run dtbs_check before sending this series? > > > > /Emil > > Hi Emil, > > Sorry about that, it's my negligence that I did dtbs_check without dtbs_check would be okay though, no? The binding and dts (from checking with eyeballs!) are consistent & it is just the driver that is looking for the wrong property name, no? > checking the configuration of CONFIG_SOC_STARFIVE. I made a modification > in the next version and add binding for all the syscon at the same time. Next > time I'll make sure the check is correct.I'm sorry again for this oversight. > I'll send v4 patch series today. Ulf's subsystem & his rules, but I would just send a follow-on patch fixing the driver to use the property that is in the dt-binding. Sorta unrelated, but please remind me about the dts patch once the base dts is merged. It's still in the RISC-V patchwork so *should* be fine, but in case the base dts takes a while it may get automatically archived. Thanks, Conor. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 0/3] StarFive's SDIO/eMMC driver support 2023-02-15 10:22 ` Conor Dooley @ 2023-02-15 10:36 ` William Qiu 0 siblings, 0 replies; 17+ messages in thread From: William Qiu @ 2023-02-15 10:36 UTC (permalink / raw) To: Conor Dooley Cc: Emil Renner Berthing, Ulf Hansson, linux-riscv, devicetree, linux-mmc, Rob Herring, Krzysztof Kozlowski, Jaehoon Chung, linux-kernel On 2023/2/15 18:22, Conor Dooley wrote: > On Wed, Feb 15, 2023 at 06:16:35PM +0800, William Qiu wrote: >> >> >> On 2023/2/15 18:00, Emil Renner Berthing wrote: >> > On Tue, 14 Feb 2023 at 13:21, Ulf Hansson <ulf.hansson@linaro.org> wrote: >> >> >> >> On Fri, 3 Feb 2023 at 09:19, William Qiu <william.qiu@starfivetech.com> wrote: >> >> > >> >> > Hi, >> >> > >> >> > This patchset adds initial rudimentary support for the StarFive >> >> > designware mobile storage host controller driver. And this driver will >> >> > be used in StarFive's VisionFive 2 board. The main purpose of adding >> >> > this driver is to accommodate the ultra-high speed mode of eMMC. >> >> > >> >> > The last patch should be applied after the patchset [1]: >> >> > [1] https://lore.kernel.org/all/20221220011247.35560-1-hal.feng@starfivetech.com/ >> >> > >> >> > Changes since v2: >> >> > - Wraped commit message according to Linux coding style. >> >> > - Rephrased the description of the patches. >> >> > - Changed the description of syscon regsiter. >> >> > - Dropped redundant properties. >> >> > >> >> > The patch series is based on v6.1. >> >> > >> >> > William Qiu (3): >> >> > dt-bindings: mmc: Add StarFive MMC module >> >> > mmc: starfive: Add sdio/emmc driver support >> >> > riscv: dts: starfive: Add mmc node >> >> > >> >> > .../bindings/mmc/starfive,jh7110-mmc.yaml | 77 ++++++++ >> >> > MAINTAINERS | 6 + >> >> > .../jh7110-starfive-visionfive-2.dtsi | 23 +++ >> >> > arch/riscv/boot/dts/starfive/jh7110.dtsi | 37 ++++ >> >> > drivers/mmc/host/Kconfig | 10 + >> >> > drivers/mmc/host/Makefile | 1 + >> >> > drivers/mmc/host/dw_mmc-starfive.c | 185 ++++++++++++++++++ >> >> > 7 files changed, 339 insertions(+) >> >> > create mode 100644 Documentation/devicetree/bindings/mmc/starfive,jh7110-mmc.yaml >> >> > create mode 100644 drivers/mmc/host/dw_mmc-starfive.c >> >> > >> >> >> >> Patch 1 and patch 2 applied for next, thanks! >> >> >> >> Note that I fixed some checkpatch errors/warnings. Next time, please >> >> run ./scripts/checkpatch.pl before you submit your patches. >> > >> > Hi, >> > >> > Something here is not right. The bindings document "starfive,sysreg", >> > but the code is looking for "starfive,syscon". >> > William, did you test this and run dtbs_check before sending this series? >> > >> > /Emil >> >> Hi Emil, >> >> Sorry about that, it's my negligence that I did dtbs_check without > > dtbs_check would be okay though, no? The binding and dts (from checking > with eyeballs!) are consistent & it is just the driver that is looking > for the wrong property name, no? > It was my negligence that I didn't test the function >> checking the configuration of CONFIG_SOC_STARFIVE. I made a modification >> in the next version and add binding for all the syscon at the same time. Next >> time I'll make sure the check is correct.I'm sorry again for this oversight. >> I'll send v4 patch series today. > > Ulf's subsystem & his rules, but I would just send a follow-on patch > fixing the driver to use the property that is in the dt-binding. > > Sorta unrelated, but please remind me about the dts patch once the base > dts is merged. It's still in the RISC-V patchwork so *should* be fine, > but in case the base dts takes a while it may get automatically > archived. > > Thanks, > Conor. > I'll do it then. Thanks, William ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2023-02-15 10:36 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-02-03 8:19 [PATCH v3 0/3] StarFive's SDIO/eMMC driver support William Qiu 2023-02-03 8:19 ` [PATCH v3 1/3] dt-bindings: mmc: Add StarFive MMC module William Qiu 2023-02-03 9:00 ` Krzysztof Kozlowski 2023-02-03 8:19 ` [PATCH v3 2/3] mmc: starfive: Add sdio/emmc driver support William Qiu 2023-02-03 8:19 ` [PATCH v3 3/3] riscv: dts: starfive: Add mmc node William Qiu 2023-02-03 9:02 ` Krzysztof Kozlowski 2023-02-03 9:23 ` William Qiu 2023-02-03 9:30 ` Krzysztof Kozlowski 2023-02-03 9:35 ` William Qiu 2023-02-15 10:31 ` Emil Renner Berthing 2023-02-15 10:32 ` William Qiu 2023-02-14 12:18 ` [PATCH v3 0/3] StarFive's SDIO/eMMC driver support Ulf Hansson 2023-02-15 1:56 ` William Qiu 2023-02-15 10:00 ` Emil Renner Berthing 2023-02-15 10:16 ` William Qiu 2023-02-15 10:22 ` Conor Dooley 2023-02-15 10:36 ` William Qiu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).