mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-07 07:11:35 +00:00
ppc: arm: Move sdhc_clk into arch_global_data
This is used by both powerpc and arm, but I think it still qualifies as architecture-specific. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
225ca83dfe
commit
e9adeca3fc
8 changed files with 27 additions and 26 deletions
|
@ -478,11 +478,11 @@ int get_clocks(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_FSL_ESDHC
|
#ifdef CONFIG_FSL_ESDHC
|
||||||
#if CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC2_BASE_ADDR
|
#if CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC2_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
||||||
#elif CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC3_BASE_ADDR
|
#elif CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC3_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
||||||
#else
|
#else
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC1_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC1_CLK);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -229,9 +229,9 @@ int get_clocks(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_FSL_ESDHC
|
#ifdef CONFIG_FSL_ESDHC
|
||||||
#if CONFIG_SYS_FSL_ESDHC_ADDR == IMX_MMC_SDHC2_BASE
|
#if CONFIG_SYS_FSL_ESDHC_ADDR == IMX_MMC_SDHC2_BASE
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
||||||
#else
|
#else
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC1_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC1_CLK);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -37,23 +37,23 @@ int get_clocks(void)
|
||||||
#ifdef CONFIG_FSL_ESDHC
|
#ifdef CONFIG_FSL_ESDHC
|
||||||
#ifdef CONFIG_FSL_USDHC
|
#ifdef CONFIG_FSL_USDHC
|
||||||
#if CONFIG_SYS_FSL_ESDHC_ADDR == USDHC2_BASE_ADDR
|
#if CONFIG_SYS_FSL_ESDHC_ADDR == USDHC2_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
||||||
#elif CONFIG_SYS_FSL_ESDHC_ADDR == USDHC3_BASE_ADDR
|
#elif CONFIG_SYS_FSL_ESDHC_ADDR == USDHC3_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
||||||
#elif CONFIG_SYS_FSL_ESDHC_ADDR == USDHC4_BASE_ADDR
|
#elif CONFIG_SYS_FSL_ESDHC_ADDR == USDHC4_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
|
||||||
#else
|
#else
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
#if CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC2_BASE_ADDR
|
#if CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC2_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
|
||||||
#elif CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC3_BASE_ADDR
|
#elif CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC3_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
|
||||||
#elif CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC4_BASE_ADDR
|
#elif CONFIG_SYS_FSL_ESDHC_ADDR == MMC_SDHC4_BASE_ADDR
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
|
||||||
#else
|
#else
|
||||||
gd->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
|
gd->arch.sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -26,6 +26,9 @@
|
||||||
|
|
||||||
/* Architecture-specific global data */
|
/* Architecture-specific global data */
|
||||||
struct arch_global_data {
|
struct arch_global_data {
|
||||||
|
#if defined(CONFIG_FSL_ESDHC)
|
||||||
|
u32 sdhc_clk;
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_AT91FAMILY
|
#ifdef CONFIG_AT91FAMILY
|
||||||
/* "static data" needed by at91's clock.c */
|
/* "static data" needed by at91's clock.c */
|
||||||
unsigned long cpu_clk_rate_hz;
|
unsigned long cpu_clk_rate_hz;
|
||||||
|
@ -69,9 +72,6 @@ typedef struct global_data {
|
||||||
unsigned long env_addr; /* Address of Environment struct */
|
unsigned long env_addr; /* Address of Environment struct */
|
||||||
unsigned long env_valid; /* Checksum of Environment valid? */
|
unsigned long env_valid; /* Checksum of Environment valid? */
|
||||||
unsigned long fb_base; /* base address of frame buffer */
|
unsigned long fb_base; /* base address of frame buffer */
|
||||||
#ifdef CONFIG_FSL_ESDHC
|
|
||||||
unsigned long sdhc_clk;
|
|
||||||
#endif
|
|
||||||
unsigned long relocaddr; /* Start address of U-Boot in RAM */
|
unsigned long relocaddr; /* Start address of U-Boot in RAM */
|
||||||
phys_size_t ram_size; /* RAM size */
|
phys_size_t ram_size; /* RAM size */
|
||||||
unsigned long mon_len; /* monitor len */
|
unsigned long mon_len; /* monitor len */
|
||||||
|
|
|
@ -478,7 +478,7 @@ int get_clocks(void)
|
||||||
gd->arch.tdm_clk = tdm_clk;
|
gd->arch.tdm_clk = tdm_clk;
|
||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_FSL_ESDHC)
|
#if defined(CONFIG_FSL_ESDHC)
|
||||||
gd->sdhc_clk = sdhc_clk;
|
gd->arch.sdhc_clk = sdhc_clk;
|
||||||
#endif
|
#endif
|
||||||
gd->arch.core_clk = core_clk;
|
gd->arch.core_clk = core_clk;
|
||||||
gd->arch.i2c1_clk = i2c1_clk;
|
gd->arch.i2c1_clk = i2c1_clk;
|
||||||
|
@ -570,7 +570,8 @@ static int do_clocks(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
strmhz(buf, gd->arch.tdm_clk));
|
strmhz(buf, gd->arch.tdm_clk));
|
||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_FSL_ESDHC)
|
#if defined(CONFIG_FSL_ESDHC)
|
||||||
printf(" SDHC: %-4s MHz\n", strmhz(buf, gd->sdhc_clk));
|
printf(" SDHC: %-4s MHz\n",
|
||||||
|
strmhz(buf, gd->arch.sdhc_clk));
|
||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_MPC8308) || defined(CONFIG_MPC831x) || \
|
#if defined(CONFIG_MPC8308) || defined(CONFIG_MPC831x) || \
|
||||||
defined(CONFIG_MPC834x) || defined(CONFIG_MPC837x)
|
defined(CONFIG_MPC834x) || defined(CONFIG_MPC837x)
|
||||||
|
|
|
@ -428,9 +428,9 @@ int get_clocks (void)
|
||||||
#if defined(CONFIG_FSL_ESDHC)
|
#if defined(CONFIG_FSL_ESDHC)
|
||||||
#if defined(CONFIG_MPC8569) || defined(CONFIG_P1010) ||\
|
#if defined(CONFIG_MPC8569) || defined(CONFIG_P1010) ||\
|
||||||
defined(CONFIG_P1014)
|
defined(CONFIG_P1014)
|
||||||
gd->sdhc_clk = gd->bus_clk;
|
gd->arch.sdhc_clk = gd->bus_clk;
|
||||||
#else
|
#else
|
||||||
gd->sdhc_clk = gd->bus_clk / 2;
|
gd->arch.sdhc_clk = gd->bus_clk / 2;
|
||||||
#endif
|
#endif
|
||||||
#endif /* defined(CONFIG_FSL_ESDHC) */
|
#endif /* defined(CONFIG_FSL_ESDHC) */
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,9 @@
|
||||||
|
|
||||||
/* Architecture-specific global data */
|
/* Architecture-specific global data */
|
||||||
struct arch_global_data {
|
struct arch_global_data {
|
||||||
|
#if defined(CONFIG_FSL_ESDHC)
|
||||||
|
u32 sdhc_clk;
|
||||||
|
#endif
|
||||||
#if defined(CONFIG_8xx)
|
#if defined(CONFIG_8xx)
|
||||||
unsigned long brg_clk;
|
unsigned long brg_clk;
|
||||||
#endif
|
#endif
|
||||||
|
@ -150,9 +153,6 @@ typedef struct global_data {
|
||||||
/* We cannot bracket this with CONFIG_PCI due to mpc5xxx */
|
/* We cannot bracket this with CONFIG_PCI due to mpc5xxx */
|
||||||
unsigned long pci_clk;
|
unsigned long pci_clk;
|
||||||
unsigned long mem_clk;
|
unsigned long mem_clk;
|
||||||
#if defined(CONFIG_FSL_ESDHC)
|
|
||||||
u32 sdhc_clk;
|
|
||||||
#endif
|
|
||||||
phys_size_t ram_size; /* RAM size */
|
phys_size_t ram_size; /* RAM size */
|
||||||
unsigned long env_addr; /* Address of Environment struct */
|
unsigned long env_addr; /* Address of Environment struct */
|
||||||
unsigned long env_valid; /* Checksum of Environment valid? */
|
unsigned long env_valid; /* Checksum of Environment valid? */
|
||||||
|
|
|
@ -583,7 +583,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
|
||||||
mmc->host_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS;
|
mmc->host_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS;
|
||||||
|
|
||||||
mmc->f_min = 400000;
|
mmc->f_min = 400000;
|
||||||
mmc->f_max = MIN(gd->sdhc_clk, 52000000);
|
mmc->f_max = MIN(gd->arch.sdhc_clk, 52000000);
|
||||||
|
|
||||||
mmc->b_max = 0;
|
mmc->b_max = 0;
|
||||||
mmc_register(mmc);
|
mmc_register(mmc);
|
||||||
|
@ -598,7 +598,7 @@ int fsl_esdhc_mmc_init(bd_t *bis)
|
||||||
cfg = malloc(sizeof(struct fsl_esdhc_cfg));
|
cfg = malloc(sizeof(struct fsl_esdhc_cfg));
|
||||||
memset(cfg, 0, sizeof(struct fsl_esdhc_cfg));
|
memset(cfg, 0, sizeof(struct fsl_esdhc_cfg));
|
||||||
cfg->esdhc_base = CONFIG_SYS_FSL_ESDHC_ADDR;
|
cfg->esdhc_base = CONFIG_SYS_FSL_ESDHC_ADDR;
|
||||||
cfg->sdhc_clk = gd->sdhc_clk;
|
cfg->sdhc_clk = gd->arch.sdhc_clk;
|
||||||
return fsl_esdhc_initialize(bis, cfg);
|
return fsl_esdhc_initialize(bis, cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -616,7 +616,7 @@ void fdt_fixup_esdhc(void *blob, bd_t *bd)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
do_fixup_by_compat_u32(blob, compat, "clock-frequency",
|
do_fixup_by_compat_u32(blob, compat, "clock-frequency",
|
||||||
gd->sdhc_clk, 1);
|
gd->arch.sdhc_clk, 1);
|
||||||
|
|
||||||
do_fixup_by_compat(blob, compat, "status", "okay",
|
do_fixup_by_compat(blob, compat, "status", "okay",
|
||||||
4 + 1, 1);
|
4 + 1, 1);
|
||||||
|
|
Loading…
Add table
Reference in a new issue