Skip to content

Commit

Permalink
Merge branch 'master' of git://git.denx.de/u-boot-arm
Browse files Browse the repository at this point in the history
  • Loading branch information
wdenx committed Nov 17, 2010
2 parents 8ad25bf + 858ecd9 commit d7b1970
Show file tree
Hide file tree
Showing 35 changed files with 581 additions and 290 deletions.
16 changes: 0 additions & 16 deletions arch/arm/cpu/arm1136/start.S
Original file line number Diff line number Diff line change
Expand Up @@ -104,22 +104,6 @@ _bss_start_ofs:
_bss_end_ofs:
.word _end - _start

.globl _datarel_start_ofs
_datarel_start_ofs:
.word __datarel_start - _start

.globl _datarelrolocal_start_ofs
_datarelrolocal_start_ofs:
.word __datarelrolocal_start - _start

.globl _datarellocal_start_ofs
_datarellocal_start_ofs:
.word __datarellocal_start - _start

.globl _datarelro_start_ofs
_datarelro_start_ofs:
.word __datarelro_start - _start

#ifdef CONFIG_USE_IRQ
/* IRQ stack memory (calculated at run-time) */
.globl IRQ_STACK_START
Expand Down
38 changes: 20 additions & 18 deletions arch/arm/cpu/arm1136/u-boot.lds
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
*
* 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
* 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
Expand Down Expand Up @@ -49,33 +50,34 @@ SECTIONS
. = ALIGN(4);
.data : {
*(.data)
__datarel_start = .;
*(.data.rel)
__datarelrolocal_start = .;
*(.data.rel.ro.local)
__datarellocal_start = .;
*(.data.rel.local)
__datarelro_start = .;
*(.data.rel.ro)
}

. = ALIGN(4);
__rel_dyn_start = .;
.rel.dyn : { *(.rel.dyn) }
__rel_dyn_end = .;

__dynsym_start = .;
.dynsym : { *(.dynsym) }

. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;

. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;

.rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
}

.dynsym : {
__dynsym_start = .;
*(.dynsym)
}

.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss)
. = ALIGN(4);
_end = .;
}

/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
Expand Down
37 changes: 18 additions & 19 deletions arch/arm/cpu/arm1176/u-boot.lds
Original file line number Diff line number Diff line change
Expand Up @@ -41,33 +41,32 @@ SECTIONS
. = ALIGN(4);
.data : {
*(.data)
__datarel_start = .;
*(.data.rel)
__datarelrolocal_start = .;
*(.data.rel.ro.local)
__datarellocal_start = .;
*(.data.rel.local)
__datarelro_start = .;
*(.data.rel.ro)
}

. = ALIGN(4);
__rel_dyn_start = .;
.rel.dyn : { *(.rel.dyn) }
__rel_dyn_end = .;

__dynsym_start = .;
.dynsym : { *(.dynsym) }

. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;

. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;

.rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
}

.dynsym : {
__dynsym_start = .;
*(.dynsym)
}

.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss)
. = ALIGN(4);
_end = .;
}

/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
Expand Down
30 changes: 18 additions & 12 deletions arch/arm/cpu/arm926ejs/u-boot.lds
Original file line number Diff line number Diff line change
Expand Up @@ -45,24 +45,30 @@ SECTIONS

. = ALIGN(4);

__rel_dyn_start = .;
.rel.dyn : { *(.rel.dyn) }
__rel_dyn_end = .;

__dynsym_start = .;
.dynsym : { *(.dynsym) }

. = ALIGN(4);

. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;

. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;

.rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
}

.dynsym : {
__dynsym_start = .;
*(.dynsym)
}

.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss)
. = ALIGN(4);
_end = .;
}

/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
Expand Down
7 changes: 7 additions & 0 deletions arch/arm/cpu/armv7/omap3/sdrc.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,13 @@ void do_sdrc_init(u32 cs, u32 early)
&sdrc_actim_base1->ctrla);
writel(readl(&sdrc_actim_base0->ctrlb),
&sdrc_actim_base1->ctrlb);

writel(CMD_NOP, &sdrc_base->cs[cs].manual);
writel(CMD_PRECHARGE, &sdrc_base->cs[cs].manual);
writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
writel(readl(&sdrc_base->cs[CS0].mr),
&sdrc_base->cs[CS1].mr);
}

