xref: /rk3399_rockchip-uboot/arch/arm/include/asm/global_data.h (revision 0ae7653128c80a4f2920cbe9b124792c2fd9d9e0)
1819833afSPeter Tyser /*
291a76751SWolfgang Denk  * (C) Copyright 2002-2010
3819833afSPeter Tyser  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4819833afSPeter Tyser  *
51a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6819833afSPeter Tyser  */
7819833afSPeter Tyser 
8819833afSPeter Tyser #ifndef	__ASM_GBL_DATA_H
9819833afSPeter Tyser #define __ASM_GBL_DATA_H
105cb48582SSimon Glass 
11fda06812SSRICHARAN R #ifdef CONFIG_OMAP
12fda06812SSRICHARAN R #include <asm/omap_boot.h>
13fda06812SSRICHARAN R #endif
14fda06812SSRICHARAN R 
155cb48582SSimon Glass /* Architecture-specific global data */
165cb48582SSimon Glass struct arch_global_data {
17e9adeca3SSimon Glass #if defined(CONFIG_FSL_ESDHC)
18e9adeca3SSimon Glass 	u32 sdhc_clk;
19e9adeca3SSimon Glass #endif
20f47e6ecdSSimon Glass #ifdef CONFIG_AT91FAMILY
21f47e6ecdSSimon Glass 	/* "static data" needed by at91's clock.c */
22f47e6ecdSSimon Glass 	unsigned long	cpu_clk_rate_hz;
23f47e6ecdSSimon Glass 	unsigned long	main_clk_rate_hz;
24f47e6ecdSSimon Glass 	unsigned long	mck_rate_hz;
25f47e6ecdSSimon Glass 	unsigned long	plla_rate_hz;
26f47e6ecdSSimon Glass 	unsigned long	pllb_rate_hz;
27f47e6ecdSSimon Glass 	unsigned long	at91_pllb_usb_init;
28f47e6ecdSSimon Glass #endif
29b339051cSSimon Glass 	/* "static data" needed by most of timer.c on ARM platforms */
30b339051cSSimon Glass 	unsigned long timer_rate_hz;
318ff43b03SSimon Glass 	unsigned long tbu;
3266ee6923SSimon Glass 	unsigned long tbl;
33582601daSSimon Glass 	unsigned long lastinc;
345f70714cSSimon Glass 	unsigned long long timer_reset_value;
35b4d51db8SSimon Glass #ifdef CONFIG_IXP425
36b4d51db8SSimon Glass 	unsigned long timestamp;
37b4d51db8SSimon Glass #endif
3834fd5d25SSimon Glass #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
3934fd5d25SSimon Glass 	unsigned long tlb_addr;
4034fd5d25SSimon Glass 	unsigned long tlb_size;
4134fd5d25SSimon Glass #endif
42fda06812SSRICHARAN R 
43fda06812SSRICHARAN R #ifdef CONFIG_OMAP
44fda06812SSRICHARAN R 	struct omap_boot_parameters omap_boot_params;
45fda06812SSRICHARAN R #endif
465cb48582SSimon Glass };
475cb48582SSimon Glass 
48baa1e536SSimon Glass #include <asm-generic/global_data.h>
49819833afSPeter Tyser 
50*0ae76531SDavid Feng #ifdef CONFIG_ARM64
51*0ae76531SDavid Feng #define DECLARE_GLOBAL_DATA_PTR		register volatile gd_t *gd asm ("x18")
52*0ae76531SDavid Feng #else
53fe1378a9SJeroen Hofstee #define DECLARE_GLOBAL_DATA_PTR		register volatile gd_t *gd asm ("r9")
54*0ae76531SDavid Feng #endif
55819833afSPeter Tyser 
56819833afSPeter Tyser #endif /* __ASM_GBL_DATA_H */
57