]> git.sur5r.net Git - u-boot/commitdiff
Merge branch 'master' of git://git.denx.de/u-boot-arm
authorWolfgang Denk <wd@denx.de>
Sun, 27 Mar 2011 19:20:29 +0000 (21:20 +0200)
committerWolfgang Denk <wd@denx.de>
Sun, 27 Mar 2011 19:20:29 +0000 (21:20 +0200)
259 files changed:
arch/arm/cpu/arm1136/start.S
arch/arm/cpu/arm1136/u-boot.lds
arch/arm/cpu/arm1176/start.S
arch/arm/cpu/arm1176/u-boot.lds
arch/arm/cpu/arm720t/start.S
arch/arm/cpu/arm720t/u-boot.lds
arch/arm/cpu/arm920t/ep93xx/u-boot.lds
arch/arm/cpu/arm920t/start.S
arch/arm/cpu/arm920t/u-boot.lds
arch/arm/cpu/arm925t/start.S
arch/arm/cpu/arm925t/u-boot.lds
arch/arm/cpu/arm926ejs/start.S
arch/arm/cpu/arm926ejs/u-boot.lds
arch/arm/cpu/arm946es/start.S
arch/arm/cpu/arm946es/u-boot.lds
arch/arm/cpu/arm_intcm/start.S
arch/arm/cpu/arm_intcm/u-boot.lds
arch/arm/cpu/armv7/s5p-common/Makefile
arch/arm/cpu/armv7/s5p-common/pwm.c [new file with mode: 0644]
arch/arm/cpu/armv7/s5p-common/timer.c
arch/arm/cpu/armv7/start.S
arch/arm/cpu/armv7/u-boot.lds
arch/arm/cpu/ixp/start.S
arch/arm/cpu/ixp/u-boot.lds
arch/arm/cpu/lh7a40x/start.S
arch/arm/cpu/lh7a40x/u-boot.lds
arch/arm/cpu/pxa/start.S
arch/arm/cpu/pxa/u-boot.lds
arch/arm/cpu/s3c44b0/start.S
arch/arm/cpu/s3c44b0/u-boot.lds
arch/arm/cpu/sa1100/start.S
arch/arm/cpu/sa1100/u-boot.lds
arch/arm/include/asm/arch-s5pc1xx/mmc.h
arch/arm/include/asm/arch-s5pc1xx/pwm.h
arch/arm/include/asm/arch-s5pc2xx/mmc.h
arch/arm/include/asm/arch-s5pc2xx/pwm.h
arch/arm/include/asm/u-boot-arm.h
arch/arm/lib/board.c
arch/avr32/cpu/start.S
arch/avr32/include/asm/sections.h
arch/avr32/lib/board.c
arch/m68k/lib/board.c
arch/nios2/cpu/start.S
arch/nios2/cpu/u-boot.lds
arch/powerpc/cpu/74xx_7xx/start.S
arch/powerpc/cpu/74xx_7xx/u-boot.lds
arch/powerpc/cpu/mpc512x/start.S
arch/powerpc/cpu/mpc512x/u-boot.lds
arch/powerpc/cpu/mpc5xx/start.S
arch/powerpc/cpu/mpc5xx/u-boot.lds
arch/powerpc/cpu/mpc5xxx/start.S
arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
arch/powerpc/cpu/mpc5xxx/u-boot.lds
arch/powerpc/cpu/mpc8220/start.S
arch/powerpc/cpu/mpc8220/u-boot.lds
arch/powerpc/cpu/mpc824x/start.S
arch/powerpc/cpu/mpc824x/u-boot.lds
arch/powerpc/cpu/mpc8260/start.S
arch/powerpc/cpu/mpc8260/u-boot.lds
arch/powerpc/cpu/mpc83xx/start.S
arch/powerpc/cpu/mpc83xx/u-boot.lds
arch/powerpc/cpu/mpc85xx/start.S
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
arch/powerpc/cpu/mpc85xx/u-boot.lds
arch/powerpc/cpu/mpc86xx/start.S
arch/powerpc/cpu/mpc86xx/u-boot.lds
arch/powerpc/cpu/mpc8xx/start.S
arch/powerpc/cpu/ppc4xx/start.S
arch/powerpc/cpu/ppc4xx/u-boot.lds
arch/powerpc/lib/board.c
arch/sh/cpu/sh2/u-boot.lds
arch/sh/cpu/sh3/u-boot.lds
arch/sh/cpu/sh4/u-boot.lds
board/BuS/EB+MCF-EV123/u-boot.lds
board/LEOX/elpt860/u-boot.lds
board/LEOX/elpt860/u-boot.lds.debug
board/RPXClassic/u-boot.lds
board/RPXClassic/u-boot.lds.debug
board/RPXlite/u-boot.lds
board/RPXlite/u-boot.lds.debug
board/RPXlite_dw/u-boot.lds
board/RPXlite_dw/u-boot.lds.debug
board/RRvision/u-boot.lds
board/actux1/u-boot.lds
board/actux2/u-boot.lds
board/actux3/u-boot.lds
board/adder/u-boot.lds
board/altera/nios2-generic/u-boot.lds
board/amcc/acadia/u-boot-nand.lds
board/amcc/bamboo/u-boot-nand.lds
board/amcc/canyonlands/u-boot-nand.lds
board/amcc/kilauea/u-boot-nand.lds
board/amcc/sequoia/u-boot-nand.lds
board/amcc/sequoia/u-boot-ram.lds
board/amirix/ap1000/u-boot.lds
board/astro/mcf5373l/u-boot.lds
board/atmel/atngw100/u-boot.lds
board/atmel/atstk1000/u-boot.lds
board/c2mon/u-boot.lds
board/c2mon/u-boot.lds.debug
board/cm5200/u-boot.lds
board/cobra5272/u-boot.lds
board/cogent/u-boot.lds
board/cogent/u-boot.lds.debug
board/cray/L1/u-boot.lds.debug
board/dave/PPChameleonEVB/u-boot.lds
board/earthlcd/favr-32-ezkit/u-boot.lds
board/eltec/mhpc/u-boot.lds
board/eltec/mhpc/u-boot.lds.debug
board/emk/top860/u-boot.lds
board/emk/top860/u-boot.lds.debug
board/ep88x/u-boot.lds
board/esd/dasa_sim/u-boot.lds
board/esd/pmc440/u-boot-nand.lds
board/esd/tasreg/u-boot.lds
board/esteem192e/u-boot.lds
board/etx094/u-boot.lds
board/etx094/u-boot.lds.debug
board/evb64260/u-boot.lds
board/fads/u-boot.lds
board/flagadm/u-boot.lds
board/flagadm/u-boot.lds.debug
board/freescale/m5208evbe/u-boot.lds
board/freescale/m52277evb/u-boot.spa
board/freescale/m52277evb/u-boot.stm
board/freescale/m5235evb/u-boot.16
board/freescale/m5235evb/u-boot.32
board/freescale/m5249evb/u-boot.lds
board/freescale/m5253demo/u-boot.lds
board/freescale/m5253evbe/u-boot.lds
board/freescale/m5271evb/u-boot.lds
board/freescale/m5272c3/u-boot.lds
board/freescale/m5275evb/u-boot.lds
board/freescale/m5282evb/u-boot.lds
board/freescale/m53017evb/u-boot.lds
board/freescale/m5329evb/u-boot.lds
board/freescale/m5373evb/u-boot.lds
board/freescale/m54451evb/u-boot.spa
board/freescale/m54451evb/u-boot.stm
board/freescale/m54455evb/u-boot.atm
board/freescale/m54455evb/u-boot.int
board/freescale/m54455evb/u-boot.stm
board/freescale/m547xevb/u-boot.lds
board/freescale/m548xevb/u-boot.lds
board/freescale/mx31ads/u-boot.lds
board/gaisler/gr_cpci_ax2000/u-boot.lds
board/gaisler/gr_ep2s60/u-boot.lds
board/gaisler/gr_xc3s_1500/u-boot.lds
board/gaisler/grsim/u-boot.lds
board/gaisler/grsim_leon2/u-boot.lds
board/gen860t/u-boot-flashenv.lds
board/gen860t/u-boot.lds
board/genietv/u-boot.lds
board/genietv/u-boot.lds.debug
board/hermes/u-boot.lds
board/hermes/u-boot.lds.debug
board/hymod/u-boot.lds
board/hymod/u-boot.lds.debug
board/icu862/u-boot.lds
board/icu862/u-boot.lds.debug
board/idmr/u-boot.lds
board/ip860/u-boot.lds
board/ip860/u-boot.lds.debug
board/ivm/u-boot.lds
board/ivm/u-boot.lds.debug
board/jornada/u-boot.lds
board/korat/u-boot-F7FC.lds
board/kup/kup4k/u-boot.lds
board/kup/kup4k/u-boot.lds.debug
board/kup/kup4x/u-boot.lds
board/kup/kup4x/u-boot.lds.debug
board/lantec/u-boot.lds
board/lantec/u-boot.lds.debug
board/lwmon/u-boot.lds
board/lwmon/u-boot.lds.debug
board/manroland/uc100/u-boot.lds
board/matrix_vision/mvsmr/u-boot.lds
board/mbx8xx/u-boot.lds
board/mbx8xx/u-boot.lds.debug
board/mercury/mpq101/u-boot.lds
board/mimc/mimc200/u-boot.lds
board/miromico/hammerhead/u-boot.lds
board/ml2/u-boot.lds
board/ml2/u-boot.lds.debug
board/mousse/u-boot.lds
board/mousse/u-boot.lds.ram
board/mousse/u-boot.lds.rom
board/mpl/pip405/u-boot.lds.debug
board/munices/u-boot.lds
board/mvblue/u-boot.lds
board/netphone/u-boot.lds
board/netphone/u-boot.lds.debug
board/netta/u-boot.lds
board/netta/u-boot.lds.debug
board/netta2/u-boot.lds
board/netta2/u-boot.lds.debug
board/netvia/u-boot.lds
board/netvia/u-boot.lds.debug
board/nx823/u-boot.lds
board/nx823/u-boot.lds.debug
board/quantum/u-boot.lds
board/quantum/u-boot.lds.debug
board/r360mpi/u-boot.lds
board/rbc823/u-boot.lds
board/renesas/sh7757lcr/u-boot.lds
board/rmu/u-boot.lds
board/rmu/u-boot.lds.debug
board/rsdproto/u-boot.lds
board/samsung/smdk6400/smdk6400.c
board/samsung/smdk6400/u-boot-nand.lds
board/sandburst/karef/u-boot.lds.debug
board/sandburst/metrobox/u-boot.lds.debug
board/sandpoint/u-boot.lds
board/sc3/u-boot.lds
board/siemens/IAD210/u-boot.lds
board/sixnet/u-boot.lds
board/snmc/qs850/u-boot.lds
board/snmc/qs860t/u-boot.lds
board/spc1920/u-boot.lds
board/spd8xx/u-boot.lds
board/spd8xx/u-boot.lds.debug
board/stx/stxxtc/u-boot.lds
board/stx/stxxtc/u-boot.lds.debug
board/svm_sc8xx/u-boot.lds
board/svm_sc8xx/u-boot.lds.debug
board/tqc/tqm8xx/u-boot.lds
board/tqc/tqm8xx/u-boot.lds.debug
board/trab/u-boot.lds
board/v37/u-boot.lds
board/w7o/u-boot.lds.debug
board/westel/amx860/u-boot.lds
board/westel/amx860/u-boot.lds.debug
board/xes/xpedite1000/u-boot.lds.debug
board/zipitz2/u-boot.lds
drivers/mmc/s5p_mmc.c
examples/standalone/mips.lds
examples/standalone/sparc.lds
examples/standalone/stubs.c
include/configs/s5p_goni.h
include/configs/s5pc210_universal.h
include/configs/seaboard.h
include/configs/smdk6400.h
include/configs/smdkc100.h
include/pwm.h [new file with mode: 0644]
nand_spl/board/amcc/acadia/u-boot.lds
nand_spl/board/amcc/bamboo/u-boot.lds
nand_spl/board/amcc/canyonlands/u-boot.lds
nand_spl/board/amcc/kilauea/u-boot.lds
nand_spl/board/amcc/sequoia/u-boot.lds
nand_spl/board/davinci/da8xxevm/u-boot.lds
nand_spl/board/freescale/mpc8313erdb/u-boot.lds
nand_spl/board/freescale/mpc8315erdb/u-boot.lds
nand_spl/board/freescale/mx31pdk/u-boot.lds
nand_spl/board/karo/tx25/u-boot.lds
nand_spl/board/samsung/smdk6400/u-boot.lds
nand_spl/board/sheldon/simpc8313/u-boot.lds
onenand_ipl/board/apollon/u-boot.onenand.lds
onenand_ipl/board/vpac270/u-boot.onenand.lds

