All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaehoon Chung <jh80.chung@samsung.com>
To: u-boot@lists.denx.de
Subject: [PATCH v3 05/20] mmc: am654_sdhci: Add support for AM65x SR2.0
Date: Tue, 26 Jan 2021 07:19:16 +0900	[thread overview]
Message-ID: <d5304b37-8f9c-6070-f4e9-a96b69b7f795@samsung.com> (raw)
In-Reply-To: <20210121124052.3454-6-a-govindraju@ti.com>

On 1/21/21 9:40 PM, Aswath Govindraju wrote:
> From: Faiz Abbas <faiz_abbas@ti.com>
> 
> Add Support for AM65x PG2.0. Use the SoC bus framework to fixup
> the platform data and do DLL calibration if the revision is 1.0

Is there no method to get the revision from H/W?
If not, looks good tome.

> 
> Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>

Best Regards,
Jaehoon Chung

> ---
>  drivers/mmc/am654_sdhci.c | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c
> index 1e0654183811..5790fa3d0dbf 100644
> --- a/drivers/mmc/am654_sdhci.c
> +++ b/drivers/mmc/am654_sdhci.c
> @@ -12,6 +12,7 @@
>  #include <power-domain.h>
>  #include <regmap.h>
>  #include <sdhci.h>
> +#include <soc.h>
>  #include <dm/device_compat.h>
>  #include <linux/bitops.h>
>  #include <linux/err.h>
> @@ -292,6 +293,11 @@ const struct sdhci_ops am654_sdhci_ops = {
>  };
>  
>  const struct am654_driver_data am654_drv_data = {
> +	.ops = &am654_sdhci_ops,
> +	.flags = DLL_PRESENT | IOMUX_PRESENT | FREQSEL_2_BIT | STRBSEL_4_BIT,
> +};
> +
> +const struct am654_driver_data am654_sr1_drv_data = {
>  	.ops = &am654_sdhci_ops,
>  	.flags = IOMUX_PRESENT | FREQSEL_2_BIT | DLL_PRESENT | DLL_CALIB |
>  		 STRBSEL_4_BIT,
> @@ -326,6 +332,11 @@ const struct am654_driver_data j721e_4bit_drv_data = {
>  	.flags = IOMUX_PRESENT,
>  };
>  
> +const struct soc_attr am654_sdhci_soc_attr[] = {
> +	{ .family = "AM65X", .revision = "SR1.0", .data = &am654_sr1_drv_data},
> +	{/* sentinel */}
> +};
> +
>  static int sdhci_am654_get_otap_delay(struct udevice *dev,
>  				      struct mmc_config *cfg)
>  {
> @@ -365,6 +376,8 @@ static int am654_sdhci_probe(struct udevice *dev)
>  	struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
>  	struct sdhci_host *host = dev_get_priv(dev);
>  	struct mmc_config *cfg = &plat->cfg;
> +	const struct soc_attr *soc;
> +	const struct am654_driver_data *soc_drv_data;
>  	struct clk clk;
>  	unsigned long clock;
>  	int ret;
> @@ -394,6 +407,14 @@ static int am654_sdhci_probe(struct udevice *dev)
>  		return ret;
>  
>  	host->ops = drv_data->ops;
> +
> +	/* Update ops based on SoC revision */
> +	soc = soc_device_match(am654_sdhci_soc_attr);
> +	if (soc && soc->data) {
> +		soc_drv_data = soc->data;
> +		host->ops = soc_drv_data->ops;
> +	}
> +
>  	host->mmc->priv = host;
>  	upriv->mmc = host->mmc;
>  
> @@ -458,9 +479,18 @@ static int am654_sdhci_bind(struct udevice *dev)
>  	struct am654_driver_data *drv_data =
>  			(struct am654_driver_data *)dev_get_driver_data(dev);
>  	struct am654_sdhci_plat *plat = dev_get_plat(dev);
> +	const struct soc_attr *soc;
> +	const struct am654_driver_data *soc_drv_data;
>  
>  	plat->flags = drv_data->flags;
>  
> +	/* Update flags based on SoC revision */
> +	soc = soc_device_match(am654_sdhci_soc_attr);
> +	if (soc && soc->data) {
> +		soc_drv_data = soc->data;
> +		plat->flags = soc_drv_data->flags;
> +	}
> +
>  	return sdhci_bind(dev, &plat->mmc, &plat->cfg);
>  }
>  
> 

  reply	other threads:[~2021-01-25 22:19 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-21 12:40 [PATCH v3 00/20] Add support for MMC higher speed modes for TI's am65x, j721e and j7200 platforms Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 01/20] mmc: sdhci: Add helper functions for UHS modes Aswath Govindraju
2021-01-24  2:03   ` Simon Glass
2021-01-25 10:23     ` Aswath Govindraju
2021-01-25 22:18   ` Jaehoon Chung
2021-01-28  9:20     ` Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 02/20] mmc: am654_sdhci: Unconditionally switch off DLL in the beginning of ios_post() Aswath Govindraju
2021-01-25 22:19   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 03/20] mmc: am654_sdhci: Convert flag fields to BIT macro Aswath Govindraju
2021-01-25 22:19   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 04/20] mmc: am654_sdhci: Add flag for PHY calibration Aswath Govindraju
2021-01-25 22:19   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 05/20] mmc: am654_sdhci: Add support for AM65x SR2.0 Aswath Govindraju
2021-01-25 22:19   ` Jaehoon Chung [this message]
2021-01-28  9:15     ` Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 06/20] mmc: am654_sdhci: Add support for input tap delay Aswath Govindraju
2021-01-25 22:21   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 07/20] mmc: am654_sdhci: Add support for writing to clkbuf_sel Aswath Govindraju
2021-01-25 22:22   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 08/20] mmc: am654_sdhci: Add support for software tuning Aswath Govindraju
2021-01-25 22:41   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 09/20] mmc: am654_sdhci: Fix HISPD bit configuration in some lower speed modes Aswath Govindraju
2021-01-25 22:43   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 10/20] mmc: am654_sdhci: Use sdhci_set_control_reg() Aswath Govindraju
2021-01-25 22:43   ` Jaehoon Chung
2021-01-21 12:40 ` [PATCH v3 11/20] arm: dts: k3-am65: Fix mmc nodes Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 12/20] arm: dts: k3-j721e-main: Update otap-delay values Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 13/20] arm: dts: k3-j721e-common-proc-board: Add support for UHS modes for SD card Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 14/20] arm: dts: k3-j7200-main: Add support for gpio0 Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 15/20] arm: dts: k3-j7200-common-proc-board: Enable support for UHS modes Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 16/20] configs: j721e_evm: Add " Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 17/20] configs: j7200_evm: " Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 18/20] arm: dts: k3-am65-main: Add itapdly and clkbuf-sel values Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 19/20] arm: dts: k3-am654-base-board: Limit Sd card to High speed modes Aswath Govindraju
2021-01-21 12:40 ` [PATCH v3 20/20] configs: am65x_evm: Add configs for UHS modes Aswath Govindraju

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d5304b37-8f9c-6070-f4e9-a96b69b7f795@samsung.com \
    --to=jh80.chung@samsung.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.