All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms
@ 2018-07-24 12:37 Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 1/6] configs: stm32f429-evaluation: Enable CONFIG_BLK Patrice Chotard
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Patrice Chotard @ 2018-07-24 12:37 UTC (permalink / raw)
  To: u-boot


This series :
  - adds support of CONFIG_BLK flag to STM32Fx platforms
  - enables CONFIG_BLK flag for STM32Fx based boards
  - adds missing clk_free() call in error path


Changes in v3:
  - remove usage of "cd_inverted" DT property in dm_mmc_getcd()

Changes in v2:
 - replace devfdt_get_addr() by dev_read_addr()
 - re-introduce arm_pl180_mmc_ofdata_to_platdata()

Patrice Chotard (6):
  configs: stm32f429-evaluation: Enable CONFIG_BLK
  configs: stm32f746-disco: Enable CONFIG_BLK
  configs: stm32f469-disco: Enable CONFIG_BLK
  mmc: arm_pl180_mmci: Update to support CONFIG_BLK
  mmc: arm_pl180_mmci: Add missing clk_free
  mmc: arm_pl180_mmci: Remove cd_inverted host's struct field

 configs/stm32f429-evaluation_defconfig |  1 -
 configs/stm32f469-discovery_defconfig  |  1 -
 configs/stm32f746-disco_defconfig      |  1 -
 drivers/mmc/arm_pl180_mmci.c           | 73 +++++++++++++++++++---------------
 drivers/mmc/arm_pl180_mmci.h           |  1 -
 5 files changed, 42 insertions(+), 35 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 1/6] configs: stm32f429-evaluation: Enable CONFIG_BLK
  2018-07-24 12:37 [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms Patrice Chotard
@ 2018-07-24 12:37 ` Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 2/6] configs: stm32f746-disco: " Patrice Chotard
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Patrice Chotard @ 2018-07-24 12:37 UTC (permalink / raw)
  To: u-boot

CONFIG_BLK config flag becomes mandatory, enable it.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---

Changes in v3: None
Changes in v2: None

 configs/stm32f429-evaluation_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/configs/stm32f429-evaluation_defconfig b/configs/stm32f429-evaluation_defconfig
index 1b14a4964067..3ddd5c50fb1d 100644
--- a/configs/stm32f429-evaluation_defconfig
+++ b/configs/stm32f429-evaluation_defconfig
@@ -26,7 +26,6 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
-# CONFIG_BLK is not set
 CONFIG_DM_MMC=y
 CONFIG_ARM_PL180_MMCI=y
 CONFIG_MTD_NOR_FLASH=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 2/6] configs: stm32f746-disco: Enable CONFIG_BLK
  2018-07-24 12:37 [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 1/6] configs: stm32f429-evaluation: Enable CONFIG_BLK Patrice Chotard
@ 2018-07-24 12:37 ` Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 3/6] configs: stm32f469-disco: " Patrice Chotard
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Patrice Chotard @ 2018-07-24 12:37 UTC (permalink / raw)
  To: u-boot

CONFIG_BLK config flag becomes mandatory, enable it.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---

Changes in v3: None
Changes in v2: None

 configs/stm32f746-disco_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/configs/stm32f746-disco_defconfig b/configs/stm32f746-disco_defconfig
index aa7403f3c516..6f07ff155862 100644
--- a/configs/stm32f746-disco_defconfig
+++ b/configs/stm32f746-disco_defconfig
@@ -40,7 +40,6 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_NETCONSOLE=y
-# CONFIG_BLK is not set
 CONFIG_DM_MMC=y
 # CONFIG_SPL_DM_MMC is not set
 CONFIG_ARM_PL180_MMCI=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 3/6] configs: stm32f469-disco: Enable CONFIG_BLK
  2018-07-24 12:37 [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 1/6] configs: stm32f429-evaluation: Enable CONFIG_BLK Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 2/6] configs: stm32f746-disco: " Patrice Chotard
