Re: [U-Boot] [PATCH] fsl_esdhc: Fix esdhc disabled problem on some platforms

2010-12-28 Thread Anton Vorontsov
On Tue, Dec 28, 2010 at 02:40:30PM +0800, Chenhui Zhao wrote:
 Some platform's esdhc pins don't share with other function.
 The eSDHC shouldn't be disabled, even if esdhc isn't defined
 in hwconfig env variable.
 
 Use CONFIG_FSL_ESDHC_PIN_MUX to fix this problem.
 
 The problem was introduced by this commit:

I would not say 'the problem was introduced'. ;-) Back in 2009
all platforms w/ eSDHC were using muxed eSDHC pins, so disabling
eSDHC was a sane choice.

Anyway, the patch looks mostly OK. One comment below though.

 commit b33433a63fe08c9e723ea15a7c7c7143bf527c6d
 Author: Anton Vorontsov avoront...@ru.mvista.com
 Date:   Wed Jun 10 00:25:29 2009 +0400
 
 fsl_esdhc: Add device tree fixups
 
 Signed-off-by: Chenhui Zhao b26...@freescale.com
 Signed-off-by: Li Yang le...@freescale.com
 ---
  drivers/mmc/fsl_esdhc.c   |2 ++
  include/configs/MPC837XEMDS.h |1 +
  include/configs/MPC837XERDB.h |1 +
  include/configs/MPC8569MDS.h  |1 +
  4 files changed, 5 insertions(+), 0 deletions(-)
 
 diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
 index cd78714..4c8caa9 100644
 --- a/drivers/mmc/fsl_esdhc.c
 +++ b/drivers/mmc/fsl_esdhc.c
 @@ -527,10 +527,12 @@ void fdt_fixup_esdhc(void *blob, bd_t *bd)
   const char *compat = fsl,esdhc;
   const char *status = okay;
  
 +#ifdef CONFIG_FSL_ESDHC_PIN_MUX
   if (!hwconfig(esdhc)) {
   status = disabled;
   goto out;

Wouldn't gcc complain about unused out label?

   }
 +#endif
  
   do_fixup_by_compat_u32(blob, compat, clock-frequency,
  gd-sdhc_clk, 1);

Thanks,

-- 
Anton Vorontsov
Email: cbouatmai...@gmail.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] fsl_esdhc: Fix esdhc disabled problem on some platforms

2010-12-27 Thread Chenhui Zhao
Some platform's esdhc pins don't share with other function.
The eSDHC shouldn't be disabled, even if esdhc isn't defined
in hwconfig env variable.

Use CONFIG_FSL_ESDHC_PIN_MUX to fix this problem.

The problem was introduced by this commit:
commit b33433a63fe08c9e723ea15a7c7c7143bf527c6d
Author: Anton Vorontsov avoront...@ru.mvista.com
Date:   Wed Jun 10 00:25:29 2009 +0400

fsl_esdhc: Add device tree fixups

Signed-off-by: Chenhui Zhao b26...@freescale.com
Signed-off-by: Li Yang le...@freescale.com
---
 drivers/mmc/fsl_esdhc.c   |2 ++
 include/configs/MPC837XEMDS.h |1 +
 include/configs/MPC837XERDB.h |1 +
 include/configs/MPC8569MDS.h  |1 +
 4 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index cd78714..4c8caa9 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -527,10 +527,12 @@ void fdt_fixup_esdhc(void *blob, bd_t *bd)
const char *compat = fsl,esdhc;
const char *status = okay;
 
+#ifdef CONFIG_FSL_ESDHC_PIN_MUX
if (!hwconfig(esdhc)) {
status = disabled;
goto out;
}
+#endif
 
do_fixup_by_compat_u32(blob, compat, clock-frequency,
   gd-sdhc_clk, 1);
diff --git a/include/configs/MPC837XEMDS.h b/include/configs/MPC837XEMDS.h
index c237991..abccfd6 100644
--- a/include/configs/MPC837XEMDS.h
+++ b/include/configs/MPC837XEMDS.h
@@ -509,6 +509,7 @@ extern int board_pci_host_broken(void);
 
 #ifdef CONFIG_MMC
 #define CONFIG_FSL_ESDHC
+#define CONFIG_FSL_ESDHC_PIN_MUX
 #define CONFIG_SYS_FSL_ESDHC_ADDR  CONFIG_SYS_MPC83xx_ESDHC_ADDR
 #define CONFIG_CMD_MMC
 #define CONFIG_GENERIC_MMC
diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h
index 385c7c3..ea3056b 100644
--- a/include/configs/MPC837XERDB.h
+++ b/include/configs/MPC837XERDB.h
@@ -517,6 +517,7 @@
 
 #ifdef CONFIG_MMC
 #define CONFIG_FSL_ESDHC
+#define CONFIG_FSL_ESDHC_PIN_MUX
 #define CONFIG_SYS_FSL_ESDHC_ADDR  CONFIG_SYS_MPC83xx_ESDHC_ADDR
 #define CONFIG_CMD_MMC
 #define CONFIG_GENERIC_MMC
diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h
index 9620fd0..f4a3c2f 100644
--- a/include/configs/MPC8569MDS.h
+++ b/include/configs/MPC8569MDS.h
@@ -561,6 +561,7 @@ extern unsigned long get_clock_freq(void);
 
 #ifdef CONFIG_MMC
 #define CONFIG_FSL_ESDHC
+#define CONFIG_FSL_ESDHC_PIN_MUX
 #define CONFIG_SYS_FSL_ESDHC_ADDR  CONFIG_SYS_MPC85xx_ESDHC_ADDR
 #define CONFIG_CMD_MMC
 #define CONFIG_GENERIC_MMC
-- 
1.6.4.1


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