Re: [U-Boot] imx6, spl and falcon boot
Am 15.02.2013 21:45, schrieb Chaves, Kevin: Hi, First off, sorry I'm not used to using mailing lists. I'm not sure if this is the best way to dig for information. We've recently switched to uboot/linux from wince and I'm trying to understand how configuring uboot works. I'm also trying to find out how to use the SPL framework and possibly falcon mode with a i.mx6 nitrogen6x board. I'd be delighted if any one could help! I haven't used spl and falcon mode, so I can't help with these. Regarding the general support for the i.mx6 nitrogen6x this isn't in U-Boot mainline, yet. Try to git pull the most recent U-Boot mainline from git://git.denx.de/u-boot.git [1] and apply the patch http://patchwork.ozlabs.org/patch/216991/ You should then be able to build one of the supported boards nitrogen6q nitrogen6dl nitrogen6s nitrogen6q2g nitrogen6dl2g nitrogen6s1g by make nitrogen6xxx_config make (replace the 'xxx' with the ending matching your board, e.g. 'q' if you have a Quad board). Best regards Dirk [1] http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=summary ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1] Exynos5: Pinmux: Add fdt for pinmux
+Doug Hi Akshay, On Fri, Feb 15, 2013 at 11:00 AM, Akshay Saraswat wrote: > This patch adds fdt nodes for peripherals which require > pin muxing and configuration. Existing pinmux code modified > to retrieve gpio range and function related info from fdt. > > Signed-off-by: Akshay Saraswat Thanks for sending this patch which is most welcome. However, Doug pointed me to the kernel's binding document in Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt The binding seems similar but perhaps not the same. Can you please check it? We should really use the same binding unless there is a big reason why we can't in some particular case. Also please copy that binding document into U-Boot as part of your patch, since there is no central place for bindings right now. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V6 10/10] EXYNOS5: I2C: Added FDT and non-FDT support for I2C
Hi Amar, On Thu, Feb 14, 2013 at 10:34 PM, Amar wrote: > This patch adds FDT and non-FDT support for I2C, and initialise > the I2C channels. > > Signed-off-by: Amar Acked-by: Simon Glass (please see below) > --- > Changes since V4: > New patch. > > Changes since V5: > 1)Removed the function call i2c_init() present inside the > function board_i2c_init(). > > drivers/i2c/s3c24x0_i2c.c | 12 ++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c > index 769a2ba..5b4c3d2 100644 > --- a/drivers/i2c/s3c24x0_i2c.c > +++ b/drivers/i2c/s3c24x0_i2c.c > @@ -524,11 +524,12 @@ int i2c_write(uchar chip, uint addr, int alen, uchar > *buffer, int len) > len) != 0); > } > > -#ifdef CONFIG_OF_CONTROL > void board_i2c_init(const void *blob) > { > + int i; Please check that you don't get an unused variable warning here. > +#ifdef CONFIG_OF_CONTROL > int node_list[CONFIG_MAX_I2C_NUM]; > - int count, i; > + int count; > > count = fdtdec_find_aliases_for_id(blob, "i2c", > COMPAT_SAMSUNG_S3C2440_I2C, node_list, > @@ -548,8 +549,15 @@ void board_i2c_init(const void *blob) > bus->bus_num = i2c_busses++; > exynos_pinmux_config(bus->id, 0); > } > +#else > + for (i = 0; i < CONFIG_MAX_I2C_NUM; i++) { > + exynos_pinmux_config((PERIPH_ID_I2C0 + i), > + PINMUX_FLAG_NONE); > + } > +#endif > } > > +#ifdef CONFIG_OF_CONTROL > static struct s3c24x0_i2c_bus *get_bus(unsigned int bus_idx) > { > if (bus_idx < i2c_busses) > -- > 1.8.0 > Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/6 V4] config: Snow: Enable MAX98095 codec
On Thu, Feb 14, 2013 at 9:46 PM, Rajeshwari Shinde wrote: > This patch enables MAX98095 codec required for Snow > > Signed-off-by: Rajeshwari Shinde Acked-by: Simon Glass > --- > Changes in V4 > - New patch. > include/configs/exynos5250-dt.h |1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h > index cabd2f2..89fcda5 100644 > --- a/include/configs/exynos5250-dt.h > +++ b/include/configs/exynos5250-dt.h > @@ -296,6 +296,7 @@ > #ifdef CONFIG_CMD_SOUND > #define CONFIG_SOUND > #define CONFIG_I2S > +#define CONFIG_SOUND_MAX98095 > #define CONFIG_SOUND_WM8994 > #endif > > -- > 1.7.4.4 > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6 V4] Sound: Support for MAX98095 codec in driver
Hi Rajeshwari, On Thu, Feb 14, 2013 at 9:46 PM, Rajeshwari Shinde wrote: > This patchs adds support for MAX98095 codec in > sound driver. > > Signed-off-by: Rajeshwari Shinde Acked-by: Simon Glass > --- > Changes in V2: > - None > Chnages in V3: > - Removed non DT support for MAX98095 > Changes in V4: > - None > drivers/sound/sound.c |9 +++-- > include/sound.h |1 + > 2 files changed, 8 insertions(+), 2 deletions(-) > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/6 V4] Sound: MAX98095: Add the driver for codec
On Thu, Feb 14, 2013 at 9:46 PM, Rajeshwari Shinde wrote: > This patch adds the driver for codec MAX98095 required by Snow > Board > > Signed-off-by: Rajeshwari Shinde Acked-by: Simon Glass ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V6 07/10] MMC: APIs to support resize of EMMC boot partition
On Thu, Feb 14, 2013 at 10:34 PM, Amar wrote: > This patch adds APIs to access(open / close) and to resize boot partiton of > EMMC. > > Signed-off-by: Amar Acked-by: Simon Glass > --- > Changes since V1: > New patch. > > Changes since V2: > 1)Updation of commit message and resubmition of proper patch set. > > Changes since V3: > No change. > > Changes since V4: > 1)Replaced the functions mmc_boot_open() & mmc_boot_close() with a > single function mmc_boot_part_access(). > > Changes since V5: > 1)Updated in response to review comments. This really isn't a very useful comment. Better would be a short summary of what you changed. This version looks OK to me, but if you do another version due to some other comments, please add spaces around your << operators. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V6 01/10] FDT: Add compatible string for DWMMC
On Thu, Feb 14, 2013 at 10:34 PM, Amar wrote: > Add required compatible information for DWMMC driver. > > Signed-off-by: Vivek Gautam > Signed-off-by: Amar > Acked-by: Jaehoon Chung Acked-by: Simon Glass > --- > Changes since V1: > No change. > > Changes since V2: > 1)Updation of commit message and resubmition of proper patch set. > > Changes since V3: > No change. > > Changes since V4: > No change. > > Changes since V5: > No change. > > include/fdtdec.h | 1 + > lib/fdtdec.c | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/include/fdtdec.h b/include/fdtdec.h > index 77f244f..51ff266 100644 > --- a/include/fdtdec.h > +++ b/include/fdtdec.h > @@ -81,6 +81,7 @@ enum fdt_compat_id { > COMPAT_SAMSUNG_EXYNOS_EHCI, /* Exynos EHCI controller */ > COMPAT_SAMSUNG_EXYNOS_USB_PHY, /* Exynos phy controller for usb2.0 */ > COMPAT_MAXIM_MAX77686_PMIC, /* MAX77686 PMIC */ > + COMPAT_SAMSUNG_EXYNOS5_DWMMC, /* Exynos5 DWMMC controller */ > > COMPAT_COUNT, > }; > diff --git a/lib/fdtdec.c b/lib/fdtdec.c > index 3ae348d..856f90c 100644 > --- a/lib/fdtdec.c > +++ b/lib/fdtdec.c > @@ -56,6 +56,7 @@ static const char * const compat_names[COMPAT_COUNT] = { > COMPAT(SAMSUNG_EXYNOS_EHCI, "samsung,exynos-ehci"), > COMPAT(SAMSUNG_EXYNOS_USB_PHY, "samsung,exynos-usb-phy"), > COMPAT(MAXIM_MAX77686_PMIC, "maxim,max77686_pmic"), > + COMPAT(SAMSUNG_EXYNOS5_DWMMC, "samsung,exynos5250-dwmmc"), > }; > > const char *fdtdec_get_compatible(enum fdt_compat_id id) > -- > 1.8.0 > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] powerpc/p1022ds: Add support for NAND and NAND boot using SPL
On 02/14/2013 03:35:13 PM, Matthew McClintock wrote: +#if defined(CONFIG_SYS_BR2_PRELIM) && defined(CONFIG_SYS_OR2_PRELIM) + /* for FPGA */ + set_lbc_br(2, CONFIG_SYS_BR2_PRELIM); + set_lbc_or(2, CONFIG_SYS_OR2_PRELIM); +#else +#error CONFIG_SYS_BR2_PRELIM, CONFIG_SYS_OR2_PRELIM must be defined +#endif As discussed internally, this if/else is pointless. In internal discussion, you said it was moot, and then you post it again here? diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 170a358..a1c7895 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -34,7 +34,9 @@ COBJS-$(CONFIG_EXYNOS_FB) += exynos_fb.o exynos_fimd.o COBJS-$(CONFIG_EXYNOS_MIPI_DSIM) += exynos_mipi_dsi.o exynos_mipi_dsi_common.o \ exynos_mipi_dsi_lowlevel.o COBJS-$(CONFIG_EXYNOS_PWM_BL) += exynos_pwm_bl.o +ifndef CONFIG_SPL_BUILD COBJS-$(CONFIG_FSL_DIU_FB) += fsl_diu_fb.o videomodes.o +endif COBJS-$(CONFIG_S6E8AX0) += s6e8ax0.o COBJS-$(CONFIG_S6E63D6) += s6e63d6.o COBJS-$(CONFIG_LD9040) += ld9040.o I thought we discussed internally that you don't need this? +/* Nand Flash */ +#if defined(CONFIG_NAND_FSL_ELBC) && !defined(CONFIG_FSL_DIU_FB) +#define CONFIG_SYS_NAND_BASE 0xff80 +#ifdef CONFIG_PHYS_64BIT +#define CONFIG_SYS_NAND_BASE_PHYS 0xfff80ull +#else +#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE +#endif CONFIG_FSL_DIU_FB is always defined, so when would we ever set CONFIG_SYS_NAND_BASE? +#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE, } ...and here you use it outside the ifdef. I think the only reason that this builds is that CONFIG_FSL_DIU_FB is defined *after* the above check. Why are you introducing a new ifdefs on CONFIG_FSL_DIU_FB here in the first place? +#ifdef CONFIG_FSL_DIU_FB +#define CONFIG_SYS_BR1_PRELIM \ + (BR_PHYS_ADDR(0xe000) | BR_PS_16 | BR_V) +#define CONFIG_SYS_OR1_PRELIM (OR_AM_128MB | 0xff7) +#endif Here's another -- this one is dead code. What does this have to do with NAND at all? @@ -177,6 +284,8 @@ #define PIXIS_LBMAP_SWITCH 7 #define PIXIS_LBMAP_MASK 0xF0 #define PIXIS_LBMAP_ALTBANK0x20 +#define PIXIS_SPD 0x07 +#define PIXIS_SPD_SYSCLK_MASK 0x07 #define PIXIS_ELBC_SPI_MASK0xc0 #define PIXIS_SPI 0x80 Relevance? -Scott ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Please pull u-boot-x86.git
Hi Tom, This series includes the sandbox map_sysmem() feature, and gets the memory and hashing functions running on sandbox to allow testing/code coverage. I have run it through buildman and it seems clean, with the proviso that I don't have fully-working toolchains for all architectures. The following changes since commit 9f024f62e4604274a23213dcee30016092e32e7b: Merge branch 'fixes' of git://git.denx.de/u-boot-mips (2013-02-15 12:23:42 -0500) are available in the git repository at: git://git.denx.de/u-boot-x86.git master for you to fetch changes up to d76bd1c2d5e75db16b239bd2d4a642673974e250: sandbox: Allow hash functions to work correctly (2013-02-15 16:06:06 -0800) Allen Martin (1): sandbox: fix compiler warning Simon Glass (19): Tidy up error checking and fix bug in hash command Update print_buffer() to use const sandbox: Add un/map_sysmen() to deal with sandbox's ram_buf sandbox: Change memory commands to use map_physmem Split out the memory tests into separate functions Use common mtest iteration counting Fix mtest indenting Bring mtest putc() into common code Reduce casting in mtest Update set_working_fdt_addr() to use setenv_addr() common: Use new numeric setenv functions drivers: Use new numeric setenv functions net: Use new numeric setenv functions image: Use crc header file instead of C prototypes Roll crc32 into hash infrastructure sandbox: config: Enable hash functions and mtest Move CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of file sandbox: Update mtest to fix crashes sandbox: Allow hash functions to work correctly Taylor Hutt (1): sandbox: Improve sandbox serial port keyboard interface README| 9 + arch/sandbox/config.mk| 1 + arch/sandbox/cpu/os.c | 8 + arch/sandbox/cpu/start.c | 3 + arch/sandbox/include/asm/io.h | 10 + common/cmd_bootm.c| 11 +- common/cmd_cbfs.c | 4 +- common/cmd_cramfs.c | 4 +- common/cmd_fdos.c | 4 +- common/cmd_fdt.c | 11 +- common/cmd_hash.c | 4 + common/cmd_jffs2.c| 4 +- common/cmd_load.c | 12 +- common/cmd_mem.c | 798 +- common/cmd_mtdparts.c | 4 +- common/cmd_nand.c | 12 +- common/cmd_nvedit.c | 11 +- common/cmd_reiser.c | 4 +- common/cmd_setexpr.c | 39 ++- common/cmd_unzip.c| 4 +- common/cmd_ximg.c | 7 +- common/cmd_zfs.c | 3 +- common/cmd_zip.c | 4 +- common/hash.c | 31 +- common/image.c| 4 +- drivers/net/fm/fm.c | 4 +- drivers/serial/sandbox.c | 44 ++- fs/fs.c | 4 +- fs/ubifs/ubifs.c | 4 +- include/common.h | 29 +- include/configs/sandbox.h | 9 +- include/hash.h| 2 +- include/os.h | 10 + include/u-boot/crc.h | 11 + lib/crc32.c | 9 + lib/display_options.c | 3 +- net/net.c | 8 +- 37 files changed, 615 insertions(+), 528 deletions(-) Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3] sandbox: fix compiler warning
On Thu, Jan 24, 2013 at 4:45 AM, Albert ARIBAUD wrote: > Hi Allen, > > On Wed, 23 Jan 2013 13:05:27 -0800, Allen Martin > wrote: > >> > Shouldn't the function be given '__attribute__((noreturn))' rather than >> > adding a non-executed 'return 0' to it? >> > >> >> The function in question is sandbox main(), and it can return if there >> was an error prior to calling board_init_f(). Here's the whole >> function for context: >> >> int main(int argc, char *argv[]) [...] > > Makes sense, thanks. > >> -Allen > > Amicalement, > -- > Albert. Applied to x86/master. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [GIT PULL] u-boot-mpc83xx: keymile board updates
Hi Tom, Please pull the latest set of keymile 83xx board updates: The following changes since commit 9a82b10c6657c5744802971036bb564ebc660291: Merge branch 'master' of git://git.denx.de/u-boot (2013-02-15 17:46:50 -0600) are available in the git repository at: git://git.denx.de/u-boot-mpc83xx.git master for you to fetch changes up to 411190cb16b63e39345a608b68b3d1be5168117a: powerpc/83xx/km: drop uneeded dtt_bus environment var (2013-02-15 17:47:21 -0600) Andreas Huber (2): km/common: introduce $uimage variable km/scripts: replace hardcoded uImage Holger Brunck (12): km/common: remove unneeded ifdefs for I2C km/common/ivm: remove obsolete code km/common/ivm: remove CONFIG_SYS_I2C_IVM_BUS related code km/common/ivm: rework piggy mac adress offset generation powerpc/83xx: use ppc_6xx as arch variable for kmvect1 kmeter1_nand: allow uasge of NAND_ECC_SOFT_BCH powerpc/83xx: use NAND_ECC_BCH for kmcoge5ne km/common: add eccmode to kernel commandline powerpc/83xx/km: cleanup tuxx1 support powerpc/83xx/km: add support for kmopti2 board powerpc/83xx/km: remove uneeded CONFIG_MISC_INIT_R powerpc/83xx/km: drop uneeded dtt_bus environment var Karlheinz Jerg (2): km82xx, km83xx: move ethernet_present() from common to cpu specific powerpc/83xx/km: add MV88E6122 switch support for kmvect1 board/keymile/common/common.c| 13 board/keymile/common/ivm.c | 48 +++--- board/keymile/km82xx/km82xx.c| 8 +++ board/keymile/km83xx/km83xx.c| 103 --- board/keymile/scripts/develop-common.txt | 5 +- board/keymile/scripts/ramfs-common.txt | 5 +- boards.cfg | 7 ++- drivers/mtd/nand/kmeter1_nand.c | 4 ++ include/configs/km/keymile-common.h | 12 +++- include/configs/km/km8309-common.h | 4 +- include/configs/km/km8321-common.h | 2 - include/configs/km/km83xx-common.h | 9 +-- include/configs/km8360.h | 2 + include/configs/suvd3.h | 37 +++ include/configs/tuxx1.h | 46 ++ 15 files changed, 226 insertions(+), 79 deletions(-) Thanks, Kim ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 20/20] sandbox: Allow hash functions to work correctly
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Use map_sysmem() so that hashing is possible on sandbox. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/hash.c | 25 + > 1 files changed, 17 insertions(+), 8 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 19/20] sandbox: Update mtest to fix crashes
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Use map_sysmem() in the memory tester so that it works as expected on > sandbox. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 97 > +- > 1 files changed, 52 insertions(+), 45 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 18/20] Move CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of file
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > This config effectively has a default value of 0, so add this setting > at the top of the code to remove an #ifdef in the C function. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c |8 > 1 files changed, 4 insertions(+), 4 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 17/20] sandbox: config: Enable hash functions and mtest
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Enable the hash command and sha1/256 hashing for sandbox. Also use a > better address for memory testing (since the existing one is set up > for linux host memory space). > > Signed-off-by: Simon Glass Applied to x86/master. > --- > include/configs/sandbox.h |9 +++-- > 1 files changed, 7 insertions(+), 2 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 16/20] Roll crc32 into hash infrastructure
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Add the CRC32 algorithm to the list of available hashes, and make > the crc32 command use hash_command(). Add a new crc32_wd_buf() to > make this possible, which puts its result in a buffer rather than > returning it as a 32-bit value. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 73 - > common/hash.c|6 > include/hash.h |2 +- > include/u-boot/crc.h | 11 +++ > lib/crc32.c |9 ++ > 5 files changed, 33 insertions(+), 68 deletions(-) > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 15/20] image: Use crc header file instead of C prototypes
On Wed, Dec 26, 2012 at 2:02 PM, Marek Vasut wrote: > Dear Simon Glass, > >> We have an existing header which the crc32 definitions, so use it. >> >> Signed-off-by: Simon Glass > > Looks ok. > > Acked-by: Marek Vasut Applied to x86/master. > > Best regards, > Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 14/20] net: Use new numeric setenv functions
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Use setenv_hex() and setenv_addr() in net/ > > Signed-off-by: Simon Glass Applied to x86/master. > --- > drivers/net/fm/fm.c |4 +--- > net/net.c |8 ++-- > 2 files changed, 3 insertions(+), 9 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 01/16] km/common: remove unneeded ifdefs for I2C
On Mon, 21 Jan 2013 14:55:13 +0100 Holger Brunck wrote: > All boards from this serie use i2c. There is no need to #ifdef the > header. > > Signed-off-by: Holger Brunck > --- applied 16 out of 16 patches. Thanks, Kim ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 13/20] drivers: Use new numeric setenv functions
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Use setenv_ulong(), setenv_hex() and setenv_addr() in drivers/ > > Signed-off-by: Simon Glass Applied to x86/master. > --- > fs/fs.c |4 +--- > fs/ubifs/ubifs.c |4 +--- > 2 files changed, 2 insertions(+), 6 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 12/20] common: Use new numeric setenv functions
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Use setenv_ulong(), setenv_hex() and setenv_addr() in common/ > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_bootm.c| 11 +++ > common/cmd_cbfs.c |4 +--- > common/cmd_cramfs.c |4 +--- > common/cmd_fdos.c |4 +--- > common/cmd_jffs2.c|4 +--- > common/cmd_load.c | 12 +++- > common/cmd_mtdparts.c |4 +--- > common/cmd_nand.c | 12 +++- > common/cmd_nvedit.c |3 +-- > common/cmd_reiser.c |4 +--- > common/cmd_setexpr.c | 39 +++ > common/cmd_unzip.c|4 +--- > common/cmd_ximg.c |7 ++- > common/cmd_zfs.c |3 +-- > common/cmd_zip.c |4 +--- > 15 files changed, 48 insertions(+), 71 deletions(-) > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 11/20] Update set_working_fdt_addr() to use setenv_addr()
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > We might as well use this common function instead of repeating the same > code. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_fdt.c| 11 ++- > common/cmd_nvedit.c |8 > include/common.h| 14 +- > 3 files changed, 19 insertions(+), 14 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 10/20] Reduce casting in mtest
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Use a ulong for the command arguments, and only cast to an address when > needed. This fixes warnings in sandbox where pointers are typically 64 bits > long. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 30 ++ > 1 files changed, 18 insertions(+), 12 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 09/20] Bring mtest putc() into common code
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > If we get a Ctrl-C abort, we always print a newline. Move this repeated > code out of the functions and into a single place in the caller. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 32 +--- > 1 files changed, 9 insertions(+), 23 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 08/20] Fix mtest indenting
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > Some of the inner loops are not indented correctly. Fix this. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 324 > +++--- > 1 files changed, 162 insertions(+), 162 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 07/20] Use common mtest iteration counting
On Wed, Dec 26, 2012 at 10:57 AM, Simon Glass wrote: > The iteration code is the same for each version of the memory test, so > pull it out into the common function. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 123 > ++ > 1 files changed, 59 insertions(+), 64 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 06/20] Split out the memory tests into separate functions
On Wed, Dec 26, 2012 at 10:56 AM, Simon Glass wrote: > Half of the code is currently hidden behind an #ifdef. Move the two > memory tests into their own functions and use the compiler to eliminate > the unused code. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 217 > +- > 1 files changed, 116 insertions(+), 101 deletions(-) > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 05/20] sandbox: Change memory commands to use map_physmem
On Wed, Dec 26, 2012 at 10:56 AM, Simon Glass wrote: > Sandbox wants to support commands which use memory. The map_sysmen() > call provides this feature, so use this in the memory commands. > > Signed-off-by: Simon Glass Applied to x86/master. > --- > common/cmd_mem.c | 122 > +++--- > 1 files changed, 79 insertions(+), 43 deletions(-) > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 04/20] sandbox: Add un/map_sysmen() to deal with sandbox's ram_buf
On Wed, Dec 26, 2012 at 10:56 AM, Simon Glass wrote: > Sandbox doesn't actually provide U-Boot access to the machine's physical > memory. Instead it provides a RAM buffer of configurable size, and all > memory accesses are within that buffer. Sandbox memory starts at 0 and > is CONFIG_DRAM_SIZE bytes in size. Allowing access outside this buffer > might produce unpredictable results in the event of an error, and would > expose the host machine's memory architecture to the sandbox U-Boot. > > Most U-Boot functions assume that they can just access memory at given > address. For sandbox this is not true. > > Add a map_sysmem() call which converts a U-Boot address to a system > address. In most cases this is a NOP, but for sandbox it returns a > pointer to that memory inside the RAM buffer. > > To get a U-Boot feature to work correctly within sandbox, you should call > map_sysmem() to get a pointer to the address, and then use that address for > any U-Boot memory accesses. > > Signed-off-by: Simon Glass I haven't seen any comments on this one, either because no one noticed or because it is OK. I am collecting up this series and will send a pull request, for Tom to review. Applied to x86/master. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 03/20] sandbox: Improve sandbox serial port keyboard interface
On Wed, Dec 26, 2012 at 10:56 AM, Simon Glass wrote: > From: Taylor Hutt > > Implements the tstc() interface for the serial driver. Multiplexing > the console between the serial port and a keyboard uses a polling > method of checking if characters are available; this means that the > serial console must be non-blocking when attempting to read > characters. > > Signed-off-by: Taylor Hutt > Signed-off-by: Simon Glass Applied to x86/master. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 02/20] Update print_buffer() to use const
On Wed, Dec 26, 2012 at 10:56 AM, Simon Glass wrote: > The buffer cannot be changed by this function, so change the buffer > pointer to a const. This allows callers with const pointer to use the > function without a cast. > > Signed-off-by: Simon Glass Applied to x86/master. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 01/20] Tidy up error checking and fix bug in hash command
On Wed, Dec 26, 2012 at 10:56 AM, Simon Glass wrote: > There are two problems: > > 1. The argument count needs to be checked before argv is used > 2. When verify is not enabled, we need to define a constant zero value > > Signed-off-by: Simon Glass Applied to x86/master. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] imx6, spl and falcon boot
Hi, First off, sorry I'm not used to using mailing lists. I'm not sure if this is the best way to dig for information. We've recently switched to uboot/linux from wince and I'm trying to understand how configuring uboot works. I'm also trying to find out how to use the SPL framework and possibly falcon mode with a i.mx6 nitrogen6x board. I'd be delighted if any one could help! Thanks, ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 0/7] omap mmc: implement card detect and write protection
On Mon, Dec 03, 2012 at 02:19:40PM +0200, Nikita Kiryanov wrote: > This patchset implements card detection and write protection check for > omap mmc. The write protect implementation also adds generic code > that is usable by other mmc drivers. > > The first 3 patches are preparation patches that contain general maintenance > for omap mmc driver. > > This patchset depends on http://patchwork.ozlabs.org/patch/202384/ > > Nikita Kiryanov (7): > omap: consolidate common mmc definitions > omap_hsmmc: fix out of bounds array access > omap_hsmmc: introduce omap_hsmmc_data struct > omap_hsmmc: implement driver check for card detection > cm-t35: implement board specific card detect check > mmc: add support for write protection > omap_hsmmc: add driver check for write protection > > arch/arm/cpu/armv7/am33xx/board.c |4 +- > arch/arm/cpu/armv7/omap-common/boot-common.c|4 +- > arch/arm/cpu/armv7/omap3/board.c|4 +- > arch/arm/include/asm/arch-am33xx/mmc_host_def.h | 140 +-- > arch/arm/include/asm/arch-omap3/mmc_host_def.h | 139 +-- > arch/arm/include/asm/arch-omap4/mmc_host_def.h | 140 +-- > arch/arm/include/asm/arch-omap5/mmc_host_def.h | 140 +-- > arch/arm/include/asm/omap_mmc.h | 168 > +++ > board/cm_t35/cm_t35.c | 13 +- > board/comelit/dig297/dig297.c |3 +- > board/corscience/tricorder/tricorder.c |2 +- > board/htkw/mcx/mcx.c|2 +- > board/isee/igep0020/igep0020.c |3 +- > board/isee/igep0030/igep0030.c |3 +- > board/logicpd/am3517evm/am3517evm.c |3 +- > board/logicpd/omap3som/omap3logic.c |2 +- > board/logicpd/zoom1/zoom1.c |3 +- > board/logicpd/zoom2/zoom2.c |3 +- > board/matrix_vision/mvblx/mvblx.c |4 +- > board/nokia/rx51/rx51.c |4 +- > board/overo/overo.c |3 +- > board/pandora/pandora.c |3 +- > board/technexion/twister/twister.c |2 +- > board/teejet/mt_ventoux/mt_ventoux.c|2 +- > board/ti/am3517crane/am3517crane.c |3 +- > board/ti/beagle/beagle.c|3 +- > board/ti/evm/evm.c |3 +- > board/ti/omap5_evm/evm.c|4 +- > board/ti/panda/panda.c |3 +- > board/ti/sdp3430/sdp.c |3 +- > board/ti/sdp4430/sdp.c |4 +- > board/timll/devkit8000/devkit8000.c |3 +- > common/cmd_mmc.c|7 + > drivers/mmc/arm_pl180_mmci.c|1 + > drivers/mmc/bfin_sdh.c |1 + > drivers/mmc/davinci_mmc.c |1 + > drivers/mmc/fsl_esdhc.c |1 + > drivers/mmc/ftsdc010_esdhc.c|1 + > drivers/mmc/gen_atmel_mci.c |1 + > drivers/mmc/mmc.c | 17 +++ > drivers/mmc/mmc_spi.c |1 + > drivers/mmc/mxcmmc.c|1 + > drivers/mmc/mxsmmc.c|1 + > drivers/mmc/omap_hsmmc.c| 78 +-- > drivers/mmc/sdhci.c |1 + > drivers/mmc/sh_mmcif.c |1 + > drivers/mmc/tegra_mmc.c |1 + > include/mmc.h |2 + > 48 files changed, 324 insertions(+), 612 deletions(-) > create mode 100644 arch/arm/include/asm/omap_mmc.h For the series: Reviewed-by: Tom Rini Andy, since this touches generic code to add the write-protect stuff, which looks fine to me, I'd really like a chime-in before I take this to u-boot-ti, or you pick it all up for u-boot-mmc. Thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 7/7] omap_hsmmc: add driver check for write protection
On Mon, Dec 03, 2012 at 02:19:47PM +0200, Nikita Kiryanov wrote: > Add check for write protection in omap mmc driver. > > Signed-off-by: Nikita Kiryanov > Signed-off-by: Igor Grinberg [snip] > -int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int > cd_gpio) > +int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int > cd_gpio, > + int wp_gpio) OK, next person to modify this function has to make it take a struct params instead. Or if you're up for it, a follow-up patch. Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 10/10] MAINTAINERS: add ti814x_evm maintainer
On Fri, Feb 15, 2013 at 11:39:13AM -0500, Tom Rini wrote: > On Wed, Feb 13, 2013 at 09:44:04AM -0500, Matt Porter wrote: > > > Add a maintainer entry for the TI814x EVM. > > > > Signed-off-by: Matt Porter > > Please squash this into the patch which adds the EVM, thanks. Will do, thanks for the review. -Matt ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 09/10] ti814x_evm: enable ti814x evm build
On Fri, Feb 15, 2013 at 11:39:01AM -0500, Tom Rini wrote: > On Wed, Feb 13, 2013 at 09:44:03AM -0500, Matt Porter wrote: > > > Enable TI814X EVM build via ti814x_evm target. > > > > Signed-off-by: Matt Porter > > This should just get squashed into the patch that adds the board code. > Otherwise, > > Reviewed-by: Tom Rini Sounds good. I'll squash it in there. -Matt ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 07/10] ti814x_evm: add ti814x evm board support
On Fri, Feb 15, 2013 at 04:38:22PM +, Tom Rini wrote: > On Wed, Feb 13, 2013 at 09:44:01AM -0500, Matt Porter wrote: > > > Add TI814X EVM board directory and config file. > > > > Signed-off-by: Matt Porter > [snip] > > +++ b/board/ti/ti814x/evm.h > > @@ -0,0 +1,7 @@ > > +#ifndef _EVM_H > [snip] > > +++ b/include/configs/ti814x_evm.h > > @@ -0,0 +1,213 @@ > > +#define __CONFIG_TI814X_EVM_H > > Needs GPLv2 or later boilerplate. Ok. > > [snip] > > +#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ > > +#define CONFIG_SETUP_MEMORY_TAGS 1 > > +#define CONFIG_INITRD_TAG 1 /* for ramdisk support */ > > Just #define CONFIG_FOO in these cases (and some others that follow) Ok. > > [snip] > > + "findfdt="\ > > + "if test $board_name = A335BONE; then " \ > > + "setenv fdtfile am335x-bone.dtb; fi; " \ > > + "if test $board_name = A33515BB; then " \ > > + "setenv fdtfile am335x-evm.dtb; fi; " \ > > + "if test $board_name = A335X_SK; then " \ > > + "setenv fdtfile am335x-evmsk.dtb; fi\0" \ > > That's not right :) LOL, indeed..forgot about that am335x specific stuff. Will fix. > [snip] > > +/* memtest works on 8 MB in DRAM offset 32MB from start of ram disk*/ > > +#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64 * 1024 * 1024)) > > +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ > > + + (8 * 1024 * 1024)) > > This isn't your mistake initially, but this should just be start of > memory to smallest possible config the evm can come with - 4MB. Ok. > > [snip] > > +#undef CONFIG_NAND_OMAP_GPMC > > Just leave it out. Ok. > > +#define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400, \ > > +4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 } > > Leave that out and get the generic table. am335x needs to be updated > for that. Ok, will do. I even saw something about this and forgot to update this config. > [snip] > > +/* Since SPL did pll and ddr initialization for us, > > + * we don't need to do it twice. > > + */ > > /* > * Must be like > * this. > */ Ok. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 03/10] am33xx: refactor am33xx clocks and add ti814x support
On Fri, Feb 15, 2013 at 04:37:33PM +, Tom Rini wrote: > On Wed, Feb 13, 2013 at 09:43:57AM -0500, Matt Porter wrote: > > > Split clock.c for am335x and ti814x and add the ti814x include file. > > > > Signed-off-by: Matt Porter > > [snip] > > +++ b/arch/arm/cpu/armv7/am33xx/clock-am335x.c > [snip] > > +#define PRCM_MOD_EN0x2 > > +#define PRCM_FORCE_WAKEUP 0x2 > > +#define PRCM_FUNCTL0x0 > > + > > +#define PRCM_EMIF_CLK_ACTIVITY BIT(2) > > +#define PRCM_L3_GCLK_ACTIVITY BIT(4) > > + > > +#define PLL_BYPASS_MODE0x4 > > +#define ST_MN_BYPASS 0x0100 > > +#define ST_DPLL_CLK0x0001 > > +#define CLK_SEL_MASK 0x7 > > +#define CLK_DIV_MASK 0x1f > > +#define CLK_DIV2_MASK 0x7f > > +#define CLK_SEL_SHIFT 0x8 > > +#define CLK_MODE_SEL 0x7 > > +#define CLK_MODE_MASK 0xfff8 > > +#define CLK_DIV_SEL0xFFE0 > > +#define CPGMAC0_IDLE 0x3 > > +#define DPLL_CLKDCOLDO_GATE_CTRL0x300 > [snip] > > +++ b/arch/arm/cpu/armv7/am33xx/clock-ti814x.c > [snip] > > + /* Selects OSC0 (20MHz) for DMTIMER1 */ > > + temp = readl(DMTIMER_CLKSRC); > > + temp &= ~(0x7 << 3); > > + temp |= (0x4 << 3); > > + writel(temp, DMTIMER_CLKSRC); > > + > > + writel(0x2, DM_TIMER1_BASE + 0x54); > > Magic values are defined for clock-am335x.c but not in clock-ti814x.c, > please fix clock-ti814x.c to define out the magic values ala am335x.c. > Thanks! Ok, will clean this up. -Matt ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] AM335x : failure to boot SPL from NAND
On Thu, Feb 14, 2013 at 03:54:23PM +, Mark Jackson wrote: > I'm trying to diagnose why our AM335x based CPU board (based on the > AM335x Starter Kit) can boot SPL and U-Boot from an MMC card, but is > unable to boot from NAND (connected to CS0). > > Following the TI wiki > (http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide#Flashing_images_to_NAND_in_SD_boot) > I:- > > (1) boot from MMC > (2) erase the nand > (3) copy MLO from MMC into NAND > (4) verified it copied correctly (using crc32) > > When I reboot the board in NAND mode, I get nothing on UART0. > > If I reboot in MMC mode, SPL and U-Boot load correctly. > > Can anyone give me some pointers on the boot sequence, and where I > might look to help debug the problem ? Assuming you're using mainline U-Boot and can rule out "vendor problems", if you can access the SYSBOOT pins, set it up for a mode that does NAND and UART. If you never see the 'CCC' on console (or only see it the first time if you do UART then NAND), then you are starting SPL and dying in there. If you just see a stream of C then your file is not written to NAND correctly. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 15/19] nand: mxc: Switch NAND SPL to generic SPL
This also fixes support for mx31pdk and tx25, which had been broken by commit e05e5de7fae5bec79617e113916dac6631251156. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - Automate 'u-boot.imx' and 'SPL' make targets for all imx processors. - Move board_init_f() to .c. - Get rid of board SPL linker scripts. - Define CONFIG_SYS_NAND_U_BOOT_OFFS as CONFIG_SPL_MAX_SIZE rather than duplicating the constant value. - Define CONFIG_SYS_NAND_U_BOOT_DST as CONFIG_SYS_TEXT_BASE rather than duplicating the constant value. - Pass 0 as the 1st argument to relocate_code() since it's unused. - Fix stack pointers. - Rebase on latest u-boot-imx/master. - Move unrelated changes to separate patches. Changes in v5: - Remove spaces between function name and open parenthesis. - Fix mx31pdk and tx25 Makefile-s and SPL linker scripts. - Remove the useless definition of CONFIG_SPL_LDSCRIPT. - Fix the call to nand_boot(). Changes in v4: - New patch. Changes in v3: None Changes in v2: None arch/arm/cpu/arm926ejs/start.S |3 +- board/freescale/mx31pdk/Makefile |3 + board/freescale/mx31pdk/config.mk |5 -- board/freescale/mx31pdk/mx31pdk.c |8 ++ board/karo/tx25/Makefile |4 +- board/karo/tx25/config.mk |5 -- board/karo/tx25/tx25.c |8 ++ boards.cfg |2 +- drivers/mtd/nand/Makefile |1 + drivers/mtd/nand/mxc_nand.c| 10 +-- include/fsl_nfc.h => drivers/mtd/nand/mxc_nand.h | 10 +-- .../mtd/nand/mxc_nand_spl.c| 26 ++ include/configs/mx31pdk.h | 17 +++- include/configs/tx25.h | 22 +++-- nand_spl/board/freescale/mx31pdk/Makefile | 68 --- nand_spl/board/freescale/mx31pdk/u-boot.lds| 87 --- nand_spl/board/karo/tx25/Makefile | 89 nand_spl/board/karo/tx25/config.mk |1 - nand_spl/board/karo/tx25/u-boot.lds| 87 --- 19 files changed, 72 insertions(+), 384 deletions(-) delete mode 100644 board/freescale/mx31pdk/config.mk delete mode 100644 board/karo/tx25/config.mk rename include/fsl_nfc.h => drivers/mtd/nand/mxc_nand.h (98%) rename nand_spl/nand_boot_fsl_nfc.c => drivers/mtd/nand/mxc_nand_spl.c (92%) delete mode 100644 nand_spl/board/freescale/mx31pdk/Makefile delete mode 100644 nand_spl/board/freescale/mx31pdk/u-boot.lds delete mode 100644 nand_spl/board/karo/tx25/Makefile delete mode 100644 nand_spl/board/karo/tx25/config.mk delete mode 100644 nand_spl/board/karo/tx25/u-boot.lds diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S index 70551ec..1db1152 100644 --- a/arch/arm/cpu/arm926ejs/start.S +++ b/arch/arm/cpu/arm926ejs/start.S @@ -200,7 +200,6 @@ reset: /*--*/ -#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_NAND_SPL) /* * void relocate_code (addr_sp, gd, addr_moni) * @@ -272,6 +271,8 @@ relocate_done: bx lr +#ifndef CONFIG_SPL_BUILD + _rel_dyn_start_ofs: .word __rel_dyn_start - _start _rel_dyn_end_ofs: diff --git a/board/freescale/mx31pdk/Makefile b/board/freescale/mx31pdk/Makefile index 5b7cafd..b910722 100644 --- a/board/freescale/mx31pdk/Makefile +++ b/board/freescale/mx31pdk/Makefile @@ -27,6 +27,9 @@ include $(TOPDIR)/config.mk LIB= $(obj)lib$(BOARD).o +ifdef CONFIG_SPL_BUILD +SOBJS := lowlevel_init.o +endif COBJS := mx31pdk.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) diff --git a/board/freescale/mx31pdk/config.mk b/board/freescale/mx31pdk/config.mk deleted file mode 100644 index de2c642..000 --- a/board/freescale/mx31pdk/config.mk +++ /dev/null @@ -1,5 +0,0 @@ -ifdef CONFIG_NAND_SPL -CONFIG_SYS_TEXT_BASE = 0x87ec -else -CONFIG_SYS_TEXT_BASE = 0x87f0 -endif diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c index 895396c..df5d407 100644 --- a/board/freescale/mx31pdk/mx31pdk.c +++ b/board/freescale/mx31pdk/mx31pdk.c @@ -36,6 +36,14 @@ DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_SPL_BUILD +void board_init_f(ulong bootflag) +{ + relocate_code(0, NULL, CONFIG_SPL_TEXT_BASE); + asm volatile("ldr pc, =nand_boot\n"); +} +#endif + int dram_init(void) { /* dram_init must store complete ramsize in gd->ram_size */ diff --git a/board/karo/tx25/Makefile b/board/karo/tx25/Makefile index 9617fa5..c26bf36 100644 --- a/board/karo/tx25/Makefile +++ b/board/karo/tx25/Makefile @@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk LIB= $(obj)lib$(BOARD).o -COBJS := tx25.o +ifdef CONFIG_SPL_BUILD SOBJS := lowlevel_init.o +endif +COBJS := tx25.o SRCS := $(
[U-Boot] [PATCH v7 17/19] arm: Remove unused relocate_code() parameters
Commit e05e5de7fae5bec79617e113916dac6631251156 made the 2 1st parameters of ARM's relocate_code() useless since it moved the code handling them to crt0.S. So, drop these parameters. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm1136/start.S |4 +--- arch/arm/cpu/arm1176/start.S |4 +--- arch/arm/cpu/arm720t/start.S |4 +--- arch/arm/cpu/arm920t/start.S |4 +--- arch/arm/cpu/arm925t/start.S |4 +--- arch/arm/cpu/arm926ejs/start.S |4 +--- arch/arm/cpu/arm946es/start.S |4 +--- arch/arm/cpu/arm_intcm/start.S |4 +--- arch/arm/cpu/armv7/start.S |4 +--- arch/arm/cpu/ixp/start.S |4 +--- arch/arm/cpu/pxa/start.S |4 +--- arch/arm/cpu/s3c44b0/start.S |4 +--- arch/arm/cpu/sa1100/start.S|4 +--- arch/arm/lib/crt0.S|8 +++- board/freescale/mx31pdk/mx31pdk.c |2 +- board/karo/tx25/tx25.c |2 +- board/samsung/smdk6400/smdk6400_nand_spl.c |3 +-- include/common.h |8 18 files changed, 23 insertions(+), 52 deletions(-) diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S index 9554807..b2d8184 100644 --- a/arch/arm/cpu/arm1136/start.S +++ b/arch/arm/cpu/arm1136/start.S @@ -182,9 +182,7 @@ next: */ .globl relocate_code relocate_code: - mov r4, r0 /* save addr_sp */ - mov r5, r1 /* save addr of gd */ - mov r6, r2 /* save addr of destination */ + mov r6, r0 /* save addr of destination */ adr r0, _start cmp r0, r6 diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S index e7d2737..bb96ef8 100644 --- a/arch/arm/cpu/arm1176/start.S +++ b/arch/arm/cpu/arm1176/start.S @@ -249,9 +249,7 @@ skip_tcmdisable: */ .globl relocate_code relocate_code: - mov r4, r0 /* save addr_sp */ - mov r5, r1 /* save addr of gd */ - mov r6, r2 /* save addr of destination */ + mov r6, r0 /* save addr of destination */ adr r0, _start cmp r0, r6 diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S index 440aff5..8555082 100644 --- a/arch/arm/cpu/arm720t/start.S +++ b/arch/arm/cpu/arm720t/start.S @@ -164,9 +164,7 @@ reset: */ .globl relocate_code relocate_code: - mov r4, r0 /* save addr_sp */ - mov r5, r1 /* save addr of gd */ - mov r6, r2 /* save addr of destination */ + mov r6, r0 /* save addr of destination */ adr r0, _start cmp r0, r6 diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S index 60b6a80..c8d6907 100644 --- a/arch/arm/cpu/arm920t/start.S +++ b/arch/arm/cpu/arm920t/start.S @@ -203,9 +203,7 @@ copyex: */ .globl relocate_code relocate_code: - mov r4, r0 /* save addr_sp */ - mov r5, r1 /* save addr of gd */ - mov r6, r2 /* save addr of destination */ + mov r6, r0 /* save addr of destination */ adr r0, _start cmp r0, r6 diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S index 6d5c9de..310c89e 100644 --- a/arch/arm/cpu/arm925t/start.S +++ b/arch/arm/cpu/arm925t/start.S @@ -193,9 +193,7 @@ poll1: */ .globl relocate_code relocate_code: - mov r4, r0 /* save addr_sp */ - mov r5, r1 /* save addr of gd */ - mov r6, r2 /* save addr of destination */ + mov r6, r0 /* save addr of destination */ adr r0, _start cmp r0, r6 diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S index 60b0a67..ff82eeb 100644 --- a/arch/arm/cpu/arm926ejs/start.S +++ b/arch/arm/cpu/arm926ejs/start.S @@ -199,9 +199,7 @@ reset: */ .globl relocate_code relocate_code: - mov r4, r0 /* save addr_sp */ - mov r5, r1 /* save addr of gd */ - mov r6, r2 /* save addr of destination */ + mov r6, r0 /* save addr of destination */ adr r0, _start cmp r0, r6 diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S index 8a245e0..78ecdff 100644 --- a/arch/arm/cpu/arm946es/start.S +++ b/arch/arm/cpu/arm946es/start.S @@ -168,9 +168,7 @@ reset: */ .globl relocate_code relocate_code: - mov r4, r0 /* save addr_sp */ - mov r5, r1 /* save addr of gd */ - mov r6, r2 /* save addr of destination */ + mov r6, r0 /* save addr of destination */ adr r0, _start cmp r0, r6 diff --git a/arch/arm/cpu/arm_intcm/start.S b
[U-Boot] [PATCH v7 19/19] imx: Add u-boot-with-nand-spl.imx make target
This image adds a dummy 1024-byte header to u-boot-with-spl.imx in order to get an image that can be programmed on a NAND Flash page boundary. This supports only i.MX25/35/51 so far, not i.MX53/6. For the latter, the dummy header will have to be replaced with a generated FCB header depending at least on the NAND Flash page size. Signed-off-by: Benoît Thébaudeau --- Changes in v7: - New patch. Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None Makefile |5 + arch/arm/imx-common/Makefile |3 +++ 2 files changed, 8 insertions(+) diff --git a/Makefile b/Makefile index 896266f..8bda59d 100644 --- a/Makefile +++ b/Makefile @@ -495,6 +495,10 @@ $(obj)u-boot-with-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin $(MAKE) -C $(SRCTREE)/arch/arm/imx-common \ $(OBJTREE)/u-boot-with-spl.imx +$(obj)u-boot-with-nand-spl.imx: $(obj)u-boot-with-spl.imx + $(MAKE) -C $(SRCTREE)/arch/arm/imx-common \ + $(OBJTREE)/u-boot-with-nand-spl.imx + $(obj)u-boot.ubl: $(obj)u-boot-with-spl.bin $(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \ -e $(CONFIG_SYS_TEXT_BASE) -d $< $(obj)u-boot.ubl @@ -867,6 +871,7 @@ clobber:tidy @rm -f $(obj)u-boot.pbl @rm -f $(obj)u-boot.imx @rm -f $(obj)u-boot-with-spl.imx + @rm -f $(obj)u-boot-with-nand-spl.imx @rm -f $(obj)u-boot.ubl @rm -f $(obj)u-boot.ais @rm -f $(obj)u-boot.dtb diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile index 24bf822..835040f 100644 --- a/arch/arm/imx-common/Makefile +++ b/arch/arm/imx-common/Makefile @@ -65,6 +65,9 @@ $(OBJTREE)/u-boot-with-spl.imx: $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/u-boot. cat $(OBJTREE)/spl/u-boot-spl-pad.imx $(OBJTREE)/u-boot.bin > $@ rm $(OBJTREE)/spl/u-boot-spl-pad.imx +$(OBJTREE)/u-boot-with-nand-spl.imx: $(OBJTREE)/u-boot-with-spl.imx + dd bs=1024 count=1 if=/dev/zero 2>/dev/null | cat - $< > $@ + # -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 18/19] imx: Add u-boot-with-spl.imx make target
This image combines the SPL with the i.MX header and U-Boot. This is a convenient way of having a single image to program on some boot devices. The i.MX header has to be added to the SPL before appending U-Boot, so that the boot ROM loads only the SPL. Signed-off-by: Benoît Thébaudeau --- Changes in v7: - New patch. Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None Makefile |5 + arch/arm/imx-common/Makefile | 11 +++ 2 files changed, 16 insertions(+) diff --git a/Makefile b/Makefile index 317dffc..896266f 100644 --- a/Makefile +++ b/Makefile @@ -491,6 +491,10 @@ $(obj)u-boot-with-spl.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > $@ rm $(obj)spl/u-boot-spl-pad.bin +$(obj)u-boot-with-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin + $(MAKE) -C $(SRCTREE)/arch/arm/imx-common \ + $(OBJTREE)/u-boot-with-spl.imx + $(obj)u-boot.ubl: $(obj)u-boot-with-spl.bin $(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \ -e $(CONFIG_SYS_TEXT_BASE) -d $< $(obj)u-boot.ubl @@ -862,6 +866,7 @@ clobber:tidy @rm -f $(obj)u-boot.kwb @rm -f $(obj)u-boot.pbl @rm -f $(obj)u-boot.imx + @rm -f $(obj)u-boot-with-spl.imx @rm -f $(obj)u-boot.ubl @rm -f $(obj)u-boot.ais @rm -f $(obj)u-boot.dtb diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile index 6309fcd..24bf822 100644 --- a/arch/arm/imx-common/Makefile +++ b/arch/arm/imx-common/Makefile @@ -54,6 +54,17 @@ $(OBJTREE)/SPL: $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/$(patsubst "%",%,$(CONF $(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \ -e $(CONFIG_SPL_TEXT_BASE) -d $< $@ +$(OBJTREE)/u-boot-with-spl.imx: $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/u-boot.bin \ + $(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp + $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_MAX_SIZE) -I binary \ + -O binary $< $(OBJTREE)/spl/u-boot-spl-pad.bin + $(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \ + -e $(CONFIG_SPL_TEXT_BASE) -d $(OBJTREE)/spl/u-boot-spl-pad.bin \ + $(OBJTREE)/spl/u-boot-spl-pad.imx + rm $(OBJTREE)/spl/u-boot-spl-pad.bin + cat $(OBJTREE)/spl/u-boot-spl-pad.imx $(OBJTREE)/u-boot.bin > $@ + rm $(OBJTREE)/spl/u-boot-spl-pad.imx + # -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 11/19] arm: relocate_code(): Use __image_copy_end for end of relocation
Use __image_copy_end instead of __bss_start for the end of the image to relocate. This is the same as commit 033ca72, but applied to all ARM start.S. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm1176/start.S |6 +- arch/arm/cpu/arm720t/start.S |6 +- arch/arm/cpu/arm920t/ep93xx/u-boot.lds |3 +++ arch/arm/cpu/arm920t/start.S |6 +- arch/arm/cpu/arm925t/start.S |6 +- arch/arm/cpu/arm926ejs/start.S |6 +- arch/arm/cpu/arm946es/start.S |6 +- arch/arm/cpu/arm_intcm/start.S |6 +- arch/arm/cpu/ixp/start.S |6 +- arch/arm/cpu/ixp/u-boot.lds|2 ++ arch/arm/cpu/pxa/start.S |6 +- arch/arm/cpu/s3c44b0/start.S |6 +- arch/arm/cpu/sa1100/start.S|6 +- board/actux1/u-boot.lds|3 +++ board/actux2/u-boot.lds|3 +++ board/actux3/u-boot.lds|3 +++ board/davinci/da8xxevm/u-boot-spl-hawk.lds |1 + board/dvlhost/u-boot.lds |3 +++ board/samsung/smdk6400/u-boot-nand.lds |4 board/vpac270/u-boot-spl.lds |2 ++ nand_spl/board/karo/tx25/u-boot.lds|2 ++ nand_spl/board/samsung/smdk6400/u-boot.lds |2 ++ 22 files changed, 83 insertions(+), 11 deletions(-) diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S index 9617249..e7d2737 100644 --- a/arch/arm/cpu/arm1176/start.S +++ b/arch/arm/cpu/arm1176/start.S @@ -127,6 +127,10 @@ _TEXT_PHY_BASE: _bss_start_ofs: .word __bss_start - _start +.global_image_copy_end_ofs +_image_copy_end_ofs: + .word __image_copy_end - _start + .globl _bss_end_ofs _bss_end_ofs: .word __bss_end__ - _start @@ -253,7 +257,7 @@ relocate_code: cmp r0, r6 beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ - ldr r3, _bss_start_ofs + ldr r3, _image_copy_end_ofs add r2, r0, r3 /* r2 <- source end address */ copy_loop: diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S index d2d8b53..440aff5 100644 --- a/arch/arm/cpu/arm720t/start.S +++ b/arch/arm/cpu/arm720t/start.S @@ -101,6 +101,10 @@ _TEXT_BASE: _bss_start_ofs: .word __bss_start - _start +.global_image_copy_end_ofs +_image_copy_end_ofs: + .word __image_copy_end - _start + .globl _bss_end_ofs _bss_end_ofs: .word __bss_end__ - _start @@ -168,7 +172,7 @@ relocate_code: cmp r0, r6 beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ - ldr r3, _bss_start_ofs + ldr r3, _image_copy_end_ofs add r2, r0, r3 /* r2 <- source end address */ copy_loop: diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds index 008ae89..62315de 100644 --- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds +++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds @@ -55,6 +55,9 @@ SECTIONS } . = ALIGN(4); + + __image_copy_end = .; + __bss_start = .; .bss : { *(.bss) } __bss_end__ = .; diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S index 683cf55..60b6a80 100644 --- a/arch/arm/cpu/arm920t/start.S +++ b/arch/arm/cpu/arm920t/start.S @@ -89,6 +89,10 @@ _TEXT_BASE: _bss_start_ofs: .word __bss_start - _start +.global_image_copy_end_ofs +_image_copy_end_ofs: + .word __image_copy_end - _start + .globl _bss_end_ofs _bss_end_ofs: .word __bss_end__ - _start @@ -207,7 +211,7 @@ relocate_code: cmp r0, r6 beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ - ldr r3, _bss_start_ofs + ldr r3, _image_copy_end_ofs add r2, r0, r3 /* r2 <- source end address */ copy_loop: diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S index 5e81bdf..6d5c9de 100644 --- a/arch/arm/cpu/arm925t/start.S +++ b/arch/arm/cpu/arm925t/start.S @@ -95,6 +95,10 @@ _TEXT_BASE: _bss_start_ofs: .word __bss_start - _start +.global_image_copy_end_ofs +_image_copy_end_ofs: + .word __image_copy_end - _start + .globl _bss_end_ofs _bss_end_ofs: .word __bss_end__ - _start @@ -197,7 +201,7 @@ relocate_code: cmp r0, r6 beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for co
[U-Boot] [PATCH v7 14/19] imx: Fix automatic make targets for imx images
Automatically build the 'u-boot.imx' (i.e. imx header + u-boot.bin) and 'SPL' (i.e. imx header + u-boot-spl.bin) make targets for all imx processors supporting this header, so for arm926ejs, arm1136 and armv7. Some combinations were missing. At the same time, fix the build of SPL targets not supporting the imx header on arm1136. For arm1136, the 'SPL' make target was forced to build in all cases if CONFIG_SPL_BUILD was defined, even for non-imx platforms or imx setups without an imx header. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch, extracted from "nand: mxc: Switch NAND SPL to generic SPL". Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm1136/config.mk |7 +++ arch/arm/cpu/arm926ejs/config.mk |8 ++-- arch/arm/cpu/armv7/config.mk |6 ++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/arch/arm/cpu/arm1136/config.mk b/arch/arm/cpu/arm1136/config.mk index 9092d91..797d122 100644 --- a/arch/arm/cpu/arm1136/config.mk +++ b/arch/arm/cpu/arm1136/config.mk @@ -31,6 +31,13 @@ PLATFORM_CPPFLAGS += -march=armv5 # = PF_RELFLAGS_SLB_AT := $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) PLATFORM_RELFLAGS += $(PF_RELFLAGS_SLB_AT) + +ifneq ($(CONFIG_IMX_CONFIG),) +ifdef CONFIG_SPL ifdef CONFIG_SPL_BUILD ALL-y += $(OBJTREE)/SPL endif +else +ALL-y += $(obj)u-boot.imx +endif +endif diff --git a/arch/arm/cpu/arm926ejs/config.mk b/arch/arm/cpu/arm926ejs/config.mk index 6a3a1bb..f0e31d1 100644 --- a/arch/arm/cpu/arm926ejs/config.mk +++ b/arch/arm/cpu/arm926ejs/config.mk @@ -33,7 +33,11 @@ PF_RELFLAGS_SLB_AT := $(call cc-option,-mshort-load-bytes,$(call cc-option,-mali PLATFORM_RELFLAGS += $(PF_RELFLAGS_SLB_AT) ifneq ($(CONFIG_IMX_CONFIG),) - +ifdef CONFIG_SPL +ifdef CONFIG_SPL_BUILD +ALL-y += $(OBJTREE)/SPL +endif +else ALL-y += $(obj)u-boot.imx - +endif endif diff --git a/arch/arm/cpu/armv7/config.mk b/arch/arm/cpu/armv7/config.mk index 9c3e2f3..56b8053 100644 --- a/arch/arm/cpu/armv7/config.mk +++ b/arch/arm/cpu/armv7/config.mk @@ -40,5 +40,11 @@ PF_NO_UNALIGNED := $(call cc-option, -mno-unaligned-access,) PLATFORM_NO_UNALIGNED := $(PF_NO_UNALIGNED) ifneq ($(CONFIG_IMX_CONFIG),) +ifdef CONFIG_SPL +ifdef CONFIG_SPL_BUILD +ALL-y += $(OBJTREE)/SPL +endif +else ALL-y += $(obj)u-boot.imx endif +endif -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 16/19] arm926ejs: Remove deprecated and now unused NAND SPL
Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm926ejs/start.S | 10 -- 1 file changed, 10 deletions(-) diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S index 1db1152..60b0a67 100644 --- a/arch/arm/cpu/arm926ejs/start.S +++ b/arch/arm/cpu/arm926ejs/start.S @@ -120,15 +120,11 @@ _fiq: .globl _TEXT_BASE _TEXT_BASE: -#ifdef CONFIG_NAND_SPL /* deprecated, use instead CONFIG_SPL_BUILD */ - .word CONFIG_SYS_TEXT_BASE -#else #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) .word CONFIG_SPL_TEXT_BASE #else .word CONFIG_SYS_TEXT_BASE #endif -#endif /* * These are defined in the board-specific linker script. @@ -152,12 +148,6 @@ _bss_end_ofs: _end_ofs: .word _end - _start -#ifdef CONFIG_NAND_U_BOOT -.globl _end -_end: - .word __bss_end__ -#endif - #ifdef CONFIG_USE_IRQ /* IRQ stack memory (calculated at run-time) */ .globl IRQ_STACK_START -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 10/19] arm: relocate_code(): Remove useless relocation offset computation
Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm1136/start.S |1 - arch/arm/cpu/arm1176/start.S |1 - arch/arm/cpu/arm720t/start.S |1 - arch/arm/cpu/arm920t/start.S |1 - arch/arm/cpu/arm925t/start.S |1 - arch/arm/cpu/arm926ejs/start.S |2 -- arch/arm/cpu/arm946es/start.S |1 - arch/arm/cpu/arm_intcm/start.S |1 - arch/arm/cpu/armv7/start.S |1 - arch/arm/cpu/ixp/start.S |1 - arch/arm/cpu/pxa/start.S |1 - arch/arm/cpu/s3c44b0/start.S |1 - arch/arm/cpu/sa1100/start.S|1 - 13 files changed, 14 deletions(-) diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S index b5931f8..9554807 100644 --- a/arch/arm/cpu/arm1136/start.S +++ b/arch/arm/cpu/arm1136/start.S @@ -188,7 +188,6 @@ relocate_code: adr r0, _start cmp r0, r6 - moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ ldr r3, _image_copy_end_ofs diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S index d11386a..9617249 100644 --- a/arch/arm/cpu/arm1176/start.S +++ b/arch/arm/cpu/arm1176/start.S @@ -251,7 +251,6 @@ relocate_code: adr r0, _start cmp r0, r6 - moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ ldr r3, _bss_start_ofs diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S index 83722aa..d2d8b53 100644 --- a/arch/arm/cpu/arm720t/start.S +++ b/arch/arm/cpu/arm720t/start.S @@ -166,7 +166,6 @@ relocate_code: adr r0, _start cmp r0, r6 - moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ ldr r3, _bss_start_ofs diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S index f4f14e1..683cf55 100644 --- a/arch/arm/cpu/arm920t/start.S +++ b/arch/arm/cpu/arm920t/start.S @@ -205,7 +205,6 @@ relocate_code: adr r0, _start cmp r0, r6 - moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ ldr r3, _bss_start_ofs diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S index 95a0de7..5e81bdf 100644 --- a/arch/arm/cpu/arm925t/start.S +++ b/arch/arm/cpu/arm925t/start.S @@ -195,7 +195,6 @@ relocate_code: adr r0, _start cmp r0, r6 - moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ ldr r3, _bss_start_ofs diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S index 39f9a2e..93916af 100644 --- a/arch/arm/cpu/arm926ejs/start.S +++ b/arch/arm/cpu/arm926ejs/start.S @@ -211,9 +211,7 @@ relocate_code: mov r6, r2 /* save addr of destination */ adr r0, _start - sub r9, r6, r0 /* r9 <- relocation offset */ cmp r0, r6 - moveq r9, #0 /* no relocation. offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy loop */ ldr r3, _bss_start_ofs diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S index 0d57294..6ecf7ec 100644 --- a/arch/arm/cpu/arm946es/start.S +++ b/arch/arm/cpu/arm946es/start.S @@ -170,7 +170,6 @@ relocate_code: adr r0, _start cmp r0, r6 - moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ ldr r3, _bss_start_ofs diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S index f5e5381..fcfd367 100644 --- a/arch/arm/cpu/arm_intcm/start.S +++ b/arch/arm/cpu/arm_intcm/start.S @@ -166,7 +166,6 @@ relocate_code: adr r0, _start cmp r0, r6 - moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */ beq relocate_done /* skip relocation */ mov r1, r6 /* r1 <- scratch for copy_loop */ ldr r3, _bss_start_ofs diff --git a/arch/arm/cpu/armv7/s
[U-Boot] [PATCH v7 13/19] Makefile: u-boot-with-spl.bin: Fix SPL padding
PAD_TO is not a generic SPL configuration option, so use CONFIG_SPL_MAX_SIZE instead. We want to use --pad-to with a size, but this option expects an address, so use u-boot-spl.bin instead of u-boot-spl as the input file in order to get addresses starting at 0. Signed-off-by: Benoît Thébaudeau --- Changes in v7: - Use u-boot-spl.bin instead of u-boot-spl in order to avoid having to use --change-addresses. Changes in v6: - Fix size passed to --pad-to thanks to --change-addresses. Changes in v5: None Changes in v4: - New patch. Changes in v3: None Changes in v2: None Makefile |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a8c7b7b..317dffc 100644 --- a/Makefile +++ b/Makefile @@ -486,7 +486,8 @@ $(obj)u-boot.dis: $(obj)u-boot $(OBJDUMP) -d $< > $@ $(obj)u-boot-with-spl.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin - $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary $(obj)spl/u-boot-spl $(obj)spl/u-boot-spl-pad.bin + $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_MAX_SIZE) \ + -I binary -O binary $< $(obj)spl/u-boot-spl-pad.bin cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > $@ rm $(obj)spl/u-boot-spl-pad.bin -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 07/19] arm: start.S: Fix _TEXT_BASE for SPL
_TEXT_BASE must be set to CONFIG_SPL_TEXT_BASE for generic SPL, and to CONFIG_SYS_TEXT_BASE for non-SPL builds. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm1136/start.S |4 arch/arm/cpu/arm1176/start.S |8 arch/arm/cpu/arm720t/start.S |2 +- arch/arm/cpu/arm920t/start.S |4 arch/arm/cpu/arm925t/start.S |4 arch/arm/cpu/arm926ejs/start.S |2 +- arch/arm/cpu/arm946es/start.S |4 arch/arm/cpu/arm_intcm/start.S |6 +- arch/arm/cpu/armv7/start.S |4 arch/arm/cpu/ixp/start.S |4 arch/arm/cpu/pxa/start.S |2 +- arch/arm/cpu/s3c44b0/start.S |4 arch/arm/cpu/sa1100/start.S|4 13 files changed, 48 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S index a067b8a..4053e86 100644 --- a/arch/arm/cpu/arm1136/start.S +++ b/arch/arm/cpu/arm1136/start.S @@ -88,7 +88,11 @@ _end_vect: .globl _TEXT_BASE _TEXT_BASE: +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) + .word CONFIG_SPL_TEXT_BASE +#else .word CONFIG_SYS_TEXT_BASE +#endif /* * These are defined in the board-specific linker script. diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S index 40df4b1..d11386a 100644 --- a/arch/arm/cpu/arm1176/start.S +++ b/arch/arm/cpu/arm1176/start.S @@ -98,7 +98,15 @@ _end_vect: .globl _TEXT_BASE _TEXT_BASE: +#ifdef CONFIG_NAND_SPL /* deprecated, use instead CONFIG_SPL_BUILD */ .word CONFIG_SYS_TEXT_BASE +#else +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) + .word CONFIG_SPL_TEXT_BASE +#else + .word CONFIG_SYS_TEXT_BASE +#endif +#endif /* * Below variable is very important because we use MMU in U-Boot. diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S index 771d386..83722aa 100644 --- a/arch/arm/cpu/arm720t/start.S +++ b/arch/arm/cpu/arm720t/start.S @@ -85,7 +85,7 @@ _pad: .word 0x12345678 /* now 16*4=64 */ .globl _TEXT_BASE _TEXT_BASE: -#ifdef CONFIG_SPL_BUILD +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) .word CONFIG_SPL_TEXT_BASE #else .word CONFIG_SYS_TEXT_BASE diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S index 511d21d..f4f14e1 100644 --- a/arch/arm/cpu/arm920t/start.S +++ b/arch/arm/cpu/arm920t/start.S @@ -73,7 +73,11 @@ _fiq:.word fiq .globl _TEXT_BASE _TEXT_BASE: +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) + .word CONFIG_SPL_TEXT_BASE +#else .word CONFIG_SYS_TEXT_BASE +#endif /* * These are defined in the board-specific linker script. diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S index e8d6d71..95a0de7 100644 --- a/arch/arm/cpu/arm925t/start.S +++ b/arch/arm/cpu/arm925t/start.S @@ -79,7 +79,11 @@ _fiq:.word fiq .globl _TEXT_BASE _TEXT_BASE: +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) + .word CONFIG_SPL_TEXT_BASE +#else .word CONFIG_SYS_TEXT_BASE +#endif /* * These are defined in the board-specific linker script. diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S index 66a8b65..39f9a2e 100644 --- a/arch/arm/cpu/arm926ejs/start.S +++ b/arch/arm/cpu/arm926ejs/start.S @@ -123,7 +123,7 @@ _TEXT_BASE: #ifdef CONFIG_NAND_SPL /* deprecated, use instead CONFIG_SPL_BUILD */ .word CONFIG_SYS_TEXT_BASE #else -#ifdef CONFIG_SPL_BUILD +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) .word CONFIG_SPL_TEXT_BASE #else .word CONFIG_SYS_TEXT_BASE diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S index a7a98a4..0d57294 100644 --- a/arch/arm/cpu/arm946es/start.S +++ b/arch/arm/cpu/arm946es/start.S @@ -89,7 +89,11 @@ _vectors_end: .globl _TEXT_BASE _TEXT_BASE: +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) + .word CONFIG_SPL_TEXT_BASE +#else .word CONFIG_SYS_TEXT_BASE +#endif /* * These are defined in the board-specific linker script. diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S index c189849..f5e5381 100644 --- a/arch/arm/cpu/arm_intcm/start.S +++ b/arch/arm/cpu/arm_intcm/start.S @@ -85,7 +85,11 @@ _fiq: .globl _TEXT_BASE _TEXT_BASE: - .word CONFIG_SYS_TEXT_BASE /* address of _start in the linked image */ +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_TEXT_BASE) + .word CONFIG_SPL_TEXT_BASE +#else + .word CONFIG_SYS_TEXT_BASE +#endif /* * These are defined in the board-specific linker script. diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index dcc1f83..5490cee 100644 --- a/arch/arm/cpu/armv7/start.S ++
[U-Boot] [PATCH v7 12/19] arm: crt0.S: Remove bogus .globl
The purpose of .globl is to export symbols for ld, not to declare external symbols. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/lib/crt0.S | 21 - 1 file changed, 21 deletions(-) diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index 4f60958..6946cbc 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -67,27 +67,6 @@ */ /* - * declare nand_boot() or board_init_r() to jump to at end of crt0 - */ - -#if defined(CONFIG_NAND_SPL) - -.globl nand_boot - -#elif ! defined(CONFIG_SPL_BUILD) - -.globl board_init_r - -#endif - -/* - * start and end of BSS - */ - -.globl __bss_start -.globl __bss_end__ - -/* * entry point of crt0 sequence */ -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 02/19] nand: mxc: Add support for i.MX5
Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: - Separate code reformatting from behavioral changes. Changes in v2: None arch/arm/include/asm/arch-mx5/imx-regs.h |9 +++ drivers/mtd/nand/mxc_nand.c | 129 +++--- include/fsl_nfc.h| 79 +- nand_spl/nand_boot_fsl_nfc.c | 67 +++- 4 files changed, 269 insertions(+), 15 deletions(-) diff --git a/arch/arm/include/asm/arch-mx5/imx-regs.h b/arch/arm/include/asm/arch-mx5/imx-regs.h index 249d15a..9aa0c6a 100644 --- a/arch/arm/include/asm/arch-mx5/imx-regs.h +++ b/arch/arm/include/asm/arch-mx5/imx-regs.h @@ -224,6 +224,15 @@ #define CS0_32M_CS1_32M_CS2_32M_CS3_32M3 /* + * SRC register definitions + */ +#if defined(CONFIG_MX51) +#define SRC_SBMR_NF16B (1 << 2) +#elif defined(CONFIG_MX53) +#define SRC_SBMR_NF16B (1 << 13) +#endif + +/* * CSPI register definitions */ #define MXC_ECSPI diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index 045df49..cead757 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c @@ -22,7 +22,8 @@ #include #include #include -#if defined(CONFIG_MX25) || defined(CONFIG_MX27) || defined(CONFIG_MX35) +#if defined(CONFIG_MX25) || defined(CONFIG_MX27) || defined(CONFIG_MX35) || \ + defined(CONFIG_MX51) || defined(CONFIG_MX53) #include #endif #include @@ -36,6 +37,9 @@ struct mxc_nand_host { struct nand_chip*nand; struct fsl_nfc_regs __iomem *regs; +#ifdef MXC_NFC_V3_2 + struct fsl_nfc_ip_regs __iomem *ip_regs; +#endif int spare_only; int status_request; int pagesize_2k; @@ -77,7 +81,7 @@ static struct nand_ecclayout nand_hw_eccoob2k = { .oobfree = { {2, 4}, {11, 11}, {27, 11}, {43, 11}, {59, 5} }, }; #endif -#elif defined(MXC_NFC_V2_1) +#elif defined(MXC_NFC_V2_1) || defined(MXC_NFC_V3_2) #ifndef CONFIG_SYS_NAND_LARGEPAGE static struct nand_ecclayout nand_hw_eccoob = { .eccbytes = 9, @@ -130,6 +134,16 @@ static int is_16bit_nand(void) else return 0; } +#elif defined(CONFIG_MX51) || defined(CONFIG_MX53) +static int is_16bit_nand(void) +{ + struct src *src = (struct src *)SRC_BASE_ADDR; + + if (readl(&src->sbmr) & SRC_SBMR_NF16B) + return 1; + else + return 0; +} #else #warning "8/16 bit NAND autodetection not supported" static int is_16bit_nand(void) @@ -158,10 +172,17 @@ static void wait_op_done(struct mxc_nand_host *host, int max_retries, uint32_t tmp; while (max_retries-- > 0) { +#if defined(MXC_NFC_V1) || defined(MXC_NFC_V2_1) tmp = readnfc(&host->regs->config2); if (tmp & NFC_V1_V2_CONFIG2_INT) { tmp &= ~NFC_V1_V2_CONFIG2_INT; writenfc(tmp, &host->regs->config2); +#elif defined(MXC_NFC_V3_2) + tmp = readnfc(&host->ip_regs->ipc); + if (tmp & NFC_V3_IPC_INT) { + tmp &= ~NFC_V3_IPC_INT; + writenfc(tmp, &host->ip_regs->ipc); +#endif break; } udelay(1); @@ -213,7 +234,7 @@ static void send_prog_page(struct mxc_nand_host *host, uint8_t buf_id, if (spare_only) MTDDEBUG(MTD_DEBUG_LEVEL1, "send_prog_page (%d)\n", spare_only); - if (is_mxc_nfc_21()) { + if (is_mxc_nfc_21() || is_mxc_nfc_32()) { int i; /* * The controller copies the 64 bytes of spare data from @@ -229,11 +250,18 @@ static void send_prog_page(struct mxc_nand_host *host, uint8_t buf_id, } } +#if defined(MXC_NFC_V1) || defined(MXC_NFC_V2_1) writenfc(buf_id, &host->regs->buf_addr); +#elif defined(MXC_NFC_V3_2) + uint32_t tmp = readnfc(&host->regs->config1); + tmp &= ~NFC_V3_CONFIG1_RBA_MASK; + tmp |= NFC_V3_CONFIG1_RBA(buf_id); + writenfc(tmp, &host->regs->config1); +#endif /* Configure spare or page+spare access */ if (!host->pagesize_2k) { - uint16_t config1 = readnfc(&host->regs->config1); + uint32_t config1 = readnfc(&host->regs->config1); if (spare_only) config1 |= NFC_CONFIG1_SP_EN; else @@ -256,7 +284,14 @@ static void send_read_page(struct mxc_nand_host *host, uint8_t buf_id, { MTDDEBUG(MTD_DEBUG_LEVEL3, "send_read_page (%d)\n", spare_only); +#if defined(MXC_NFC_V1) || defined(MXC_NFC_V2_1) writenfc(buf_id, &host->regs->buf_addr); +#elif defined(MXC_NFC_V3_2) + uint32_t tmp = readnfc(&host->regs->config1); + tmp &= ~NFC_V3_CONFIG1_RBA_MASK; +
[U-Boot] [PATCH v7 06/19] nand: mxc: Use appropriate page number in syndrome functions
The syndrome functions should use the page number passed as argument instead of the page number saved upon NAND_CMD_READ0. This does not make any difference if the NAND_NO_AUTOINCR option is set, but otherwise this fixes accesses to the wrong pages. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - New patch. Changes in v3: None Changes in v2: None drivers/mtd/nand/mxc_nand.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index 249328e..001c2c0 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c @@ -504,7 +504,7 @@ static int mxc_nand_read_page_raw_syndrome(struct mtd_info *mtd, int n; _mxc_nand_enable_hwecc(mtd, 0); - chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, host->page_addr); + chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page); for (n = 0, steps = chip->ecc.steps; steps > 0; n++, steps--) { host->col_addr = n * eccsize; @@ -548,7 +548,7 @@ static int mxc_nand_read_page_syndrome(struct mtd_info *mtd, uint8_t *oob = chip->oob_poi; MTDDEBUG(MTD_DEBUG_LEVEL1, "Reading page %u to buf %p oob %p\n", - host->page_addr, buf, oob); + page, buf, oob); /* first read the data area and the available portion of OOB */ for (n = 0; eccsteps; n++, eccsteps--, p += eccsize) { @@ -586,7 +586,7 @@ static int mxc_nand_read_page_syndrome(struct mtd_info *mtd, /* Then switch ECC off and read the OOB area to get the ECC code */ _mxc_nand_enable_hwecc(mtd, 0); - chip->cmdfunc(mtd, NAND_CMD_READOOB, mtd->writesize, host->page_addr); + chip->cmdfunc(mtd, NAND_CMD_READOOB, mtd->writesize, page); eccsteps = chip->ecc.steps; oob = chip->oob_poi + chip->ecc.prepad; for (n = 0; eccsteps; n++, eccsteps--, p += eccsize) { -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 09/19] arm1136: Remove redundant relocate_code() return
Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch, extracted from "nand: mxc: Switch NAND SPL to generic SPL". Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm1136/start.S |2 -- 1 file changed, 2 deletions(-) diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S index 4053e86..b5931f8 100644 --- a/arch/arm/cpu/arm1136/start.S +++ b/arch/arm/cpu/arm1136/start.S @@ -239,8 +239,6 @@ fixnext: add r2, r2, #8 /* each rel.dyn entry is 8 bytes */ cmp r2, r3 blo fixloop - bx lr - #endif relocate_done: -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 08/19] arm: relocate_code() is no longer noreturn
Commit e05e5de7fae5bec79617e113916dac6631251156 made ARM's relocate_code() return to its caller, but it did not update its declaration accordingly. Fixing this function declaration fixes dropped C code following calls to relocate_code(). Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: - New patch, extracted from "nand: mxc: Switch NAND SPL to generic SPL". Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None include/common.h |6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/common.h b/include/common.h index 4ad17ea..691e279 100644 --- a/include/common.h +++ b/include/common.h @@ -515,7 +515,11 @@ intdcache_status (void); void dcache_enable (void); void dcache_disable(void); void mmu_disable(void); -void relocate_code (ulong, gd_t *, ulong) __attribute__ ((noreturn)); +void relocate_code(ulong, gd_t *, ulong) +#if !defined(CONFIG_ARM) +__attribute__ ((noreturn)) +#endif +; ulong get_endaddr (void); void trap_init (ulong); #if defined (CONFIG_4xx) || \ -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 05/19] nand: mxc: Fix debug trace in mxc_nand_read_oob_syndrome()
The page number indicated in the debug trace of mxc_nand_read_oob_syndrome() did not match the page being worked on. By the way, replace the GCC-specific __FUNCTION__ with __func__. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: None Changes in v5: - Replace __FUNCTION__ with __func__. Changes in v4: - New patch. Changes in v3: None Changes in v2: None drivers/mtd/nand/mxc_nand.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index cead757..249328e 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c @@ -450,7 +450,7 @@ static int mxc_nand_read_oob_syndrome(struct mtd_info *mtd, MTDDEBUG(MTD_DEBUG_LEVEL0, "%s: Reading OOB area of page %u to oob %p\n", -__FUNCTION__, host->page_addr, buf); +__func__, page, buf); chip->cmdfunc(mtd, NAND_CMD_READOOB, mtd->writesize, page); for (i = 0; i < chip->ecc.steps; i++) { -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 04/19] imx: mx53ard: Add support for NAND Flash
Add support for the Samsung K9LAG08U0M NAND Flash (2-GiB MLC NAND Flash, 2-kiB pages, 256-kiB blocks, 30-ns R/W cycles, 1 CS) on mx53ard. eNFC_CLK_ROOT is set up with a cycle time of 37.5 ns (400 MHz / 3 / 5) for this board, which satisfies the 30-ns NF R/W cycle requirement. Signed-off-by: Benoît Thébaudeau --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: - New patch. Changes in v2: None board/freescale/mx53ard/mx53ard.c | 18 ++ include/configs/mx53ard.h | 10 ++ 2 files changed, 28 insertions(+) diff --git a/board/freescale/mx53ard/mx53ard.c b/board/freescale/mx53ard/mx53ard.c index 2fc8570..8907388 100644 --- a/board/freescale/mx53ard/mx53ard.c +++ b/board/freescale/mx53ard/mx53ard.c @@ -58,6 +58,23 @@ void dram_init_banksize(void) gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE; } +#ifdef CONFIG_NAND_MXC +static void setup_iomux_nand(void) +{ + mxc_request_iomux(MX53_PIN_NANDF_CLE, IOMUX_CONFIG_ALT0); + mxc_request_iomux(MX53_PIN_NANDF_ALE, IOMUX_CONFIG_ALT0); + mxc_request_iomux(MX53_PIN_NANDF_CS0, IOMUX_CONFIG_ALT0); + mxc_request_iomux(MX53_PIN_NANDF_RE_B, IOMUX_CONFIG_ALT0); + mxc_request_iomux(MX53_PIN_NANDF_WE_B, IOMUX_CONFIG_ALT0); + mxc_request_iomux(MX53_PIN_NANDF_WP_B, IOMUX_CONFIG_ALT0); + mxc_request_iomux(MX53_PIN_NANDF_RB0, IOMUX_CONFIG_ALT0); +} +#else +static void setup_iomux_nand(void) +{ +} +#endif + static void setup_iomux_uart(void) { /* UART1 RXD */ @@ -277,6 +294,7 @@ static void weim_cs1_settings(void) int board_early_init_f(void) { + setup_iomux_nand(); setup_iomux_uart(); return 0; } diff --git a/include/configs/mx53ard.h b/include/configs/mx53ard.h index 62cb42b..148f7a2 100644 --- a/include/configs/mx53ard.h +++ b/include/configs/mx53ard.h @@ -41,6 +41,16 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_MXC_GPIO +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_SYS_NAND_BASE NFC_BASE_ADDR_AXI +#define CONFIG_NAND_MXC +#define CONFIG_MXC_NAND_REGS_BASE NFC_BASE_ADDR_AXI +#define CONFIG_MXC_NAND_IP_REGS_BASE NFC_BASE_ADDR +#define CONFIG_SYS_NAND_LARGEPAGE +#define CONFIG_MXC_NAND_HWECC +#define CONFIG_SYS_NAND_USE_FLASH_BBT +#define CONFIG_CMD_NAND + #define CONFIG_MXC_UART #define CONFIG_MXC_UART_BASE UART1_BASE -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 01/19] nand: mxc: Prepare to add support for i.MX5
Add some abstraction to NFC definitions so that some parts of the current code can also be used for future i.MX5 code. Clean up a few things by the way. Signed-off-by: Benoît Thébaudeau --- Changes in v7: - Fix typo in patch description. Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: - Separate code reformatting from behavioral changes. Changes in v2: - Fix warning for unused tmp variable in board_nand_init() for NFC V1. drivers/mtd/nand/mxc_nand.c | 92 +- include/fsl_nfc.h| 72 - nand_spl/nand_boot_fsl_nfc.c | 47 +++-- 3 files changed, 97 insertions(+), 114 deletions(-) diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index d0ded48..045df49 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c @@ -150,7 +150,7 @@ static uint32_t *mxc_nand_memcpy32(uint32_t *dest, uint32_t *source, size_t size /* * This function polls the NANDFC to wait for the basic operation to - * complete by checking the INT bit of config2 register. + * complete by checking the INT bit. */ static void wait_op_done(struct mxc_nand_host *host, int max_retries, uint16_t param) @@ -158,10 +158,10 @@ static void wait_op_done(struct mxc_nand_host *host, int max_retries, uint32_t tmp; while (max_retries-- > 0) { - if (readw(&host->regs->config2) & NFC_INT) { - tmp = readw(&host->regs->config2); - tmp &= ~NFC_INT; - writew(tmp, &host->regs->config2); + tmp = readnfc(&host->regs->config2); + if (tmp & NFC_V1_V2_CONFIG2_INT) { + tmp &= ~NFC_V1_V2_CONFIG2_INT; + writenfc(tmp, &host->regs->config2); break; } udelay(1); @@ -180,8 +180,8 @@ static void send_cmd(struct mxc_nand_host *host, uint16_t cmd) { MTDDEBUG(MTD_DEBUG_LEVEL3, "send_cmd(host, 0x%x)\n", cmd); - writew(cmd, &host->regs->flash_cmd); - writew(NFC_CMD, &host->regs->config2); + writenfc(cmd, &host->regs->flash_cmd); + writenfc(NFC_CMD, &host->regs->operation); /* Wait for operation to complete */ wait_op_done(host, TROP_US_DELAY, cmd); @@ -196,8 +196,8 @@ static void send_addr(struct mxc_nand_host *host, uint16_t addr) { MTDDEBUG(MTD_DEBUG_LEVEL3, "send_addr(host, 0x%x)\n", addr); - writew(addr, &host->regs->flash_addr); - writew(NFC_ADDR, &host->regs->config2); + writenfc(addr, &host->regs->flash_addr); + writenfc(NFC_ADDR, &host->regs->operation); /* Wait for operation to complete */ wait_op_done(host, TROP_US_DELAY, addr); @@ -229,19 +229,19 @@ static void send_prog_page(struct mxc_nand_host *host, uint8_t buf_id, } } - writew(buf_id, &host->regs->buf_addr); + writenfc(buf_id, &host->regs->buf_addr); /* Configure spare or page+spare access */ if (!host->pagesize_2k) { - uint16_t config1 = readw(&host->regs->config1); + uint16_t config1 = readnfc(&host->regs->config1); if (spare_only) - config1 |= NFC_SP_EN; + config1 |= NFC_CONFIG1_SP_EN; else - config1 &= ~NFC_SP_EN; - writew(config1, &host->regs->config1); + config1 &= ~NFC_CONFIG1_SP_EN; + writenfc(config1, &host->regs->config1); } - writew(NFC_INPUT, &host->regs->config2); + writenfc(NFC_INPUT, &host->regs->operation); /* Wait for operation to complete */ wait_op_done(host, TROP_US_DELAY, spare_only); @@ -256,19 +256,19 @@ static void send_read_page(struct mxc_nand_host *host, uint8_t buf_id, { MTDDEBUG(MTD_DEBUG_LEVEL3, "send_read_page (%d)\n", spare_only); - writew(buf_id, &host->regs->buf_addr); + writenfc(buf_id, &host->regs->buf_addr); /* Configure spare or page+spare access */ if (!host->pagesize_2k) { - uint32_t config1 = readw(&host->regs->config1); + uint32_t config1 = readnfc(&host->regs->config1); if (spare_only) - config1 |= NFC_SP_EN; + config1 |= NFC_CONFIG1_SP_EN; else - config1 &= ~NFC_SP_EN; - writew(config1, &host->regs->config1); + config1 &= ~NFC_CONFIG1_SP_EN; + writenfc(config1, &host->regs->config1); } - writew(NFC_OUTPUT, &host->regs->config2); + writenfc(NFC_OUTPUT, &host->regs->operation); /* Wait for operation to complete */ wait_op_done(host, TROP_US_DELAY, spare_only); @@ -296,14 +296,14 @@ static void send_read_id(struct
[U-Boot] [PATCH v7 03/19] imx: mx5: lowlevel_init: Simplify code
Don't use several instructions to build constant values. Signed-off-by: Benoît Thébaudeau Acked-by: Stefano Babic --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: - New patch. Changes in v2: None arch/arm/cpu/armv7/mx5/lowlevel_init.S |8 ++-- 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/arm/cpu/armv7/mx5/lowlevel_init.S b/arch/arm/cpu/armv7/mx5/lowlevel_init.S index 6d9396a..dfce0ca 100644 --- a/arch/arm/cpu/armv7/mx5/lowlevel_init.S +++ b/arch/arm/cpu/armv7/mx5/lowlevel_init.S @@ -309,8 +309,7 @@ setup_pll_func: ldr r0, =CCM_BASE_ADDR ldr r1, =0x00015154 str r1, [r0, #CLKCTL_CBCMR] -ldr r1, =0x02888945 -orr r1, r1, #(1 << 16) +ldr r1, =0x02898945 str r1, [r0, #CLKCTL_CBCDR] /* make sure change is effective */ 1: ldr r1, [r0, #CLKCTL_CDHIPR] @@ -321,10 +320,7 @@ setup_pll_func: /* Switch peripheral to PLL2 */ ldr r0, =CCM_BASE_ADDR - ldr r1, =0x00808145 - orr r1, r1, #(2 << 10) - orr r1, r1, #(0 << 16) - orr r1, r1, #(1 << 19) + ldr r1, =0x00888945 str r1, [r0, #CLKCTL_CBCDR] ldr r1, =0x00016154 -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] break command.
On Fri, Feb 15, 2013 at 02:00:10PM -0500, Harvey Chapman wrote: > On Feb 15, 2013, at 7:38 AM, Albert ARIBAUD wrote: > > On Thu, 14 Feb 2013 12:19:11 -0800 > > (PST), Sean Omalley wrote: > > > >> Is there anyway to break back into u-boot after trying to boot from linux > >> (arm)? Similar to Open Firmwares stop-a, ctrl-break? I didn't see anything > >> in the documentation nor poking around online. I am really hoping I missed > >> something, or there is support that just needs to be compiled in. :) > >> > > As soon as U-Boot gives control to the payload (Linux or whatever) > > there is no possible assumption that U-Boot remains intact in RAM, so > > your only chance is indeed some hardware reset... But then the question > > is not related to U-Boot any more. > > On that note, does anyone know of a device that would do this? Perhaps a > combination device like this: > > - USB interface to a pc > - serial port for device > - relay controllable A/C power plug (U.S.) > - controllable gpio (for wiring to a power button, reset switch, etc) > I have a BayTech network-attached powerstrip that does something similar. It has switchable AC outlets and network-accessible serial ports, but it doesn't have controllable GPIOs or a USB interface. Ira ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] break command.
On 02/15/2013 02:00 PM, Harvey Chapman wrote: > On Feb 15, 2013, at 7:38 AM, Albert ARIBAUD wrote: >> On Thu, 14 Feb 2013 12:19:11 -0800 >> (PST), Sean Omalley wrote: >> >>> Is there anyway to break back into u-boot after trying to boot from linux >>> (arm)? Similar to Open Firmwares stop-a, ctrl-break? I didn't see anything >>> in the documentation nor poking around online. I am really hoping I missed >>> something, or there is support that just needs to be compiled in. :) >>> >> As soon as U-Boot gives control to the payload (Linux or whatever) >> there is no possible assumption that U-Boot remains intact in RAM, so >> your only chance is indeed some hardware reset... But then the question >> is not related to U-Boot any more. > On that note, does anyone know of a device that would do this? Perhaps a > combination device like this: > > - USB interface to a pc > - serial port for device > - relay controllable A/C power plug (U.S.) > - controllable gpio (for wiring to a power button, reset switch, etc) > > If your board/processor has it, a watchdog can be used to force a reset if it expires... -- Peter Barada peter.bar...@logicpd.com ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 00/10] Add Marvell Dove and SolidRun CuBox
> -Original Message- > From: Jason Cooper [mailto:ja...@lakedaemon.net] > Sent: 14 February 2013 13:44 > To: Daniel Stodden > Cc: Prafulla Wadaskar; Luka Perkov; Sebastian Hesselbarth; Rabeeh > Khoury; u-boot@lists.denx.de; a...@theia.denx.de; Fleming > Subject: Re: [U-Boot] [PATCH v3 00/10] Add Marvell Dove and SolidRun > CuBox > > On Thu, Feb 14, 2013 at 01:35:47PM -0800, Daniel Stodden wrote: > > On Thu, 2013-02-14 at 13:38 -0500, Jason Cooper wrote: > > > On Mon, Feb 11, 2013 at 02:46:57PM -0800, Prafulla Wadaskar wrote: > > > > > > > > > > > > > -Original Message- > > > > > From: Luka Perkov [mailto:l...@openwrt.org] > > > > > Sent: 11 February 2013 02:08 > > > > > To: Sebastian Hesselbarth > > > > > Cc: Prafulla Wadaskar; u-boot@lists.denx.de; Rabeeh Khoury; > Albert > > > > > Aribaud; Andy Fleming; Joe Hershberger; Daniel Stodden > > > > > Subject: Re: [PATCH v3 00/10] Add Marvell Dove and SolidRun > CuBox > > > > > > > > > > On Mon, Feb 11, 2013 at 10:43:00AM +0100, Sebastian > Hesselbarth wrote: > > > > > > u-boot has kwboot for kirkwood since ages, but the general > > > > > functionality > > > > > > to boot through UART boot mode also applies to above SoCs. I > took > > > > > > kwbimage to reflect that kwboot should be used for booting > this > > > > > image. > > > > > > IMHO introducing new abbreviated image names like dvbimage > will just > > > > > > distract people from using the correct tool to boot it. > kwboot will > > > > > not > > > > > > be renamed, will it? > > > > > > > > > > I don't mind if we rename kwboot to lets say mvebu-boot. That > name > > > > > would > > > > > fit for kirkwood, dove and armada SoCs in the future... > > > > > > > > That's good idea. > > > > I vote for renaming kwboot as "mvboot", that will inline with > predefined file naming strategy. > > > > > > Is kwboot practically extensible to mmp and pxa? > > > > If those have a similar mechanism, and it happens to be based on > Xmodem, > > then there's probably sharable ground. > > > > The boot message protocol on Marvell chips is a fairly ad-hoc > construct. > > right, I was more concerned with the naming convention. At least in > the > kernel, mvebu includes all Marvell SoCs _except_ mmp and pxa. I would > presume mv would be an all-inclusive name. > > I didn't really have a strong opinion on it, so I'm fine either way. > In > hindsight, I'd prefer not to type 'mvebu-boot'... If the code or tool is being shared between more that one Marvell SoCs, it makes sense to use mv_** naming convention. This is to inline with the Marvell's naming strategy implemented so far in u-boot code. Whereas, we can always have _ type of naming conventions for specific implementation. At present, kwboot is specific to Kirkwood, the support is being extended for Dove and latter few more.. so it makes sense to rename it as mvboot. I need to check whether kwboot is practically extensible to mmp and pxa, but it makes sense to rename it as mvboot since it supports more than Kirkwood. Regards.. Prafulla . . . ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] break command.
On Feb 15, 2013, at 7:38 AM, Albert ARIBAUD wrote: > On Thu, 14 Feb 2013 12:19:11 -0800 > (PST), Sean Omalley wrote: > >> Is there anyway to break back into u-boot after trying to boot from linux >> (arm)? Similar to Open Firmwares stop-a, ctrl-break? I didn't see anything >> in the documentation nor poking around online. I am really hoping I missed >> something, or there is support that just needs to be compiled in. :) >> > As soon as U-Boot gives control to the payload (Linux or whatever) > there is no possible assumption that U-Boot remains intact in RAM, so > your only chance is indeed some hardware reset... But then the question > is not related to U-Boot any more. On that note, does anyone know of a device that would do this? Perhaps a combination device like this: - USB interface to a pc - serial port for device - relay controllable A/C power plug (U.S.) - controllable gpio (for wiring to a power button, reset switch, etc) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v1] Exynos5: Pinmux: Add fdt for pinmux
This patch adds fdt nodes for peripherals which require pin muxing and configuration. Existing pinmux code modified to retrieve gpio range and function related info from fdt. Signed-off-by: Akshay Saraswat --- arch/arm/cpu/armv7/exynos/pinmux.c| 287 - arch/arm/dts/exynos5250.dtsi | 197 arch/arm/include/asm/arch-exynos/pinmux.h |9 + include/fdtdec.h |1 + lib/fdtdec.c |1 + 5 files changed, 405 insertions(+), 90 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c index c79d58e..801fa44 100644 --- a/arch/arm/cpu/armv7/exynos/pinmux.c +++ b/arch/arm/cpu/armv7/exynos/pinmux.c @@ -27,87 +27,136 @@ #include #include -static void exynos5_uart_config(int peripheral) +DECLARE_GLOBAL_DATA_PTR; + +static int get_fdt_values(struct pinmux_dev *pdev) +{ + int node, subnode; + int depthp = 0; + + /* Get the node from FDT for pinmux */ + node = fdtdec_next_compatible(gd->fdt_blob, 0, + COMPAT_SAMSUNG_PINMUX); + if (node < 0) { + printf("PINMUX: No node for pinmux in device tree\n"); + return -1; + } + + /* Trace subnodes for the given peripheral's node */ + for (subnode = fdtdec_next_compatible_subnode(gd->fdt_blob, node, + COMPAT_SAMSUNG_PINMUX, &depthp); subnode > 0; + subnode = fdtdec_next_compatible_subnode(gd->fdt_blob, subnode, + COMPAT_SAMSUNG_PINMUX, &depthp)) { + + int len; + char *periph_name = (char *)fdt_get_name(gd->fdt_blob, + subnode, &len); + + /* If peripheral name matches to the node name */ + if (!(strcmp(periph_name, pdev->dev_name))) { + pdev->start = fdtdec_get_int(gd->fdt_blob, + subnode, "samsung,pin-base", -1); + pdev->count = fdtdec_get_int(gd->fdt_blob, + subnode, "samsung,pin-count", -1); + pdev->start_ext = fdtdec_get_int(gd->fdt_blob, + subnode, "samsung,pin-ext", -1); + pdev->function = fdtdec_get_int(gd->fdt_blob, + subnode, "samsung,pin-function", -1); + break; + } + } + + return 0; +} + +static int exynos5_uart_config(int peripheral) { - int i, start, count; + int i; + struct pinmux_dev pdev; switch (peripheral) { case PERIPH_ID_UART0: - start = GPIO_A00; - count = 4; + pdev.dev_name = "pingrp-uart0"; break; case PERIPH_ID_UART1: - start = GPIO_D00; - count = 4; + pdev.dev_name = "pingrp-uart1"; break; case PERIPH_ID_UART2: - start = GPIO_A10; - count = 4; + pdev.dev_name = "pingrp-uart2"; break; case PERIPH_ID_UART3: - start = GPIO_A14; - count = 2; + pdev.dev_name = "pingrp-uart3"; break; } - for (i = start; i < start + count; i++) { - gpio_set_pull(i, GPIO_PULL_NONE); - gpio_cfg_pin(i, GPIO_FUNC(0x2)); + + /* Retrieve gpio range and base for this UART */ + if (get_fdt_values(&pdev)) + return -1; + + /* Apply pin configurations */ + for (i = 0; i < pdev.count; i++) { + gpio_set_pull(pdev.start + i, GPIO_PULL_NONE); + gpio_cfg_pin(pdev.start + i, GPIO_FUNC(pdev.function)); } + + return 0; } static int exynos5_mmc_config(int peripheral, int flags) { - int i, start, start_ext, gpio_func = 0; + int i; + struct pinmux_dev pdev; switch (peripheral) { case PERIPH_ID_SDMMC0: - start = GPIO_C00; - start_ext = GPIO_C10; - gpio_func = GPIO_FUNC(0x2); + pdev.dev_name = "pingrp-sdmmc0"; break; case PERIPH_ID_SDMMC1: - start = GPIO_C20; - start_ext = 0; + pdev.dev_name = "pingrp-sdmmc1"; break; case PERIPH_ID_SDMMC2: - start = GPIO_C30; - start_ext = GPIO_C43; - gpio_func = GPIO_FUNC(0x3); + pdev.dev_name = "pingrp-sdmmc2"; break; case PERIPH_ID_SDMMC3: - start = GPIO_C40; - start_ext = 0; + pdev.dev_name = "pingrp-sdmmc3"; break; } - if ((flags & PINMUX_FLAG_8BIT_MODE) && !start_ext) { + + /* Retrieve gpio rang
Re: [U-Boot] Please pull u-boot-x86.git
On Thu, Feb 14, 2013 at 08:39:53PM -0800, Simon Glass wrote: > Hi Tom, > > The following changes since commit 9c748e02d99476e6a08d55eadfd8776edffe1e2e: > > Merge branch 'next' of git://git.denx.de/u-boot-mips (2013-02-12 > 19:03:59 -0500) > > are available in the git repository at: > > > git://git.denx.de/u-boot-x86.git master > > for you to fetch changes up to 96dfc0633aabb4f8fb720d39d9deb29dde08749b: > > x86: Remove unused real mode code (2013-02-14 20:19:03 -0800) > > > Simon Glass (5): > x86: Remove eNET boards > x86: Remove sc520 cpu > x86: Remove unneeded cruft from main Makefile > x86: Rename CONFIG_NO_X86_RESET_VECTOR to CONFIG_X86_RESET_VECTOR > x86: Remove unused real mode code > > Makefile| 6 +- > README | 11 +- > arch/x86/cpu/Makefile | 4 +- > arch/x86/cpu/sc520/Makefile | 58 > arch/x86/cpu/sc520/asm-offsets.c| 45 -- > arch/x86/cpu/sc520/sc520.c | 66 - > arch/x86/cpu/sc520/sc520_car.S | 94 > arch/x86/cpu/sc520/sc520_pci.c | 142 -- > arch/x86/cpu/sc520/sc520_reset.c| 40 - > arch/x86/cpu/sc520/sc520_sdram.c| 479 > > arch/x86/cpu/sc520/sc520_ssi.c | 93 > arch/x86/cpu/sc520/sc520_timer.c| 89 > arch/x86/cpu/u-boot.lds | 2 +- > arch/x86/include/asm/arch-sc520/pci.h | 79 -- > arch/x86/include/asm/arch-sc520/sc520.h | 372 > --- > arch/x86/include/asm/arch-sc520/ssi.h | 34 - > arch/x86/include/asm/realmode.h | 36 - > arch/x86/lib/Makefile | 10 -- > arch/x86/lib/bios.S | 569 > --- > arch/x86/lib/bios.h | 3 - > arch/x86/lib/bios_pci.S | 447 > > arch/x86/lib/bios_setup.c | 179 --- > arch/x86/lib/realmode.c | 93 > arch/x86/lib/realmode_switch.S | 232 - > arch/x86/lib/video.c| 6 - > arch/x86/lib/video_bios.c | 196 - > arch/x86/lib/zimage.c | 23 --- > board/eNET/Makefile | 52 --- > board/eNET/eNET.c | 284 > > board/eNET/eNET_pci.c | 128 > board/eNET/eNET_start.S | 30 > board/eNET/eNET_start16.S | 87 --- > board/eNET/hardware.h | 36 - > boards.cfg | 2 - > include/configs/coreboot.h | 1 - > include/configs/eNET.h | 619 > -- > 36 files changed, 7 insertions(+), 4640 deletions(-) > delete mode 100644 arch/x86/cpu/sc520/Makefile > delete mode 100644 arch/x86/cpu/sc520/asm-offsets.c > delete mode 100644 arch/x86/cpu/sc520/sc520.c > delete mode 100644 arch/x86/cpu/sc520/sc520_car.S > delete mode 100644 arch/x86/cpu/sc520/sc520_pci.c > delete mode 100644 arch/x86/cpu/sc520/sc520_reset.c > delete mode 100644 arch/x86/cpu/sc520/sc520_sdram.c > delete mode 100644 arch/x86/cpu/sc520/sc520_ssi.c > delete mode 100644 arch/x86/cpu/sc520/sc520_timer.c > delete mode 100644 arch/x86/include/asm/arch-sc520/pci.h > delete mode 100644 arch/x86/include/asm/arch-sc520/sc520.h > delete mode 100644 arch/x86/include/asm/arch-sc520/ssi.h > delete mode 100644 arch/x86/include/asm/realmode.h > delete mode 100644 arch/x86/lib/bios.S > delete mode 100644 arch/x86/lib/bios_pci.S > delete mode 100644 arch/x86/lib/bios_setup.c > delete mode 100644 arch/x86/lib/realmode.c > delete mode 100644 arch/x86/lib/realmode_switch.S > delete mode 100644 arch/x86/lib/video_bios.c > delete mode 100644 board/eNET/Makefile > delete mode 100644 board/eNET/eNET.c > delete mode 100644 board/eNET/eNET_pci.c > delete mode 100644 board/eNET/eNET_start.S > delete mode 100644 board/eNET/eNET_start16.S > delete mode 100644 board/eNET/hardware.h > delete mode 100644 include/configs/eNET.h Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [GIT PULL] u-boot-mips/fixes for master
On Fri, Feb 15, 2013 at 06:21:59PM +0100, Daniel Schwierzeck wrote: > Hi Tom, > > please pull a bugfix for the dynamic relocation patches from last pull > request. > Without the patch, saveenv command is broken on MIPS. > > Thanks, > Daniel > > The following changes since commit 9c748e02d99476e6a08d55eadfd8776edffe1e2e: > > Merge branch 'next' of git://git.denx.de/u-boot-mips (2013-02-12 > 19:03:59 -0500) > > are available in the git repository at: > > > git://git.denx.de/u-boot-mips.git fixes > > for you to fetch changes up to 455fbfb668fc8760f45ea099eb182096f3632b15: > > MIPS: board.c: remove manual relocation of env_name_spec (2013-02-15 > 18:00:04 +0100) > > > Daniel Schwierzeck (1): > MIPS: board.c: remove manual relocation of env_name_spec > > arch/mips/lib/board.c | 8 > 1 file changed, 8 deletions(-) Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [GIT PULL] u-boot-mips/fixes for master
Hi Tom, please pull a bugfix for the dynamic relocation patches from last pull request. Without the patch, saveenv command is broken on MIPS. Thanks, Daniel The following changes since commit 9c748e02d99476e6a08d55eadfd8776edffe1e2e: Merge branch 'next' of git://git.denx.de/u-boot-mips (2013-02-12 19:03:59 -0500) are available in the git repository at: git://git.denx.de/u-boot-mips.git fixes for you to fetch changes up to 455fbfb668fc8760f45ea099eb182096f3632b15: MIPS: board.c: remove manual relocation of env_name_spec (2013-02-15 18:00:04 +0100) Daniel Schwierzeck (1): MIPS: board.c: remove manual relocation of env_name_spec arch/mips/lib/board.c | 8 1 file changed, 8 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] MIPS: board.c: remove manual relocation of env_name_spec
Remove the manual relocation of env_name_spec. This has been missed in the previous patch series for introducing dynamic relocation on MIPS. Signed-off-by: Daniel Schwierzeck --- arch/mips/lib/board.c | 8 1 file changed, 8 deletions(-) diff --git a/arch/mips/lib/board.c b/arch/mips/lib/board.c index 7a656f6..6c65d97 100644 --- a/arch/mips/lib/board.c +++ b/arch/mips/lib/board.c @@ -267,9 +267,6 @@ void board_init_r(gd_t *id, ulong dest_addr) #ifndef CONFIG_SYS_NO_FLASH ulong size; #endif -#ifndef CONFIG_ENV_IS_NOWHERE - extern char *env_name_spec; -#endif bd_t *bd; gd = id; @@ -283,11 +280,6 @@ void board_init_r(gd_t *id, ulong dest_addr) serial_initialize(); - /* there are some other pointer constants we must deal with */ -#ifndef CONFIG_ENV_IS_NOWHERE - env_name_spec += gd->reloc_off; -#endif - bd = gd->bd; /* The Malloc area is immediately below the monitor copy in DRAM */ -- 1.8.1.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] timing issue - uboot freeze after pringing header
I am trying to move from uboot-1.3.6 to uboot 2013.01, where the old works, the new prints this before freezing: U-Boot 2013.01 (Feb 14 2013 - 16:24:13) CPU: AT91SAM9G20 Crystal frequency: 18.432 MHz CPU clock: 396.288 MHz Master clock : 132.096 MHz My board is the at91sam9g20ek_2mmc. at91bootstrap-1.1.6 loads uboot. I am trying both nandflash and dataflash versions, using include/configs/at91sam9260ek.h Messing with settings I have got it back to a state of not printing anything. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4 4/4] Tegra: MMC: Add DT support to MMCdriver for all T20 boards
Stephen, On Thursday 14 February 2013 16:12:42 Stephen Warren wrote: > On 02/14/2013 02:04 PM, Tom Warren wrote: > > tegra_mmc_init() now parses the DT info for bus width, WP/CD GPIOs, etc. > > Tested on Seaboard, fully functional. > > > > Tamonten boards (medcom-wide, plutux, and tec) use a different/new > > dtsi file w/common settings. > > > > diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c > > > > @@ -515,44 +483,47 @@ static int mmc_core_init(struct mmc *mmc) > > > > int tegra_mmc_getcd(struct mmc *mmc) > > { > > > > struct mmc_host *host = (struct mmc_host *)mmc->priv; > > > > + debug("%s called, host->cd_gpio = 0x%08X\n", __func__, > > + (unsigned)&host->cd_gpio); > > That last line should be: > > host->cd_gpio.gpio; > > The case is because it's a struct address, not the GPIO you want to print. > > > +static int do_mmc_init(int dev_index) > > > > - if (host->pwr_gpio >= 0) { > > + if (fdt_gpio_isvalid(&host->pwr_gpio)) { > > > > sprintf(gpusage, "SD/MMC%d PWR", dev_index); > > > > - gpio_request(host->pwr_gpio, gpusage); > > - gpio_direction_output(host->pwr_gpio, 1); > > + gpio_request(host->pwr_gpio.gpio, gpusage); > > + fdtdec_set_gpio(&host->pwr_gpio, 1); > > That change completely removes the call to gpio_direction_output; > fdtdec_set_gpio() doesn't do that. This is the cause of the problem on > PAZ00, and Harmony. > > > - if (host->cd_gpio >= 0) { > > + if (fdt_gpio_isvalid(&host->cd_gpio)) { > > > > sprintf(gpusage, "SD/MMC%d CD", dev_index); > > > > - gpio_request(host->cd_gpio, gpusage); > > - gpio_direction_input(host->cd_gpio); > > + gpio_request(host->cd_gpio.gpio, gpusage); > > + card_det = fdtdec_get_gpio(&host->cd_gpio); > > Similarly, this change removes the call to gpio_direction_input(); > fdtdec_get_gpio() just reads the GPIO's value and is pointless here. > > I'll go retest all the boards after fixing that... yup - with these changes, everything is fine again on PAZ00. Marc ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 10/10] MAINTAINERS: add ti814x_evm maintainer
On Wed, Feb 13, 2013 at 09:44:04AM -0500, Matt Porter wrote: > Add a maintainer entry for the TI814x EVM. > > Signed-off-by: Matt Porter Please squash this into the patch which adds the EVM, thanks. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 09/10] ti814x_evm: enable ti814x evm build
On Wed, Feb 13, 2013 at 09:44:03AM -0500, Matt Porter wrote: > Enable TI814X EVM build via ti814x_evm target. > > Signed-off-by: Matt Porter This should just get squashed into the patch that adds the board code. Otherwise, Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 08/10] ns16550: enable quirks for ti814x
On Wed, Feb 13, 2013 at 09:44:02AM -0500, Matt Porter wrote: > TI814X requires the same quirks as AM33XX to be enabled. > > Signed-off-by: Matt Porter Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 07/10] ti814x_evm: add ti814x evm board support
On Wed, Feb 13, 2013 at 09:44:01AM -0500, Matt Porter wrote: > Add TI814X EVM board directory and config file. > > Signed-off-by: Matt Porter [snip] > +++ b/board/ti/ti814x/evm.h > @@ -0,0 +1,7 @@ > +#ifndef _EVM_H [snip] > +++ b/include/configs/ti814x_evm.h > @@ -0,0 +1,213 @@ > +#define __CONFIG_TI814X_EVM_H Needs GPLv2 or later boilerplate. [snip] > +#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ > +#define CONFIG_SETUP_MEMORY_TAGS 1 > +#define CONFIG_INITRD_TAG1 /* for ramdisk support */ Just #define CONFIG_FOO in these cases (and some others that follow) [snip] > + "findfdt="\ > + "if test $board_name = A335BONE; then " \ > + "setenv fdtfile am335x-bone.dtb; fi; " \ > + "if test $board_name = A33515BB; then " \ > + "setenv fdtfile am335x-evm.dtb; fi; " \ > + "if test $board_name = A335X_SK; then " \ > + "setenv fdtfile am335x-evmsk.dtb; fi\0" \ That's not right :) [snip] > +/* memtest works on 8 MB in DRAM offset 32MB from start of ram disk*/ > +#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64 * 1024 * 1024)) > +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ > + + (8 * 1024 * 1024)) This isn't your mistake initially, but this should just be start of memory to smallest possible config the evm can come with - 4MB. [snip] > +#undef CONFIG_NAND_OMAP_GPMC Just leave it out. > +#define CONFIG_SYS_BAUDRATE_TABLE{ 110, 300, 600, 1200, 2400, \ > +4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 } Leave that out and get the generic table. am335x needs to be updated for that. [snip] > +/* Since SPL did pll and ddr initialization for us, > + * we don't need to do it twice. > + */ /* * Must be like * this. */ -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 06/10] am33xx: add dmm support to emif4 library
On Wed, Feb 13, 2013 at 09:44:00AM -0500, Matt Porter wrote: > Adds a config_dmm() routine to support TI814X DMM configuration. > > Signed-off-by: Matt Porter Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 05/10] am33xx: add ti814x specific register definitions
On Wed, Feb 13, 2013 at 09:43:59AM -0500, Matt Porter wrote: > Support the ti814x specific register definitions within > arch-am33xx. > > Signed-off-by: Matt Porter Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 04/10] am33xx: refactor am33xx mux support and add ti814x support
On Wed, Feb 13, 2013 at 09:43:58AM -0500, Matt Porter wrote: > AM33XX and TI814X have a similar mux though the pinmux register > layout and address space differ. Add a separate ti814x mux include > to support the TI814X-specific differences. > > Signed-off-by: Matt Porter Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 03/10] am33xx: refactor am33xx clocks and add ti814x support
On Wed, Feb 13, 2013 at 09:43:57AM -0500, Matt Porter wrote: > Split clock.c for am335x and ti814x and add the ti814x include file. > > Signed-off-by: Matt Porter [snip] > +++ b/arch/arm/cpu/armv7/am33xx/clock-am335x.c [snip] > +#define PRCM_MOD_EN 0x2 > +#define PRCM_FORCE_WAKEUP0x2 > +#define PRCM_FUNCTL 0x0 > + > +#define PRCM_EMIF_CLK_ACTIVITY BIT(2) > +#define PRCM_L3_GCLK_ACTIVITYBIT(4) > + > +#define PLL_BYPASS_MODE 0x4 > +#define ST_MN_BYPASS 0x0100 > +#define ST_DPLL_CLK 0x0001 > +#define CLK_SEL_MASK 0x7 > +#define CLK_DIV_MASK 0x1f > +#define CLK_DIV2_MASK0x7f > +#define CLK_SEL_SHIFT0x8 > +#define CLK_MODE_SEL 0x7 > +#define CLK_MODE_MASK0xfff8 > +#define CLK_DIV_SEL 0xFFE0 > +#define CPGMAC0_IDLE 0x3 > +#define DPLL_CLKDCOLDO_GATE_CTRL0x300 [snip] > +++ b/arch/arm/cpu/armv7/am33xx/clock-ti814x.c [snip] > + /* Selects OSC0 (20MHz) for DMTIMER1 */ > + temp = readl(DMTIMER_CLKSRC); > + temp &= ~(0x7 << 3); > + temp |= (0x4 << 3); > + writel(temp, DMTIMER_CLKSRC); > + > + writel(0x2, DM_TIMER1_BASE + 0x54); Magic values are defined for clock-am335x.c but not in clock-ti814x.c, please fix clock-ti814x.c to define out the magic values ala am335x.c. Thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 02/10] am33xx: refactor emif4/ddr to support multiple EMIF instances
On Wed, Feb 13, 2013 at 09:43:56AM -0500, Matt Porter wrote: > The AM33xx emif4/ddr support closely matches what is need to support > TI814x except that TI814x has two EMIF instances. Refactor all the > emif4 helper calls and the config_ddr() init function to use an > additional instance number argument. > > Signed-off-by: Matt Porter Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 01/10] am33xx: convert defines from am33xx-specific to generic names
On Wed, Feb 13, 2013 at 09:43:55AM -0500, Matt Porter wrote: > Eliminate AM33xx specific names to prepare for TI814x support > within AM33xx-land. > > Signed-off-by: Matt Porter Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 7/7] arm: dra7xx: Add dra7xx_evm build support
On Wed, Feb 13, 2013 at 12:59:09PM +0530, Lokesh Vutla wrote: > Adding the build support for dra7xx_evm. > Reusing omap5_evm.h config by moving it to omap5_common.h > > Signed-off-by: Lokesh Vutla > Signed-off-by: R Sricharan [snip] > +#define CONFIG_DRA752_EVM [snip] > #define CONFIG_OMAP5430 /* which is in a 5430 */ > #define CONFIG_5430EVM /* working with EVM */ Are these three ever used? I don't see the two current OMAP5 ones anywhere and I suspect the new DRA one isn't either. I know we'll need separate config files at some point down the line, so I'm fine with creating a small dra7xx_evm config file. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 6/7] arm: dra7xx: Add board files for DRA7XX socs
On Wed, Feb 13, 2013 at 12:59:08PM +0530, Lokesh Vutla wrote: > Adding new board files for DRA7XX socs. > The pad registers layout is changed completely from OMAP5 > So introducing the new structure here and also adding the > minimal data. > > Signed-off-by: Lokesh Vutla > Signed-off-by: Nishant Kamat > Signed-off-by: R Sricharan Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 5/7] arm: dra7xx: Add DDR related data for DRA752 ES1.0
On Wed, Feb 13, 2013 at 12:59:07PM +0530, Lokesh Vutla wrote: > DRA752 uses DDR3. Populating the corresponding structures > with DDR3 data. > Writing into MA registers if only MA is present in that soc. > > Signed-off-by: Lokesh Vutla > Signed-off-by: R Sricharan Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 4/7] arm: dra7xx: Add control module changes
On Wed, Feb 13, 2013 at 12:59:06PM +0530, Lokesh Vutla wrote: > Control module register addresses are changed from OMAP5 > to DRA7XX socs. > So adding the necessary changes for the same. > > Signed-off-by: Lokesh Vutla > Signed-off-by: R Sricharan Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/7] arm: dra7xx: clock: Add the dplls data
On Wed, Feb 13, 2013 at 12:59:05PM +0530, Lokesh Vutla wrote: > A new DPLL DDR is added in DRA7XX socs. Now clocks to > EMIF CD is from DPLL DDR. So DPLL DDR should be locked > before initializing RAM. > Also adding other dpll data which are different from OMAP5 ES2.0. > SYS_CLK running at 20MHz is introduced in DRA7xx socs. > > Signed-off-by: Lokesh Vutla > Signed-off-by: R Sricharan Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/7] arm: dra7xx: clock: Add the prcm changes
On Wed, Feb 13, 2013 at 12:59:04PM +0530, Lokesh Vutla wrote: > PRCM register addresses are changed from OMAP5 ES2.0 to DRA7XX. > So adding the necessary register changes for DRA7XX socs. > > Signed-off-by: Lokesh Vutla > Signed-off-by: R Sricharan Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/7] arm: dra7xx: Add silicon id support for DRA752 soc
On Wed, Feb 13, 2013 at 12:59:03PM +0530, Lokesh Vutla wrote: > Adding CPU detection support for the DRA752 ES1.0 soc. > > Signed-off-by: Lokesh Vutla > Signed-off-by: R Sricharan Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Pull request: u-boot-arm/master
On Tue, Feb 12, 2013 at 03:25:49PM +0100, Albert ARIBAUD wrote: > Hello Tom, > > The following changes since commit > 3a9d879f6f64585b819af728b53be0a05037fe0d: > > Prepare v2013.01 (2013-01-15 14:47:42 -0700) > > are available in the git repository at: > > git://git.denx.de/u-boot-arm master > > for you to fetch changes up to fd8e1c3866578d87ed14a04a59faae341fd415df: > > arm: fix CONFIG_DELAY_ENVIRONMENT to act like it claims in the README > (2013-02-11 10:35:26 -0700) > > > Albert ARIBAUD (1): > Merge branch 'u-boot-imx/master' into 'u-boot-arm/master' > > Allen Martin (13): > tegra: remove IRDA pinmux synonym > tegra: fdt: remove clocks nodes > tegra: fdt: sort dts files > tegra: fdt: add apbdma node > fdt: fix dts preprocessor options > tegra: fdt: add back missing host1x node > tegra20: fdt: add SPI SFLASH node > tegra: spi: add fdt support to tegra SPI SFLASH driver > tegra30: add SBC1 to periph id mapping table > tegra30: fdt: add SPI SLINK nodes > tegra: add addresses of SPI SLINK controllers > tegra: add SPI SLINK driver > tegra: cardhu: config: enable SPI > > Fabio Estevam (4): > woodburn: Set Write Protection GPIO as input > mx6qsabre_common: Let mmc partition be board specific > tools: imximage: Let .name field be more generic > mxs: Use __weak annotation to simplify code > > Javier Martinez Canillas (4): > OMAP3: use a single board file for IGEP devices > OMAP3: igep00x0: add boot status GPIO LED > omap4: allow the use of a plain text env file instead boot scripts > OMAP3: igep00x0: fix a build warning on IGEP boards > > Jeff Lance (1): > Add DDR3 support for AM335x-EVM (Version 1.5A) > > Knut Wohlrab (1): > mx6qsabreauto: enable USB host interface > > Lars Poeschel (3): > am33xx: add a pulldown macro to pinmux config > pcm051: Add support for Phytec phyCORE-AM335x > am335x: display msg when reading MAC from efuse > > Lucas Stach (1): > arm: fix CONFIG_DELAY_ENVIRONMENT to act like it claims in the > README > > Marc Dietrich (3): > tegra: display: add board pinmux > tegra: enable LCD on PAZ00 > tegra: remove custom TEGRA_DEVICE_SETTINGS for board files > > Marek Vasut (14): > mxs: mmc: Drop unused members from struct mxsmmc_priv > mxs: ssp: Pull out the SSP bus to regs conversion > mx23: Add POWER and CLKCTRL register definitions > mx23: ssp: Fix ssp-regs.h for MX23 > mmc: Limit the number of used SSP ports on MX23 > mxs: Add function to ungate the power block on MX23 > mxs: Linux uses ttyAMA0 as DUART > mxs: Add MX23 olinuxino board support > mxs: Boost the memory power supply > mxs: dma: Fix APBH DMA driver for MX23 > mxs: ssp: Add SSP registers map for MX23 > mxs: mmc: Allow overriding default card detect implementation > mxs: mmc: Fix the MMC driver for MX23 > mxs: mmc: mx23_olinuxino: Add MMC support > > Otavio Salvador (14): > mxs: clock: Use 'mxs' prefix for methods > mx23: Add register base addresses > mx23: Add iomux-mx23.h > mx23: Add support on print_cpuinfo() > mx23: Add boot mode description > mx23: SPL: Add boot mode support > mx23: SPL: Initialize DDR at 133MHz > mx23: config: Enable building of u-boot.sb binary > mx23: config: Enable mxsboot tool for i.MX23 based boards > mxs: Fix the memory init for MX23 > mxs: Add MX23 quirks into the clock code > mxs: mmc: Fix MMC reset on iMX23 > mx23_olinuxino: Add default environment > mx23evk: Add initial board support > > Rob Herring (2): > ARM: add wfi assembly macro > ARM: highbank: use wfi macro instead of inline asm > > Stephen Warren (2): > tegra: rename FUNCMUX_UART2_UARTB > tegra: don't hard-code LCD into default TEGRA_DEVICE_SETTINGS > > Tetsuyuki Kobayashi (2): > arm: rmobile: kzm9g: Adjust SDRAM setting > arm: rmobile: kzm9g: Adjust ETM trace clock > > Thierry Reding (3): > video: tegra: Update line length to match resolution > tegra: Enable LCD on Medcom-Wide > tegra: Enable LCD on TEC > > Tom Rini (1): > am33xx: Drop gpio0_7_pin_mux from phytec pcm051 > > Tom Warren (19): > Tegra30: Add arch-tegra30 include files > Tegra30: Add AVP (arm720t) files > Tegra30: Add CPU (armv7) files > Tegra30: Add common CPU (shared) files > Tegra30: Cardhu: Add DT files > Tegra30: Add generic Tegra30 build support > Tegra30: Add/enable Cardhu build (T30 reference board) > Tegra30: clocks: Fix clock tables for I2C and other periphs > Tegra30: fdt: Update DT files with I2C info for T30/Cardhu > Tegra30: I2C: Enable I2C driver on Cardhu > Tegra: T20: Remove unused 'SLOW' SoC ID and
[U-Boot] [PATCH] video: Fix splash screen alignment
commit d484b52 "video: Skip bitmaps which do not fit into the screen in cfb_console" breaks splash screen alignment which is passed in as magic (BMP_ALIGN_CENTER) x/y coordinates. Moving the check after the alignment block fixes this. Signed-off-by: Matthias Weisser --- drivers/video/cfb_console.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index 26f673a..61e1058 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -1515,13 +1515,6 @@ int video_display_bitmap(ulong bmp_image, int x, int y) padded_line = (((width * bpp + 7) / 8) + 3) & ~0x3; - /* -* Just ignore elements which are completely beyond screen -* dimensions. -*/ - if ((x >= VIDEO_VISIBLE_COLS) || (y >= VIDEO_VISIBLE_ROWS)) - return 0; - #ifdef CONFIG_SPLASH_SCREEN_ALIGN if (x == BMP_ALIGN_CENTER) x = max(0, (VIDEO_VISIBLE_COLS - width) / 2); @@ -1534,6 +1527,13 @@ int video_display_bitmap(ulong bmp_image, int x, int y) y = max(0, VIDEO_VISIBLE_ROWS - height + y + 1); #endif /* CONFIG_SPLASH_SCREEN_ALIGN */ + /* +* Just ignore elements which are completely beyond screen +* dimensions. +*/ + if ((x >= VIDEO_VISIBLE_COLS) || (y >= VIDEO_VISIBLE_ROWS)) + return 0; + if ((x + width) > VIDEO_VISIBLE_COLS) width = VIDEO_VISIBLE_COLS - x; if ((y + height) > VIDEO_VISIBLE_ROWS) -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] break command.
Hi Sean, (can you please set your mailer to wrap lines at about 70è75 characters? Thanks in advance!) On Thu, 14 Feb 2013 12:19:11 -0800 (PST), Sean Omalley wrote: > Is there anyway to break back into u-boot after trying to boot from linux > (arm)? Similar to Open Firmwares stop-a, ctrl-break? I didn't see anything in > the documentation nor poking around online. I am really hoping I missed > something, or there is support that just needs to be compiled in. :) > > Even if it resets the cpu, or sends a signal to the jtag_reset would be fine. > When the machine locks up, I don't want to have to push a button or unplug it > since most of the time, I am not in the same vicinity as the machine. Leaving > a serial console attached and remoting into another machine is easier and > cheaper, then other alternatives. I could send a signal from a gpio to the > jtag_reset (or short it), but the machine I would -want- to use doesn't have > a gpio, and I don't want to spend money for multiple jtags when it seems more > logical to do it through the serial console. As soon as U-Boot gives control to the payload (Linux or whatever) there is no possible assumption that U-Boot remains intact in RAM, so your only chance is indeed some hardware reset... But then the question is not related to U-Boot any more. > Thanks! No problem. Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3] Introduced btrfs file-system with btrload command
Introduces btrfs file-system to read file from volume/sub-volumes with btrload command. This implementation has read-only support. This btrfs implementation is based on syslinux btrfs code, commit 269ebc845ebc8b46ef4b0be7fa0005c7fdb95b8d. Signed-off-by: Adnan Ali --- Makefile |1 + common/Makefile|1 + common/cmd_btr.c | 53 +++ fs/btrfs/Makefile | 51 ++ fs/btrfs/btrfs.c | 1131 fs/fs.c| 86 +++- include/btrfs.h| 398 include/config_fallbacks.h |4 + include/crc32c.h | 48 ++ include/fs.h |1 + 10 files changed, 1769 insertions(+), 5 deletions(-) create mode 100644 common/cmd_btr.c create mode 100644 fs/btrfs/Makefile create mode 100644 fs/btrfs/btrfs.c create mode 100644 include/btrfs.h create mode 100644 include/crc32c.h diff --git a/Makefile b/Makefile index 3305e8c..cc35e7b 100644 --- a/Makefile +++ b/Makefile @@ -261,6 +261,7 @@ endif LIBS-$(CONFIG_OF_EMBED) += dts/libdts.o LIBS-y += arch/$(ARCH)/lib/lib$(ARCH).o LIBS-y += fs/libfs.o \ +fs/btrfs/libbtrfs.o \ fs/cbfs/libcbfs.o \ fs/cramfs/libcramfs.o \ fs/ext4/libext4fs.o \ diff --git a/common/Makefile b/common/Makefile index 54fcc81..093dd35 100644 --- a/common/Makefile +++ b/common/Makefile @@ -73,6 +73,7 @@ COBJS-$(CONFIG_CMD_BEDBUG) += bedbug.o cmd_bedbug.o COBJS-$(CONFIG_CMD_BMP) += cmd_bmp.o COBJS-$(CONFIG_CMD_BOOTLDR) += cmd_bootldr.o COBJS-$(CONFIG_CMD_BOOTSTAGE) += cmd_bootstage.o +COBJS-$(CONFIG_CMD_BTR) += cmd_btr.o COBJS-$(CONFIG_CMD_CACHE) += cmd_cache.o COBJS-$(CONFIG_CMD_CBFS) += cmd_cbfs.o COBJS-$(CONFIG_CMD_CONSOLE) += cmd_console.o diff --git a/common/cmd_btr.c b/common/cmd_btr.c new file mode 100644 index 000..faea625 --- /dev/null +++ b/common/cmd_btr.c @@ -0,0 +1,53 @@ +/* + * (C) Copyright 2013 Codethink Limited + * Btrfs port to Uboot by + * Adnan Ali + * 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 + */ + +/* + * Boot support + */ +#include +#include + +char subvolname[MAX_SUBVOL_NAME]; + +int do_btr_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ + if (argc > 5) + strcpy(subvolname, argv[5]); + else + strcpy(subvolname, ""); + + return do_load(cmdtp, flag, argc, argv, FS_TYPE_BTR, 16); +} + + +U_BOOT_CMD( + btrload,7, 0, do_btr_fsload, + "load binary file from a btr filesystem", + " [][subvol_name]\n" + "- Load binary file 'filename' from 'dev' on 'interface'\n" + " to address 'addr' from better filesystem.\n" + " the load stops on end of file.\n" + " subvol_name is used read that file from this subvolume.\n" + " All numeric parameters are assumed to be hex." +); + diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile new file mode 100644 index 000..a9e2021 --- /dev/null +++ b/fs/btrfs/Makefile @@ -0,0 +1,51 @@ +# +# (C) Copyright 2006 +# Wolfgang Denk, DENX Software Engineering, w...@denx.de. +# +# (C) Copyright 2003 +# Pavel Bartusek, Sysgo Real-Time Solutions AG, p...@sysgo.de +# +# +# 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 $(TOPDIR)/config.mk + +LIB= $(obj)libbtrfs.o + +AOBJS = +COBJS-$(CONFIG_FS_BTR) := btrfs.o + +SRCS := $(AOBJS:.o=.S) $(COBJS-y:.o=.c) +OBJS := $(addprefix $(obj),$(AOBJS) $(COBJS-y)) + +
[U-Boot] [PATCH v3] btrfs addition to uboot
Adnan Ali (1): Introduced btrfs file-system with btrload command Makefile |1 + common/Makefile|1 + common/cmd_btr.c | 53 +++ fs/btrfs/Makefile | 51 ++ fs/btrfs/btrfs.c | 1131 fs/fs.c| 86 +++- include/btrfs.h| 398 include/config_fallbacks.h |4 + include/crc32c.h | 48 ++ include/fs.h |1 + 10 files changed, 1769 insertions(+), 5 deletions(-) create mode 100644 common/cmd_btr.c create mode 100644 fs/btrfs/Makefile create mode 100644 fs/btrfs/btrfs.c create mode 100644 include/btrfs.h create mode 100644 include/crc32c.h -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 1/3] Tegra: fdt: Add/enhance sdhci (mmc) nodes for all T20 DT files
Am Donnerstag, den 14.02.2013, 13:24 -0700 schrieb Stephen Warren: [...] > >> > >> The one issue with this is that only newer versions of dtc support the > >> -i option. The version packaged with most distros won't support it. > >> That'll mean something like "MAKEALL -a arm" is going to fail for a lot > >> of people without some kind of explicit action (i.e. manually installing > >> a newer version of dtc). > >> > >> That's why I suggested switching from /include/ to #include, and adding > >> the include path to the cpp command rather than dtc. > > > > I tried using '#include, and added the 2 dts paths to the DTS_CPPFLAGS > > so gcc could find the files, but I got a 'couldn't open > > 'skeleton.dtsi' error. I didn't want to change tegra20.dtsi to > > #include "skeleton.dtsi', and all the other board dts files to > > #include ARCH_CPU_DTS, just so we can support the common tamonten > > dtsi, so I went back to the DTC include path changes. > > I think that's exactly where we should end up though. It's certainly the > way the kernel is also heading. > > Right now, the Avionic Design boards might be the only place this > problem crops up, but as we support more features on Cardhu, we'll hit > exactly the same issue, so have to solve it there too. > Right now the AD boards might be the only ones with this problem, but it will certainly hit the Toradex Tegra designs also. I'm planning on doing support for the Colibri Evaluation Carrier for the next release cycle. So I need to split up the DTS between Colibri and Carrier board, same as is done in the Linux Kernel dts. > > There was talk at one time of putting an up-to-date DTC binary in the > > U-Boot tools area so everyone would have a consistent level of DT > > support. > > I think Wolfgang nak'd that. > > With the small number of boards using DT at this time, I > > think we can live with letting people know where to find the latest > > DTC release until then. > > But he also nak'd the idea of relying on a newer dtc:-( > > I think we had better raise the question again. Yes, this has to be resolved one way or the other. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] mpc85xx: Fix a compiler warning when CONFIG_WATCHDOG is turned on
cpu.c:288:2: warning: implicit declaration of function 'reset_85xx_watchdog' [-Wimplicit-function-declaration] Signed-off-by: Horst Kronstorfer --- arch/powerpc/cpu/mpc85xx/cpu.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c index df2ab6d..0f2d867 100644 --- a/arch/powerpc/cpu/mpc85xx/cpu.c +++ b/arch/powerpc/cpu/mpc85xx/cpu.c @@ -282,14 +282,6 @@ unsigned long get_tbclk (void) #if defined(CONFIG_WATCHDOG) void -watchdog_reset(void) -{ - int re_enable = disable_interrupts(); - reset_85xx_watchdog(); - if (re_enable) enable_interrupts(); -} - -void reset_85xx_watchdog(void) { /* @@ -297,6 +289,14 @@ reset_85xx_watchdog(void) */ mtspr(SPRN_TSR, TSR_WIS); } + +void +watchdog_reset(void) +{ + int re_enable = disable_interrupts(); + reset_85xx_watchdog(); + if (re_enable) enable_interrupts(); +} #endif /* CONFIG_WATCHDOG */ /* -- 1.8.1.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/5] x86: Remove eNET boards
Acked-by: Gabe Black On Thu, Feb 14, 2013 at 6:18 AM, Simon Glass wrote: > These are no longer used and should be removed. > > > Signed-off-by: Simon Glass > Acked-by: Graeme Russ > --- > Changes in v2: None > > board/eNET/Makefile | 52 > board/eNET/eNET.c | 284 - > board/eNET/eNET_pci.c | 128 -- > board/eNET/eNET_start.S | 30 --- > board/eNET/eNET_start16.S | 87 --- > board/eNET/hardware.h | 36 --- > boards.cfg| 2 - > include/configs/eNET.h| 619 > -- > 8 files changed, 1238 deletions(-) > delete mode 100644 board/eNET/Makefile > delete mode 100644 board/eNET/eNET.c > delete mode 100644 board/eNET/eNET_pci.c > delete mode 100644 board/eNET/eNET_start.S > delete mode 100644 board/eNET/eNET_start16.S > delete mode 100644 board/eNET/hardware.h > delete mode 100644 include/configs/eNET.h > > diff --git a/board/eNET/Makefile b/board/eNET/Makefile > deleted file mode 100644 > index ad1c5b1..000 > --- a/board/eNET/Makefile > +++ /dev/null > @@ -1,52 +0,0 @@ > -# > -# (C) Copyright 2008 > -# Graeme Russ, graeme.r...@gmail.com. > -# > -# (C) Copyright 2006 > -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. > -# > -# (C) Copyright 2002 > -# Daniel Engström, Omicron Ceti AB, dan...@omicron.se. > -# > -# 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 $(TOPDIR)/config.mk > - > -LIB= $(obj)lib$(BOARD).o > - > -COBJS-y+= eNET.o > -COBJS-$(CONFIG_PCI) += eNET_pci.o > -SOBJS-y+= eNET_start16.o > -SOBJS-y+= eNET_start.o > - > -SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) > -OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y)) > - > -$(LIB):$(obj).depend $(OBJS) $(SOBJS) > - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) > - > -# > - > -# defines $(obj).depend target > -include $(SRCTREE)/rules.mk > - > -sinclude $(obj).depend > - > -# > diff --git a/board/eNET/eNET.c b/board/eNET/eNET.c > deleted file mode 100644 > index 2f26470..000 > --- a/board/eNET/eNET.c > +++ /dev/null > @@ -1,284 +0,0 @@ > -/* > - * (C) Copyright 2008 > - * Graeme Russ, graeme.r...@gmail.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 > -#include > -#include > -#include > -#include > - > -#ifdef CONFIG_HW_WATCHDOG > -#include > -#endif > - > -#include "hardware.h" > - > -DECLARE_GLOBAL_DATA_PTR; > - > -unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN; > - > -static void enet_timer_isr(void); > -static void enet_toggle_run_led(void); > -static void enet_setup_pars(void); > - > -/* > - * Miscellaneous platform dependent initializations > - */ > -int board_early_init_f(void) > -{ > - u16 pio_out_cfg = 0x; > - > - /* Configure General Purpose Bus timing */ > - writeb(CONFIG_SYS_SC520_GPCSRT, &sc520_mmcr->gpcsrt); > - writeb(CONFIG_SYS_SC520_GPCSPW, &sc520_mmcr->gpcspw); > - writeb(CONFIG_SYS_SC520_GPCSOFF, &sc520_mmcr->gpcsoff); > - writeb(CONFIG_SYS_SC520_GPRDW, &sc520_mmcr->gprdw); > - writeb(CONFIG_SYS_SC520_GPRDOFF, &sc520_mmcr->gprdoff); > - writeb(CONFIG_SYS_SC520_GPWRW, &sc520_mmcr->gpwrw); > - writeb(CONFIG_SYS_SC520_GPWROFF, &sc52