mirror of
https://xff.cz/git/u-boot/
synced 2025-10-09 20:16:27 +02:00
arm: Tegra2: add support for A9 CPU init
Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
committed by
Albert ARIBAUD
parent
c2b626c199
commit
74652cf684
@@ -149,6 +149,9 @@ struct clk_rst_ctlr {
|
||||
uint crc_clk_src_csite; /*_CSITE_0, 0x1D4 */
|
||||
uint crc_reserved19[9]; /* 0x1D8-1F8 */
|
||||
uint crc_clk_src_osc; /*_OSC_0, 0x1FC */
|
||||
uint crc_reserved20[80]; /* 0x200-33C */
|
||||
uint crc_cpu_cmplx_set; /* _CPU_CMPLX_SET_0, 0x340 */
|
||||
uint crc_cpu_cmplx_clr; /* _CPU_CMPLX_CLR_0, 0x344 */
|
||||
};
|
||||
|
||||
#define PLL_BYPASS (1 << 31)
|
||||
@@ -162,4 +165,28 @@ struct clk_rst_ctlr {
|
||||
#define SWR_UARTA_RST (1 << 6)
|
||||
#define CLK_ENB_UARTA (1 << 6)
|
||||
|
||||
#define SWR_CPU_RST (1 << 0)
|
||||
#define CLK_ENB_CPU (1 << 0)
|
||||
#define SWR_CSITE_RST (1 << 9)
|
||||
#define CLK_ENB_CSITE (1 << 9)
|
||||
|
||||
#define SET_CPURESET0 (1 << 0)
|
||||
#define SET_DERESET0 (1 << 4)
|
||||
#define SET_DBGRESET0 (1 << 12)
|
||||
|
||||
#define SET_CPURESET1 (1 << 1)
|
||||
#define SET_DERESET1 (1 << 5)
|
||||
#define SET_DBGRESET1 (1 << 13)
|
||||
|
||||
#define CLR_CPURESET0 (1 << 0)
|
||||
#define CLR_DERESET0 (1 << 4)
|
||||
#define CLR_DBGRESET0 (1 << 12)
|
||||
|
||||
#define CLR_CPURESET1 (1 << 1)
|
||||
#define CLR_DERESET1 (1 << 5)
|
||||
#define CLR_DBGRESET1 (1 << 13)
|
||||
|
||||
#define CPU0_CLK_STP (1 << 8)
|
||||
#define CPU1_CLK_STP (1 << 9)
|
||||
|
||||
#endif /* CLK_RST_H */
|
||||
|
@@ -121,4 +121,12 @@ struct pmc_ctlr {
|
||||
uint pmc_gate; /* _GATE_0, offset 15C */
|
||||
};
|
||||
|
||||
#define CPU_PWRED 1
|
||||
#define CPU_CLMP 1
|
||||
|
||||
#define PARTID_CP 0xFFFFFFF8
|
||||
#define START_CP (1 << 8)
|
||||
|
||||
#define CPUPWRREQ_OE (1 << 16)
|
||||
|
||||
#endif /* PMC_H */
|
||||
|
43
arch/arm/include/asm/arch-tegra2/scu.h
Normal file
43
arch/arm/include/asm/arch-tegra2/scu.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* (C) Copyright 2010,2011
|
||||
* NVIDIA Corporation <www.nvidia.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _SCU_H_
|
||||
#define _SCU_H_
|
||||
|
||||
/* ARM Snoop Control Unit (SCU) registers */
|
||||
struct scu_ctlr {
|
||||
uint scu_ctrl; /* SCU Control Register, offset 00 */
|
||||
uint scu_cfg; /* SCU Config Register, offset 04 */
|
||||
uint scu_cpu_pwr_stat; /* SCU CPU Power Status Register, offset 08 */
|
||||
uint scu_inv_all; /* SCU Invalidate All Register, offset 0C */
|
||||
uint scu_reserved0[12]; /* reserved, offset 10-3C */
|
||||
uint scu_filt_start; /* SCU Filtering Start Address Reg, offset 40 */
|
||||
uint scu_filt_end; /* SCU Filtering End Address Reg, offset 44 */
|
||||
uint scu_reserved1[2]; /* reserved, offset 48-4C */
|
||||
uint scu_acc_ctl; /* SCU Access Control Register, offset 50 */
|
||||
uint scu_ns_acc_ctl; /* SCU Non-secure Access Cntrl Reg, offset 54 */
|
||||
};
|
||||
|
||||
#define SCU_CTRL_ENABLE (1 << 0)
|
||||
|
||||
#endif /* SCU_H */
|
@@ -25,8 +25,12 @@
|
||||
#define _TEGRA2_H_
|
||||
|
||||
#define NV_PA_SDRAM_BASE 0x00000000
|
||||
#define NV_PA_ARM_PERIPHBASE 0x50040000
|
||||
#define NV_PA_PG_UP_BASE 0x60000000
|
||||
#define NV_PA_TMRUS_BASE 0x60005010
|
||||
#define NV_PA_CLK_RST_BASE 0x60006000
|
||||
#define NV_PA_FLOW_BASE 0x60007000
|
||||
#define NV_PA_EVP_BASE 0x6000F000
|
||||
#define NV_PA_APB_MISC_BASE 0x70000000
|
||||
#define NV_PA_APB_UARTA_BASE (NV_PA_APB_MISC_BASE + 0x6000)
|
||||
#define NV_PA_APB_UARTB_BASE (NV_PA_APB_MISC_BASE + 0x6040)
|
||||
@@ -34,9 +38,13 @@
|
||||
#define NV_PA_APB_UARTD_BASE (NV_PA_APB_MISC_BASE + 0x6300)
|
||||
#define NV_PA_APB_UARTE_BASE (NV_PA_APB_MISC_BASE + 0x6400)
|
||||
#define NV_PA_PMC_BASE 0x7000E400
|
||||
#define NV_PA_CSITE_BASE 0x70040000
|
||||
|
||||
#define TEGRA2_SDRC_CS0 NV_PA_SDRAM_BASE
|
||||
#define LOW_LEVEL_SRAM_STACK 0x4000FFFC
|
||||
#define EARLY_AVP_STACK (NV_PA_SDRAM_BASE + 0x20000)
|
||||
#define EARLY_CPU_STACK (EARLY_AVP_STACK - 4096)
|
||||
#define PG_UP_TAG_AVP 0xAAAAAAAA
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
struct timerus {
|
||||
|
Reference in New Issue
Block a user