Re: [U-Boot] [PATCH V3 01/14] mmc: tegra: support Tegra124

2014-01-27 Thread Simon Glass
On 27 January 2014 08:53, Stephen Warren  wrote:
> On 01/26/2014 09:11 AM, Simon Glass wrote:
>> Hi Stephen,
>>
>> On 24 January 2014 12:46, Stephen Warren > > wrote:
>>
>> From: Stephen Warren mailto:swar...@nvidia.com>>
>>
>> Tegra124's MMC controller is very similar to earlier SoC generations,
>> and can be supported by the same driver.
>>
>> However, there are some non-backwards-compatible HW differences, and
>> hence a new DT compatible value must be used to describe the HW. This
>> patch updates the driver to support that new compatible value.
>>
>> That said, the HW differences are only relevant when enabling certain
>> high-performance transfer modes. Since the driver is currently very
>> simple and doesn't enable those modes, we don't actually need to address
>> any of these HW differences in the code yet, hence the simple nature of
>> this patch.
>>
>> Signed-off-by: Stephen Warren > >
>> Acked-by: Pantelis Antoniou > >
>> Tested-by: Thierry Reding > >
>>
>>
>> As a general comment on this series (not this patch) there is is
>> distressing amount of code duplication. It seems to me that this is just
>> going to get more and more painful unless it is addressed. Removing and
>> refactoring duplicated code is a difficult task. In particular defining
>> almost identical clock functions in multiple files just doesn't seem
>> like a good idea.
>
> Granted this is true. I am in the process of filing a bug to
> de-duplicate the drivers.
>
>> Other than that this series looks good to me.
>
> Thanks. Is that an ack? :-)

I guess, particularly now that I know you've filed a bug :-)

The series:

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH V3 01/14] mmc: tegra: support Tegra124

2014-01-27 Thread Stephen Warren
On 01/26/2014 09:11 AM, Simon Glass wrote:
> Hi Stephen,
> 
> On 24 January 2014 12:46, Stephen Warren  > wrote:
> 
> From: Stephen Warren mailto:swar...@nvidia.com>>
> 
> Tegra124's MMC controller is very similar to earlier SoC generations,
> and can be supported by the same driver.
> 
> However, there are some non-backwards-compatible HW differences, and
> hence a new DT compatible value must be used to describe the HW. This
> patch updates the driver to support that new compatible value.
> 
> That said, the HW differences are only relevant when enabling certain
> high-performance transfer modes. Since the driver is currently very
> simple and doesn't enable those modes, we don't actually need to address
> any of these HW differences in the code yet, hence the simple nature of
> this patch.
> 
> Signed-off-by: Stephen Warren  >
> Acked-by: Pantelis Antoniou  >
> Tested-by: Thierry Reding  >
> 
> 
> As a general comment on this series (not this patch) there is is
> distressing amount of code duplication. It seems to me that this is just
> going to get more and more painful unless it is addressed. Removing and
> refactoring duplicated code is a difficult task. In particular defining
> almost identical clock functions in multiple files just doesn't seem
> like a good idea.

Granted this is true. I am in the process of filing a bug to
de-duplicate the drivers.

> Other than that this series looks good to me.

Thanks. Is that an ack? :-)
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH V3 01/14] mmc: tegra: support Tegra124

2014-01-26 Thread Simon Glass
Hi Stephen,

On 24 January 2014 12:46, Stephen Warren  wrote:

> From: Stephen Warren 
>
> Tegra124's MMC controller is very similar to earlier SoC generations,
> and can be supported by the same driver.
>
> However, there are some non-backwards-compatible HW differences, and
> hence a new DT compatible value must be used to describe the HW. This
> patch updates the driver to support that new compatible value.
>
> That said, the HW differences are only relevant when enabling certain
> high-performance transfer modes. Since the driver is currently very
> simple and doesn't enable those modes, we don't actually need to address
> any of these HW differences in the code yet, hence the simple nature of
> this patch.
>
> Signed-off-by: Stephen Warren 
> Acked-by: Pantelis Antoniou 
> Tested-by: Thierry Reding 
>

As a general comment on this series (not this patch) there is is
distressing amount of code duplication. It seems to me that this is just
going to get more and more painful unless it is addressed. Removing and
refactoring duplicated code is a difficult task. In particular defining
almost identical clock functions in multiple files just doesn't seem like a
good idea.