index a05d36d726284345d41942bd4c6a58601f4194ab..3c5f3ef5fab1ca6f5bb2bce45070487f7cd302d5 100644 (file)
@@ -102,6 +102,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 253adbe479cf997ea1cccd899b1018e74f8bc47b..d1e28518ad80b5a83c90e2198711628d936b9719 100644 (file)
@@ -72,11 +72,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 363329afbeb301bbbd6ae823be0940afc189500d..b095f22f68d27cda53e1649d8e5f16ad9d02ebed 100644 (file)
@@ -121,6 +121,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 /* IRQ stack memory (calculated at run-time) + 8 bytes */
@@ -352,9 +356,11 @@ clbss_l:str        r2, [r0]                /* clear loop...                    */
        cmp     r0, r1
        bne     clbss_l
 
+#ifndef CONFIG_NAND_SPL
        bl coloured_LED_init
        bl red_LED_on
 #endif
+#endif
 
 /*
  * We are done. Do not return, instead branch to second part of board
index fe3180053277b2b1cd9a37a82b6c1423c37e7308..27d66380bdfca839b8440a747b9662c7da936ffc 100644 (file)
@@ -61,11 +61,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index c0981185f6327112c4a1c77842d8f63a2eca1906..e774c3ff678cf0a8d726e4630534684d61edfd0f 100644 (file)
@@ -91,6 +91,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 0686e423e243bfbb9939d9a57dd5310db6b82c55..9370fadcf5c5a5f69be29afa42e7ed3b4e69eae9 100644 (file)
@@ -62,11 +62,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 5bfcb02317ef2fc201bb080b736dd20ff3d0ce53..dc6ba34082ecd33e58e8b989f83e82b84a3fe6f2 100644 (file)
@@ -55,5 +55,7 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss : { *(.bss) }
+       __bss_end__ = .;
+
        _end = .;
 }
index 2fc0abc1a43cdaaf18d0120f7cd9204c95d41297..a7476b0550b99e9cbfa265bd5a830d418a60f297 100644 (file)
@@ -87,6 +87,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index a6f8b56a3ab106097e960909529842f87c608701..17ba60423ba22cb59a79752343eb4e7e8ab90d5d 100644 (file)
@@ -71,11 +71,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 20ecdd54c6e1c3f44104d5bef16a58521defd5a4..39f2e997d29100f2a455bec1c647ddca1943da2a 100644 (file)
@@ -97,6 +97,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 7b53edb9be10e7c60bffec36cbf2a785e6b89ad0..64e76f55e361de44e2830239cfb61150e2f5c296 100644 (file)
@@ -66,11 +66,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index f4c177e52310df808826cee15b5335f07e7cd8c5..fefcfa2f886819d9e07c21a435c5fdd2db2870e6 100644 (file)
@@ -131,6 +131,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 28c91f937c612509be85fc5ea3c662f90adde670..1480e0c960f0d6ded8a973beec20d8739a5c426b 100644 (file)
@@ -63,11 +63,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 296effc7b7318778b934af3aa2ea98849cf4e971..00914f42e9cde5829426cb21f1a6eff66acf2889 100644 (file)
@@ -103,6 +103,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index eb91979711c036fcdd4ddca1d69592061c3d83b2..ff938e44d8ff9b364d70dcd6262005eeedd7a6db 100644 (file)
@@ -63,11 +63,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index e8518e261ddce37d9a26c35947db384735640e46..2fd3b9a05a38cfc990003e752af77220f0a559bf 100644 (file)
@@ -99,6 +99,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 3b5c18d72a17753ad0599187d7e28243846b745a..f4a146c9a811bab0d491d04548e2f46ffe87d523 100644 (file)
@@ -63,11 +63,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 922cd95448b7905cfb217254d6fec0d0258e8fd6..ce0a41e2c1186887d30c5abe5277d7c6857a855a 100644 (file)
@@ -27,6 +27,7 @@ LIB   = $(obj)libs5p-common.o
 
 COBJS-y                += cpu_info.o
 COBJS-y                += timer.o
+COBJS-$(CONFIG_PWM)            += pwm.o
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS-y) $(SOBJS))
diff --git a/arch/arm/cpu/armv7/s5p-common/pwm.c b/arch/arm/cpu/armv7/s5p-common/pwm.c
new file mode 100644 (file)
index 0000000..ff95b84
--- /dev/null
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2011 Samsung Electronics
+ *
+ * Donghwa Lee <dh09.lee@samsung.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
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <pwm.h>
+#include <asm/io.h>
+#include <asm/arch/pwm.h>
+#include <asm/arch/clk.h>
+
+int pwm_enable(int pwm_id)
+{
+       const struct s5p_timer *pwm =
+                       (struct s5p_timer *)samsung_get_base_timer();
+       unsigned long tcon;
+
+       tcon = readl(&pwm->tcon);
+       tcon |= TCON_START(pwm_id);
+
+       writel(tcon, &pwm->tcon);
+
+       return 0;
+}
+
+void pwm_disable(int pwm_id)
+{
+       const struct s5p_timer *pwm =
+                       (struct s5p_timer *)samsung_get_base_timer();
+       unsigned long tcon;
+
+       tcon = readl(&pwm->tcon);
+       tcon &= ~TCON_START(pwm_id);
+
+       writel(tcon, &pwm->tcon);
+}
+
+static unsigned long pwm_calc_tin(int pwm_id, unsigned long freq)
+{
+       unsigned long tin_parent_rate;
+       unsigned int div;
+
+       tin_parent_rate = get_pwm_clk();
+
+       for (div = 2; div <= 16; div *= 2) {
+               if ((tin_parent_rate / (div << 16)) < freq)
+                       return tin_parent_rate / div;
+       }
+
+       return tin_parent_rate / 16;
+}
+
+#define NS_IN_HZ (1000000000UL)
+
+int pwm_config(int pwm_id, int duty_ns, int period_ns)
+{
+       const struct s5p_timer *pwm =
+                       (struct s5p_timer *)samsung_get_base_timer();
+       unsigned int offset;
+       unsigned long tin_rate;
+       unsigned long tin_ns;
+       unsigned long period;
+       unsigned long tcon;
+       unsigned long tcnt;
+       unsigned long timer_rate_hz;
+       unsigned long tcmp;
+
+       /*
+        * We currently avoid using 64bit arithmetic by using the
+        * fact that anything faster than 1GHz is easily representable
+        * by 32bits.
+        */
+       if (period_ns > NS_IN_HZ || duty_ns > NS_IN_HZ)
+               return -ERANGE;
+
+       if (duty_ns > period_ns)
+               return -EINVAL;
+
+       period = NS_IN_HZ / period_ns;
+
+       /* Check to see if we are changing the clock rate of the PWM */
+       tin_rate = pwm_calc_tin(pwm_id, period);
+       timer_rate_hz = tin_rate;
+
+       tin_ns = NS_IN_HZ / tin_rate;
+       tcnt = period_ns / tin_ns;
+
+       /* Note, counters count down */
+       tcmp = duty_ns / tin_ns;
+       tcmp = tcnt - tcmp;
+
+       /*
+        * the pwm hw only checks the compare register after a decrement,
+        * so the pin never toggles if tcmp = tcnt
+        */
+       if (tcmp == tcnt)
+               tcmp--;
+
+       if (tcmp < 0)
+               tcmp = 0;
+
+       /* Update the PWM register block. */
+       offset = pwm_id * 3;
+       if (pwm_id < 4) {
+               writel(tcnt, &pwm->tcntb0 + offset);
+               writel(tcmp, &pwm->tcmpb0 + offset);
+       }
+
+       tcon = readl(&pwm->tcon);
+       tcon |= TCON_UPDATE(pwm_id);
+       if (pwm_id < 4)
+               tcon |= TCON_AUTO_RELOAD(pwm_id);
+       else
+               tcon |= TCON4_AUTO_RELOAD;
+       writel(tcon, &pwm->tcon);
+
+       tcon &= ~TCON_UPDATE(pwm_id);
+       writel(tcon, &pwm->tcon);
+
+       return 0;
+}
+
+int pwm_init(int pwm_id, int div, int invert)
+{
+       u32 val;
+       const struct s5p_timer *pwm =
+                       (struct s5p_timer *)samsung_get_base_timer();
+       unsigned long timer_rate_hz;
+       unsigned int offset, prescaler;
+
+       /*
+        * Timer Freq(HZ) =
+        *      PWM_CLK / { (prescaler_value + 1) * (divider_value) }
+        */
+
+       val = readl(&pwm->tcfg0);
+       if (pwm_id < 2) {
+               prescaler = PRESCALER_0;
+               val &= ~0xff;
+               val |= (prescaler & 0xff);
+       } else {
+               prescaler = PRESCALER_1;
+               val &= ~(0xff << 8);
+               val |= (prescaler & 0xff) << 8;
+       }
+       writel(val, &pwm->tcfg0);
+       val = readl(&pwm->tcfg1);
+       val &= ~(0xf << MUX_DIV_SHIFT(pwm_id));
+       val |= (div & 0xf) << MUX_DIV_SHIFT(pwm_id);
+       writel(val, &pwm->tcfg1);
+
+       timer_rate_hz = get_pwm_clk() / ((prescaler + 1) *
+                       (div + 1));
+
+       timer_rate_hz = timer_rate_hz / 100;
+
+       /* set count value */
+       offset = pwm_id * 3;
+       writel(timer_rate_hz, &pwm->tcntb0 + offset);
+
+       val = readl(&pwm->tcon) & ~(0xf << TCON_OFFSET(pwm_id));
+       if (invert && (pwm_id < 4))
+               val |= TCON_INVERTER(pwm_id);
+       writel(val, &pwm->tcon);
+
+       pwm_enable(pwm_id);
+
+       return 0;
+}
index 651fd5ddff4bc62c3d41c7dbe8ef1199c35786ae..b750d161417bb891a641aee19afceb4dec078e2a 100644 (file)
 #include <asm/io.h>
 #include <asm/arch/pwm.h>
 #include <asm/arch/clk.h>
