1 DSP side awareness for Freescale heterogeneous multicore chips based on 2 StarCore and Power Architecture 3 =============================================================== 4 powerpc/mpc85xx code ve APIs and function to get the number, 5 configuration and frequencies of all PowerPC cores and devices 6 connected to them, but it didnt have the similar code ofr HEterogeneous 7 SC3900/DSP cores and such devices like CPRI, MAPLE, MAPLE-ULB etc. 8 9 Code for DSP side awareness provides such functionality for Freescale 10 Heterogeneous SoCs which are chasis-2 compliant like B4860 and B4420 11 12 As part of this feature, following changes have been made: 13 ========================================================== 14 15 1. Changed files: 16 ================= 17 - arch/powerpc/cpu/mpc85xx/cpu.c 18 19 Code added in this file to print the DSP cores and other device's(CPRI, 20 MAPLE etc) frequencies 21 22 - arch/powerpc/cpu/mpc85xx/speed.c 23 24 Added Defines and code to extract the frequncy information for all 25 required cores and devices from RCW and System frequency 26 27 - arch/powerpc/cpu/mpc8xxx/cpu.c 28 29 Added API to get the number of SC cores in running system and Their BIT 30 MASK, similar to the code written for PowerPC 31 32 - arch/powerpc/include/asm/config_mpc85xx.h 33 34 Added top level CONFIG to identify presence of HETEROGENUOUS clusters 35 in the system and CONFIGS for SC3900/DSP components 36 37 - arch/powerpc/include/asm/processor.h 38 - include/common.h 39 40 Added newly added Functions Declaration 41 42 - include/e500.h 43 44 Global structure updated for dsp cores and other components 45 46 2. CONFIGs ADDED 47 ================ 48 49 CONFIG_HETROGENOUS_CLUSTERS - Define for checking the presence of 50 DSP/SC3900 core clusters 51 52 CONFIG_SYS_FSL_NUM_CC_PLLS - Define for number of PLLs 53 54 Though there are only 4 PLLs in B4, but in sequence of PLLs from PLL1 - 55 PLL5, PLL3 is Reserved(as mentioned in RM), so this define contains the 56 value as 5 not 4, to iterate over all PLLs while coding 57 58 CONFIG_SYS_MAPLE - Define for MAPLE Baseband Accelerator 59 CONFIG_SYS_CPRI - Define for CPRI Interface 60 CONFIG_PPC_CLUSTER_START - Start index of ppc clusters 61 CONFIG_DSP_CLUSTER_START - Start index of dsp clusters 62 63 Following are the defines for PLL's index that provide the Clocking to 64 CPRI, ULB and ETVE components 65 66 CONFIG_SYS_CPRI_CLK - Define PLL index for CPRI clock 67 CONFIG_SYS_ULB_CLK - Define PLL index for ULB clock 68 CONFIG_SYS_ETVPE_CLK - Define PLL index for ETVPE clock 69 70 3. Changes in MPC85xx_SYS_INFO Global structure 71 =============================================== 72 73 DSP cores and other device's components have been added in this structure. 74 75 freq_processor_dsp[CONFIG_MAX_DSP_CPUS] - Array to contain the DSP core's frequencies 76 freq_cpri - To store CPRI frequency 77 freq_maple - To store MAPLE frequency 78 freq_maple_ulb - To store MAPLE-ULB frequency 79 freq_maple_etvpe - To store MAPLE-eTVPE frequency 80 81 4. U-BOOT LOGS 82 ============== 83 4.1 B4860QDS board 84 Boot from NOR flash 85 86 U-Boot 2014.07-00222-g70587a8-dirty (Aug 07 2014 - 13:15:47) 87 88 CPU0: B4860E, Version: 2.0, (0x86880020) 89 Core: e6500, Version: 2.0, (0x80400020) Clock Configuration: 90 CPU0:1600 MHz, CPU1:1600 MHz, CPU2:1600 MHz, CPU3:1600 MHz, 91 DSP CPU0:1200 MHz, DSP CPU1:1200 MHz, DSP CPU2:1200 MHz, DSP CPU3:1200 MHz, 92 DSP CPU4:1200 MHz, DSP CPU5:1200 MHz, 93 CCB:666.667 MHz, 94 DDR:933.333 MHz (1866.667 MT/s data rate) (Asynchronous), IFC:166.667 MHz 95 CPRI:600 MHz 96 MAPLE:600 MHz, MAPLE-ULB:800 MHz, MAPLE-eTVPE:1000 MHz 97 FMAN1: 666.667 MHz 98 QMAN: 333.333 MHz 99 100 CPUn - PowerPC core 101 DSP CPUn - SC3900 core 102 103 Shaveta Leekha(shaveta (a] freescale.com) 104 Created August 7, 2014 105 =========================================== 106