diff options
| author | Tom Rini <trini@ti.com> | 2013-03-18 12:31:00 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-03-18 14:37:18 -0400 | 
| commit | 0ce033d2582129243aca10d3072a221386bbba44 (patch) | |
| tree | 6e50a3f4eed22007549dc740d0fa647a6c8cec5b /arch/arm/cpu/armv7/zynq/cpu.c | |
| parent | b5bec88434adb52413f1bc33fa63d7642cb8fd35 (diff) | |
| parent | b27673ccbd3d5435319b5c09c3e7061f559f925d (diff) | |
| download | olio-uboot-2014.01-0ce033d2582129243aca10d3072a221386bbba44.tar.xz olio-uboot-2014.01-0ce033d2582129243aca10d3072a221386bbba44.zip | |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Albert's rework of the linker scripts conflicted with Simon's making
everyone use __bss_end.  We also had a minor conflict over
README.scrapyard being added to in mainline and enhanced in
u-boot-arm/master with proper formatting.
Conflicts:
	arch/arm/cpu/ixp/u-boot.lds
	arch/arm/cpu/u-boot.lds
	arch/arm/lib/Makefile
	board/actux1/u-boot.lds
	board/actux2/u-boot.lds
	board/actux3/u-boot.lds
	board/dvlhost/u-boot.lds
	board/freescale/mx31ads/u-boot.lds
	doc/README.scrapyard
	include/configs/tegra-common.h
Build tested for all of ARM and run-time tested on am335x_evm.
Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'arch/arm/cpu/armv7/zynq/cpu.c')
| -rw-r--r-- | arch/arm/cpu/armv7/zynq/cpu.c | 28 | 
1 files changed, 27 insertions, 1 deletions
| diff --git a/arch/arm/cpu/armv7/zynq/cpu.c b/arch/arm/cpu/armv7/zynq/cpu.c index ab615cc7d..e8f4c19d4 100644 --- a/arch/arm/cpu/armv7/zynq/cpu.c +++ b/arch/arm/cpu/armv7/zynq/cpu.c @@ -21,11 +21,37 @@   * MA 02111-1307 USA   */  #include <common.h> +#include <asm/io.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/hardware.h> -inline void lowlevel_init(void) {} +void lowlevel_init(void) +{ +	zynq_slcr_unlock(); +	/* remap DDR to zero, FILTERSTART */ +	writel(0, &scu_base->filter_start); + +	/* Device config APB, unlock the PCAP */ +	writel(0x757BDF0D, &devcfg_base->unlock); +	writel(0xFFFFFFFF, &devcfg_base->rom_shadow); + +	/* OCM_CFG, Mask out the ROM, map ram into upper addresses */ +	writel(0x1F, &slcr_base->ocm_cfg); +	/* FPGA_RST_CTRL, clear resets on AXI fabric ports */ +	writel(0x0, &slcr_base->fpga_rst_ctrl); +	/* TZ_DDR_RAM, Set DDR trust zone non-secure */ +	writel(0xFFFFFFFF, &slcr_base->trust_zone); +	/* Set urgent bits with register */ +	writel(0x0, &slcr_base->ddr_urgent_sel); +	/* Urgent write, ports S2/S3 */ +	writel(0xC, &slcr_base->ddr_urgent); + +	zynq_slcr_lock(); +}  void reset_cpu(ulong addr)  { +	zynq_slcr_cpu_reset();  	while (1)  		;  } |