cpu_info.c 1012 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * (C) Copyright 2007-2011
  3. * Allwinner Technology Co., Ltd. <www.allwinnertech.com>
  4. * Tom Cubie <tangliang@allwinnertech.com>
  5. *
  6. * SPDX-License-Identifier: GPL-2.0+
  7. */
  8. #include <common.h>
  9. #include <asm/io.h>
  10. #include <asm/arch/cpu.h>
  11. #ifdef CONFIG_DISPLAY_CPUINFO
  12. int print_cpuinfo(void)
  13. {
  14. #ifdef CONFIG_SUN4I
  15. puts("CPU: Allwinner A10 (SUN4I)\n");
  16. #elif defined CONFIG_SUN5I
  17. u32 val = readl(SUNXI_SID_BASE + 0x08);
  18. switch ((val >> 12) & 0xf) {
  19. case 0: puts("CPU: Allwinner A12 (SUN5I)\n"); break;
  20. case 3: puts("CPU: Allwinner A13 (SUN5I)\n"); break;
  21. case 7: puts("CPU: Allwinner A10s (SUN5I)\n"); break;
  22. default: puts("CPU: Allwinner A1X (SUN5I)\n");
  23. }
  24. #elif defined CONFIG_SUN6I
  25. puts("CPU: Allwinner A31 (SUN6I)\n");
  26. #elif defined CONFIG_SUN7I
  27. puts("CPU: Allwinner A20 (SUN7I)\n");
  28. #elif defined CONFIG_SUN8I
  29. puts("CPU: Allwinner A23 (SUN8I)\n");
  30. #else
  31. #warning Please update cpu_info.c with correct CPU information
  32. puts("CPU: SUNXI Family\n");
  33. #endif
  34. return 0;
  35. }
  36. #endif