Lines Matching +full:timer +full:- +full:dsp
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
31 #include <asm/dsp-impl.h>
38 /* Part of U-boot ABI: see head.S */
100 if (info->arcver < 0x34) in arcompact_mumbojumbo()
105 n += scnprintf(buf + n, len - n, "processor [%d]\t: %s (%s ISA) %s%s%s\n", in arcompact_mumbojumbo()
108 IS_AVAIL1(be, "[Big-Endian]")); in arcompact_mumbojumbo()
114 n += scnprintf(buf + n, len - n, "FPU\t\t: %s%s\n", in arcompact_mumbojumbo()
120 bpu_cache = 256 << (bpu.ent - 1); in arcompact_mumbojumbo()
121 bpu_pred = 256 << (bpu.ent - 1); in arcompact_mumbojumbo()
123 n += scnprintf(buf + n, len - n, in arcompact_mumbojumbo()
131 info->iccm.sz = 4096 << iccm.sz; /* 8K to 512K */ in arcompact_mumbojumbo()
132 info->iccm.base = iccm.base << 16; in arcompact_mumbojumbo()
138 info->dccm.sz = 2048 << dccm.sz; /* 2K to 256K */ in arcompact_mumbojumbo()
141 info->dccm.base = base & ~0xF; in arcompact_mumbojumbo()
175 if (info->arcver > 0x50 && info->arcver <= 0x53) { in arcv2_mumbojumbo()
176 release = arc_hs_rel[info->arcver - 0x51].str; in arcv2_mumbojumbo()
183 for (tbl = &arc_hs_ver54_rel[0]; tbl->id != 0xFF; tbl++) { in arcv2_mumbojumbo()
184 if (uarch.maj == tbl->id) { in arcv2_mumbojumbo()
185 release = tbl->str; in arcv2_mumbojumbo()
202 n += scnprintf(buf + n, len - n, "processor [%d]\t: %s %s (%s ISA) %s%s%s\n", in arcv2_mumbojumbo()
204 IS_AVAIL1(isa.be, "[Big-Endian]"), in arcv2_mumbojumbo()
205 IS_AVAIL3(dual_issue, dual_enb, " Dual-Issue ")); in arcv2_mumbojumbo()
209 if (mpy.dsp) /* OPT 7-9 */ in arcv2_mumbojumbo()
210 mpy_opt = mpy.dsp + 6; in arcv2_mumbojumbo()
216 n += scnprintf(buf + n, len - n, "ISA Extn\t: %s%s%s%s%s%s%s%s%s%s%s\n", in arcv2_mumbojumbo()
241 n += scnprintf(buf + n, len - n, in arcv2_mumbojumbo()
251 info->iccm.sz = 256 << iccm.sz00; /* 512B to 16M */ in arcv2_mumbojumbo()
253 info->iccm.sz <<= iccm.sz01; in arcv2_mumbojumbo()
255 info->iccm.base = base & 0xF0000000; in arcv2_mumbojumbo()
261 info->dccm.sz = 256 << dccm.sz0; in arcv2_mumbojumbo()
263 info->dccm.sz <<= dccm.sz1; in arcv2_mumbojumbo()
265 info->dccm.base = base & 0xF0000000; in arcv2_mumbojumbo()
274 n += scnprintf(buf + n, len - n, "Extn [ECC]\t: %s%s%s%s%s%s\n", in arcv2_mumbojumbo()
281 present = fpu.sp | fpu.dp | mpy.dsp; /* DSP and/or FPU */ in arcv2_mumbojumbo()
292 struct bcr_timer timer; in arc_cpu_mumbojumbo() local
302 info->arcver = ident.family; in arc_cpu_mumbojumbo()
309 n += arcompact_mumbojumbo(c, info, buf + n, len - n); in arc_cpu_mumbojumbo()
311 n += arcv2_mumbojumbo(c, info, buf + n, len - n); in arc_cpu_mumbojumbo()
314 n += arc_mmu_mumbojumbo(c, buf + n, len - n); in arc_cpu_mumbojumbo()
315 n += arc_cache_mumbojumbo(c, buf + n, len - n); in arc_cpu_mumbojumbo()
317 READ_BCR(ARC_REG_TIMERS_BCR, timer); in arc_cpu_mumbojumbo()
318 info->t0 = timer.t0; in arc_cpu_mumbojumbo()
319 info->t1 = timer.t1; in arc_cpu_mumbojumbo()
324 n += scnprintf(buf + n, len - n, in arc_cpu_mumbojumbo()
326 IS_AVAIL1(timer.t0, "Timer0 "), in arc_cpu_mumbojumbo()
327 IS_AVAIL1(timer.t1, "Timer1 "), in arc_cpu_mumbojumbo()
328 IS_AVAIL2(timer.rtc, "RTC [UP 64-bit] ", CONFIG_ARC_TIMERS_64BIT), in arc_cpu_mumbojumbo()
329 IS_AVAIL2(mp.gfrc, "GFRC [SMP 64-bit] ", CONFIG_ARC_TIMERS_64BIT), in arc_cpu_mumbojumbo()
345 n += scnprintf(buf + n, len - n, "DEBUG\t\t: %s%s", in arc_cpu_mumbojumbo()
349 n += scnprintf(buf + n, len - n, "ActionPoint %d/%s", in arc_cpu_mumbojumbo()
353 n += scnprintf(buf + n, len - n, "\n"); in arc_cpu_mumbojumbo()
356 if (info->dccm.sz || info->iccm.sz) in arc_cpu_mumbojumbo()
357 n += scnprintf(buf + n, len - n, in arc_cpu_mumbojumbo()
359 info->dccm.base, TO_KB(info->dccm.sz), in arc_cpu_mumbojumbo()
360 info->iccm.base, TO_KB(info->iccm.sz)); in arc_cpu_mumbojumbo()
384 if (!info->t0) in arc_chk_core_config()
387 if (!info->t1) in arc_chk_core_config()
395 if ((unsigned int)__arc_dccm_base != info->dccm.base) in arc_chk_core_config()
398 if (CONFIG_ARC_DCCM_SZ * SZ_1K != info->dccm.sz) in arc_chk_core_config()
403 if (CONFIG_ARC_ICCM_SZ * SZ_1K != info->iccm.sz) in arc_chk_core_config()
444 #define IGNORE_ARGS "Ignore U-boot args: "
446 /* uboot_tag values for U-boot - kernel ABI revision 0; see head.S */
450 /* We always pass 0 as magic from U-boot */
477 /* see if U-boot passed an external Device Tree blob */ in handle_uboot_args()
481 /* external Device Tree blob is invalid - use embedded one */ in handle_uboot_args()
518 if (machine_desc->init_early) in setup_arch()
519 machine_desc->init_early(); in setup_arch()
538 * Called from start_kernel() - boot CPU only
548 if (machine_desc->init_machine) in customize_machine()
549 machine_desc->init_machine(); in customize_machine()
557 if (machine_desc->init_late) in init_late_machine()
558 machine_desc->init_late(); in init_late_machine()
617 * Callback returns cpu-id to iterator for show routine, NULL to stop. in c_start()
618 * However since NULL is also a valid cpu-id (0), we use a round-about in c_start()
620 * Encode cpu-id as 0xFFcccc, which is decoded by show routine. in c_start()