diff options
| author | Tom Rini <trini@ti.com> | 2013-10-08 09:51:48 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-10-08 09:51:48 -0400 | 
| commit | 9f3fe6da27e2328285aa37149fce845da4e57560 (patch) | |
| tree | 26fdeff18bd1c7bddc7fadb969a4c12ad9bc863c /arch | |
| parent | 968294bd7b9b540f53c1fb3c809da464623a4362 (diff) | |
| parent | 572886af5984febafa6f083e6b8af0465f4f5764 (diff) | |
| download | olio-uboot-2014.01-9f3fe6da27e2328285aa37149fce845da4e57560.tar.xz olio-uboot-2014.01-9f3fe6da27e2328285aa37149fce845da4e57560.zip | |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/cpu/arm925t/Makefile | 34 | ||||
| -rw-r--r-- | arch/arm/cpu/arm925t/config.mk | 15 | ||||
| -rw-r--r-- | arch/arm/cpu/arm925t/cpu.c | 50 | ||||
| -rw-r--r-- | arch/arm/cpu/arm925t/omap925.c | 23 | ||||
| -rw-r--r-- | arch/arm/cpu/arm925t/start.S | 382 | ||||
| -rw-r--r-- | arch/arm/cpu/arm925t/timer.c | 104 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/socfpga/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/socfpga/spl.c | 6 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/socfpga/system_manager.c | 27 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-am33xx/ddr_defs.h | 24 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-socfpga/socfpga_base_addrs.h | 1 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-socfpga/system_manager.h | 22 | 
12 files changed, 69 insertions, 621 deletions
| diff --git a/arch/arm/cpu/arm925t/Makefile b/arch/arm/cpu/arm925t/Makefile deleted file mode 100644 index 40d2156f6..000000000 --- a/arch/arm/cpu/arm925t/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# SPDX-License-Identifier:	GPL-2.0+ -# - -include $(TOPDIR)/config.mk - -LIB	= $(obj)lib$(CPU).o - -START	= start.o - -COBJS	+= cpu.o -COBJS	+= omap925.o -COBJS	+= timer.o - -SRCS	:= $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS)) -START	:= $(addprefix $(obj),$(START)) - -all:	$(obj).depend $(START) $(LIB) - -$(LIB):	$(OBJS) -	$(call cmd_link_o_target, $(OBJS)) - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -######################################################################### diff --git a/arch/arm/cpu/arm925t/config.mk b/arch/arm/cpu/arm925t/config.mk deleted file mode 100644 index 67537dced..000000000 --- a/arch/arm/cpu/arm925t/config.mk +++ /dev/null @@ -1,15 +0,0 @@ -# -# (C) Copyright 2002 -# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> -# -# SPDX-License-Identifier:	GPL-2.0+ -# - -PLATFORM_CPPFLAGS += -march=armv4 -# ========================================================================= -# -# Supply options according to compiler version -# -# ========================================================================= -PF_RELFLAGS_SLB_AT := $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -PLATFORM_RELFLAGS += $(PF_RELFLAGS_SLB_AT) diff --git a/arch/arm/cpu/arm925t/cpu.c b/arch/arm/cpu/arm925t/cpu.c deleted file mode 100644 index d0f8e1e5b..000000000 --- a/arch/arm/cpu/arm925t/cpu.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> - * Marius Groeger <mgroeger@sysgo.de> - * - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> - * - * SPDX-License-Identifier:	GPL-2.0+ - */ - -/* - * CPU specific code - */ - -#include <common.h> -#include <command.h> -#include <arm925t.h> -#include <asm/system.h> - -static void cache_flush(void); - -int cleanup_before_linux (void) -{ -	/* -	 * this function is called just before we call linux -	 * it prepares the processor for linux -	 * -	 * we turn off caches etc ... -	 */ - -	disable_interrupts (); - - -	/* turn off I/D-cache */ -	icache_disable(); -	dcache_disable(); -	/* flush I/D-cache */ -	cache_flush(); - -	return 0; -} - -/* flush I/D-cache */ -static void cache_flush (void) -{ -	unsigned long i = 0; - -	asm ("mcr p15, 0, %0, c7, c7, 0": :"r" (i)); -} diff --git a/arch/arm/cpu/arm925t/omap925.c b/arch/arm/cpu/arm925t/omap925.c deleted file mode 100644 index c0402d17e..000000000 --- a/arch/arm/cpu/arm925t/omap925.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (C) Copyright 2003 - * Texas Instruments <www.ti.com> - * - * SPDX-License-Identifier:	GPL-2.0+ - */ - -#include <common.h> -#include <command.h> -#include <arm925t.h> - -#define MIF_CONFIG_REG 0xFFFECC0C -#define FLASH_GLOBAL_CTRL_NWP 1 - -void archflashwp (void *archdata, int wp) -{ -	ulong *fgc = (ulong *) MIF_CONFIG_REG; - -	if (wp == 1) -		*fgc &= ~FLASH_GLOBAL_CTRL_NWP; -	else -		*fgc |= FLASH_GLOBAL_CTRL_NWP; -} diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S deleted file mode 100644 index 1e765b702..000000000 --- a/arch/arm/cpu/arm925t/start.S +++ /dev/null @@ -1,382 +0,0 @@ -/* - *  armboot - Startup Code for ARM925 CPU-core - * - *  Copyright (c) 2003  Texas Instruments - * - *  ----- Adapted for OMAP1510 from ARM920 code ------ - * - *  Copyright (c) 2001	Marius Gröger <mag@sysgo.de> - *  Copyright (c) 2002	Alex Züpke <azu@sysgo.de> - *  Copyright (c) 2002	Gary Jennejohn <garyj@denx.de> - *  Copyright (c) 2003	Richard Woodruff <r-woodruff2@ti.com> - *  Copyright (c) 2003	Kshitij	 <kshitij@ti.com> - * - * SPDX-License-Identifier:	GPL-2.0+ - */ - -#include <asm-offsets.h> -#include <config.h> -#include <version.h> - -/* - ************************************************************************* - * - * Jump vector table as in table 3.1 in [1] - * - ************************************************************************* - */ - - -.globl _start -_start:	b       reset -	ldr	pc, _undefined_instruction -	ldr	pc, _software_interrupt -	ldr	pc, _prefetch_abort -	ldr	pc, _data_abort -	ldr	pc, _not_used -	ldr	pc, _irq -	ldr	pc, _fiq - -_undefined_instruction:	.word undefined_instruction -_software_interrupt:	.word software_interrupt -_prefetch_abort:	.word prefetch_abort -_data_abort:		.word data_abort -_not_used:		.word not_used -_irq:			.word irq -_fiq:			.word fiq - -	.balignl 16,0xdeadbeef - - -/* - ************************************************************************* - * - * Startup Code (reset vector) - * - * do important init only if we don't start from memory! - * setup Memory and board specific bits prior to relocation. - * relocate armboot to ram - * setup stack - * - ************************************************************************* - */ - -.globl _TEXT_BASE -_TEXT_BASE: -#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) -	.word	CONFIG_SPL_TEXT_BASE -#else -	.word	CONFIG_SYS_TEXT_BASE -#endif - -/* - * These are defined in the board-specific linker script. - * Subtracting _start from them lets the linker put their - * relative position in the executable instead of leaving - * them null. - */ -.globl _bss_start_ofs -_bss_start_ofs: -	.word __bss_start - _start - -.globl _bss_end_ofs -_bss_end_ofs: -	.word __bss_end - _start - -.globl _end_ofs -_end_ofs: -	.word _end - _start - -#ifdef CONFIG_USE_IRQ -/* IRQ stack memory (calculated at run-time) */ -.globl IRQ_STACK_START -IRQ_STACK_START: -	.word	0x0badc0de - -/* IRQ stack memory (calculated at run-time) */ -.globl FIQ_STACK_START -FIQ_STACK_START: -	.word 0x0badc0de -#endif - -/* IRQ stack memory (calculated at run-time) + 8 bytes */ -.globl IRQ_STACK_START_IN -IRQ_STACK_START_IN: -	.word	0x0badc0de - -/* - * the actual reset code - */ - -reset: -	/* -	 * set the cpu to SVC32 mode -	 */ -	mrs	r0,cpsr -	bic	r0,r0,#0x1f -	orr	r0,r0,#0xd3 -	msr	cpsr,r0 - -	/* -	 * Set up 925T mode -	 */ -	mov r1, #0x81               /* Set ARM925T configuration. */ -	mcr p15, 0, r1, c15, c1, 0  /* Write ARM925T configuration register. */ - -	/* -	 * turn off the watchdog, unlock/diable sequence -	 */ -	mov  r1, #0xF5 -	ldr  r0, =WDTIM_MODE -	strh r1, [r0] -	mov  r1, #0xA0 -	strh r1, [r0] - -	/* -	 * mask all IRQs by setting all bits in the INTMR - default -	 */ -	mov r1, #0xffffffff -	ldr r0, =REG_IHL1_MIR -	str r1, [r0] -	ldr r0, =REG_IHL2_MIR -	str r1, [r0] - -	/* -	 * wait for dpll to lock -	 */ -	ldr  r0, =CK_DPLL1 -	mov  r1, #0x10 -	strh r1, [r0] -poll1: -	ldrh r1, [r0] -	ands r1, r1, #0x01 -	beq poll1 - -	/* -	 * we do sys-critical inits only at reboot, -	 * not when booting from ram! -	 */ -#ifndef CONFIG_SKIP_LOWLEVEL_INIT -	bl  cpu_init_crit -#endif - -	bl	_main - -/*------------------------------------------------------------------------------*/ - -	.globl	c_runtime_cpu_setup -c_runtime_cpu_setup: - -	mov	pc, lr - -/* - ************************************************************************* - * - * CPU_init_critical registers - * - * setup important registers - * setup memory timing - * - ************************************************************************* - */ - - -cpu_init_crit: -	/* -	 * flush v4 I/D caches -	 */ -	mov	r0, #0 -	mcr	p15, 0, r0, c7, c7, 0	/* flush v3/v4 cache */ -	mcr	p15, 0, r0, c8, c7, 0	/* flush v4 TLB */ - -	/* -	 * disable MMU stuff and caches -	 */ -	mrc	p15, 0, r0, c1, c0, 0 -	bic	r0, r0, #0x00002300	@ clear bits 13, 9:8 (--V- --RS) -	bic	r0, r0, #0x00000087	@ clear bits 7, 2:0 (B--- -CAM) -	orr	r0, r0, #0x00000002	@ set bit 2 (A) Align -	orr	r0, r0, #0x00001000	@ set bit 12 (I) I-Cache -	mcr	p15, 0, r0, c1, c0, 0 - -	/* -	 * Go setup Memory and board specific bits prior to relocation. -	 */ -	mov	ip, lr          /* perserve link reg across call */ -	bl	lowlevel_init   /* go setup pll,mux,memory */ -	mov	lr, ip          /* restore link */ -	mov	pc, lr          /* back to my caller */ -/* - ************************************************************************* - * - * Interrupt handling - * - ************************************************************************* - */ - -@ -@ IRQ stack frame. -@ -#define S_FRAME_SIZE	72 - -#define S_OLD_R0	68 -#define S_PSR		64 -#define S_PC		60 -#define S_LR		56 -#define S_SP		52 - -#define S_IP		48 -#define S_FP		44 -#define S_R10		40 -#define S_R9		36 -#define S_R8		32 -#define S_R7		28 -#define S_R6		24 -#define S_R5		20 -#define S_R4		16 -#define S_R3		12 -#define S_R2		8 -#define S_R1		4 -#define S_R0		0 - -#define MODE_SVC 0x13 -#define I_BIT	 0x80 - -/* - * use bad_save_user_regs for abort/prefetch/undef/swi ... - * use irq_save_user_regs / irq_restore_user_regs for IRQ/FIQ handling - */ - -	.macro	bad_save_user_regs -	sub	sp, sp, #S_FRAME_SIZE           @ carve out a frame on current user stack -	stmia	sp, {r0 - r12}			@ Save user registers (now in svc mode) r0-r12 - -	ldr	r2, IRQ_STACK_START_IN -	ldmia	r2, {r2 - r3}                   @ get values for "aborted" pc and cpsr (into parm regs) -	add	r0, sp, #S_FRAME_SIZE		@ grab pointer to old stack - -	add	r5, sp, #S_SP -	mov	r1, lr -	stmia	r5, {r0 - r3}                   @ save sp_SVC, lr_SVC, pc, cpsr -	mov	r0, sp                          @ save current stack into r0 (param register) -	.endm - -	.macro	irq_save_user_regs -	sub	sp, sp, #S_FRAME_SIZE -	stmia	sp, {r0 - r12}			@ Calling r0-r12 -	add     r8, sp, #S_PC                   @ !!!! R8 NEEDS to be saved !!!! a reserved stack spot would be good. -	stmdb   r8, {sp, lr}^                   @ Calling SP, LR -	str     lr, [r8, #0]                    @ Save calling PC -	mrs     r6, spsr -	str     r6, [r8, #4]                    @ Save CPSR -	str     r0, [r8, #8]                    @ Save OLD_R0 -	mov	r0, sp -	.endm - -	.macro	irq_restore_user_regs -	ldmia	sp, {r0 - lr}^			@ Calling r0 - lr -	mov	r0, r0 -	ldr	lr, [sp, #S_PC]			@ Get PC -	add	sp, sp, #S_FRAME_SIZE -	subs	pc, lr, #4			@ return & move spsr_svc into cpsr -	.endm - -	.macro get_bad_stack -	ldr	r13, IRQ_STACK_START_IN - -	str	lr, [r13]			@ save caller lr in position 0 of saved stack -	mrs	lr, spsr                        @ get the spsr -	str     lr, [r13, #4]                   @ save spsr in position 1 of saved stack - -	mov	r13, #MODE_SVC			@ prepare SVC-Mode -	@ msr	spsr_c, r13 -	msr	spsr, r13                       @ switch modes, make sure moves will execute -	mov	lr, pc                          @ capture return pc -	movs	pc, lr                          @ jump to next instruction & switch modes. -	.endm - -	.macro get_irq_stack			@ setup IRQ stack -	ldr	sp, IRQ_STACK_START -	.endm - -	.macro get_fiq_stack			@ setup FIQ stack -	ldr	sp, FIQ_STACK_START -	.endm - -/* - * exception handlers - */ -	.align  5 -undefined_instruction: -	get_bad_stack -	bad_save_user_regs -	bl	do_undefined_instruction - -	.align	5 -software_interrupt: -	get_bad_stack -	bad_save_user_regs -	bl	do_software_interrupt - -	.align	5 -prefetch_abort: -	get_bad_stack -	bad_save_user_regs -	bl	do_prefetch_abort - -	.align	5 -data_abort: -	get_bad_stack -	bad_save_user_regs -	bl	do_data_abort - -	.align	5 -not_used: -	get_bad_stack -	bad_save_user_regs -	bl	do_not_used - -#ifdef CONFIG_USE_IRQ - -	.align	5 -irq: -	get_irq_stack -	irq_save_user_regs -	bl	do_irq -	irq_restore_user_regs - -	.align	5 -fiq: -	get_fiq_stack -	/* someone ought to write a more effiction fiq_save_user_regs */ -	irq_save_user_regs -	bl	do_fiq -	irq_restore_user_regs - -#else - -	.align	5 -irq: -	get_bad_stack -	bad_save_user_regs -	bl	do_irq - -	.align	5 -fiq: -	get_bad_stack -	bad_save_user_regs -	bl	do_fiq - -#endif - -	.align	5 -.globl reset_cpu -reset_cpu: -	ldr	r1, rstctl1     /* get clkm1 reset ctl */ -	mov     r3, #0x3	/* dsp_en + arm_rst = global reset */ -	strh	r3, [r1]        /* force reset */ -	mov	r0, r0 -_loop_forever: -	b	_loop_forever -rstctl1: -	.word	0xfffece10 diff --git a/arch/arm/cpu/arm925t/timer.c b/arch/arm/cpu/arm925t/timer.c deleted file mode 100644 index e56b576b1..000000000 --- a/arch/arm/cpu/arm925t/timer.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * (C) Copyright 2009 - * 2N Telekomunikace, <www.2n.cz> - * - * (C) Copyright 2003 - * Texas Instruments, <www.ti.com> - * - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> - * Marius Groeger <mgroeger@sysgo.de> - * - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> - * Alex Zuepke <azu@sysgo.de> - * - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> - * - * SPDX-License-Identifier:	GPL-2.0+  - */ - -#include <common.h> -#include <arm925t.h> -#include <configs/omap1510.h> -#include <asm/io.h> - -#define TIMER_LOAD_VAL	0xffffffff -#define TIMER_CLOCK	(CONFIG_SYS_CLK_FREQ / (2 << CONFIG_SYS_PTV)) - -static uint32_t timestamp; -static uint32_t lastdec; - -/* nothing really to do with interrupts, just starts up a counter. */ -int timer_init (void) -{ -	/* Start the decrementer ticking down from 0xffffffff */ -	__raw_writel(TIMER_LOAD_VAL, CONFIG_SYS_TIMERBASE + LOAD_TIM); -	__raw_writel(MPUTIM_ST | MPUTIM_AR | MPUTIM_CLOCK_ENABLE | -		(CONFIG_SYS_PTV << MPUTIM_PTV_BIT), -		CONFIG_SYS_TIMERBASE + CNTL_TIMER); - -	/* init the timestamp and lastdec value */ -	lastdec = __raw_readl(CONFIG_SYS_TIMERBASE + READ_TIM) / -			(TIMER_CLOCK / CONFIG_SYS_HZ); -	timestamp = 0;	       /* start "advancing" time stamp from 0 */ - -	return 0; -} - -/* - * timer without interrupts - */ -ulong get_timer (ulong base) -{ -	return get_timer_masked () - base; -} - -/* delay x useconds AND preserve advance timestamp value */ -void __udelay (unsigned long usec) -{ -	int32_t tmo = usec * (TIMER_CLOCK / 1000) / 1000; -	uint32_t now, last = __raw_readl(CONFIG_SYS_TIMERBASE + READ_TIM); - -	while (tmo > 0) { -		now = __raw_readl(CONFIG_SYS_TIMERBASE + READ_TIM); -		if (last < now) /* count down timer underflow */ -			tmo -= TIMER_LOAD_VAL - now + last; -		else -			tmo -= last - now; -		last = now; -	} -} - -ulong get_timer_masked (void) -{ -	uint32_t now = __raw_readl(CONFIG_SYS_TIMERBASE + READ_TIM) / -			(TIMER_CLOCK / CONFIG_SYS_HZ); -	if (lastdec < now)	/* count down timer underflow */ -		timestamp += TIMER_LOAD_VAL / (TIMER_CLOCK / CONFIG_SYS_HZ) - -				now + lastdec; -	else -		timestamp += lastdec - now; -	lastdec = now; - -	return timestamp; -} - -/* - * This function is derived from PowerPC code (read timebase as long long). - * On ARM it just returns the timer value. - */ -unsigned long long get_ticks(void) -{ -	return get_timer(0); -} - -/* - * This function is derived from PowerPC code (timebase clock frequency). - * On ARM it returns the number of timer ticks per second. - */ -ulong get_tbclk (void) -{ -	return CONFIG_SYS_HZ; -} diff --git a/arch/arm/cpu/armv7/socfpga/Makefile b/arch/arm/cpu/armv7/socfpga/Makefile index 5024fc55e..0859e443d 100644 --- a/arch/arm/cpu/armv7/socfpga/Makefile +++ b/arch/arm/cpu/armv7/socfpga/Makefile @@ -13,7 +13,7 @@ include $(TOPDIR)/config.mk  LIB	=  $(obj)lib$(SOC).o  SOBJS	:= lowlevel_init.o -COBJS-y	:= misc.o timer.o reset_manager.o +COBJS-y	:= misc.o timer.o reset_manager.o system_manager.o  COBJS-$(CONFIG_SPL_BUILD) += spl.o  COBJS	:= $(COBJS-y) diff --git a/arch/arm/cpu/armv7/socfpga/spl.c b/arch/arm/cpu/armv7/socfpga/spl.c index 2b9be28c2..74bceab18 100644 --- a/arch/arm/cpu/armv7/socfpga/spl.c +++ b/arch/arm/cpu/armv7/socfpga/spl.c @@ -12,6 +12,7 @@  #include <image.h>  #include <asm/arch/reset_manager.h>  #include <spl.h> +#include <asm/arch/system_manager.h>  DECLARE_GLOBAL_DATA_PTR; @@ -25,6 +26,11 @@ u32 spl_boot_device(void)   */  void spl_board_init(void)  { +#ifndef CONFIG_SOCFPGA_VIRTUAL_TARGET +	/* configure the pin muxing through system manager */ +	sysmgr_pinmux_init(); +#endif /* CONFIG_SOCFPGA_VIRTUAL_TARGET */ +  	/* de-assert reset for peripherals and bridges based on handoff */  	reset_deassert_peripherals_handoff(); diff --git a/arch/arm/cpu/armv7/socfpga/system_manager.c b/arch/arm/cpu/armv7/socfpga/system_manager.c new file mode 100644 index 000000000..d96521ba0 --- /dev/null +++ b/arch/arm/cpu/armv7/socfpga/system_manager.c @@ -0,0 +1,27 @@ +/* + *  Copyright (C) 2013 Altera Corporation <www.altera.com> + * + * SPDX-License-Identifier:	GPL-2.0+ + */ + +#include <common.h> +#include <asm/io.h> +#include <asm/arch/system_manager.h> + +DECLARE_GLOBAL_DATA_PTR; + +/* + * Configure all the pin muxes + */ +void sysmgr_pinmux_init(void) +{ +	unsigned long offset = CONFIG_SYSMGR_PINMUXGRP_OFFSET; + +	const unsigned long *pval = sys_mgr_init_table; +	unsigned long i; + +	for (i = 0; i < ARRAY_SIZE(sys_mgr_init_table); +		i++, offset += sizeof(unsigned long)) { +		writel(*pval++, (SOCFPGA_SYSMGR_ADDRESS + offset)); +	} +} diff --git a/arch/arm/include/asm/arch-am33xx/ddr_defs.h b/arch/arm/include/asm/arch-am33xx/ddr_defs.h index 95f7a9ad4..fe48b5fed 100644 --- a/arch/arm/include/asm/arch-am33xx/ddr_defs.h +++ b/arch/arm/include/asm/arch-am33xx/ddr_defs.h @@ -110,20 +110,20 @@  #define MT41J512M8RH125_IOCTRL_VALUE		0x18B  /* Samsung K4B2G1646E-BIH9 */ -#define K4B2G1646EBIH9_EMIF_READ_LATENCY	0x06 -#define K4B2G1646EBIH9_EMIF_TIM1		0x0888A39B -#define K4B2G1646EBIH9_EMIF_TIM2		0x2A04011A -#define K4B2G1646EBIH9_EMIF_TIM3		0x501F820F -#define K4B2G1646EBIH9_EMIF_SDCFG		0x61C24AB2 -#define K4B2G1646EBIH9_EMIF_SDREF		0x0000093B +#define K4B2G1646EBIH9_EMIF_READ_LATENCY	0x07 +#define K4B2G1646EBIH9_EMIF_TIM1		0x0AAAE51B +#define K4B2G1646EBIH9_EMIF_TIM2		0x2A1D7FDA +#define K4B2G1646EBIH9_EMIF_TIM3		0x501F83FF +#define K4B2G1646EBIH9_EMIF_SDCFG		0x61C052B2 +#define K4B2G1646EBIH9_EMIF_SDREF		0x00000C30  #define K4B2G1646EBIH9_ZQ_CFG			0x50074BE4  #define K4B2G1646EBIH9_DLL_LOCK_DIFF		0x1 -#define K4B2G1646EBIH9_RATIO			0x40 -#define K4B2G1646EBIH9_INVERT_CLKOUT		0x1 -#define K4B2G1646EBIH9_RD_DQS			0x3B -#define K4B2G1646EBIH9_WR_DQS			0x85 -#define K4B2G1646EBIH9_PHY_FIFO_WE		0x100 -#define K4B2G1646EBIH9_PHY_WR_DATA		0xC1 +#define K4B2G1646EBIH9_RATIO			0x80 +#define K4B2G1646EBIH9_INVERT_CLKOUT		0x0 +#define K4B2G1646EBIH9_RD_DQS			0x35 +#define K4B2G1646EBIH9_WR_DQS			0x3A +#define K4B2G1646EBIH9_PHY_FIFO_WE		0x97 +#define K4B2G1646EBIH9_PHY_WR_DATA		0x76  #define K4B2G1646EBIH9_IOCTRL_VALUE		0x18B  /** diff --git a/arch/arm/include/asm/arch-socfpga/socfpga_base_addrs.h b/arch/arm/include/asm/arch-socfpga/socfpga_base_addrs.h index 1182a133f..50c4ebd84 100644 --- a/arch/arm/include/asm/arch-socfpga/socfpga_base_addrs.h +++ b/arch/arm/include/asm/arch-socfpga/socfpga_base_addrs.h @@ -12,5 +12,6 @@  #define SOCFPGA_UART1_ADDRESS 0xffc03000  #define SOCFPGA_OSC1TIMER0_ADDRESS 0xffd00000  #define SOCFPGA_RSTMGR_ADDRESS 0xffd05000 +#define SOCFPGA_SYSMGR_ADDRESS 0xffd08000  #endif /* _SOCFPGA_BASE_ADDRS_H_ */ diff --git a/arch/arm/include/asm/arch-socfpga/system_manager.h b/arch/arm/include/asm/arch-socfpga/system_manager.h new file mode 100644 index 000000000..d965d25ef --- /dev/null +++ b/arch/arm/include/asm/arch-socfpga/system_manager.h @@ -0,0 +1,22 @@ +/* + *  Copyright (C) 2013 Altera Corporation <www.altera.com> + * + * SPDX-License-Identifier:	GPL-2.0+ + */ + +#ifndef	_SYSTEM_MANAGER_H_ +#define	_SYSTEM_MANAGER_H_ + +#ifndef __ASSEMBLY__ + +void sysmgr_pinmux_init(void); + +/* declaration for handoff table type */ +extern unsigned long sys_mgr_init_table[CONFIG_HPS_PINMUX_NUM]; + +#endif + + +#define CONFIG_SYSMGR_PINMUXGRP_OFFSET	(0x400) + +#endif /* _SYSTEM_MANAGER_H_ */ |