1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2002-2010
4  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5  */
6 
7 #ifndef	__ASM_GBL_DATA_H
8 #define __ASM_GBL_DATA_H
9 
10 #include <asm/regdef.h>
11 #include <asm/types.h>
12 
13 struct octeon_eeprom_mac_addr {
14 	u8 mac_addr_base[6];
15 	u8 count;
16 };
17 
18 /* Architecture-specific global data */
19 struct arch_global_data {
20 #ifdef CONFIG_DYNAMIC_IO_PORT_BASE
21 	unsigned long io_port_base;
22 #endif
23 #ifdef CONFIG_ARCH_ATH79
24 	unsigned long id;
25 	unsigned long soc;
26 	unsigned long rev;
27 	unsigned long ver;
28 #endif
29 #ifdef CONFIG_SYS_CACHE_SIZE_AUTO
30 	unsigned short l1i_line_size;
31 	unsigned short l1d_line_size;
32 #endif
33 #ifdef CONFIG_MIPS_L2_CACHE
34 	unsigned short l2_line_size;
35 #endif
36 #ifdef CONFIG_ARCH_MTMIPS
37 	unsigned long timer_freq;
38 #endif
39 #ifdef CONFIG_ARCH_OCTEON
40 	struct octeon_eeprom_mac_addr mac_desc;
41 #endif
42 };
43 
44 #include <asm-generic/global_data.h>
45 
46 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("k0")
47 
48 #endif /* __ASM_GBL_DATA_H */
49