@ 2018-07-24 12:37 ` Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 4/6] mmc: arm_pl180_mmci: Update to support CONFIG_BLK Patrice Chotard
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Patrice Chotard @ 2018-07-24 12:37 UTC (permalink / raw)
  To: u-boot

CONFIG_BLK config flag becomes mandatory, enable it.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---

Changes in v3: None
Changes in v2: None

 configs/stm32f469-discovery_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/configs/stm32f469-discovery_defconfig b/configs/stm32f469-discovery_defconfig
index 4de03edcc2ca..a55476f2f323 100644
--- a/configs/stm32f469-discovery_defconfig
+++ b/configs/stm32f469-discovery_defconfig
@@ -26,7 +26,6 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
-# CONFIG_BLK is not set
 CONFIG_DM_MMC=y
 CONFIG_ARM_PL180_MMCI=y
 CONFIG_MTD_NOR_FLASH=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 4/6] mmc: arm_pl180_mmci: Update to support CONFIG_BLK
  2018-07-24 12:37 [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms Patrice Chotard
                   ` (2 preceding siblings ...)
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 3/6] configs: stm32f469-disco: " Patrice Chotard
@ 2018-07-24 12:37 ` Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 5/6] mmc: arm_pl180_mmci: Add missing clk_free Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 6/6] mmc: arm_pl180_mmci: Remove cd_inverted host's struct field Patrice Chotard
  5 siblings, 0 replies; 9+ messages in thread
From: Patrice Chotard @ 2018-07-24 12:37 UTC (permalink / raw)
  To: u-boot

Config flag CONFIG_BLK becomes mandatory, update arm_pl180_mmci
to support this config.

This driver is used by STM32Fx and by Vexpress platforms.
Only STM32Fx are DM ready. No DM code is isolated and will be
removed easily when wexpress will be converted to DM.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---

Changes in v3: None
Changes in v2:
 - replace devfdt_get_addr() by dev_read_addr()
 - re-introduce arm_pl180_mmc_ofdata_to_platdata()

 drivers/mmc/arm_pl180_mmci.c | 67 ++++++++++++++++++++++++++------------------
 1 file changed, 40 insertions(+), 27 deletions(-)

diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c
index e267cd782e8b..c4d94d102cc1 100644
--- a/drivers/mmc/arm_pl180_mmci.c
+++ b/drivers/mmc/arm_pl180_mmci.c
@@ -357,13 +357,13 @@ static const struct mmc_ops arm_pl180_mmci_ops = {
 	.set_ios = host_set_ios,
 	.init = mmc_host_reset,
 };
-#endif
 
 /*
  * mmc_host_init - initialize the mmc controller.
  * Set initial clock and power for mmc slot.
  * Initialize mmc struct and register with mmc framework.
  */
+
 int arm_pl180_mmci_init(struct pl180_mmc_host *host, struct mmc **mmc)
 {
 	u32 sdi_u32;
@@ -377,9 +377,8 @@ int arm_pl180_mmci_init(struct pl180_mmc_host *host, struct mmc **mmc)
 	writel(sdi_u32, &host->base->mask0);
 
 	host->cfg.name = host->name;
-#ifndef CONFIG_DM_MMC
 	host->cfg.ops = &arm_pl180_mmci_ops;
-#endif
+
 	/* TODO remove the duplicates */
 	host->cfg.host_caps = host->caps;
 	host->cfg.voltages = host->voltages;
@@ -393,20 +392,34 @@ int arm_pl180_mmci_init(struct pl180_mmc_host *host, struct mmc **mmc)
 	*mmc = mmc_create(&host->cfg, host);
 	if (!*mmc)
 		return -1;
-
 	debug("registered mmc interface number is:%d\n",
 	      (*mmc)->block_dev.devnum);
 
 	return 0;
 }
+#endif
 
 #ifdef CONFIG_DM_MMC
+static void arm_pl180_mmc_init(struct pl180_mmc_host *host)
+{
+	u32 sdi_u32;
+
+	writel(host->pwr_init, &host->base->power);
+	writel(host->clkdiv_init, &host->base->clock);
+	udelay(CLK_CHANGE_DELAY);
+
+	/* Disable mmc interrupts */
+	sdi_u32 = readl(&host->base->mask0) & ~SDI_MASK0_MASK;
+	writel(sdi_u32, &host->base->mask0);
+}
+
 static int arm_pl180_mmc_probe(struct udevice *dev)
 {
 	struct arm_pl180_mmc_plat *pdata = dev_get_platdata(dev);
 	struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
 	struct mmc *mmc = &pdata->mmc;
-	struct pl180_mmc_host *host = mmc->priv;
+	struct pl180_mmc_host *host = dev->priv;
+	struct mmc_config *cfg = &pdata->cfg;
 	struct clk clk;
 	u32 bus_width;
 	int ret;
@@ -421,27 +434,28 @@ static int arm_pl180_mmc_probe(struct udevice *dev)
 		return ret;
 	}
 
-	strcpy(host->name, "MMC");
 	host->pwr_init = INIT_PWR;
 	host->clkdiv_init = SDI_CLKCR_CLKDIV_INIT_V1 | SDI_CLKCR_CLKEN |
 			    SDI_CLKCR_HWFC_EN;
-	host->voltages = VOLTAGE_WINDOW_SD;
-	host->caps = 0;
 	host->clock_in = clk_get_rate(&clk);
-	host->clock_min = host->clock_in / (2 * (SDI_CLKCR_CLKDIV_INIT_V1 + 1));
-	host->clock_max = dev_read_u32_default(dev, "max-frequency",
-					       MMC_CLOCK_MAX);
 	host->version2 = dev_get_driver_data(dev);
 
+	cfg->name = dev->name;
+	cfg->voltages = VOLTAGE_WINDOW_SD;
+	cfg->host_caps = 0;
+	cfg->f_min = host->clock_in / (2 * (SDI_CLKCR_CLKDIV_INIT_V1 + 1));
+	cfg->f_max = dev_read_u32_default(dev, "max-frequency", MMC_CLOCK_MAX);
+	cfg->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
+
 	gpio_request_by_name(dev, "cd-gpios", 0, &host->cd_gpio, GPIOD_IS_IN);
 
 	bus_width = dev_read_u32_default(dev, "bus-width", 1);
 	switch (bus_width) {
 	case 8:
-		host->caps |= MMC_MODE_8BIT;
+		cfg->host_caps |= MMC_MODE_8BIT;
 		/* Hosts capable of 8-bit transfers can also do 4 bits */
 	case 4:
-		host->caps |= MMC_MODE_4BIT;
+		cfg->host_caps |= MMC_MODE_4BIT;
 		break;
 	case 1:
 		break;
@@ -449,19 +463,21 @@ static int arm_pl180_mmc_probe(struct udevice *dev)
 		dev_err(dev, "Invalid bus-width value %u\n", bus_width);
 	}
 
-	ret = arm_pl180_mmci_init(host, &mmc);
-	if (ret) {
-		dev_err(dev, "arm_pl180_mmci init failed\n");
-		return ret;
-	}
-
+	arm_pl180_mmc_init(host);
+	mmc->priv = host;
 	mmc->dev = dev;
-	dev->priv = host;
 	upriv->mmc = mmc;
 
 	return 0;
 }
 
+int arm_pl180_mmc_bind(struct udevice *dev)
+{
+	struct arm_pl180_mmc_plat *plat = dev_get_platdata(dev);
+
+	return mmc_bind(dev, &plat->mmc, &plat->cfg);
+}
+
 static int dm_host_request(struct udevice *dev, struct mmc_cmd *cmd,
 			   struct mmc_data *data)
 {
@@ -479,9 +495,7 @@ static int dm_host_set_ios(struct udevice *dev)
 
 static int dm_mmc_getcd(struct udevice *dev)
 {
-	struct arm_pl180_mmc_plat *pdata = dev_get_platdata(dev);
-	struct mmc *mmc = &pdata->mmc;
-	struct pl180_mmc_host *host = mmc->priv;
+	struct pl180_mmc_host *host = dev->priv;
 	int value = 1;
 
 	if (dm_gpio_is_valid(&host->cd_gpio)) {
@@ -501,12 +515,10 @@ static const struct dm_mmc_ops arm_pl180_dm_mmc_ops = {
 
 static int arm_pl180_mmc_ofdata_to_platdata(struct udevice *dev)
 {
-	struct arm_pl180_mmc_plat *pdata = dev_get_platdata(dev);
-	struct mmc *mmc = &pdata->mmc;
-	struct pl180_mmc_host *host = mmc->priv;
+	struct pl180_mmc_host *host = dev->priv;
 	fdt_addr_t addr;
 
-	addr = devfdt_get_addr(dev);
+	addr = dev_read_addr(dev);
 	if (addr == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
@@ -527,6 +539,7 @@ U_BOOT_DRIVER(arm_pl180_mmc) = {
 	.ops = &arm_pl180_dm_mmc_ops,
 	.probe = arm_pl180_mmc_probe,
 	.ofdata_to_platdata = arm_pl180_mmc_ofdata_to_platdata,
+	.bind = arm_pl180_mmc_bind,
 	.priv_auto_alloc_size = sizeof(struct pl180_mmc_host),
 	.platdata_auto_alloc_size = sizeof(struct arm_pl180_mmc_plat),
 };
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 5/6] mmc: arm_pl180_mmci: Add missing clk_free
  2018-07-24 12:37 [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms Patrice Chotard
                   ` (3 preceding siblings ...)
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 4/6] mmc: arm_pl180_mmci: Update to support CONFIG_BLK Patrice Chotard
@ 2018-07-24 12:37 ` Patrice Chotard
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 6/6] mmc: arm_pl180_mmci: Remove cd_inverted host's struct field Patrice Chotard
  5 siblings, 0 replies; 9+ messages in thread
From: Patrice Chotard @ 2018-07-24 12:37 UTC (permalink / raw)
  To: u-boot

Add missing clk_free() call in case of failure
when enabling the clock.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---

Changes in v3: None
Changes in v2: None

 drivers/mmc/arm_pl180_mmci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c
index c4d94d102cc1..1cd780b3eec0 100644
--- a/drivers/mmc/arm_pl180_mmci.c
+++ b/drivers/mmc/arm_pl180_mmci.c
@@ -430,6 +430,7 @@ static int arm_pl180_mmc_probe(struct udevice *dev)
 
 	ret = clk_enable(&clk);
 	if (ret) {
+		clk_free(&clk);
 		dev_err(dev, "failed to enable clock\n");
 		return ret;
 	}
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 6/6] mmc: arm_pl180_mmci: Remove cd_inverted host's struct field
  2018-07-24 12:37 [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms Patrice Chotard
                   ` (4 preceding siblings ...)
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 5/6] mmc: arm_pl180_mmci: Add missing clk_free Patrice Chotard
@ 2018-07-24 12:37 ` Patrice Chotard
  2018-07-25 11:42   ` Tuomas Tynkkynen
  5 siblings, 1 reply; 9+ messages in thread