+#include <pwm.h>
 
-#define PRESCALER_1            (16 - 1)        /* prescaler of timer 2, 3, 4 */
-#define MUX_DIV_2              1               /* 1/2 period */
-#define MUX_DIV_4              2               /* 1/4 period */
-#define MUX_DIV_8              3               /* 1/8 period */
-#define MUX_DIV_16             4               /* 1/16 period */
-#define MUX4_DIV_SHIFT         16
-
-#define TCON_TIMER4_SHIFT      20
-
-static unsigned long count_value;
-
-/* Internal tick units */
-static unsigned long long timestamp;   /* Monotonic incrementing timer */
-static unsigned long lastdec;          /* Last decremneter snapshot */
+DECLARE_GLOBAL_DATA_PTR;
 
 /* macro to read the 16 bit timer */
 static inline struct s5p_timer *s5p_get_base_timer(void)
@@ -51,41 +39,10 @@ static inline struct s5p_timer *s5p_get_base_timer(void)
 
 int timer_init(void)
 {
-       struct s5p_timer *const timer = s5p_get_base_timer();
-       u32 val;
-
-       /*
-        * @ PWM Timer 4
-        * Timer Freq(HZ) =
-        *      PWM_CLK / { (prescaler_value + 1) * (divider_value) }
-        */
-
-       /* set prescaler : 16 */
-       /* set divider : 2 */
-       writel((PRESCALER_1 & 0xff) << 8, &timer->tcfg0);
-       writel((MUX_DIV_2 & 0xf) << MUX4_DIV_SHIFT, &timer->tcfg1);
-
-       /* count_value = 2085937.5(HZ) (per 1 sec)*/
-       count_value = get_pwm_clk() / ((PRESCALER_1 + 1) *
-                       (MUX_DIV_2 + 1));
-
-       /* count_value / 100 = 20859.375(HZ) (per 10 msec) */
-       count_value = count_value / 100;
-
-       /* set count value */
-       writel(count_value, &timer->tcntb4);
-       lastdec = count_value;
-
-       val = (readl(&timer->tcon) & ~(0x07 << TCON_TIMER4_SHIFT)) |
-               TCON4_AUTO_RELOAD;
-
-       /* auto reload & manual update */
-       writel(val | TCON4_UPDATE, &timer->tcon);
-
-       /* start PWM timer 4 */
-       writel(val | TCON4_START, &timer->tcon);
-
-       timestamp = 0;
+       /* PWM Timer 4 */
+       pwm_init(4, MUX_DIV_2, 0);
+       pwm_config(4, 0, 0);
+       pwm_enable(4);
 
        return 0;
 }
@@ -105,14 +62,14 @@ unsigned long get_timer(unsigned long base)
 
 void set_timer(unsigned long t)
 {
-       timestamp = t;
+       gd->tbl = t;
 }
 
 /* delay x useconds */
 void __udelay(unsigned long usec)
 {
        struct s5p_timer *const timer = s5p_get_base_timer();
-       unsigned long tmo, tmp;
+       unsigned long tmo, tmp, count_value;
 
        count_value = readl(&timer->tcntb4);
 
@@ -137,7 +94,7 @@ void __udelay(unsigned long usec)
        tmp = get_timer(0);
 
        /* if setting this fordward will roll time stamp */
-       /* reset "advancing" timestamp to 0, set lastdec value */
+       /* reset "advancing" timestamp to 0, set lastinc value */
        /* else, set advancing stamp wake up time */
        if ((tmo + tmp + 1) < tmp)
                reset_timer_masked();
@@ -154,23 +111,24 @@ void reset_timer_masked(void)
        struct s5p_timer *const timer = s5p_get_base_timer();
 
        /* reset time */
-       lastdec = readl(&timer->tcnto4);
-       timestamp = 0;
+       gd->lastinc = readl(&timer->tcnto4);
+       gd->tbl = 0;
 }
 
 unsigned long get_timer_masked(void)
 {
        struct s5p_timer *const timer = s5p_get_base_timer();
        unsigned long now = readl(&timer->tcnto4);
+       unsigned long count_value = readl(&timer->tcntb4);
 
-       if (lastdec >= now)
-               timestamp += lastdec - now;
+       if (gd->lastinc >= now)
+               gd->tbl += gd->lastinc - now;
        else
-               timestamp += lastdec + count_value - now;
+               gd->tbl += gd->lastinc + count_value - now;
 
-       lastdec = now;
+       gd->lastinc = now;
 
-       return timestamp;
+       return gd->tbl;
 }
 
 /*
index cb4f92f3a9da786c4873b919e13af6a16ea5f9a9..d83d50183796ed29e509cb2e2695d529a095f6b6 100644 (file)
@@ -79,6 +79,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 5725c30c69918676a4092ad25ddb7283f827738a..dbae54d4f8a340076d894608688e8b77bdab8af9 100644 (file)
@@ -66,11 +66,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index f71a398d31dbf1e173486c0fb254d1980a0f9f43..561c1f4795d7cacff637c603f4af23e8e28f9a43 100644 (file)
@@ -110,6 +110,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index a55eb8a509b48f5802a71774d80abc1497278356..3587f8aa6bee87c4c6641efff9aced1d129415d2 100644 (file)
@@ -63,11 +63,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 1457427aaea9f912805d91566fb70964a6729836..81242b1ed489d9120ada649b87e1e59c5e0f7176 100644 (file)
@@ -87,6 +87,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 463237d916c70d2a466f78337d6320a452a5b678..30934ff3e3d9321c952685b15a631c794a0e4904 100644 (file)
@@ -63,11 +63,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index d2d391e6d257f959dd8b8fc74c3e8ebe8edffb30..f1dbc3b35d638819f6434e981bb32db7d3d1e0bc 100644 (file)
@@ -104,6 +104,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index 0818d0b6ea11341706e93ca65c51c92d34f8c33a..e163369bc3464f97fa9439cd9c305b6364af7d0e 100644 (file)
@@ -63,11 +63,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 9c9c3b3b887b647d5c016624b38864bdc7524232..10f5284d457da053e83cd2f4577ac7c62fa3eb08 100644 (file)
@@ -78,6 +78,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index ac2944018223f37f742902bac86fcb0b2967bbe3..74a259c0d573bc48f35d94b18aed0f84450c56cb 100644 (file)
@@ -63,11 +63,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 815d70488be5bf48cd1af7a6bc7f6e6cb0b69e38..b27e9701528cb9ff3528e3cc3e80ced9b2234ff5 100644 (file)
@@ -88,6 +88,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
index fa6d05cdf7db38ef2d747739dcb1fbf156cfff3e..e6381dacf6df4638e52e65cdc1357ed1e8bfe130 100644 (file)
@@ -66,11 +66,13 @@ SECTIONS
                *(.dynsym)
        }
 
+       _end = .;
+
        .bss __rel_dyn_start (OVERLAY) : {
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.dynstr*) }
index 48de64d9c3532f864cffdcf2d0b0dea32a9c942e..d458d3bb8ef230e823fd2e522640d8df7922f776 100644 (file)
@@ -53,10 +53,11 @@ struct s5p_mmc {
        unsigned char   res3[0x34];
        unsigned int    control2;
        unsigned int    control3;
+       unsigned char   res4[4];
        unsigned int    control4;
-       unsigned char   res4[0x6e];
+       unsigned char   res5[0x6e];
        unsigned short  hcver;
-       unsigned char   res5[0xFFF02];
+       unsigned char   res6[0xFFF00];
 };
 
 struct mmc_host {
index 0369968d4a93c14d669b464de8afe25620e9a396..d0cf3cb853b84b4fab122752fad43ac8c53f2605 100644 (file)
 #ifndef __ASM_ARM_ARCH_PWM_H_
 #define __ASM_ARM_ARCH_PWM_H_
 
-/* Interval mode(Auto Reload) of PWM Timer 4 */
+#define PRESCALER_0            (8 - 1)         /* prescaler of timer 0, 1 */
+#define PRESCALER_1            (16 - 1)        /* prescaler of timer 2, 3, 4 */
+
+/* Divider MUX */
+#define MUX_DIV_1              0               /* 1/1 period */
+#define MUX_DIV_2              1               /* 1/2 period */
+#define MUX_DIV_4              2               /* 1/4 period */
+#define MUX_DIV_8              3               /* 1/8 period */
+#define MUX_DIV_16             4               /* 1/16 period */
+
+#define MUX_DIV_SHIFT(x)       (x * 4)
+
+#define TCON_OFFSET(x)         ((x + 1) * (!!x) << 2)
+
+#define TCON_START(x)          (1 << TCON_OFFSET(x))
+#define TCON_UPDATE(x)         (1 << (TCON_OFFSET(x) + 1))
+#define TCON_INVERTER(x)       (1 << (TCON_OFFSET(x) + 2))
+#define TCON_AUTO_RELOAD(x)    (1 << (TCON_OFFSET(x) + 3))
 #define TCON4_AUTO_RELOAD      (1 << 22)
