mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 08:21:36 +01:00 
			
		
		
		
	The existing mips_io_port_base variable isn't suitable for use early during boot since it will be stored in the .data section which may not be writable pre-relocation. Fix this by moving the I/O port base address into struct arch_global_data. In order to avoid adding this field for all targets, make this dependant upon a new Kconfig entry CONFIG_DYNAMIC_IO_PORT_BASE. Malta is the only board which sets a non-zero I/O port base, so select this option only for Malta. Signed-off-by: Paul Burton <paul.burton@imgtec.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			725 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			725 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * (C) Copyright 2002-2010
 | |
|  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #ifndef	__ASM_GBL_DATA_H
 | |
| #define __ASM_GBL_DATA_H
 | |
| 
 | |
| #include <asm/regdef.h>
 | |
| 
 | |
| /* Architecture-specific global data */
 | |
| struct arch_global_data {
 | |
| #ifdef CONFIG_DYNAMIC_IO_PORT_BASE
 | |
| 	unsigned long io_port_base;
 | |
| #endif
 | |
| #ifdef CONFIG_JZSOC
 | |
| 	/* There are other clocks in the jz4740 */
 | |
| 	unsigned long per_clk;	/* Peripheral bus clock */
 | |
| 	unsigned long dev_clk;	/* Device clock */
 | |
| 	unsigned long sys_clk;
 | |
| 	unsigned long tbl;
 | |
| 	unsigned long lastinc;
 | |
| #endif
 | |
| };
 | |
| 
 | |
| #include <asm-generic/global_data.h>
 | |
| 
 | |
| #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("k0")
 | |
| 
 | |
| #endif /* __ASM_GBL_DATA_H */
 |