/*
Expand Down
24 changes: 0 additions & 24 deletions arch/arm/cpu/armv7/start.S
Original file line number Diff line number Diff line change
Expand Up @@ -98,30 +98,6 @@ FIQ_STACK_START:
IRQ_STACK_START_IN:
.word 0x0badc0de

.globl _datarel_start_ofs
_datarel_start_ofs:
.word __datarel_start - _start

.globl _datarelrolocal_start_ofs
_datarelrolocal_start_ofs:
.word __datarelrolocal_start - _start

.globl _datarellocal_start_ofs
_datarellocal_start_ofs:
.word __datarellocal_start - _start

.globl _datarelro_start_ofs
_datarelro_start_ofs:
.word __datarelro_start - _start

.globl _got_start_ofs
_got_start_ofs:
.word __got_start - _start

.globl _got_end_Ofs
_got_end_ofs:
.word __got_end - _start

/*
* the actual reset code
*/
Expand Down
46 changes: 25 additions & 21 deletions arch/arm/cpu/armv7/u-boot.lds
Original file line number Diff line number Diff line change
Expand Up @@ -44,34 +44,38 @@ SECTIONS
. = ALIGN(4);
.data : {
*(.data)
__datarel_start = .;
*(.data.rel)
__datarelrolocal_start = .;
*(.data.rel.ro.local)
__datarellocal_start = .;
*(.data.rel.local)
__datarelro_start = .;
*(.data.rel.ro)
}
. = ALIGN(4);
__rel_dyn_start = .;
.rel.dyn : { *(.rel.dyn) }
__rel_dyn_end = .;

__dynsym_start = .;
.dynsym : { *(.dynsym) }

__got_start = .;
. = ALIGN(4);
.got : { *(.got) }
__got_end = .;

. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;

. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
_end = .;

.rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
}

.dynsym : {
__dynsym_start = .;
*(.dynsym)
}

.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss)
. = ALIGN(4);
_end = .;
}

/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
/DISCARD/ : { *(.plt*) }
/DISCARD/ : { *(.interp*) }
/DISCARD/ : { *(.gnu*) }
}
35 changes: 24 additions & 11 deletions arch/arm/cpu/pxa/u-boot.lds
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,6 @@ SECTIONS
*(.data)
}

. = ALIGN(4);
__rel_dyn_start = .;
.rel.dyn : { *(.rel.dyn) }
__rel_dyn_end = .;

__dynsym_start = .;
.dynsym : { *(.dynsym) }

. = ALIGN(4);

. = .;
Expand All @@ -59,7 +51,28 @@ SECTIONS
__u_boot_cmd_end = .;

. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;

.rel.dyn : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;
}

.dynsym : {
__dynsym_start = .;
*(.dynsym)
}

.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss)
. = ALIGN(4);
_end = .;
}

/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
/DISCARD/ : { *(.plt*) }
/DISCARD/ : { *(.interp*) }
/DISCARD/ : { *(.gnu*) }
}
38 changes: 38 additions & 0 deletions arch/arm/include/asm/arch-at91/at91_shdwn.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (C) 2010
* Reinhard Meyer, [email protected]
*
* Shutdown Controller
* Based on AT91SAM9XE datasheet
*
* 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.
*/

#ifndef AT91_SHDWN_H
#define AT91_SHDWN_H

#ifndef __ASSEMBLY__

struct at91_shdwn {
u32 cr; /* Control Rer. WO */
u32 mr; /* Mode Register RW 0x00000003 */
u32 sr; /* Status Register RO 0x00000000 */
};

#endif /* __ASSEMBLY__ */

#define AT91_SHDW_CR_KEY 0xa5000000
#define AT91_SHDW_CR_SHDW 0x00000001

#define AT91_SHDW_MR_RTTWKEN 0x00010000
#define AT91_SHDW_MR_CPTWK0 0x000000f0
#define AT91_SHDW_MR_WKMODE0H2L 0x00000002
#define AT91_SHDW_MR_WKMODE0L2H 0x00000001

#define AT91_SHDW_SR_RTTWK 0x00010000
#define AT91_SHDW_SR_WAKEUP0 0x00000001

#endif
1 change: 1 addition & 0 deletions arch/arm/include/asm/arch-at91/at91sam9260.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
#define AT91_PIO_BASE 0xfffff400
#define AT91_PMC_BASE 0xfffffc00
#define AT91_RSTC_BASE 0xfffffd00
#define AT91_SHDWN_BASE 0xfffffd10
#define AT91_RTT_BASE 0xfffffd20
#define AT91_PIT_BASE 0xfffffd30
#define AT91_WDT_BASE 0xfffffd40
Expand Down
1 change: 1 addition & 0 deletions arch/arm/include/asm/arch-at91/hardware.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <asm/arch/at91sam9260.h>
#define AT91_BASE_MCI AT91SAM9260_BASE_MCI
#define AT91_BASE_SPI AT91SAM9260_BASE_SPI0
#define AT91_BASE_SPI1 AT91SAM9260_BASE_SPI1
#define AT91_ID_UHP AT91SAM9260_ID_UHP
#define AT91_PMC_UHP AT91SAM926x_PMC_UHP
#elif defined(CONFIG_AT91SAM9261) || defined(CONFIG_AT91SAM9G10)
Expand Down
1 change: 1 addition & 0 deletions arch/arm/include/asm/arch-at91/memory-map.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@
#define USART2_BASE AT91_USART2
#define USART3_BASE (AT91_BASE_SYS + AT91_DBGU)
#define SPI0_BASE AT91_BASE_SPI
#define SPI1_BASE AT91_BASE_SPI1

#endif /* __ASM_ARM_ARCH_MEMORYMAP_H__ */
Loading

0 comments on commit d7b1970

Please sign in to comment.