-/* Update TCNTB4 */
-#define TCON4_UPDATE           (1 << 21)
-/* start bit of PWM Timer 4 */
-#define TCON4_START            (1 << 20)
 
 #ifndef __ASSEMBLY__
 struct s5p_timer {
index 528150d75512cb23a50c21f3eeaf3a17d5102e67..04827cad759550b6490aa301e4992047645fd2b4 100644 (file)
@@ -53,10 +53,11 @@ struct s5p_mmc {
        unsigned char   res3[0x34];
        unsigned int    control2;
        unsigned int    control3;
+       unsigned char   res4[4];
        unsigned int    control4;
-       unsigned char   res4[0x6e];
+       unsigned char   res5[0x6e];
        unsigned short  hcver;
-       unsigned char   res5[0xFF02];
+       unsigned char   res6[0xFF00];
 };
 
 struct mmc_host {
index 0369968d4a93c14d669b464de8afe25620e9a396..d0cf3cb853b84b4fab122752fad43ac8c53f2605 100644 (file)
 #ifndef __ASM_ARM_ARCH_PWM_H_
 #define __ASM_ARM_ARCH_PWM_H_
 
-/* Interval mode(Auto Reload) of PWM Timer 4 */
+#define PRESCALER_0            (8 - 1)         /* prescaler of timer 0, 1 */
+#define PRESCALER_1            (16 - 1)        /* prescaler of timer 2, 3, 4 */
+
+/* Divider MUX */
+#define MUX_DIV_1              0               /* 1/1 period */
+#define MUX_DIV_2              1               /* 1/2 period */
+#define MUX_DIV_4              2               /* 1/4 period */
+#define MUX_DIV_8              3               /* 1/8 period */
+#define MUX_DIV_16             4               /* 1/16 period */
+
+#define MUX_DIV_SHIFT(x)       (x * 4)
+
+#define TCON_OFFSET(x)         ((x + 1) * (!!x) << 2)
+
+#define TCON_START(x)          (1 << TCON_OFFSET(x))
+#define TCON_UPDATE(x)         (1 << (TCON_OFFSET(x) + 1))
+#define TCON_INVERTER(x)       (1 << (TCON_OFFSET(x) + 2))
+#define TCON_AUTO_RELOAD(x)    (1 << (TCON_OFFSET(x) + 3))
 #define TCON4_AUTO_RELOAD      (1 << 22)
-/* Update TCNTB4 */
-#define TCON4_UPDATE           (1 << 21)
-/* start bit of PWM Timer 4 */
-#define TCON4_START            (1 << 20)
 
 #ifndef __ASSEMBLY__
 struct s5p_timer {
index 33973a32e0b029ce61fb201d9cd3ea7e5b801221..3904027016e69bb31e6579b72f6133d74b8d89ee 100644 (file)
@@ -32,6 +32,7 @@
 /* for the following variables, see start.S */
 extern ulong _bss_start_ofs;   /* BSS start relative to _start */
 extern ulong _bss_end_ofs;             /* BSS end relative to _start */
+extern ulong _end_ofs;         /* end of image relative to _start */
 extern ulong IRQ_STACK_START;  /* top of IRQ stack */
 extern ulong FIQ_STACK_START;  /* top of FIQ stack */
 extern ulong _TEXT_BASE;       /* code start */
index c620d2c200616f0e6a04a49fab2a90876e0be2d7..dc46e21dba521a532af1ac2a6dd83e28bfccc626 100644 (file)
@@ -459,7 +459,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
 
        gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */
 
-       monitor_flash_len = _bss_start_ofs;
+       monitor_flash_len = _end_ofs;
        debug ("monitor flash len: %08lX\n", monitor_flash_len);
        board_init();   /* Setup chipselects */
 
index 97140e93ebb8fa2917375e5dbd1585f47764d8c7..71cbc524c90d4692bc1bf06b17560ba9e0a7c25a 100644 (file)
@@ -244,7 +244,7 @@ relocate_code:
        /* zero out .bss */
        mov     r0, 0
        mov     r1, 0
-       lda.w   r9, _end
+       lda.w   r9, __bss_end__
        sub     r9, r8
 1:     st.d    r10++, r0
        sub     r9, 8
index fe819b2db6ece7aaf0fad7d642dfeb414ed18722..3f157888ee8c773299a990a33fd2093f88cb4d62 100644 (file)
@@ -27,6 +27,6 @@
 extern char _text[], _etext[];
 extern char _data[], __data_lma[], _edata[], __edata_lma[];
 extern char __got_start[], __got_lma[], __got_end[];
-extern char _end[];
+extern char __bss_end__[];
 
 #endif /* __ASM_AVR32_SECTIONS_H */
index 8b56237f1893d705807ad5735c0e0d78664ca9fd..5edef8fd398bae1564349ebfcdaf4b093d5ee20f 100644 (file)
@@ -118,7 +118,7 @@ static int display_banner (void)
        printf ("\n\n%s\n\n", version_string);
        printf ("U-Boot code: %08lx -> %08lx  data: %08lx -> %08lx\n",
                (unsigned long)_text, (unsigned long)_etext,
-               (unsigned long)_data, (unsigned long)_end);
+               (unsigned long)_data, (unsigned long)__bss_end__);
        return 0;
 }
 
@@ -190,7 +190,7 @@ void board_init_f(ulong board_type)
         *  - stack
         */
        addr = CONFIG_SYS_SDRAM_BASE + sdram_size;
-       monitor_len = _end - _text;
+       monitor_len = __bss_end__ - _text;
 
        /*
         * Reserve memory for u-boot code, data and bss.
index 7867ba54b7132cc60d86e63f34e8d95e937c3ccf..f824b34252d47a8b380d187a2518c010c4f44373 100644 (file)
@@ -76,7 +76,7 @@ static char *failed = "*** failed ***\n";
 #include <environment.h>
 
 extern ulong __init_end;
-extern ulong _end;
+extern ulong __bss_end__;
 
 extern void timer_init(void);
 
@@ -252,7 +252,7 @@ board_init_f (ulong bootflag)
         *      - monitor code
         *      - board info struct
         */
-       len = (ulong)&_end - CONFIG_SYS_MONITOR_BASE;
+       len = (ulong)&__bss_end__ - CONFIG_SYS_MONITOR_BASE;
 
        addr = CONFIG_SYS_SDRAM_BASE + gd->ram_size;
 
index 9b0f52da566b57594dae96363a99c5487549afba..bf5d6724985bc50213526fc0eebe4d5cf775c4ba 100644 (file)
@@ -100,12 +100,12 @@ _cur:     movhi   r5, %hi(_cur - _start)
 3:
 
        /* ZERO BSS/SBSS -- bss and sbss are assumed to be adjacent
-        * and between __bss_start and _end.
+        * and between __bss_start and __bss_end__.
         */
         movhi  r5, %hi(__bss_start)
         ori    r5, r5, %lo(__bss_start)
-        movhi  r6, %hi(_end)
-        ori    r6, r6, %lo(_end)
+        movhi  r6, %hi(__bss_end__)
+        ori    r6, r6, %lo(__bss_end__)
         beq    r5, r6, 5f
 
 4:     stwio   r0, 0(r5)
index fe4a2ebcc7d63252bfeb43c112bd570033462f76..4856bd368d249338a535c9fecd518f3aac792975 100644 (file)
@@ -103,7 +103,7 @@ SECTIONS
          *(.scommon)
        }
        . = ALIGN(4);
-       _end = .;
+       __bss_end__ = .;
        PROVIDE (end = .);
 
        /* DEBUG -- symbol table, string table, etc. etc.
index 985e1ce70f0896176c58196e490b594aa77cb884..f6011fcaa8c1e654ac13edafa012bc8e2296b072 100644 (file)
@@ -77,7 +77,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -722,7 +722,7 @@ in_ram:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     6f
index 8429f33192c905d0059451fec0c024ca4fec97b9..24823cd20fdb7d3dfd27348819b349c1edca6574 100644 (file)
@@ -87,6 +87,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 10557cf20f8cfeb85b83901601593918e9e653ae..9c2e4885dedbfdb89ab2515952bda60c1f217cf7 100644 (file)
@@ -79,7 +79,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -626,7 +626,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     6f
index ab9303f92a5fc60f9ce1508c68f694200dc1bc85..7a4d9270dfa10a80c0fd9efb4d27f3fe9fd5fe43 100644 (file)
@@ -82,7 +82,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
index 3dbd23d0b827b9eead52f754d04e9251d563e2fd..cc11c8fc528537a1b4f39dd3d20e7e3f5aca92a3 100644 (file)
@@ -70,7 +70,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -466,7 +466,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
        cmplw   0, r3, r4
        beq     6f
 
index 69bd7aa8e6c31aef8b14c78e9cead750ac9d7ee7..e02b213d28ef3f52cfb4b005aa6504f81a215678 100644 (file)
@@ -91,7 +91,7 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
   . = env_start;
   .ppcenv :
index 38c0bd7c17794e3d8c72be6c856454e0d8f75bda..192aa506a8883d9c2f7ba117370e245d875fa9b2 100644 (file)
@@ -70,7 +70,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -681,7 +681,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     6f
index bbf0f1625de2169130d079f231b7ace2354a5a07..0c6c54e10a5e7bed0ced125e023d6833325ec365 100644 (file)
@@ -91,6 +91,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 7e3b70aed0d28166ec14fd0af733a1dc887a58b9..5dcaec18202978818ac399b5ce5a63e111b9d56d 100644 (file)
@@ -85,6 +85,6 @@ SECTIONS
    *(.sbss*)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ca4267870d47cd95e4fc14d5a01e5ff7a704929d..300b35c0c4f55c0a9830132e7281194f31f002e0 100644 (file)
@@ -69,7 +69,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -654,7 +654,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     6f
index 72ff671a4a6457a6a35bfdc2c1960a418459f041..39bb42e1c943b454c8d03f31b475907e60791831 100644 (file)
@@ -84,6 +84,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0dd130038684b3b98bbdc9870f26d57a6f6e2d2b..fc4e922d633d15d2f09626223265189fe62cbc24 100644 (file)
@@ -77,7 +77,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
 #if defined(CONFIG_FADS)
        GOT_ENTRY(environment)
@@ -596,7 +596,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     6f
index 3b9299c0da6f47b49084989a22525bdd4be4fe65..b30ce76e02a45dd784cb1a902bd47f5744dc109a 100644 (file)
@@ -85,6 +85,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 255a15eae42fcb088787cfb42ef1e4968cf0f867..702546eec5c566593f784ca6b3e5c38d6b9f1552 100644 (file)
@@ -70,7 +70,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
 #if defined(CONFIG_HYMOD)
        GOT_ENTRY(environment)
@@ -927,7 +927,7 @@ clear_bss:
         */
        lwz     r4,GOT(environment)
 #else
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 #endif
 
        cmplw   0, r3, r4
index c76555ef80cb14e7b801aa73a53e85804e91ba1e..60b71ecd70e9069b956579fbc3c9ded80698c5fb 100644 (file)
@@ -84,6 +84,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 460ac9aabb9f5bf18db4532120f95a3a14f8092b..7e60315c3f446fb40f59ac1e2f96fe990de3210b 100644 (file)
@@ -72,7 +72,7 @@
        START_GOT
        GOT_ENTRY(_GOT2_TABLE_)
        GOT_ENTRY(__bss_start)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
 
 #ifndef CONFIG_NAND_SPL
        GOT_ENTRY(_FIXUP_TABLE_)
@@ -977,7 +977,7 @@ clear_bss:
         */
        lwz     r4,GOT(environment)
 #else
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 #endif
 
        cmplw   0, r3, r4
index 752a175b1acb55de15fff84649694995a77ccfa6..2f4b9ad557e650118067f953299730486c4007ff 100644 (file)
@@ -83,7 +83,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
index fa98af64b5443d1bc1a3371626c48cde8a9fd2cf..57774933a3dbe5819d0118336444551aa5c15173 100644 (file)
@@ -66,7 +66,7 @@
 #endif
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -1050,7 +1050,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0,r3,r4
        beq     6f
index fa2088bb37513c8b0e3197f2c4614b6ad88d5316..04bc73170a95eab81117b150a12d4364da4c0937 100644 (file)
@@ -101,6 +101,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index b10e0f9eee38deb10e64c82e7b88aeaa295ca35c..8410bd797933a16662e2574a487e1b33cf1ab046 100644 (file)
@@ -62,6 +62,6 @@ SECTIONS
                *(.sbss*)
                *(.bss*)
        }
-       _end = .;
+       __bss_end__ = .;
 }
 ASSERT(__init_end <= 0xfff00ffc, "NAND bootstrap too big");
index 506c7f212be0bd15dc1a7c1aa91d3cf5f8e2bd83..efe34b774d65b2c338e487b13e9d3c02d4cd272d 100644 (file)
@@ -125,6 +125,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 4c29de61a24198dcc64bc8332fdfede210025e00..3e3c21eefd2d16561bee9308f1cd4e85e940a0ab 100644 (file)
@@ -66,7 +66,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -740,7 +740,7 @@ in_ram:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     6f
index c550ef50044405248cd28cf4b7043ab96c3c7865..121e529876e3b4cac4b193629a68b144ee77131f 100644 (file)
@@ -88,6 +88,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 6a16c26d66321ca16e3f3e038b2dc2e77c64e4f1..fe3daa2b9f79a8e0c62347aec7b59edba7f641ca 100644 (file)
@@ -77,7 +77,7 @@
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 
@@ -597,7 +597,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     6f
index 22185083884a112b94d70285d3d847dc7ecb401a..b43e22c8f04d772f52e9d99123b0258828cd5cbf 100644 (file)
        GOT_ENTRY(transfer_to_handler)
 
        GOT_ENTRY(__init_end)
-       GOT_ENTRY(_end)
+       GOT_ENTRY(__bss_end__)
        GOT_ENTRY(__bss_start)
        END_GOT
 #endif /* CONFIG_NAND_SPL */
@@ -1624,7 +1624,7 @@ clear_bss:
         * Now clear BSS segment
         */
        lwz     r3,GOT(__bss_start)
-       lwz     r4,GOT(_end)
+       lwz     r4,GOT(__bss_end__)
 
        cmplw   0, r3, r4
        beq     7f
index 656f59a582d7aefcd57fe9fd291bc803f3fafb76..2466b795940192173a0127e5b52c550e131e2bd4 100644 (file)
@@ -140,6 +140,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index b88cf6b67db57945b81e5f68fca45314e685c1cb..4719f8c6967a4761dd28cae35b9df9f040e70db4 100644 (file)
@@ -123,7 +123,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #endif
 
 extern ulong __init_end;
-extern ulong _end;
+extern ulong __bss_end__;
 ulong monitor_flash_len;
 
 #if defined(CONFIG_CMD_BEDBUG)
@@ -403,7 +403,7 @@ void board_init_f (ulong bootflag)
         *  - monitor code
         *  - board info struct
         */
-       len = (ulong)&_end - CONFIG_SYS_MONITOR_BASE;
+       len = (ulong)&__bss_end__ - CONFIG_SYS_MONITOR_BASE;
 
        /*
         * Subtract specified amount of memory to hide so that it won't
index 7c0a18d62c9975ea81a77f8a47e002f6426faac0..b86a82297fa1d3686cdb31a8a862d3333812fe1e 100644 (file)
@@ -91,5 +91,5 @@ SECTIONS
        }
        PROVIDE (bss_end = .);
 
-       PROVIDE (_end = .);
+       PROVIDE (__bss_end__ = .);
 }
index 271624636b31c7d9d100d37e1c74782298ea9dea..9bf8503640a944f47aeaaa8e3b6b2ae9aeb7a8c3 100644 (file)
@@ -98,5 +98,5 @@ SECTIONS
        }
        PROVIDE (bss_end = .);
 
-       PROVIDE (_end = .);
+       PROVIDE (__bss_end__ = .);
 }
index 0f42325afffbf1b5b74024873895f6c70331cd71..d9c70bce0910ad6a3566f5cc4c945102a3f401ae 100644 (file)
@@ -95,5 +95,5 @@ SECTIONS
        }
        PROVIDE (bss_end = .);
 
-       PROVIDE (_end = .);
+       PROVIDE (__bss_end__ = .);
 }
index 0fa633a1fe8e9f1bf926573e1b858d610e2f5282..e0359e3cb6f0374e4ab74d945899a47376958189 100644 (file)
@@ -134,6 +134,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9077e69717f0f8d6802be4650ac61524e88b6a3e..45206ca3bd1de0f9acf20fc99592ebc92ff00700 100644 (file)
@@ -109,6 +109,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 287fc2015df5324e3fc5135c76105cf521d090ff..92901b1b94a5226abdb941fcf319997078546c56 100644 (file)
@@ -134,6 +134,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c21890542f63c57afb9d33d5ac6146e57dc897a7..99c48f28d4e491353d27be03e86bb909edea9614 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c21890542f63c57afb9d33d5ac6146e57dc897a7..99c48f28d4e491353d27be03e86bb909edea9614 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a78d0b76bee5d673bf59ec689ffd9c28e05cad33..4491edd944b57780c6a83f262a84d8403a2883b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 5232e20680cbead0685134d1c762ed8032400b25..3e7853a2a07a3a3f10536514826b8fe705381e27 100644 (file)
@@ -95,6 +95,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 5c1ece79c8e149ce980dbdc46426deda1c406804..8be2b20c346c7970552f147f54ca2896f5a24cef 100644 (file)
@@ -66,5 +66,5 @@ SECTIONS
                *(.bss)
                . = ALIGN(4);
        }
-       _end =.;
+       __bss_end__ =.;
 }
index 707c027ab56f1fbf90b37659bd872676f2fbaa3f..a405f557edc7df464c47ebcbbb29b5bded050cad 100644 (file)
@@ -71,5 +71,5 @@ SECTIONS
                *(.bss)
                . = ALIGN(4);
        }
-       _end =.;
+       __bss_end__ =.;
 }
index 497ab97690895e4d367bcb7e92c61bd9829fcd70..d3463cd8e69b8fcc1839a18b22d41fe4423645dc 100644 (file)
@@ -71,5 +71,5 @@ SECTIONS
                *(.bss)
                . = ALIGN(4);
        }
-       _end =.;
+       __bss_end__ =.;
 }
index 26c9a223587bb4a2c73154d1a0ea726f2ca8aa2a..661a94ab153f951664682317e0305014399d3f18 100644 (file)
@@ -86,7 +86,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
index d4be077bbd22ec6c4dce1465194efad00c6014c7..88ced629ec8e587e4db248a517619cfac74b6438 100644 (file)
@@ -104,7 +104,7 @@ SECTIONS
          *(.scommon)
        }
        . = ALIGN(4);
-       _end = .;
+       __bss_end__ = .;
        PROVIDE (end = .);
 
        /* DEBUG -- symbol table, string table, etc. etc.
index c2a04c7bfcc66b5cc74e0c5c4917dbb4e5c6c09a..ab67de2f76de392ed709a7c72e1f609252bf459a 100644 (file)
@@ -98,6 +98,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c34bb62cc48b3da45b2a9a65308340003c90fd70..3ad87095a1ba15d46270a64066d2fd4afdeb0c53 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 534d6ddf4c1f5237668c08158b0705009afe3bc7..76f89f188d9302fd9d63701ff9089bdda7e98243 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c2a04c7bfcc66b5cc74e0c5c4917dbb4e5c6c09a..ab67de2f76de392ed709a7c72e1f609252bf459a 100644 (file)
@@ -98,6 +98,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index f3855c4dd7dd2589e639bc94ee2922d5885ac8bc..07ae8b1291f7b5d55d6b46a4adba3e07996f6051 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ba76a779206334f33bc1e1e2286c36cca46dbf47..423400ac665169a59734d6fa8416ad25145033bd 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 356d019976005bba2b84a02877e5f729f20b7af7..57fe1d9ce0861397db3d28672c0d1a8322316877 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 167a0a3f129c9c38aa1b96aaaf8590625c69e35e..a1d8e0f6dceaa16262b68cc5c018347bc49340fe 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a7243f238fd2ca2877b702479699716fe7f93691..0a1a8e1653941a7d9055c3163c2c7aedc244ef0d 100644 (file)
@@ -68,5 +68,5 @@ SECTIONS
                *(.bss.*)
        }
        . = ALIGN(8);
-       _end = .;
+       __bss_end__ = .;
 }
index 86ef93927b3c49dc9e52967d6476bce00167c150..0e532f234e4c3d0a0350dba456433d308fb66c9d 100644 (file)
@@ -68,5 +68,5 @@ SECTIONS
                *(.bss.*)
        }
        . = ALIGN(8);
-       _end = .;
+       __bss_end__ = .;
 }
index 7a088c97d82658c6e7d4fdd260cf179d29851c9c..524c36eb4b490d8f8d82e3d07a1284d7af384c3f 100644 (file)
@@ -98,6 +98,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 99098bffbedfc6f93b8b1511a71665790953765f..c7711028ad249f06b8fc1f77ac6ae2a2187331b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 2d8492e6ffc78ab3530053bb5b7b7d4c406f7976..cf73b11b355d609330fdf829274630f3f49a0b6e 100644 (file)
@@ -115,6 +115,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ec0f5e9faa00ae0eff4cec47a0c3e26d90ca1b22..da14807a8df84d662f543c7cc3f8919483c51a64 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 42ed142ea2b4fa0e2796a00e9dca2730ecd02e7e..e324f5c1e66ce12208383de78af0ce3157054140 100644 (file)
@@ -94,6 +94,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c21890542f63c57afb9d33d5ac6146e57dc897a7..99c48f28d4e491353d27be03e86bb909edea9614 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0e9cdcf81d72e130d7db729d2d34a3e8aa450427..fcf8ebbf8ec9a1ef095476904fc5c6c6fbdc1cda 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 17f59193e9e1d907c465905cbcbe1fc9c0bcdf32..20c32b73e3cb6a8925a025a6bc7fd0aacd966889 100644 (file)
@@ -123,6 +123,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0d413a05101a7fe3a8f4520ecb1f5e2fb65f1feb..20e363130d9d0473c7f155f8994c070d130ea761 100644 (file)
@@ -66,5 +66,5 @@ SECTIONS
                *(.bss.*)
        }
        . = ALIGN(8);
-       _end = .;
+       __bss_end__ = .;
 }
index 4a96388f04e3acf7c601d9570b238b8077394c4d..2fac727b84f6933997ccffe91eed55c185098cf6 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 99098bffbedfc6f93b8b1511a71665790953765f..c7711028ad249f06b8fc1f77ac6ae2a2187331b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ae1a791b03abd8d22bd9aba2b621481f275ffe24..32dcbd3ef51304fa9b27f7f60c0a9f837c75c318 100644 (file)
@@ -91,6 +91,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0f536f314292b912ec9530999506c58341722756..39807d43cc7e6a9fbefedd4600d8e9f3e119a9a5 100644 (file)
@@ -126,6 +126,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 851348e65fe4fd715d7624e557976912fc7b4cbf..e2dd1c20f2c4242309993664e8cd8f62a516564f 100644 (file)
@@ -86,7 +86,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
index 3349fe8d4072de87c9117afe9f9022ea256fb4d2..2bf60f5804a0cb670d39652b11a7772f7187d1cf 100644 (file)
@@ -97,6 +97,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index cf4229a22e05077a79322e1d9d4522fae78b3a2f..71f0fd2c3e2a20871d85324d9e9d11f9c7840b93 100644 (file)
@@ -129,6 +129,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index d4fd705ce1eb4cafd6aff343d93a8aa8ccb6c66f..27a6b93703310cc931996186f5b99c08653d3ac4 100644 (file)
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 93b756bc8e3b3aa125b48f6efcde1121dba521d9..8455f0b9f4098b252d8a01c8ac92cdfa51b092ff 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 614880be1ff85804842d550bb3cde5cb8797a675..04233d86a1d3d824e22fb83a6a3dc43c552e213c 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index be05d8fdcc62d38b5ed18a15297c66484d968295..8c55de4e84bc89991736896552e71a0615d02a3d 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index bc0bb0636ac36d0df70360ccd8625279d6cb1ed0..0648f62feb8be65ba6b6048ee5d0d38062f7a103 100644 (file)
@@ -94,6 +94,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c1ad14120d93665c5c689feb8eadfaf2ccb03757..63d0ea112100736defc502caa41d27b4c74fac0a 100644 (file)
@@ -92,7 +92,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
 ENTRY(_start)
index 4a96388f04e3acf7c601d9570b238b8077394c4d..2fac727b84f6933997ccffe91eed55c185098cf6 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 99098bffbedfc6f93b8b1511a71665790953765f..c7711028ad249f06b8fc1f77ac6ae2a2187331b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 860286930a1fc44ef006135f824b8ecf474b295d..e5011a63b62c3558aaad88a3e522684e132b8731 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9458aef5c38b4ffc8b4b4992e44067afd0796d9b..4b710be9459e63badbbacf6cce45b1381eeadd94 100644 (file)
@@ -139,6 +139,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 1ec83e949056ac8e7329d0e0bdbfa0f85e7bb8ba..db102223f628202c5f66557fc25b90e221d14a6d 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index d7bd10fd9658bfa922092db8c39249d2ab2b7043..657cd9d3eee1603e3ca8973d51dbdf8f532465f5 100644 (file)
@@ -139,6 +139,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 47ec6dc8b951ec675d945c1f4692b7bd6aa41948..1f9199449e4f6eb15a6649e3fe364b592ff0f163 100644 (file)
@@ -147,6 +147,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index d4fd705ce1eb4cafd6aff343d93a8aa8ccb6c66f..27a6b93703310cc931996186f5b99c08653d3ac4 100644 (file)
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 4f8bb20d4540b12282feb64bca682ed2dab461f4..3644838ad3022aa192a5d4a8dd5ad599198a2504 100644 (file)
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 797c83785ce09f660043f650da8e3d6d3e02b95c..34aa73db1914c515e2143af418533eae56bff1a8 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9878ec18c44ffcc676cebe1a88d369d74b879325..e16a2662b65952f63f696a81c44464fc9c5398fb 100644 (file)
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 8b011df53278cf33bf736054dd2328daaf9fa443..ff5bfe6c15ebb22207f33d47eb719a350a03613f 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index cd17b0abf268055fdf26a4d13c19697e8f46664c..8e792fea5d4fb751f6112c4b01fbdfdf6df97760 100644 (file)
@@ -134,6 +134,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 5ad0fad6845834b457d51670d33033c5f80fb4ee..7e6aa6aeef567a81823d031aa80e9dfce8920b76 100644 (file)
@@ -135,6 +135,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 2e002ad364d0be9ec33e768611d5ad248dd0e56f..445566b3681b0502819105e47ee6bb353b28217c 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ba7ca2773371a141c1b33a06033c70e419bd1719..4375342c8c90929ce3b041540d5f56247e111a03 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a2540bbc74ef0a5d21dc37c466fd9ba066655c98..f3acfc7355ef370c9a87495cc5ccd55de73f6d7d 100644 (file)
@@ -137,6 +137,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index bd86a45bcb45a75a46ddd3a759107fbe06c91090..e1bacd3d367823b8d702e64ad7a1d1c26b1154f1 100644 (file)
@@ -141,6 +141,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index e64a56c59bf2606108e5acd5cf23c71a2ecc4a2a..1c6979fba12e0a75b6dbb441bbc19ab4b740ced0 100644 (file)
@@ -144,6 +144,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ebf801ac71f44a1b5208278c6a1d6ad9730d1890..cf4650ee0c818e4209846ddd988f83b7603937b1 100644 (file)
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 153556fe9b36d495527be7a7c66e750bea992f19..79e64a2f29348cd8f801d72c851e569a96c934d5 100644 (file)
@@ -135,6 +135,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9cda1029d3ecd29d5e97de15eacaff3ca5e839e4..46773d0d97f1512cee01469f84d3cca795b15966 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 54bf2785aa2d251fa87a4a07f13048b1011bb4a7..a4e4d5ac524bfc174b58a53ad675fea8791a7015 100644 (file)
@@ -136,6 +136,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 54bf2785aa2d251fa87a4a07f13048b1011bb4a7..a4e4d5ac524bfc174b58a53ad675fea8791a7015 100644 (file)
@@ -136,6 +136,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ecd97075b04bab4d64c4e1e30bab5c6b8df1cbf7..b081b219466dde4aae5ddea8ac52ffad159bf77f 100644 (file)
@@ -66,5 +66,5 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss : { *(.bss) . = ALIGN(4); }
-       _end = .;
+       __bss_end__ = .;
 }
index 22826823cc327611b4568744e1bc278f156338a0..87cb8e32bad9373409b169e338f74cc0a310a0e6 100644 (file)
@@ -133,7 +133,7 @@ SECTIONS
        . = ALIGN(16); /* to speed clearing of bss up */
        }
        __bss_end = . ;
