mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-10 14:53:26 +09:00
![Paul Burton](/assets/img/avatar_default.png)
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 */
|