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 <linux/types.h>
11 #include <asm/regdef.h>
12 #include <asm/u-boot.h>
13 
14 struct octeon_eeprom_mac_addr {
15 	u8 mac_addr_base[6];
16 	u8 count;
17 };
18 
19 /* Architecture-specific global data */
20 struct arch_global_data {
21 #ifdef CONFIG_DYNAMIC_IO_PORT_BASE
22 	unsigned long io_port_base;
23 #endif
24 #ifdef CONFIG_ARCH_ATH79
25 	unsigned long id;
26 	unsigned long soc;
27 	unsigned long rev;
28 	unsigned long ver;
29 #endif
30 #ifdef CONFIG_SYS_CACHE_SIZE_AUTO
31 	unsigned short l1i_line_size;
32 	unsigned short l1d_line_size;
33 #endif
34 #ifdef CONFIG_MIPS_L2_CACHE
35 	unsigned short l2_line_size;
36 #endif
37 #ifdef CONFIG_ARCH_MTMIPS
38 	unsigned long timer_freq;
39 #endif
40 #ifdef CONFIG_ARCH_OCTEON
41 	struct octeon_eeprom_mac_addr mac_desc;
42 #endif
43 };
44 
45 #include <asm-generic/global_data.h>
46 
47 #define DECLARE_GLOBAL_DATA_PTR     register gd_t *gd asm ("k0")
48 
49 #endif /* __ASM_GBL_DATA_H */
50