Other than that this series looks good to me.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V3 01/14] mmc: tegra: support Tegra124

2014-01-24 Thread Stephen Warren
From: Stephen Warren 

Tegra124's MMC controller is very similar to earlier SoC generations,
and can be supported by the same driver.

However, there are some non-backwards-compatible HW differences, and
hence a new DT compatible value must be used to describe the HW. This
patch updates the driver to support that new compatible value.

That said, the HW differences are only relevant when enabling certain
high-performance transfer modes. Since the driver is currently very
simple and doesn't enable those modes, we don't actually need to address
any of these HW differences in the code yet, hence the simple nature of
this patch.

Signed-off-by: Stephen Warren 
Acked-by: Pantelis Antoniou 
Tested-by: Thierry Reding 
---
v2: New patch.

This patch is needed for MMC support on Tegra124 at run-time, but not
strictly required at compile-time. So, it can either go into the MMC
tree and all get merged together in the main U-Boot repo, or the MMC
maintainer can ack it to go through the Tegra tree with the rest of
the changes.
---
 drivers/mmc/tegra_mmc.c | 9 +
 include/fdtdec.h| 1 +
 lib/fdtdec.c| 1 +
 3 files changed, 11 insertions(+)

diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c
index e1817e24f6d4..3d1ce1263c82 100644
--- a/drivers/mmc/tegra_mmc.c
+++ b/drivers/mmc/tegra_mmc.c
@@ -668,6 +668,15 @@ void tegra_mmc_init(void)
const void *blob = gd->fdt_blob;
debug("%s entry\n", __func__);
 
+   /* See if any Tegra124 MMC controllers are present */
+   count = fdtdec_find_aliases_for_id(blob, "sdhci",
+   COMPAT_NVIDIA_TEGRA124_SDMMC, node_list, MAX_HOSTS);
+   debug("%s: count of Tegra124 sdhci nodes is %d\n", __func__, count);
+   if (process_nodes(blob, node_list, count)) {
+   printf("%s: Error processing T30 mmc node(s)!\n", __func__);
+   return;
+   }
+
/* See if any Tegra30 MMC controllers are present */
count = fdtdec_find_aliases_for_id(blob, "sdhci",
COMPAT_NVIDIA_TEGRA30_SDMMC, node_list, MAX_HOSTS);
diff --git a/include/fdtdec.h b/include/fdtdec.h
index 433d6a7c0256..19bab7944817 100644
--- a/include/fdtdec.h
+++ b/include/fdtdec.h
@@ -59,6 +59,7 @@ enum fdt_compat_id {
COMPAT_NVIDIA_TEGRA20_NAND, /* Tegra2 NAND controller */
COMPAT_NVIDIA_TEGRA20_PWM,  /* Tegra 2 PWM controller */
COMPAT_NVIDIA_TEGRA20_DC,   /* Tegra 2 Display controller */
+   COMPAT_NVIDIA_TEGRA124_SDMMC,   /* Tegra124 SDMMC controller */
COMPAT_NVIDIA_TEGRA30_SDMMC,/* Tegra30 SDMMC controller */
COMPAT_NVIDIA_TEGRA20_SDMMC,/* Tegra20 SDMMC controller */
COMPAT_NVIDIA_TEGRA20_SFLASH,   /* Tegra 2 SPI flash controller */
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 207314fa72fb..1fecab3fbc30 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -32,6 +32,7 @@ static const char * const compat_names[COMPAT_COUNT] = {
COMPAT(NVIDIA_TEGRA20_NAND, "nvidia,tegra20-nand"),
COMPAT(NVIDIA_TEGRA20_PWM, "nvidia,tegra20-pwm"),
COMPAT(NVIDIA_TEGRA20_DC, "nvidia,tegra20-dc"),
+   COMPAT(NVIDIA_TEGRA124_SDMMC, "nvidia,tegra124-sdhci"),
COMPAT(NVIDIA_TEGRA30_SDMMC, "nvidia,tegra30-sdhci"),
COMPAT(NVIDIA_TEGRA20_SDMMC, "nvidia,tegra20-sdhci"),
COMPAT(NVIDIA_TEGRA20_SFLASH, "nvidia,tegra20-sflash"),
-- 
1.8.1.5

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot