Message ID | 178389422.5372550.1348777562720.JavaMail.root@advansee.com |
---|---|
State | Awaiting Upstream |
Delegated to: | Stefano Babic |
Headers | show |
On 27/09/2012 22:26, Benoît Thébaudeau wrote: > Each eSDHC instance has a dedicated clock. > > gd->sdhc_clk must also be set accordingly. This is good for the case only a > single SDHC instance is used (initialization made with fsl_esdhc_mmc_init()). A > future patch will fix the multi-instance use case (initialization made directly > with fsl_esdhc_initialize()). > > Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> > Cc: Stefano Babic <sbabic@denx.de> > Cc: Eric Bénard <eric@eukrea.com> > Cc: Otavio Salvador <otavio@ossystems.com.br> > --- Applied to u-boot-imx, next branch, thanks. Best regards, Stefano Babic
diff --git u-boot-imx-e1eb75b.orig/arch/arm/cpu/arm1136/mx35/generic.c u-boot-imx-e1eb75b/arch/arm/cpu/arm1136/mx35/generic.c index ef65176..75c25d4 100644 --- u-boot-imx-e1eb75b.orig/arch/arm/cpu/arm1136/mx35/generic.c +++ u-boot-imx-e1eb75b/arch/arm/cpu/arm1136/mx35/generic.c @@ -360,8 +360,12 @@ unsigned int mxc_get_clock(enum mxc_clock clk) return get_ipg_per_clk(); case MXC_UART_CLK: return imx_get_uartclk(); - case MXC_ESDHC_CLK: + case MXC_ESDHC1_CLK: return mxc_get_peri_clock(ESDHC1_CLK); + case MXC_ESDHC2_CLK: + return mxc_get_peri_clock(ESDHC2_CLK); + case MXC_ESDHC3_CLK: + return mxc_get_peri_clock(ESDHC3_CLK); case MXC_USB_CLK: return mxc_get_main_clock(USB_CLK); case MXC_FEC_CLK: @@ -471,7 +475,13 @@ int cpu_mmc_init(bd_t *bis) int get_clocks(void) { #ifdef CONFIG_FSL_ESDHC - gd->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK); +#if CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC2_BASE_ADDR + gd->sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); +#elif CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC3_BASE_ADDR + gd->sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); +#else + gd->sdhc_clk = mxc_get_clock(MXC_ESDHC1_CLK); +#endif #endif return 0; } diff --git u-boot-imx-e1eb75b.orig/arch/arm/include/asm/arch-mx35/clock.h u-boot-imx-e1eb75b/arch/arm/include/asm/arch-mx35/clock.h index eb7458a..60285df 100644 --- u-boot-imx-e1eb75b.orig/arch/arm/include/asm/arch-mx35/clock.h +++ u-boot-imx-e1eb75b/arch/arm/include/asm/arch-mx35/clock.h @@ -44,7 +44,9 @@ enum mxc_clock { MXC_IPG_CLK, MXC_IPG_PERCLK, MXC_UART_CLK, - MXC_ESDHC_CLK, + MXC_ESDHC1_CLK, + MXC_ESDHC2_CLK, + MXC_ESDHC3_CLK, MXC_USB_CLK, MXC_CSPI_CLK, MXC_FEC_CLK,
Each eSDHC instance has a dedicated clock. gd->sdhc_clk must also be set accordingly. This is good for the case only a single SDHC instance is used (initialization made with fsl_esdhc_mmc_init()). A future patch will fix the multi-instance use case (initialization made directly with fsl_esdhc_initialize()). Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Eric Bénard <eric@eukrea.com> Cc: Otavio Salvador <otavio@ossystems.com.br> --- This patch supersedes http://patchwork.ozlabs.org/patch/177438/ . Changes for v2: - Improve detailed description. - Make eSDHC1 the default for gd->sdhc_clk. .../arch/arm/cpu/arm1136/mx35/generic.c | 14 ++++++++++++-- .../arch/arm/include/asm/arch-mx35/clock.h | 4 +++- 2 files changed, 15 insertions(+), 3 deletions(-)