From: Patrice Chotard @ 2018-07-24 12:37 UTC (permalink / raw)
  To: u-boot

As platform uses GPIOs for card detection, it's
simpler and more readable to use GPIO_ACTIVE_(LOW|HIGH)
in the gpio flags instead of using the cd-inverted
property.


Reported-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---

Changes in v3:
  - remove usage of "cd_inverted" DT property in dm_mmc_getcd()

Changes in v2: None

 drivers/mmc/arm_pl180_mmci.c | 5 +----
 drivers/mmc/arm_pl180_mmci.h | 1 -
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c
index 1cd780b3eec0..f71d79ecd6ba 100644
--- a/drivers/mmc/arm_pl180_mmci.c
+++ b/drivers/mmc/arm_pl180_mmci.c
@@ -499,11 +499,8 @@ static int dm_mmc_getcd(struct udevice *dev)
 	struct pl180_mmc_host *host = dev->priv;
 	int value = 1;
 
-	if (dm_gpio_is_valid(&host->cd_gpio)) {
+	if (dm_gpio_is_valid(&host->cd_gpio))
 		value = dm_gpio_get_value(&host->cd_gpio);
-		if (host->cd_inverted)
-			return !value;
-	}
 
 	return value;
 }
diff --git a/drivers/mmc/arm_pl180_mmci.h b/drivers/mmc/arm_pl180_mmci.h
index 6b98db6cd978..36487be288b2 100644
--- a/drivers/mmc/arm_pl180_mmci.h
+++ b/drivers/mmc/arm_pl180_mmci.h
@@ -192,7 +192,6 @@ struct pl180_mmc_host {
 	struct mmc_config cfg;
 #ifdef CONFIG_DM_MMC
 	struct gpio_desc cd_gpio;
-	bool cd_inverted;
 #endif
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 6/6] mmc: arm_pl180_mmci: Remove cd_inverted host's struct field
  2018-07-24 12:37 ` [U-Boot] [PATCH v3 6/6] mmc: arm_pl180_mmci: Remove cd_inverted host's struct field Patrice Chotard
@ 2018-07-25 11:42   ` Tuomas Tynkkynen
  2018-07-25 13:29     ` Patrice CHOTARD
  0 siblings, 1 reply; 9+ messages in thread
From: Tuomas Tynkkynen @ 2018-07-25 11:42 UTC (permalink / raw)
  To: u-boot

On 07/24/2018 03:37 PM, Patrice Chotard wrote:
> As platform uses GPIOs for card detection, it's
> simpler and more readable to use GPIO_ACTIVE_(LOW|HIGH)
> in the gpio flags instead of using the cd-inverted
> property.
> 
> 
> Reported-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> ---

Sounds good but doesn't this series need to also remove
the usage of cd-inverted from the DT? Like:

diff --git a/arch/arm/dts/stm32429i-eval.dts b/arch/arm/dts/stm32429i-eval.dts
index c16594b7e4..f6753a4d1a 100644
--- a/arch/arm/dts/stm32429i-eval.dts
+++ b/arch/arm/dts/stm32429i-eval.dts
@@ -223,8 +223,7 @@
  &sdio {
         status = "okay";
         vmmc-supply = <&mmc_vcard>;
-       cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_HIGH>;
-       cd-inverted;
+       cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
         pinctrl-names = "default", "opendrain";
         pinctrl-0 = <&sdio_pins>;
         pinctrl-1 = <&sdio_pins_od>;
diff --git a/arch/arm/dts/stm32f746-disco.dts b/arch/arm/dts/stm32f746-disco.dts
index e47f762e54..187c94b99b 100644
--- a/arch/arm/dts/stm32f746-disco.dts
+++ b/arch/arm/dts/stm32f746-disco.dts
@@ -307,8 +307,7 @@

  &sdio {
         status = "okay";
-       cd-gpios = <&gpioc 13 0>;
-       cd-inverted;
+       cd-gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
         pinctrl-names = "default", "opendrain";
         pinctrl-0 = <&sdio_pins>;
         pinctrl-1 = <&sdio_pins_od>;
diff --git a/arch/arm/dts/stm32f769-disco.dts b/arch/arm/dts/stm32f769-disco.dts
index 59c9d31c21..210be07ccc 100644
--- a/arch/arm/dts/stm32f769-disco.dts
+++ b/arch/arm/dts/stm32f769-disco.dts
@@ -256,8 +256,7 @@

  &sdio2 {
         status = "okay";
-       cd-gpios = <&gpioi 15 0>;
-       cd-inverted;
+       cd-gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
         pinctrl-names = "default", "opendrain";
         pinctrl-0 = <&sdio_pins_b>;
         pinctrl-1 = <&sdio_pins_od_b>;

> diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c
> index 1cd780b3eec0..f71d79ecd6ba 100644
> --- a/drivers/mmc/arm_pl180_mmci.c
> +++ b/drivers/mmc/arm_pl180_mmci.c
> @@ -499,11 +499,8 @@ static int dm_mmc_getcd(struct udevice *dev)
>   	struct pl180_mmc_host *host = dev->priv;
>   	int value = 1;
>   
> -	if (dm_gpio_is_valid(&host->cd_gpio)) {
> +	if (dm_gpio_is_valid(&host->cd_gpio))
>   		value = dm_gpio_get_value(&host->cd_gpio);
> -		if (host->cd_inverted)
> -			return !value;
> -	}
>   
>   	return value;
>   }
> diff --git a/drivers/mmc/arm_pl180_mmci.h b/drivers/mmc/arm_pl180_mmci.h
> index 6b98db6cd978..36487be288b2 100644
> --- a/drivers/mmc/arm_pl180_mmci.h
> +++ b/drivers/mmc/arm_pl180_mmci.h
> @@ -192,7 +192,6 @@ struct pl180_mmc_host {
>   	struct mmc_config cfg;
>   #ifdef CONFIG_DM_MMC
>   	struct gpio_desc cd_gpio;
> -	bool cd_inverted;
>   #endif
>   };
>   
> 

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH v3 6/6] mmc: arm_pl180_mmci: Remove cd_inverted host's struct field
  2018-07-25 11:42   ` Tuomas Tynkkynen