-       _end = . ;
+       __bss_end__ = . ;
        PROVIDE (end = .);
 
 /* Relocated into main memory */
index 0ca2651703ee3e7f8de867bf44b48b79b6d8ccaa..2fb44aa832fc00351c379425e159652978c3bde8 100644 (file)
@@ -133,7 +133,7 @@ SECTIONS
        . = ALIGN(16); /* to speed clearing of bss up */
        }
        __bss_end = . ;
-       _end = . ;
+       __bss_end__ = . ;
        PROVIDE (end = .);
 
 /* Relocated into main memory */
index 67222ac8e3045c8adbf4ab8db7869758edf395ac..8719e97ee4dae0221f7aba0ba6a1f1ab3b2cde0a 100644 (file)
@@ -134,7 +134,7 @@ SECTIONS
        . = ALIGN(16); /* to speed clearing of bss up */
        }
        __bss_end = . ;
-       _end = . ;
+       __bss_end__ = . ;
        PROVIDE (end = .);
 
 /* Relocated into main memory */
index 681fd8d01b84f8268daea02e211972d428d8b549..33890b504d59a8676de35b946787f32dd924446e 100644 (file)
@@ -133,7 +133,7 @@ SECTIONS
        . = ALIGN(16); /* to speed clearing of bss up */
        }
        __bss_end = . ;
-       _end = . ;
+       __bss_end__ = . ;
        PROVIDE (end = .);
 
 /* Relocated into main memory */
index a12e7fb9ce35ae07dc968ab9636e695d75e0df75..cf6e5020ba1d6fbc57196180855fda36e858e03c 100644 (file)
@@ -132,7 +132,7 @@ SECTIONS
        . = ALIGN(16); /* to speed clearing of bss up */
        }
        __bss_end = . ;
-       _end = . ;
+       __bss_end__ = . ;
        PROVIDE (end = .);
 
 /* Relocated into main memory */
index cda6c47b33a9f1f29174045b8263557b584a2a79..5bb6c62d7124e47bc01f11cdff3120431ec0c5e7 100644 (file)
@@ -96,7 +96,7 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 
   .ppcenv:
index 1729c17552a3857f9de4eac7a2d85dd70f7cf8d8..8e854db22d81f3a62637cd1dbbc23e8a68421ee0 100644 (file)
@@ -95,6 +95,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 6b45ea0c26ecf59c682c2c7c6e2b2af423f6a426..3e396e4fae75a711135ad6f7a0155490de582563 100644 (file)
@@ -109,6 +109,6 @@ SECTIONS
     common/env_embedded.o (.ppcenv)
   }
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 60936aaf34e450af03eaf011615e4d62d7d0ae57..cfa4ef3f875ca7e683e309fd4e329d698247df17 100644 (file)
@@ -136,6 +136,6 @@ SECTIONS
   {
     common/env_embedded.o (.ppcenv)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 456140df9f0d193b66bbf829f24d31114e5eb2f7..d50c5865b175959174fcf316a7424772c123bb9d 100644 (file)
@@ -96,6 +96,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 7038ebc1dcd3d823b1e92eed2b7d503d673b6578..8a197deef7331d1ea15a2fd0c98e2125bd0640b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0897715a94ce9564d62e9d283196d7d08047359f..1592f4f6e8ceeb6a9c2c1c82fb97794298e9106f 100644 (file)
@@ -140,6 +140,6 @@ SECTIONS
     common/env_embedded.o (.ppcenv)
   }
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c21890542f63c57afb9d33d5ac6146e57dc897a7..99c48f28d4e491353d27be03e86bb909edea9614 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 08dfaeec0af8513f058e25d6405bbacc10d38001..cb5afc113b804418c42f01bc4201012b40193622 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9c1e3ecd8ae1d94386d407ee7c4c40caeb1ff6e1..91d3e67e82bb567cd327834c1d34cc76c7d423a0 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9878ec18c44ffcc676cebe1a88d369d74b879325..e16a2662b65952f63f696a81c44464fc9c5398fb 100644 (file)
@@ -138,6 +138,6 @@ SECTIONS
    . = ALIGN(4);
    _ebss = .;
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0c0bbb8f5dbe8cd85815cd8d10a7be300e95a77d..2f61b11d8125768b820c09775313988e75b87974 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index f4c6c981a7f7123c2cfed4b2da7838146d8a2c6b..ff7012afbc230d766971babdef87464afd9a8dd1 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 6bcf167a0a3bf31b0eb89739c8b649a17a348cba..732a46f27213921f8aeb47f43f21c3f20e3b195f 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index de6101e4358bd801b2c6f7d77b55d8f040aaf0d5..c75b21fcec02ef21f88af6474ca161d4aa7e19fc 100644 (file)
@@ -54,5 +54,5 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+       __bss_end__ = .;
 }
index 4d73180cd159b54a6b9758752beac207135fa7ca..6a017e305cadfc4f78a9a057807ce74c7fc4d335 100644 (file)
@@ -135,6 +135,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a78d0b76bee5d673bf59ec689ffd9c28e05cad33..4491edd944b57780c6a83f262a84d8403a2883b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a78d0b76bee5d673bf59ec689ffd9c28e05cad33..4491edd944b57780c6a83f262a84d8403a2883b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 00af66977ae7102e7235c073d772e21e0cc74e75..25e7a4def20fda10e7a21748122e32d7214f5bd0 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index deea7e29fc1cc296cace670448b02e08b3c1040f..856a99b6f9707701eab89f4242dc42f3793c6a59 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index dd9be60cf08ab20eddebe9a1d9716e5f6a961429..d02db17ccb50d6b9c474aee5bf41bb139b5381a6 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 131ad23c77c4f38502f4a1c5a75c3ae9f06604fe..241223481bc92ada6cdfe4afe179e2eb7430b98c 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index dc83071602e1240a8ce39ffb95141c3d0bd0d78f..344cbde3b0774f77b21a03a5c7b7506dcb47d643 100644 (file)
@@ -93,6 +93,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 074a4827e79e0748a685d1ddbba3f7a3ef5d69b9..f3d01e73f0450ad798b882dd01115309f42d861d 100644 (file)
@@ -97,6 +97,6 @@ SECTIONS
    *(.sbss*)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a7a67a9276f6ee6d58007db8c0ab05e1d680dddf..a95c47feac864109af38d23b18b1e513a4e5a08b 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 4f4dda57b9000c0dbcd97bee1d7ff29398b50cee..f497a63f118365b2b8aaa52a607b08a52df901b7 100644 (file)
@@ -127,6 +127,6 @@ SECTIONS
   } :bss
 
   . = ALIGN(4);
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a7243f238fd2ca2877b702479699716fe7f93691..0a1a8e1653941a7d9055c3163c2c7aedc244ef0d 100644 (file)
@@ -68,5 +68,5 @@ SECTIONS
                *(.bss.*)
        }
        . = ALIGN(8);
-       _end = .;
+       __bss_end__ = .;
 }
index a7243f238fd2ca2877b702479699716fe7f93691..0a1a8e1653941a7d9055c3163c2c7aedc244ef0d 100644 (file)
@@ -68,5 +68,5 @@ SECTIONS
                *(.bss.*)
        }
        . = ALIGN(8);
-       _end = .;
+       __bss_end__ = .;
 }
index b6c0715711785fa5274fe4ac90c879b5362d24ae..0f2593de89096db713ec0e19d19a157d25c240cf 100644 (file)
@@ -88,6 +88,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0e9cdcf81d72e130d7db729d2d34a3e8aa450427..fcf8ebbf8ec9a1ef095476904fc5c6c6fbdc1cda 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 4cfb95c496868a58d5ffe7943aca70299a7216ad..ef73e2b53ababd90b3c797bcadea44b75b4d9db8 100644 (file)
@@ -85,6 +85,6 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 449d0645e490054a2d4f110130fe4cb411b5843b..b3364be48c128fbcad6665411244d06e83341986 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
     common/env_embedded.o (.ppcenv)
   } > ram
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 4f42b329d835a0c6af8c874ed7ea8d57a4416be4..b4b9e02e523e0d80d06bb5b95c9ec4eaad811dab 100644 (file)
@@ -126,6 +126,6 @@ SECTIONS
    *(COMMON)
   }
 
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0e9cdcf81d72e130d7db729d2d34a3e8aa450427..fcf8ebbf8ec9a1ef095476904fc5c6c6fbdc1cda 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 4e27bc947d5fee286b60de550aa1f47461e68e23..99576bf3c8a0c95894ada4da3431e898e41d992f 100644 (file)
@@ -115,6 +115,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index ad06af0b1634f2decd52275166da2bf97d53cbb7..03ba15578bdd40738bd4c97a2d4c740dba6346b9 100644 (file)
@@ -94,6 +94,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 684ab81c4a2a1d4144f775fc6f59448634a5b467..b7b6c1aa14aeb286ad40d92c46a264f40a1225f1 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index df7b6adba4782392cee67fa397555fcdb030fe09..a001f3fd878f5747de0d378b9d3158c2ee5b6c52 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 684ab81c4a2a1d4144f775fc6f59448634a5b467..b7b6c1aa14aeb286ad40d92c46a264f40a1225f1 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index df7b6adba4782392cee67fa397555fcdb030fe09..a001f3fd878f5747de0d378b9d3158c2ee5b6c52 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 684ab81c4a2a1d4144f775fc6f59448634a5b467..b7b6c1aa14aeb286ad40d92c46a264f40a1225f1 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index df7b6adba4782392cee67fa397555fcdb030fe09..a001f3fd878f5747de0d378b9d3158c2ee5b6c52 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 684ab81c4a2a1d4144f775fc6f59448634a5b467..b7b6c1aa14aeb286ad40d92c46a264f40a1225f1 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 58202dc9f51918002a2294518dad3d51d647ea6b..6c7d698c9504b93fac9ccab84e69e28a19880f4b 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 4a96388f04e3acf7c601d9570b238b8077394c4d..2fac727b84f6933997ccffe91eed55c185098cf6 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 99098bffbedfc6f93b8b1511a71665790953765f..c7711028ad249f06b8fc1f77ac6ae2a2187331b0 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index f212fab28aded11630dfe791f06b535dba283af6..abc4640eef5d015025184ceef73b6ae39a4737d5 100644 (file)
@@ -125,6 +125,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a18c515e54e3215bce6cfb8b70f9cccb65a5515c..60b3cbfaca2fd37d93e894c7e9ae5a8933da61e7 100644 (file)
@@ -92,7 +92,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
   . = ALIGN(128 * 1024);
   .ppcenv      :
index 77f592e0a5f145309f0eff3cf6895e3aaf3983e3..7b790ab9fd570d961ea0a5caf6eadcf4782e388a 100644 (file)
@@ -100,6 +100,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a88d7814a1e44c24dc7f7d21467fdd5114660eb2..790b5b840d457499bf806d7a1e5b66536f5f84fd 100644 (file)
@@ -97,5 +97,5 @@ SECTIONS
        }
        PROVIDE (bss_end = .);
 
-       PROVIDE (_end = .);
+       PROVIDE (__bss_end__ = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index f212fab28aded11630dfe791f06b535dba283af6..abc4640eef5d015025184ceef73b6ae39a4737d5 100644 (file)
@@ -125,6 +125,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 7763c7fed7b09d5e2ecfbab7fe128a3aa963a5b5..b36047ad5e8a5d4f7a982337e6c85846cdbe4724 100644 (file)
@@ -122,6 +122,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 35aa40b30df5312c2813c25c9d13d42b6646e50a..13c7ed5189a4a473fa323c0cc6c37eae2284676b 100644 (file)
@@ -78,10 +78,16 @@ int board_init(void)
        return 0;
 }
 
-int dram_init(void)
+void dram_init_banksize(void)
 {
        gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
        gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+}
+
+int dram_init(void)
+{
+       gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
+                               PHYS_SDRAM_1_SIZE);
 
        return 0;
 }
index 29a4f61e361ee9c714237ddffa2126bb21abdc1a..21e1ed3b7a4919760d7b06e0257d1417f7c67b7b 100644 (file)
@@ -35,7 +35,6 @@ SECTIONS
        .text      :
        {
          arch/arm/cpu/arm1176/start.o  (.text)
-         arch/arm/cpu/arm1176/s3c64xx/cpu_init.o       (.text)
          *(.text)
        }
 
@@ -56,7 +55,28 @@ SECTIONS
        .mmudata : { *(.mmudata) }
 
        . = ALIGN(4);
-       __bss_start = .;
-       .bss : { *(.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);
+               __bss_end__ = .;
+       }
+
+       /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.plt*) }
+       /DISCARD/ : { *(.interp*) }
+       /DISCARD/ : { *(.gnu*) }
 }
index 6b31b1e7ce3d689fc32c6773f43eae489739325c..31746e3adca4392aef48fe8a847acd05a00415ed 100644 (file)
@@ -139,6 +139,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 2fb3ad97dcce1a004c3a56a388c81a780fa0c97f..4922bd241e74f8bbde8eed029d0a589d97c3e995 100644 (file)
@@ -139,6 +139,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 59c86278d98e3990312d1635a4e2e6f50da693f7..841a29b60c85ee7ad4af1df52a01f30f34d623ea 100644 (file)
@@ -92,6 +92,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9b1a39bc8487c0a48c25ce0011986bf553aa4420..2cbbca50e5c87a7a6b1010624904c8f9f9ed98ab 100644 (file)
@@ -142,6 +142,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 0514f5a5119cb0ef8459c19d1d41aa477b6f844f..725bef8293c1768643ee15c8bc09278513583da8 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index b4c7a0ed6e225f343b7fc53d2d20986cfcd53301..2711f2c4087d396b167e53008c0ecdcb0fc26a7e 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index f8c50cba7267e2665015207263bca39a0def3caa..007ae00f46e89e9cf9caa579e428b3d03cac1763 100644 (file)
@@ -93,6 +93,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fbd901a3c309020d3432a1c19e8fda6d3cb96b67..05cc2338ab609f92188159a24abab86513ba4c22 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index b9dd8b719a859d5ba5e477b737a7391600f67331..796c283b344cc56441b8874f0a3e36c059132fc7 100644 (file)
@@ -100,6 +100,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a7a67a9276f6ee6d58007db8c0ab05e1d680dddf..a95c47feac864109af38d23b18b1e513a4e5a08b 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 684ab81c4a2a1d4144f775fc6f59448634a5b467..b7b6c1aa14aeb286ad40d92c46a264f40a1225f1 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index df7b6adba4782392cee67fa397555fcdb030fe09..a001f3fd878f5747de0d378b9d3158c2ee5b6c52 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 6ff4d8c012f96f2011578b34e6ab3865fa8788c4..c4ce968735c403dbd303e6288585c14a793d5b08 100644 (file)
@@ -107,6 +107,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index f212fab28aded11630dfe791f06b535dba283af6..abc4640eef5d015025184ceef73b6ae39a4737d5 100644 (file)
@@ -125,6 +125,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 209d1e00414190e10b08df6cb54ed7bf80e24e6f..83a09b047168fd007cbf4c82f4d641205673e13f 100644 (file)
@@ -106,6 +106,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index c21890542f63c57afb9d33d5ac6146e57dc897a7..99c48f28d4e491353d27be03e86bb909edea9614 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index cd50e85242c4af99b43ef11f65a08e57ed95cb4b..45944016f8db77d816b07cf59c6ee5a3de38d7b0 100644 (file)
@@ -60,5 +60,5 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+       __bss_end__ = .;
 }
index 9f36f53e6514fa3f2172e20de0df80f4588924d8..578a49b04bc640f7b094c462399c1b6ff3f46569 100644 (file)
@@ -90,6 +90,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 5ff67d13d45dac3682c369782f868fecec86ea30..1c67b301fb467055e4ccd3ec4c25ca76052aac03 100644 (file)
@@ -130,6 +130,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 206ec7054a0cd59ab7fc2df68a417d470a8c6fee..3514a66d6872fe5438db7c6d72f98eef5f0edff1 100644 (file)
@@ -99,6 +99,6 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index 9c1e3ecd8ae1d94386d407ee7c4c40caeb1ff6e1..91d3e67e82bb567cd327834c1d34cc76c7d423a0 100644 (file)
@@ -131,6 +131,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index a7475785fa203fec9e001d8860946a10d19a5020..e2e66aec9955cbac5bc24923ae13c99ceef890b3 100644 (file)
@@ -135,6 +135,6 @@ SECTIONS
    *(.bss)
    *(COMMON)
   }
