diff options
Diffstat (limited to 'arch/arm/cpu/arm720t/tegra-common/cpu.h')
| -rw-r--r-- | arch/arm/cpu/arm720t/tegra-common/cpu.h | 68 | 
1 files changed, 25 insertions, 43 deletions
| diff --git a/arch/arm/cpu/arm720t/tegra-common/cpu.h b/arch/arm/cpu/arm720t/tegra-common/cpu.h index 6804cd7a3..3e2ea3ada 100644 --- a/arch/arm/cpu/arm720t/tegra-common/cpu.h +++ b/arch/arm/cpu/arm720t/tegra-common/cpu.h @@ -26,7 +26,11 @@  #define PLL_STABILIZATION_DELAY (300)  #define IO_STABILIZATION_DELAY	(1000) +#if defined(CONFIG_TEGRA30) +#define NVBL_PLLP_KHZ	(408000) +#else	/* Tegra20 */  #define NVBL_PLLP_KHZ	(216000) +#endif  #define PLLX_ENABLED		(1 << 30)  #define CCLK_BURST_POLICY	0x20008888 @@ -44,50 +48,11 @@  #define CORESIGHT_UNLOCK	0xC5ACCE55; -/* AP20-Specific Base Addresses */ - -/* AP20 Base physical address of SDRAM. */ -#define AP20_BASE_PA_SDRAM      0x00000000 -/* AP20 Base physical address of internal SRAM. */ -#define AP20_BASE_PA_SRAM       0x40000000 -/* AP20 Size of internal SRAM (256KB). */ -#define AP20_BASE_PA_SRAM_SIZE  0x00040000 -/* AP20 Base physical address of flash. */ -#define AP20_BASE_PA_NOR_FLASH  0xD0000000 -/* AP20 Base physical address of boot information table. */ -#define AP20_BASE_PA_BOOT_INFO  AP20_BASE_PA_SRAM - -/* - * Super-temporary stacks for EXTREMELY early startup. The values chosen for - * these addresses must be valid on ALL SOCs because this value is used before - * we are able to differentiate between the SOC types. - * - * NOTE: The since CPU's stack will eventually be moved from IRAM to SDRAM, its - *       stack is placed below the AVP stack. Once the CPU stack has been moved, - *       the AVP is free to use the IRAM the CPU stack previously occupied if - *       it should need to do so. - * - * NOTE: In multi-processor CPU complex configurations, each processor will have - *       its own stack of size CPU_EARLY_BOOT_STACK_SIZE. CPU 0 will have a - *       limit of CPU_EARLY_BOOT_STACK_LIMIT. Each successive CPU will have a - *       stack limit that is CPU_EARLY_BOOT_STACK_SIZE less then the previous - *       CPU. - */ - -/* Common AVP early boot stack limit */ -#define AVP_EARLY_BOOT_STACK_LIMIT	\ -	(AP20_BASE_PA_SRAM + (AP20_BASE_PA_SRAM_SIZE/2)) -/* Common AVP early boot stack size */ -#define AVP_EARLY_BOOT_STACK_SIZE	0x1000 -/* Common CPU early boot stack limit */ -#define CPU_EARLY_BOOT_STACK_LIMIT	\ -	(AVP_EARLY_BOOT_STACK_LIMIT - AVP_EARLY_BOOT_STACK_SIZE) -/* Common CPU early boot stack size */ -#define CPU_EARLY_BOOT_STACK_SIZE	0x1000 -  #define EXCEP_VECTOR_CPU_RESET_VECTOR	(NV_PA_EVP_BASE + 0x100)  #define CSITE_CPU_DBG0_LAR		(NV_PA_CSITE_BASE + 0x10FB0)  #define CSITE_CPU_DBG1_LAR		(NV_PA_CSITE_BASE + 0x12FB0) +#define CSITE_CPU_DBG2_LAR		(NV_PA_CSITE_BASE + 0x14FB0) +#define CSITE_CPU_DBG3_LAR		(NV_PA_CSITE_BASE + 0x16FB0)  #define FLOW_CTLR_HALT_COP_EVENTS	(NV_PA_FLOW_BASE + 4)  #define FLOW_MODE_STOP			2 @@ -95,6 +60,23 @@  #define HALT_COP_EVENT_IRQ_1		(1 << 11)  #define HALT_COP_EVENT_FIQ_1		(1 << 9) -void start_cpu(u32 reset_vector); -int ap20_cpu_is_cortexa9(void); +#define FLOW_MODE_NONE		0 + +#define SIMPLE_PLLX     (CLOCK_ID_XCPU - CLOCK_ID_FIRST_SIMPLE) + +struct clk_pll_table { +	u16	n; +	u16	m; +	u8	p; +	u8	cpcon; +}; + +void clock_enable_coresight(int enable); +void enable_cpu_clock(int enable);  void halt_avp(void)  __attribute__ ((noreturn)); +void init_pllx(void); +void powerup_cpu(void); +void reset_A9_cpu(int reset); +void start_cpu(u32 reset_vector); +int tegra_get_chip_type(void); +void adjust_pllp_out_freqs(void); |