mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 18:35:42 +01:00 
			
		
		
		
	Fixes: 00bbe96eba ("arm: omap: Unify get_device_type() function")
The control status register value is embedded in a structure somewhere
in SRAM, with the last refactoring effort. This patch allows OMAP3 EVM
(TMDSEVM3530) to boot again using the known control register base and
offset for 'readl', for the OMAP34XX case.
Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
[trini: Change to if/else, add comment about it.]
Signed-off-by: Tom Rini <trini@konsulko.com>
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			665 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			665 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 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
 | |
| }
 |