uboot/arch/arm/mach-rmobile/cpu_info.c
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2012 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
   3 * (C) Copyright 2012 Renesas Solutions Corp.
   4 *
   5 * SPDX-License-Identifier:     GPL-2.0+
   6 */
   7#include <common.h>
   8#include <asm/io.h>
   9
  10#ifdef CONFIG_ARCH_CPU_INIT
  11int arch_cpu_init(void)
  12{
  13        icache_enable();
  14        return 0;
  15}
  16#endif
  17
  18#ifndef CONFIG_SYS_DCACHE_OFF
  19void enable_caches(void)
  20{
  21#if defined(CONFIG_RCAR_GEN3)
  22        rcar_gen3_memmap_fixup();
  23#endif
  24        dcache_enable();
  25}
  26#endif
  27
  28#ifdef CONFIG_DISPLAY_CPUINFO
  29static u32 __rmobile_get_cpu_type(void)
  30{
  31        return 0x0;
  32}
  33u32 rmobile_get_cpu_type(void)
  34                __attribute__((weak, alias("__rmobile_get_cpu_type")));
  35
  36static u32 __rmobile_get_cpu_rev_integer(void)
  37{
  38        return 0;
  39}
  40u32 rmobile_get_cpu_rev_integer(void)
  41                __attribute__((weak, alias("__rmobile_get_cpu_rev_integer")));
  42
  43static u32 __rmobile_get_cpu_rev_fraction(void)
  44{
  45        return 0;
  46}
  47u32 rmobile_get_cpu_rev_fraction(void)
  48                __attribute__((weak, alias("__rmobile_get_cpu_rev_fraction")));
  49
  50/* CPU infomation table */
  51static const struct {
  52        u16 cpu_type;
  53        u8 cpu_name[10];
  54} rmobile_cpuinfo[] = {
  55        { RMOBILE_CPU_TYPE_SH73A0, "SH73A0" },
  56        { RMOBILE_CPU_TYPE_R8A7740, "R8A7740" },
  57        { RMOBILE_CPU_TYPE_R8A7790, "R8A7790" },
  58        { RMOBILE_CPU_TYPE_R8A7791, "R8A7791" },
  59        { RMOBILE_CPU_TYPE_R8A7792, "R8A7792" },
  60        { RMOBILE_CPU_TYPE_R8A7793, "R8A7793" },
  61        { RMOBILE_CPU_TYPE_R8A7794, "R8A7794" },
  62        { RMOBILE_CPU_TYPE_R8A7795, "R8A7795" },
  63        { RMOBILE_CPU_TYPE_R8A7796, "R8A7796" },
  64        { RMOBILE_CPU_TYPE_R8A77970, "R8A77970" },
  65        { RMOBILE_CPU_TYPE_R8A77995, "R8A77995" },
  66        { 0x0, "CPU" },
  67};
  68
  69int print_cpuinfo(void)
  70{
  71        int i = 0;
  72        u32 cpu_type = rmobile_get_cpu_type();
  73        for (; i < ARRAY_SIZE(rmobile_cpuinfo); i++) {
  74                if (rmobile_cpuinfo[i].cpu_type == cpu_type) {
  75                        printf("CPU: Renesas Electronics %s rev %d.%d\n",
  76                               rmobile_cpuinfo[i].cpu_name,
  77                               rmobile_get_cpu_rev_integer(),
  78                               rmobile_get_cpu_rev_fraction());
  79                        break;
  80                }
  81        }
  82        return 0;
  83}
  84#endif /* CONFIG_DISPLAY_CPUINFO */
  85