blob: 4dab12a8d7bc6473854380a0f630afb8aa09ded0 [file] [log] [blame]
/*
* System information routines for all OMAP based boards.
*
* (C) Copyright 2017 Linaro Ltd.
* Sam Protsenko <semen.protsenko@linaro.org>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <asm/arch/omap.h>
#include <asm/io.h>
#include <asm/omap_common.h>
/**
* Tell if device is GP/HS/EMU/TST.
*/
u32 get_device_type(void)
{
#if defined(CONFIG_OMAP34XX)
/*
* On OMAP3 systems we call this early enough that we must just
* use the direct offset for safety.
*/
return (readl(OMAP34XX_CTRL_BASE + 0x2f0) & DEVICE_TYPE_MASK) >>
DEVICE_TYPE_SHIFT;
#else
return (readl((*ctrl)->control_status) & DEVICE_TYPE_MASK) >>
DEVICE_TYPE_SHIFT;
#endif
}