/*
 * 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
}
