mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 22:52:18 +00:00
powerpc/mpc85xx: Add CONFIG_DDR_CLK_FREQ for corenet platform
New corenet platforms with chassis2 have separated DDR clock inputs. Use CONFIG_DDR_CLK_FREQ for DDR clock. This patch also cleans up the logic of detecting and displaying synchronous vs asynchronous mode. Signed-off-by: York Sun <yorksun@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
parent
ffd06e0231
commit
98ffa19053
2 changed files with 22 additions and 12 deletions
|
@ -60,26 +60,32 @@ int checkcpu (void)
|
|||
uint major, minor;
|
||||
struct cpu_type *cpu;
|
||||
char buf1[32], buf2[32];
|
||||
#if defined(CONFIG_DDR_CLK_FREQ) || \
|
||||
(defined(CONFIG_FSL_CORENET) && !defined(CONFIG_SYS_FSL_QORIQ_CHASSIS2))
|
||||
#if (defined(CONFIG_DDR_CLK_FREQ) || \
|
||||
defined(CONFIG_FSL_CORENET)) && !defined(CONFIG_SYS_FSL_QORIQ_CHASSIS2)
|
||||
volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||
#endif /* CONFIG_FSL_CORENET */
|
||||
|
||||
/*
|
||||
* Cornet platforms use ddr sync bit in RCW to indicate sync vs async
|
||||
* mode. Previous platform use ddr ratio to do the same. This
|
||||
* information is only for display here.
|
||||
*/
|
||||
#ifdef CONFIG_FSL_CORENET
|
||||
#ifdef CONFIG_SYS_FSL_QORIQ_CHASSIS2
|
||||
u32 ddr_sync = 0; /* only async mode is supported */
|
||||
#else
|
||||
u32 ddr_sync = ((gur->rcwsr[5]) & FSL_CORENET_RCWSR5_DDR_SYNC)
|
||||
>> FSL_CORENET_RCWSR5_DDR_SYNC_SHIFT;
|
||||
#endif /* CONFIG_SYS_FSL_QORIQ_CHASSIS2 */
|
||||
#else /* CONFIG_FSL_CORENET */
|
||||
#ifdef CONFIG_DDR_CLK_FREQ
|
||||
u32 ddr_ratio = ((gur->porpllsr) & MPC85xx_PORPLLSR_DDR_RATIO)
|
||||
>> MPC85xx_PORPLLSR_DDR_RATIO_SHIFT;
|
||||
#else
|
||||
#ifdef CONFIG_FSL_CORENET
|
||||
u32 ddr_sync ;
|
||||
#ifdef CONFIG_SYS_FSL_QORIQ_CHASSIS2
|
||||
ddr_sync = 0; /* only async mode is supported */
|
||||
#else
|
||||
ddr_sync = ((gur->rcwsr[5]) & FSL_CORENET_RCWSR5_DDR_SYNC)
|
||||
>> FSL_CORENET_RCWSR5_DDR_SYNC_SHIFT;
|
||||
#endif /* CONFIG_SYS_FSL_QORIQ_CHASSIS2 */
|
||||
#else
|
||||
u32 ddr_ratio = 0;
|
||||
#endif /* CONFIG_FSL_CORENET */
|
||||
#endif /* CONFIG_DDR_CLK_FREQ */
|
||||
#endif /* CONFIG_FSL_CORENET */
|
||||
|
||||
unsigned int i, core, nr_cores = cpu_numcores();
|
||||
u32 mask = cpu_mask();
|
||||
|
||||
|
|
|
@ -82,7 +82,11 @@ void get_sys_info (sys_info_t * sysInfo)
|
|||
uint mem_pll_rat;
|
||||
|
||||
sysInfo->freqSystemBus = sysclk;
|
||||
#ifdef CONFIG_DDR_CLK_FREQ
|
||||
sysInfo->freqDDRBus = CONFIG_DDR_CLK_FREQ;
|
||||
#else
|
||||
sysInfo->freqDDRBus = sysclk;
|
||||
#endif
|
||||
|
||||
sysInfo->freqSystemBus *= (in_be32(&gur->rcwsr[0]) >> 25) & 0x1f;
|
||||
mem_pll_rat = (in_be32(&gur->rcwsr[0]) >>
|
||||
|
|
Loading…
Reference in a new issue