mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-21 17:38:51 +09:00
![Shaveta Leekha](/assets/img/avatar_default.png)
The code provides framework for heterogeneous multicore chips based on StarCore and Power Architecture which are chasis-2 compliant, like B4860 and B4420 It will make u-boot recognize all non-ppc cores and peripherals like SC3900/DSP CPUs, MAPLE, CPRI and print their configuration in u-boot logs. Example boot logs of B4860QDS: U-Boot 2015.01-00232-geef6e36-dirty (Jan 19 2015 - 11:58:45) CPU0: B4860E, Version: 2.2, (0x86880022) Core: e6500, Version: 2.0, (0x80400120) Clock Configuration: CPU0:1600 MHz, CPU1:1600 MHz, CPU2:1600 MHz, CPU3:1600 MHz, DSP CPU0:1200 MHz, DSP CPU1:1200 MHz, DSP CPU2:1200 MHz, DSP CPU3:1200 MHz, DSP CPU4:1200 MHz, DSP CPU5:1200 MHz, CCB:666.667 MHz, DDR:933.333 MHz (1866.667 MT/s data rate) (Asynchronous), IFC:166.667 MHz CPRI:600 MHz MAPLE:600 MHz, MAPLE-ULB:800 MHz, MAPLE-eTVPE:1000 MHz FMAN1: 666.667 MHz QMAN: 333.333 MHz Top level changes include: (1) Top level CONFIG to identify HETEROGENUOUS clusters (2) CONFIGS for SC3900/DSP components (3) Global structures like "cpu_type" and "MPC85xx_SYS_INFO" updated for dsp cores and other components (3) APIs to get DSP num cores and their Mask like: cpu_dsp_mask, cpu_num_dspcores etc same as that of PowerPC (5) Code to fetch and print SC cores and other heterogenous device's frequencies (6) README added for the same Signed-off-by: Shaveta Leekha <shaveta@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
48 lines
977 B
C
48 lines
977 B
C
/*
|
|
* Copyright 2003 Motorola,Inc.
|
|
* Xianghua Xiao(x.xiao@motorola.com)
|
|
*/
|
|
|
|
#ifndef __E500_H__
|
|
#define __E500_H__
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long freq_processor[CONFIG_MAX_CPUS];
|
|
#ifdef CONFIG_HETROGENOUS_CLUSTERS
|
|
unsigned long freq_processor_dsp[CONFIG_MAX_DSP_CPUS];
|
|
#endif
|
|
unsigned long freq_systembus;
|
|
unsigned long freq_ddrbus;
|
|
unsigned long freq_localbus;
|
|
unsigned long freq_qe;
|
|
#ifdef CONFIG_SYS_DPAA_FMAN
|
|
unsigned long freq_fman[CONFIG_SYS_NUM_FMAN];
|
|
#endif
|
|
#ifdef CONFIG_SYS_DPAA_QBMAN
|
|
unsigned long freq_qman;
|
|
#endif
|
|
#ifdef CONFIG_SYS_DPAA_PME
|
|
unsigned long freq_pme;
|
|
#endif
|
|
#ifdef CONFIG_SYS_CPRI
|
|
unsigned long freq_cpri;
|
|
#endif
|
|
#ifdef CONFIG_SYS_MAPLE
|
|
unsigned long freq_maple;
|
|
unsigned long freq_maple_ulb;
|
|
unsigned long freq_maple_etvpe;
|
|
#endif
|
|
#ifdef CONFIG_SYS_FSL_SINGLE_SOURCE_CLK
|
|
unsigned char diff_sysclk;
|
|
#endif
|
|
} MPC85xx_SYS_INFO;
|
|
|
|
#endif /* _ASMLANGUAGE */
|
|
|
|
#define RESET_VECTOR 0xfffffffc
|
|
|
|
#endif /* __E500_H__ */
|