sysinfo-common.c 665 B

123456789101112131415161718192021222324252627282930
  1. /*
  2. * System information routines for all OMAP based boards.
  3. *
  4. * (C) Copyright 2017 Linaro Ltd.
  5. * Sam Protsenko <semen.protsenko@linaro.org>
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #include <asm/arch/omap.h>
  10. #include <asm/io.h>
  11. #include <asm/omap_common.h>
  12. /**
  13. * Tell if device is GP/HS/EMU/TST.
  14. */
  15. u32 get_device_type(void)
  16. {
  17. #if defined(CONFIG_OMAP34XX)
  18. /*
  19. * On OMAP3 systems we call this early enough that we must just
  20. * use the direct offset for safety.
  21. */
  22. return (readl(OMAP34XX_CTRL_BASE + 0x2f0) & DEVICE_TYPE_MASK) >>
  23. DEVICE_TYPE_SHIFT;
  24. #else
  25. return (readl((*ctrl)->control_status) & DEVICE_TYPE_MASK) >>
  26. DEVICE_TYPE_SHIFT;
  27. #endif
  28. }