@ 2018-07-25 13:29     ` Patrice CHOTARD
  0 siblings, 0 replies; 9+ messages in thread
From: Patrice CHOTARD @ 2018-07-25 13:29 UTC (permalink / raw)
  To: u-boot

Hi Tuomas

On 07/25/2018 01:42 PM, Tuomas Tynkkynen wrote:
> On 07/24/2018 03:37 PM, Patrice Chotard wrote:
>> As platform uses GPIOs for card detection, it's
>> simpler and more readable to use GPIO_ACTIVE_(LOW|HIGH)
>> in the gpio flags instead of using the cd-inverted
>> property.
>>
>>
>> Reported-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
>> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
>> ---
> 
> Sounds good but doesn't this series need to also remove
> the usage of cd-inverted from the DT? Like:

Argh sorry, i send my series too quickly yesterday ...
I will submit a v4

Thanks for checking ;-)

Patrice

> 
> diff --git a/arch/arm/dts/stm32429i-eval.dts 
> b/arch/arm/dts/stm32429i-eval.dts
> index c16594b7e4..f6753a4d1a 100644
> --- a/arch/arm/dts/stm32429i-eval.dts
> +++ b/arch/arm/dts/stm32429i-eval.dts
> @@ -223,8 +223,7 @@
>   &sdio {
>          status = "okay";
>          vmmc-supply = <&mmc_vcard>;
> -       cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_HIGH>;
> -       cd-inverted;
> +       cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
>          pinctrl-names = "default", "opendrain";
>          pinctrl-0 = <&sdio_pins>;
>          pinctrl-1 = <&sdio_pins_od>;
> diff --git a/arch/arm/dts/stm32f746-disco.dts 
> b/arch/arm/dts/stm32f746-disco.dts
> index e47f762e54..187c94b99b 100644
> --- a/arch/arm/dts/stm32f746-disco.dts
> +++ b/arch/arm/dts/stm32f746-disco.dts
> @@ -307,8 +307,7 @@
> 
>   &sdio {
>          status = "okay";
> -       cd-gpios = <&gpioc 13 0>;
> -       cd-inverted;
> +       cd-gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
>          pinctrl-names = "default", "opendrain";
>          pinctrl-0 = <&sdio_pins>;
>          pinctrl-1 = <&sdio_pins_od>;
> diff --git a/arch/arm/dts/stm32f769-disco.dts 
> b/arch/arm/dts/stm32f769-disco.dts
> index 59c9d31c21..210be07ccc 100644
> --- a/arch/arm/dts/stm32f769-disco.dts
> +++ b/arch/arm/dts/stm32f769-disco.dts
> @@ -256,8 +256,7 @@
> 
>   &sdio2 {
>          status = "okay";
> -       cd-gpios = <&gpioi 15 0>;
> -       cd-inverted;
> +       cd-gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
>          pinctrl-names = "default", "opendrain";
>          pinctrl-0 = <&sdio_pins_b>;
>          pinctrl-1 = <&sdio_pins_od_b>;
> 
>> diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c
>> index 1cd780b3eec0..f71d79ecd6ba 100644
>> --- a/drivers/mmc/arm_pl180_mmci.c
>> +++ b/drivers/mmc/arm_pl180_mmci.c
>> @@ -499,11 +499,8 @@ static int dm_mmc_getcd(struct udevice *dev)
>>       struct pl180_mmc_host *host = dev->priv;
>>       int value = 1;
>> -    if (dm_gpio_is_valid(&host->cd_gpio)) {
>> +    if (dm_gpio_is_valid(&host->cd_gpio))
>>           value = dm_gpio_get_value(&host->cd_gpio);
>> -        if (host->cd_inverted)
>> -            return !value;
>> -    }
>>       return value;
>>   }
>> diff --git a/drivers/mmc/arm_pl180_mmci.h b/drivers/mmc/arm_pl180_mmci.h
>> index 6b98db6cd978..36487be288b2 100644
>> --- a/drivers/mmc/arm_pl180_mmci.h
>> +++ b/drivers/mmc/arm_pl180_mmci.h
>> @@ -192,7 +192,6 @@ struct pl180_mmc_host {
>>       struct mmc_config cfg;
>>   #ifdef CONFIG_DM_MMC
>>       struct gpio_desc cd_gpio;
>> -    bool cd_inverted;
>>   #endif
>>   };
>>
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-07-25 13:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-24 12:37 [U-Boot] [PATCH v3 0/6] Add support of CONFIG_BLK for STM32Fx platforms Patrice Chotard
2018-07-24 12:37 ` [U-Boot] [PATCH v3 1/6] configs: stm32f429-evaluation: Enable CONFIG_BLK Patrice Chotard
2018-07-24 12:37 ` [U-Boot] [PATCH v3 2/6] configs: stm32f746-disco: " Patrice Chotard
2018-07-24 12:37 ` [U-Boot] [PATCH v3 3/6] configs: stm32f469-disco: " Patrice Chotard
2018-07-24 12:37 ` [U-Boot] [PATCH v3 4/6] mmc: arm_pl180_mmci: Update to support CONFIG_BLK Patrice Chotard
2018-07-24 12:37 ` [U-Boot] [PATCH v3 5/6] mmc: arm_pl180_mmci: Add missing clk_free Patrice Chotard
2018-07-24 12:37 ` [U-Boot] [PATCH v3 6/6] mmc: arm_pl180_mmci: Remove cd_inverted host's struct field Patrice Chotard
2018-07-25 11:42   ` Tuomas Tynkkynen
2018-07-25 13:29     ` Patrice CHOTARD

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.