-  _end = . ;
+  __bss_end__ = . ;
   PROVIDE (end = .);
 }
index fb4358beeabcc2cdd1aba7fca2796cec25bfbb7f..e1a1ff1f65adb1b6d0ad3366f000bf940f01eaa4 100644 (file)
@@ -52,5 +52,5 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
-       _end = .;
+       __bss_end__ = .;
 }
index 195b5be39ea2d33fe12168d3603c165a48727dae..0323800711ba16104c9b1a092b4e88b5ba70ece6 100644 (file)
@@ -51,7 +51,7 @@ static void mmc_prepare_data(struct mmc_host *host, struct mmc_data *data)
        writeb(ctrl, &host->reg->hostctl);
 
        /* We do not handle DMA boundaries, so set it to max (512 KiB) */
-       writew((7 << 12) | (512 << 0), &host->reg->blksize);
+       writew((7 << 12) | (data->blocksize & 0xFFF), &host->reg->blksize);
        writew(data->blocks, &host->reg->blkcnt);
 }
 
index 63a1c92ab623be8b6daa28a2dd236518fc614f11..68ae217b5c57946466f2fc688695d6c91ca0e42a 100644 (file)
@@ -55,5 +55,5 @@ SECTIONS
        .sbss (NOLOAD) : { *(.sbss) }
        .bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 
-       _end = .;
+       __bss_end__ = .;
 }
index 9733daa86b902cc4bdc77d9a1c951738930d8c15..7f060b6d179f4860409b1ce9bfe7fa75f66f0315 100644 (file)
@@ -57,5 +57,5 @@ SECTIONS
        }
        . = ALIGN(4);
        __bss_end = .;
-       _end = .;
+       __bss_end__ = .;
 }
index 2d2e7098b7b3cb701ea8de9460483afb66fa0230..1379df731e49209b6e950febc3babea50d484843 100644 (file)
@@ -187,14 +187,14 @@ void __attribute__((unused)) dummy(void)
 #include <_exports.h>
 }
 
-extern unsigned long __bss_start, _end;
+extern unsigned long __bss_start, __bss_end__;
 
 void app_startup(char * const *argv)
 {
        unsigned char * cp = (unsigned char *) &__bss_start;
 
        /* Zero out BSS */
-       while (cp < (unsigned char *)&_end) {
+       while (cp < (unsigned char *)&__bss_end__) {
                *cp++ = 0;
        }
 
index f53e79810b256ddc435f09a16cd7d8e11939d81d..597cf57ab5d215ec9f6737e03933bc9e41149e1e 100644 (file)
@@ -69,6 +69,9 @@
 #define CONFIG_MMC                     1
 #define CONFIG_S5P_MMC                 1
 
+/* PWM */
+#define CONFIG_PWM                     1
+
 /* It should define before config_cmd_default.h */
 #define CONFIG_SYS_NO_FLASH            1
 
index c033a8d626d671b136ba16dbbd511d7e61fefd8d..59159849770bba81de2d53a9bcb3fedf75654418 100644 (file)
@@ -70,6 +70,9 @@
 #define CONFIG_MMC             1
 #define CONFIG_S5P_MMC         1
 
+/* PWM */
+#define CONFIG_PWM                     1
+
 /* It should define before config_cmd_default.h */
 #define CONFIG_SYS_NO_FLASH            1
 
index fd8756070a856fc48c7cf1a3404afbc44c633974..59eef5658f44a9b8227186c69d32e9ca4eeacb9a 100644 (file)
@@ -37,7 +37,7 @@
 #define CONFIG_TEGRA2_ENABLE_UARTD
 #define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTD_BASE
 
-#define CONFIG_MACH_TYPE               MACH_TYPE_TEGRA_SEABOARD
+#define CONFIG_MACH_TYPE               MACH_TYPE_SEABOARD
 #define CONFIG_SYS_BOARD_ODMDATA       0x300d8011 /* lp1, 1GB */
 
 #endif /* __CONFIG_H */
index 671f2c7c8b1df6347b490cf1cdcc8b8ef7fc1f45..c9acf5815f1495a49bee207a1117445e76f567fb 100644 (file)
 #define CONFIG_PERIPORT_BASE   0x70000000
 #define CONFIG_PERIPORT_SIZE   0x13
 
+#define CONFIG_SYS_IRAM_BASE    0x0c000000  /* Internal SRAM base address */
+#define CONFIG_SYS_IRAM_SIZE    0x2000      /* 8 KB of internal SRAM memory */
+#define CONFIG_SYS_IRAM_END     (CONFIG_SYS_IRAM_BASE + CONFIG_SYS_IRAM_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_IRAM_END - GENERATED_GBL_DATA_SIZE)
+
 #define CONFIG_SYS_SDRAM_BASE  0x50000000
 
 /* input clock of PLL: SMDK6400 has 12MHz input clock */
index fb8b43c06dc4db937a27a5383b7db7cb181c4c2c..1ae123445bf479ed45dbde8a4680382b61287fc3 100644 (file)
@@ -68,6 +68,9 @@
 #define CONFIG_SERIAL0                 1       /* use SERIAL 0 on SMDKC100 */
 #define CONFIG_SERIAL_MULTI            1
 
+/* PWM */
+#define CONFIG_PWM                     1
+
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
 #define CONFIG_BAUDRATE                        115200
diff --git a/include/pwm.h b/include/pwm.h
new file mode 100644 (file)
index 0000000..13acf85
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * header file for pwm driver.
+ *
+ * Copyright (c) 2011 samsung electronics
+ * Donghwa Lee <dh09.lee@samsung.com>
+ *
+ * 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 _pwm_h_
+#define _pwm_h_
+
+int    pwm_init                (int pwm_id, int div, int invert);
+int    pwm_config              (int pwm_id, int duty_ns, int period_ns);
+int    pwm_enable              (int pwm_id);
+void   pwm_disable             (int pwm_id);
+
+#endif /* _pwm_h_ */
index 56954650af535099e93221952961c10dbbe62197..44a6f816c2663a49c489493a6dee2183b521abf8 100644 (file)
@@ -60,5 +60,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
index 8a9e6e9475d628a73bdaf7c28f15d75392025a28..d4ea67ae8ae0af216087e19c66949744296b4bd8 100644 (file)
@@ -62,5 +62,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
index 73190cd39035ee095cd08eba8aa6e6b19e4e9938..794f041034223fb6cde63a30264af7a2e83a305d 100644 (file)
@@ -62,5 +62,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
index 9894a105396ae1745aeb759f2addd8d48359eb55..4e860ad59eaaf9410e7a83f20e54afad8d328745 100644 (file)
@@ -60,5 +60,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
index c81ce68c8bfdb3169ca370117742383d91aff37b..8ff6ac5cc1107777f0d690d10fb392b3e0240b8d 100644 (file)
@@ -62,5 +62,5 @@ SECTIONS
    . = ALIGN(4);
   }
 
-  _end = . ;
+  __bss_end__ = . ;
 }
index f6ccf08103978f14095551ff184c566e9c74c3cb..c86117b9d6392ceb4eba2ffa64c0f321bfeab29b 100644 (file)
@@ -71,5 +71,5 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss : { *(.bss) }
-       _end = .;
+       __bss_end__ = .;
 }
index f1649f84bd420946aaf6f3678bbff8efda47cec0..d140453d49734a29c0c3cd9da8b25ebfcb1fd40e 100644 (file)
@@ -49,7 +49,7 @@ SECTIONS
        .bss (NOLOAD) : {
                *(.*bss)
        }
-       _end = .;
+       __bss_end__ = .;
 }
 ENTRY(_start)
-ASSERT(_end <= 0xfff01000, "NAND bootstrap too big");
+ASSERT(__bss_end__ <= 0xfff01000, "NAND bootstrap too big");
index f1649f84bd420946aaf6f3678bbff8efda47cec0..d140453d49734a29c0c3cd9da8b25ebfcb1fd40e 100644 (file)
@@ -49,7 +49,7 @@ SECTIONS
        .bss (NOLOAD) : {
                *(.*bss)
        }
-       _end = .;
+       __bss_end__ = .;
 }
 ENTRY(_start)
-ASSERT(_end <= 0xfff01000, "NAND bootstrap too big");
+ASSERT(__bss_end__ <= 0xfff01000, "NAND bootstrap too big");
index ff289fb3c6fde94eea675d53c68669191645cc2c..324a932fb22300a61d9e429a1b4542b396b178be 100644 (file)
@@ -67,7 +67,7 @@ SECTIONS
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.bss*) }
index ff289fb3c6fde94eea675d53c68669191645cc2c..324a932fb22300a61d9e429a1b4542b396b178be 100644 (file)
@@ -67,7 +67,7 @@ SECTIONS
                __bss_start = .;
                *(.bss)
                 . = ALIGN(4);
-               _end = .;
+               __bss_end__ = .;
        }
 
        /DISCARD/ : { *(.bss*) }
index 3ac6aa1c4cacc4880344b1a1b430c96151a15e49..0153e0e09b41f76d284c606a8b5e5204c2134b99 100644 (file)
@@ -55,7 +55,22 @@ SECTIONS
        __u_boot_cmd_end = .;
 
        . = ALIGN(4);
+
+       .rel.dyn : {
+       __rel_dyn_start = .;
+       *(.rel*)
+       __rel_dyn_end = .;
+       }
+
+       .dynsym : {
+       __dynsym_start = .;
+       *(.dynsym)
+       }
+
+       .bss __rel_dyn_start (OVERLAY) : {
        __bss_start = .;
-       .bss : { *(.bss) . = ALIGN(4); }
-       _end = .;
+       *(.bss)
+       . = ALIGN(4);
+       __bss_end__ = .;
+       }
 }
index 1da4287673a96a8af70b0cef415af1f7abc9062e..534a0c8654fd6c2304f06a275abe3aa36a6b1d81 100644 (file)
@@ -48,7 +48,7 @@ SECTIONS
        . = ALIGN(8);
        __bss_start = .;
        .bss (NOLOAD) : { *(.*bss) }
-       _end = .;
+       __bss_end__ = .;
 }
 ENTRY(_start)
-ASSERT(_end <= 0xfff01000, "NAND bootstrap too big");
+ASSERT(__bss_end__ <= 0xfff01000, "NAND bootstrap too big");
index 0960c12ceb04b1e727349534947dd6744930d21a..721d2f5949b932a63bdb0e4e6d417900e6e120d2 100644 (file)
@@ -49,5 +49,5 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss : { *(.bss) . = ALIGN(4); }
-       _end = .;
+       __bss_end__ = .;
 }
index b2e7557f391b52399c34c446782751f5819c99bf..b5b26461a44e60076ba080e28efaf0a771a0739d 100644 (file)
@@ -47,5 +47,5 @@ SECTIONS
        . = ALIGN(4);
        __bss_start = .;
        .bss : { *(.bss) . = ALIGN(4); }
-       _end = .;
+       __bss_end__ = .;
 }