30 lines
		
	
	
		
			662 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			662 B
		
	
	
	
		
			C
		
	
	
	
| // SPDX-License-Identifier: GPL-2.0+
 | |
| /*
 | |
|  * System information routines for all OMAP based boards.
 | |
|  *
 | |
|  * (C) Copyright 2017 Linaro Ltd.
 | |
|  * Sam Protsenko <semen.protsenko@linaro.org>
 | |
|  */
 | |
| 
 | |
| #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
 | |
| }
 |