Re: [U-Boot] [PATCH] M28EVK: Fix build if CONFIG_CMD_NAND not selected
On 01/01/2012 05:28, Marek Vasut wrote: Signed-off-by: Marek Vasut marek.va...@gmail.com Cc: Wolfgang Denk w...@denx.de Cc: Stefano Babic sba...@denx.de --- include/configs/m28evk.h |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] mx28: fix clearing of IRQs in power init
On 09/01/2012 21:22, Zach Sadecki wrote: There are 2 locations in the power init code for the mx28 where IRQs are not being cleared because incorrect methods to clear those bits were being used. This was causing my board to get stuck waiting for POWER_CTRL_VDD5V_DROOP_IRQ to clear. Using the correct method to clear the IRQs fixes it. Signed-off-by: Zach Sadecki z...@itwatchdogs.com Cc: Wolfgang Denk w...@denx.de Cc: Stefano Babic sba...@denx.de --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/3] m28evk: Remove CONFIG_NET_MULTI option
On 10/01/2012 21:00, Fabio Estevam wrote: On Tue, Jan 10, 2012 at 5:57 PM, Marek Vasut marek.va...@gmail.com wrote: Acked-by: Marek Vasut marek.va...@gmail.com Though you should drop it from all other board files (hint: git grep CONFIG_NET_MULTI) Ok, will submit a patch for removing it from other board files. Maybe it is worth to have a single patch dropping CONFIG_NET_MULTI from all boards instead of single patches - I assume that the patchs's length remains under the ML limit. Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 3/3] config: Remove Blackfin CONFIG_DEPRECATED_SILENT_LINUX_CONSOLE
Dear Doug, In message CAD=FV=Ui2Zww2bGT+QSjTg=k0v9bggsaxshrtsxoqypba9x...@mail.gmail.com you wrote: ...I'm still awaiting Wolfgang's suggestion for which of the following he'd like me to submit instead of this series: 1. A stripped down version of the change to use malloc with the caveat that it's up to the user not to overrun any hardcoded limits in the kernel (I'm pretty sure that the kernel already has code to truncate--at least on most platforms). 2. A version of the change to add a platform-specific COMMAND_LINE_SIZE to u-boot (keeping in sync with the kernel) with a fix in u-boot to never buffer overrun (changing behavior to truncate). I have to admit that I have no clear opinion here yet. The existing code is from a time when all architectures had a pretty low limit on the command line size - IIRC even PPC had only 256 bytes by then, hard coded. I think we have two options: 1) Try not to exceed any limits imposed by the Linux kernel. Advantage: we can catch situations where the user overflows the limits and print an error message (IIRC this needs to be added), so the user gets aware of the pronlem. Disadvantage: we need to add architecture specific definitions for the command line size, and keep these in sync with any related changes to the Linux kernel. We know in advance that this will not work really well. 2) We just make sure not to overwrite array bounds in U-Boot, and allow passing arbitrary sized buffers to the Linux kernel. Advantage: the code in U-Boot can be simple and clean Disadvantage: the resulting behaviour is not exactly user-friendly, as a silent truncation in the Linux kernel is probably hard to spot. Hm... I agree that the old code needs fixing. I think it would be nice if we could adapt U-Boot behaviour, but I fear that actually it cannot work at all, as we don't know which Linux kernel version the user will use, and what their limits might be. So in the end 2) is probably the most sensible approach here. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de THIS IS A 100% MATTER PRODUCT: In the Unlikely Event That This Merchandise Should Contact Antimatter in Any Form, a Catastrophic Explosion Will Result. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] imx: mx6q: add aipstz init for off platform periph
On 10/01/2012 11:52, Jason Liu wrote: Init peripheral access control register of AIPSTZ OPACRx: Buffer Writes(BW): 0 - not bufferable, Supervisor Protect(SP): 0 - not require supervisor privilege level for accesses. Write Protect(WP): 0 - allows write accesses. Trusted Protect(TP):0 - allows unstrusted master Signed-off-by: Jason Liu jason@linaro.org Cc: Stefano Babic sba...@denx.de --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] i.mx: i.mx6q: add the initial support for i.mx6q Sabre Lite board
On 09/01/2012 08:04, Dirk Behme wrote: Hi Stefano, On 29.12.2011 17:34, Dirk Behme wrote: From: Jason Liu jason@linaro.org Add the initial support for Freescale i.MX6Q Sabre Lite board Signed-off-by: Dirk Behme dirk.be...@de.bosch.com Signed-off-by: Jason Liu jason@linaro.org CC: Eric Nelson eric.nel...@boundarydevices.com --- V4: Rebase board_mmc_getcd() against http://patchwork.ozlabs.org/patch/132398/ This does mean that this patch needs that patch to be applied. The 'Change board_mmc_getcd() function prototype' patch is applied now: http://git.denx.de/?p=u-boot/u-boot-mmc.git;a=shortlog;h=refs/heads/master Can we go on and apply this patch [1] then, too? Yes, now it is possible to merge your patch ! Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] i.mx: i.mx6q: add the initial support for i.mx6q Sabre Lite board
On 29/12/2011 17:34, Dirk Behme wrote: From: Jason Liu jason@linaro.org Add the initial support for Freescale i.MX6Q Sabre Lite board Signed-off-by: Dirk Behme dirk.be...@de.bosch.com Signed-off-by: Jason Liu jason@linaro.org CC: Eric Nelson eric.nel...@boundarydevices.com --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2 V2] Changes to move hawkboard to the new spl infrastructure.
Hello Sughosh, I reviewed your patch and I agree with Heiko's comments. I am looking forward to v3 :-) Regards, Christian On Wed, Jan 11, 2012 at 8:53 AM, Sughosh Ganu urwithsugh...@gmail.com wrote: hi Heiko, On Wed Jan 11, 2012 at 07:52:02AM +0100, Heiko Schocher wrote: Hello Sughosh, Sughosh Ganu wrote: This patch moves hawkboard to the new spl infrastructure from the older nand_spl one. Removed the hawkboard_nand_config build option -- The spl code now gets compiled with hawkboard_config, after building the main u-boot image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard to reflect the same. Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com Cc: Heiko Schocher h...@denx.de Cc: Christian Riesch christian.rie...@omicron.at Cc: Sudhakar Rajashekhara sudhakar@ti.com Cc: Tom Rini tr...@ti.com --- [...] diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c index a532f8a..a4778b8 100644 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c @@ -32,6 +32,7 @@ #include asm/arch/emif_defs.h #include asm/arch/pll_defs.h +#if !defined(CONFIG_MACH_DAVINCI_HAWK) Please no board specific defines. Ok, will replace with the arch specific define that you suggest. void da850_waitloop(unsigned long loopcnt) { unsigned long i; @@ -235,6 +236,7 @@ int da850_ddr_setup(void) return 0; } +#endif /* CONFIG_MACH_DAVINCI_HAWK */ __attribute__((weak)) void board_gpio_init(void) @@ -242,10 +244,6 @@ void board_gpio_init(void) return; } -/* pinmux_resource[] vector is defined in the board specific file */ -extern const struct pinmux_resource pinmuxes[]; -extern const int pinmuxes_size; - int arch_cpu_init(void) { /* Unlock kick registers */ @@ -259,6 +257,7 @@ int arch_cpu_init(void) if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size)) return 1; +#if defined(CONFIG_MACH_DAVINCI_DA850_EVM) here too. I propose here a CONFIG_SYS_DA850_PLL_INIT ... Ok. /* PLL setup */ da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM); da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM); @@ -275,6 +274,12 @@ int arch_cpu_init(void) #endif lpsc_on(CONFIG_SYS_DA850_LPSC_UART); + + da850_ddr_setup(); and around the ddr_setup a CONFIG_SYS_DA850_DDR_INIT ... +#elif defined(CONFIG_MACH_DAVINCI_HAWK) + da8xx_configure_lpsc_items(lpsc, lpsc_size); +#endif and we should use da8xx_configure_lpsc_items() for all da850 boards. Ok. This patch breaks current enbw_cmc board compile [hs@pollux u-boot]$ ./MAKEALL enbw_cmc Configuring for enbw_cmc board... enbw_cmc.c:52:35: error: static declaration of 'lpsc' follows non-static declaration /work/hs/u-boot/include/asm/arch/da850_lowlevel.h:33:35: note: previous declaration of 'lpsc' was here make[1]: *** [enbw_cmc.o] Fehler 1 make: *** [board/enbw/enbw_cmc/libenbw_cmc.o] Fehler 2 arm-linux-gnueabi-size: './u-boot': No such file Oops, sorry about that. snip diff --git a/include/configs/enbw_cmc.h b/include/configs/enbw_cmc.h index c427dc7..804846d 100644 --- a/include/configs/enbw_cmc.h +++ b/include/configs/enbw_cmc.h @@ -48,6 +48,8 @@ #define CONFIG_SKIP_LOWLEVEL_INIT #define CONFIG_DA850_LOWLEVEL #define CONFIG_ARCH_CPU_INIT +#define CONFIG_SYS_DA850_PLL_INIT +#define CONFIG_SYS_DA850_DDR_INIT I think we'll need to add this for da850evm.h too. #define CONFIG_DA8XX_GPIO #define CONFIG_HOSTNAME enbw_cmc #define CONFIG_DISPLAY_CPUINFO -- 1.7.7.4 [...] diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h index a21d448..8e3a4d2 100644 --- a/include/configs/cam_enc_4xx.h +++ b/include/configs/cam_enc_4xx.h @@ -205,6 +205,7 @@ /* Defines for SPL */ #define CONFIG_SPL +#define CONFIG_DM365_SPL Why we need this define? Yeah, missed out cleaning these defines that i had used in V1. Will clean up in next version for all the cases. -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] arm, davinci: Add support for the Calimain board from OMICRON electronics
Hello Heiko, On Wed, Jan 11, 2012 at 8:21 AM, Heiko Schocher h...@denx.de wrote: Hello Christian, Christian Riesch wrote: This patch adds support for the Calimain board from OMICRON electronics GmbH. The board features a Texas Instruments AM1808 SoC, 128 MB DDR2 memory, and 64 MB NOR flash memory connected to CS2 and CS3. Signed-off-by: Christian Riesch christian.rie...@omicron.at [] Please look at my comment to the patch from Sughosh here: http://lists.denx.de/pipermail/u-boot/2012-January/115312.html da8xx_configure_lpsc_items() should used in arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c so you can remove this here ... Maybe you can have a look at this patch too? Yes, I'll wait for v3 of Sughosh's patch and then resubmit. Regards, Christian ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V13 02/14] devkit8000: add config for spl command
From: Simon Schwarz simonschwarz...@googlemail.com This adds some configs for devkit8000 to use the new spl command Signed-off-by: Simon Schwarz simonschwarz...@gmail.com CC: Tom Rini tom.r...@gmail.com CC: Stefano Babic sba...@denx.de CC: Wolfgang Denk w...@denx.de --- V13: subject devki8000 must be devkit8000 (A. Biessmann) V10 changes: This is new in V10 was split from other patch include/configs/devkit8000.h |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h index 758326b..d3ca0dd 100644 --- a/include/configs/devkit8000.h +++ b/include/configs/devkit8000.h @@ -356,4 +356,12 @@ #define CONFIG_SYS_SPL_MALLOC_START0x80208000 #define CONFIG_SYS_SPL_MALLOC_SIZE 0x10/* 1 MB */ +/* SPL OS boot options */ +#define CONFIG_CMD_SPL +#define CONFIG_CMD_SPL_WRITE_SIZE 0x400 /* 1024 byte */ +#define CONFIG_CMD_SPL_NAND_OFS (CONFIG_SYS_NAND_SPL_KERNEL_OFFS+\ + 0x40) +#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x28 +#define CONFIG_SYS_SPL_ARGS_ADDR(PHYS_SDRAM_1 + 0x100) + #endif /* __CONFIG_H */ -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V13 04/14] devkit8000/spl: init GPMC for dm9000 in SPL
From: Simon Schwarz simonschwarz...@googlemail.com Linux crashes if the GPMC isn't configured for the dm9000. Signed-off-by: Simon Schwarz simonschwarz...@gmail.com Signed-off-by: Stefano Babic sba...@denx.de CC: Tom Rini tom.r...@gmail.com CC: Stefano Babic sba...@denx.de CC: Wolfgang Denk w...@denx.de --- V2 changes: nothing V3 changes: nothing V4 changes: noting V5 changes: nothing V6 changes: nothing V7 changes: FIX multiline comment style (http://article.gmane.org/gmane.comp.boot-loaders.u-boot/113500) V8 changes: REBASE on u-boot V9 changes: nothing V10 changes: use enable_gpmc_cs_config to config the GPMC for dm9000 V13: Rebased on u-boot-ti (Simon Schwarz) arch/arm/include/asm/omap_common.h |2 ++ board/timll/devkit8000/devkit8000.c | 19 +++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h index 1ec651b..62200e5 100644 --- a/arch/arm/include/asm/omap_common.h +++ b/arch/arm/include/asm/omap_common.h @@ -87,6 +87,8 @@ u32 omap_boot_mode(void); /* SPL common function s*/ void spl_parse_image_header(const struct image_header *header); void omap_rev_string(char *omap_rev_string); +int spl_uboot_key(void); +void spl_board_prepare_for_linux(void); /* NAND SPL functions */ void spl_nand_load_image(void); diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c index 10f189e..dded697 100644 --- a/board/timll/devkit8000/devkit8000.c +++ b/board/timll/devkit8000/devkit8000.c @@ -73,6 +73,13 @@ int board_init(void) return 0; } +/* Configure GPMC registers for DM9000 */ +static void gpmc_dm9000_config(void) +{ + enable_gpmc_cs_config(gpmc_net_config, gpmc_cfg-cs[6], + CONFIG_DM9000_BASE, GPMC_SIZE_16M); +} + /* * Routine: misc_init_r * Description: Configure board specific parts @@ -144,6 +151,18 @@ int board_eth_init(bd_t *bis) } #endif +#ifdef CONFIG_SPL_OS_BOOT +/* + * Do board specific preperation before SPL + * Linux boot + */ +void spl_board_prepare_for_linux(void) +{ + gpmc_dm9000_config(); +} + +#endif + /* * Routine: get_board_mem_timings * Description: If we use SPL then there is no x-loader nor config header -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2 V2] Changes to move hawkboard to the new spl infrastructure.
Hello Heiko, Sughosh, On Wed, Jan 11, 2012 at 7:52 AM, Heiko Schocher h...@denx.de wrote: please remove the da8xx_configure_lpsc_items() in board_gpio_init() in the ./board/enbw/enbw_cmc/enbw_cmc.c() file, and also move ... before I write here a lot of text, here the patch, based on yours, please add it to your patch, and add my Signed-off-by: Heiko Schocher h...@denx.de and tested on the enbw_cmc board, so: Tested-by: Heiko Schocher h...@denx.de to your patch, here the patch: diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c index a4778b8..a404916 100644 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c [] - lpsc_on(CONFIG_SYS_DA850_LPSC_UART); Now we can also remove CONFIG_SYS_DA850_LPSC_UART from include/configs/da850evm.h and include/configs/enbw_cmc.h. Regards, Christian ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2 V2] Changes to move hawkboard to the new spl infrastructure.
Hello Christian, Christian Riesch wrote: Hello Heiko, Sughosh, On Wed, Jan 11, 2012 at 7:52 AM, Heiko Schocher h...@denx.de wrote: please remove the da8xx_configure_lpsc_items() in board_gpio_init() in the ./board/enbw/enbw_cmc/enbw_cmc.c() file, and also move ... before I write here a lot of text, here the patch, based on yours, please add it to your patch, and add my Signed-off-by: Heiko Schocher h...@denx.de and tested on the enbw_cmc board, so: Tested-by: Heiko Schocher h...@denx.de to your patch, here the patch: diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c index a4778b8..a404916 100644 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c [] - lpsc_on(CONFIG_SYS_DA850_LPSC_UART); Now we can also remove CONFIG_SYS_DA850_LPSC_UART from include/configs/da850evm.h and include/configs/enbw_cmc.h. correct. Good catch! bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 3/3] ARMV7: Exynos4: Add support for TRATS board
On 11 January 2012 13:00, Kim, Heungjun riverful@samsung.com wrote: Hi Minkyu Kang, On 2012년 01월 11일 11:35, Minkyu Kang wrote: Dear HeungJun, Kim, On 10 January 2012 18:00, HeungJun, Kimriverful@samsung.com wrote: This patch adds support for Samsung TRATS board Signed-off-by: HeungJun, Kimriverful@samsung.com Signed-off-by: Kyungmin Parkkyungmin.p...@samsung.com --- MAINTAINERS | 4 + board/samsung/trats/Makefile | 43 ++ board/samsung/trats/trats.c | 349 board/samsung/trats/trats_setup.h | 814 + boards.cfg | 1 + include/configs/trats.h | 216 ++ 6 files changed, 1427 insertions(+), 0 deletions(-) create mode 100644 board/samsung/trats/Makefile create mode 100644 board/samsung/trats/trats.c create mode 100644 board/samsung/trats/trats_setup.h create mode 100644 include/configs/trats.h diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c new file mode 100644 index 000..9070df5 --- /dev/null +++ b/board/samsung/trats/trats.c +void lowlevel_init(void) +{ + s5p_set_cpu_id(); /* For using Exynos's structures */ + + watchdog_disable(); + + clock_init(); + power_init(); +} One more... I think.. we need to set GPIOs for UART select. Please check old lowlevel_init function. Thanks. Minkyu Kang. -- from. prom. www.promsoft.net ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option
On 10.01.2012 18:28, Fabio Estevam wrote: Andy, Any comment about this patch? Without this patch we get corrupted SD cards after trying to store env vars on several i.MX boards. As this seems to hurt more and more i.MX guys, could we somehow get this applied asap (if there are no comments any more)? Many thanks Dirk On Thu, Dec 29, 2011 at 9:54 AM, Fabio Estevam feste...@gmail.com wrote: Kumar/Andy, On Thu, Dec 29, 2011 at 7:47 AM, Stefano Babic sba...@denx.de wrote: On 20/12/2011 17:33, Fabio Estevam wrote: Since commit 97039ab98 (env_mmc: Allow board code to override the environment address) mmc_get_env_addr is a weak-aliased function in common/env_mmc.c The mmc_get_env_addr implementation that exists at board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC boards, but currently it is being used for all platforms that have CONFIG_ENV_IS_IN_MMC defined. Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could activate this config option on their board file. This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards. Signed-off-by: Fabio Estevam fabio.este...@freescale.com Acked-by: Stefano Babic sba...@denx.de Are you guys OK with this? Regards, Fabio Estevam ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 2/4] ARM: EXYNOS: Add support for Exynos5 based SoCs
Dear Chander Kashyap, On 9 January 2012 15:40, Chander Kashyap chander.kash...@linaro.org wrote: Samsung's ARM Cortex-A15 based SoCs are known as Exynos5 series of SoCs. This patch adds the support for Exynos5. Signed-off-by: Chander Kashyap chander.kash...@linaro.org --- Changes for v2: - This patch was part of EXYNOS: Add SMDK5250 board support - Now it is seprated as SoC support. arch/arm/cpu/armv7/exynos/clock.c | 209 +++- arch/arm/include/asm/arch-exynos/clock.h | 326 ++ arch/arm/include/asm/arch-exynos/cpu.h | 53 - arch/arm/include/asm/arch-exynos/gpio.h | 32 +++ 4 files changed, 605 insertions(+), 15 deletions(-) diff --git a/arch/arm/include/asm/arch-exynos/cpu.h b/arch/arm/include/asm/arch-exynos/cpu.h index 6d97b99..fd050b1 100644 --- a/arch/arm/include/asm/arch-exynos/cpu.h +++ b/arch/arm/include/asm/arch-exynos/cpu.h @@ -22,6 +22,8 @@ #ifndef _EXYNOS4_CPU_H #define _EXYNOS4_CPU_H +#define DEVICE_NOT_AVAILABLE 0 + #define EXYNOS4_ADDR_BASE 0x1000 /* EXYNOS4 */ @@ -46,7 +48,31 @@ #define EXYNOS4_ADC_BASE 0x1391 #define EXYNOS4_PWMTIMER_BASE 0x139D #define EXYNOS4_MODEM_BASE 0x13A0 -#define EXYNOS4_USBPHY_CONTROL 0x10020704 +#define EXYNOS4_USBPHY_CONTROL 0x10020704 + +/* EXYNOS5 */ +#define EXYNOS5_PRO_ID 0x1000 +#define EXYNOS5_CLOCK_BASE 0x1001 +#define EXYNOS5_POWER_BASE 0x1004 +#define EXYNOS5_SWRESET 0x10040400 +#define EXYNOS5_SYSREG_BASE 0x1005 +#define EXYNOS5_WATCHDOG_BASE 0x101D +#define EXYNOS5_GPIO_PART1_BASE 0x1140 just one part? According to your patch, exynos5 support 20 banks of gpio right? I think it's too small. Please check. +#define EXYNOS5_MMC_BASE 0x1220 +#define EXYNOS5_SROMC_BASE 0x1225 +#define EXYNOS5_USBOTG_BASE 0x1248 +#define EXYNOS5_USBPHY_BASE 0x1248 +#define EXYNOS5_UART_BASE 0x12C0 +#define EXYNOS5_PWMTIMER_BASE 0x12DD +#define EXYNOS5_DMC_CTRL_BASE 0x10DD +#define EXYNOS5_PHY0_CTRL_BASE 0x10C0 +#define EXYNOS5_PHY1_CTRL_BASE 0x10C1 What are PHY0 and PHY1? +#define EXYNOS5_FIMD_BASE 0x1440 And please sort this list. + +#define EXYNOS5_ADC_BASE DEVICE_NOT_AVAILABLE +#define EXYNOS5_GPIO_PART2_BASE DEVICE_NOT_AVAILABLE +#define EXYNOS5_GPIO_PART3_BASE DEVICE_NOT_AVAILABLE +#define EXYNOS5_MODEM_BASE DEVICE_NOT_AVAILABLE #ifndef __ASSEMBLY__ #include asm/io.h @@ -59,9 +85,22 @@ static inline int s5p_get_cpu_rev(void) return s5p_cpu_rev; } +#define IS_SAMSUNG_TYPE(type, id) \ +static inline int cpu_is_##type(void) \ +{ \ + return s5p_cpu_id == id ? 1 : 0; \ +} + +IS_SAMSUNG_TYPE(exynos4, 0xc210) +IS_SAMSUNG_TYPE(exynos5, 0xc520) + static inline void s5p_set_cpu_id(void) { - s5p_cpu_id = readl(EXYNOS4_PRO_ID); + if (cpu_is_exynos5()) + s5p_cpu_id = readl(EXYNOS5_PRO_ID); + else + s5p_cpu_id = readl(EXYNOS4_PRO_ID); Hm.. this is right but, Since base addresses are same, just do s5p_cpu_id = readl(EXYNOS4_PRO_ID); + s5p_cpu_id = (0xC000 | ((s5p_cpu_id 0x00FFF000) 12)); /* @@ -76,19 +115,13 @@ static inline void s5p_set_cpu_id(void) } } -#define IS_SAMSUNG_TYPE(type, id) \ -static inline int cpu_is_##type(void) \ -{ \ - return s5p_cpu_id == id ? 1 : 0; \ -} - -IS_SAMSUNG_TYPE(exynos4, 0xc210) So.. no need to move. - #define SAMSUNG_BASE(device, base) \ static inline unsigned int samsung_get_base_##device(void) \ { \ if (cpu_is_exynos4()) \ return EXYNOS4_##base; \ + else if (cpu_is_exynos5()) \ + return EXYNOS5_##base; \ else \ return 0; \ } diff --git a/arch/arm/include/asm/arch-exynos/gpio.h b/arch/arm/include/asm/arch-exynos/gpio.h index 9863a12..a5a09ec 100644 --- a/arch/arm/include/asm/arch-exynos/gpio.h +++ b/arch/arm/include/asm/arch-exynos/gpio.h @@ -75,6 +75,29 @@ struct exynos4_gpio_part2 { struct s5p_gpio_bank x3; }; +struct exynos5_gpio_part1 { + struct
Re: [U-Boot] [PATCH] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option
On 11/01/2012 10:53, Dirk Behme wrote: As this seems to hurt more and more i.MX guys, could we somehow get this applied asap (if there are no comments any more)? The issue hurts i.MX, but the patch modifies some PowerPC boards. I would like to get the ACK from PowerPC guys before merging into u-boot-imx. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote: The current implementation invalidates the cache instead of flushing it. This causes problems on platforms where the spl/u-boot is already loaded to the RAM, with caches enabled by a first stage bootloader. What platforms are affected? It is causing a problem on the hawkboard, where the spl is loaded directly to the RAM by a rom bootloader. We did not see this earlier since cpu_init_crit was not getting called due to CONFIG_SKIP_LOWLEVEL_INIT. -sughosh I see ... why don't you directly load U-Boot to DRAM then ? M ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 2/4] ARM: EXYNOS: Add support for Exynos5 based SoCs
Dear Minkyu Kang, On 11 January 2012 15:41, Minkyu Kang proms...@gmail.com wrote: Dear Chander Kashyap, On 9 January 2012 15:40, Chander Kashyap chander.kash...@linaro.org wrote: Samsung's ARM Cortex-A15 based SoCs are known as Exynos5 series of SoCs. This patch adds the support for Exynos5. Signed-off-by: Chander Kashyap chander.kash...@linaro.org --- Changes for v2: - This patch was part of EXYNOS: Add SMDK5250 board support - Now it is seprated as SoC support. arch/arm/cpu/armv7/exynos/clock.c | 209 +++- arch/arm/include/asm/arch-exynos/clock.h | 326 ++ arch/arm/include/asm/arch-exynos/cpu.h | 53 - arch/arm/include/asm/arch-exynos/gpio.h | 32 +++ 4 files changed, 605 insertions(+), 15 deletions(-) diff --git a/arch/arm/include/asm/arch-exynos/cpu.h b/arch/arm/include/asm/arch-exynos/cpu.h index 6d97b99..fd050b1 100644 --- a/arch/arm/include/asm/arch-exynos/cpu.h +++ b/arch/arm/include/asm/arch-exynos/cpu.h @@ -22,6 +22,8 @@ #ifndef _EXYNOS4_CPU_H #define _EXYNOS4_CPU_H +#define DEVICE_NOT_AVAILABLE 0 + #define EXYNOS4_ADDR_BASE 0x1000 /* EXYNOS4 */ @@ -46,7 +48,31 @@ #define EXYNOS4_ADC_BASE 0x1391 #define EXYNOS4_PWMTIMER_BASE 0x139D #define EXYNOS4_MODEM_BASE 0x13A0 -#define EXYNOS4_USBPHY_CONTROL 0x10020704 +#define EXYNOS4_USBPHY_CONTROL 0x10020704 + +/* EXYNOS5 */ +#define EXYNOS5_PRO_ID 0x1000 +#define EXYNOS5_CLOCK_BASE 0x1001 +#define EXYNOS5_POWER_BASE 0x1004 +#define EXYNOS5_SWRESET 0x10040400 +#define EXYNOS5_SYSREG_BASE 0x1005 +#define EXYNOS5_WATCHDOG_BASE 0x101D +#define EXYNOS5_GPIO_PART1_BASE 0x1140 just one part? According to your patch, exynos5 support 20 banks of gpio right? I think it's too small. Please check. Yes this list is not complete. Only uart, srom and mmc gpio are listed. I will Populate the list. +#define EXYNOS5_MMC_BASE 0x1220 +#define EXYNOS5_SROMC_BASE 0x1225 +#define EXYNOS5_USBOTG_BASE 0x1248 +#define EXYNOS5_USBPHY_BASE 0x1248 +#define EXYNOS5_UART_BASE 0x12C0 +#define EXYNOS5_PWMTIMER_BASE 0x12DD +#define EXYNOS5_DMC_CTRL_BASE 0x10DD +#define EXYNOS5_PHY0_CTRL_BASE 0x10C0 +#define EXYNOS5_PHY1_CTRL_BASE 0x10C1 What are PHY0 and PHY1? there are two DMC PHY control registers +#define EXYNOS5_FIMD_BASE 0x1440 And please sort this list. Ok + +#define EXYNOS5_ADC_BASE DEVICE_NOT_AVAILABLE +#define EXYNOS5_GPIO_PART2_BASE DEVICE_NOT_AVAILABLE +#define EXYNOS5_GPIO_PART3_BASE DEVICE_NOT_AVAILABLE +#define EXYNOS5_MODEM_BASE DEVICE_NOT_AVAILABLE #ifndef __ASSEMBLY__ #include asm/io.h @@ -59,9 +85,22 @@ static inline int s5p_get_cpu_rev(void) return s5p_cpu_rev; } +#define IS_SAMSUNG_TYPE(type, id) \ +static inline int cpu_is_##type(void) \ +{ \ + return s5p_cpu_id == id ? 1 : 0; \ +} + +IS_SAMSUNG_TYPE(exynos4, 0xc210) +IS_SAMSUNG_TYPE(exynos5, 0xc520) + static inline void s5p_set_cpu_id(void) { - s5p_cpu_id = readl(EXYNOS4_PRO_ID); + if (cpu_is_exynos5()) + s5p_cpu_id = readl(EXYNOS5_PRO_ID); + else + s5p_cpu_id = readl(EXYNOS4_PRO_ID); Hm.. this is right but, Since base addresses are same, just do s5p_cpu_id = readl(EXYNOS4_PRO_ID); ok + s5p_cpu_id = (0xC000 | ((s5p_cpu_id 0x00FFF000) 12)); /* @@ -76,19 +115,13 @@ static inline void s5p_set_cpu_id(void) } } -#define IS_SAMSUNG_TYPE(type, id) \ -static inline int cpu_is_##type(void) \ -{ \ - return s5p_cpu_id == id ? 1 : 0; \ -} - -IS_SAMSUNG_TYPE(exynos4, 0xc210) So.. no need to move. I got it - #define SAMSUNG_BASE(device, base) \ static inline unsigned int samsung_get_base_##device(void) \ { \ if (cpu_is_exynos4()) \ return EXYNOS4_##base; \ + else if (cpu_is_exynos5()) \ + return EXYNOS5_##base; \ else \ return 0; \ } diff --git a/arch/arm/include/asm/arch-exynos/gpio.h b/arch/arm/include/asm/arch-exynos/gpio.h index
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a)(a + 1) +#define ULPI_CLR(a)(a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? M btw. somewhere in the patch is one more asterisk at the end of line: + * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com* [...] + /* perform TLL soft reset, and wait until reset is complete */ + writel(OMAP_USBTLL_SYSCONFIG_SOFTRESET, usbtll-sysc); + + /* Wait for TLL reset to complete */ + while (!(readl(usbtll-syss) OMAP_USBTLL_SYSSTATUS_RESETDONE)) Add timeout, fix globally Sorry I didn't get you here. The function uses a timeout value init and then same init value to used to poll for CONFIG_SYS_HZ time for reset to be done else prints timeout failure. Ah sorry, I didn't notice. OK. + if (get_timer(init) CONFIG_SYS_HZ) { + debug(OMAP EHCI error: timeout resetting TLL\n); + return -EL3RST; + } + [...] + /* setup ULPI bypass and burst configurations */ + reg |= (OMAP_UHH_HOSTCONFIG_INCR4_BURST_EN | + OMAP_UHH_HOSTCONFIG_INCR8_BURST_EN | + OMAP_UHH_HOSTCONFIG_INCR16_BURST_EN); + reg = ~OMAP_UHH_HOSTCONFIG_INCRX_ALIGN_EN; clrsetbits_le32 ? yes can be used. Use where applicable -- Thanks, Govindraj.R ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote: Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a) (a + 1) +#define ULPI_CLR(a) (a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? These are for configuring INSNREG05_ULPI reg in EHCI reg map of omap while configuring in ulpi-phy mode. looking into struct ulpi_regs {..} then it doesn't map this configuration. btw, IIUC that ulpi_regs struct is for otg transceiver that uses a ulpi phy chip for communication. M btw. somewhere in the patch is one more asterisk at the end of line: Will check that -- Thanks, Govindraj.R ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7] net: ll_temac: Add LL TEMAC driver to u-boot
Stephan Linz wrote: Am Donnerstag, den 05.01.2012, 20:19 +0100 schrieb Wolfgang Denk: Dear Stephan Linz, In message 1325783490.7827.45.camel@keto you wrote: Michals latest Microblaze platform patches will enable this driver for board/xilinx/microblaze-generic and we know about a success story on a propietary Virtex5 FX board (ppc440) -- tested by Ricardo Ribalda. -- snip -- So I'll rework the driver and present a new v8 patch as soon as possible. OK. Please submit it only if it comes with code that references the driver. Hi Wolfgang, I understand your opinions to stick together all the different code fragments. Unfortunately, this driver will be used by systems with synthesized hardware (FPGA SoftCPU systems). The target board (hardware around the FPGA) will be fixed but the content (CPU, controller, busses, interfacess, addresses, ...) will be variable and not fixed. That's why we use a so named microblaze-generic board configuration controlled by the header xparameters.h in board directory. The default content of xparameters.h is really only basic and enables not nearly half of all possibilities. For example the default configuration in xparameters.h will enable the Xilinx EMAC-Lite driver (with XILINX_EMACLITE_BASEADDR) but do nothing to enable the Xilinx AXI-EMAC driver (with XILINX_AXIEMAC_BASEADDR) -- it makes no sense to enable both at the same time. Every fpga system is different that's why I have created microblaze-generic board and BSP generator to generate xparameters.h and config.mk for specific configurations. Make no sense to create new board for every configuration. The same arguments is valid for xilinx ppc405/ppc440 systems where I am still don't like that there are avnet boards and maybe others. I'll provide the same way for the Xilinx LL_TEMAC driver as for the Xilinx AXI-EMAC driver. I prepare the microblaze-generic board code to support all potential Ethernet drivers but leave out the specific usage. You are right when you say that there is no code that refere to the new driver code -- there are also no configuration for this. And yes we adapt/change the xparameters.h out of mainline tree to enable the driver code -- but I think, that is not really a out of tree port. But what would be the best implementation for unspecified targets here? @Michal: Is there anybody who use the current default configuration from microblaze-generic/xparameters.h on a real FPGA system design? If not we could expand xparameters.h with a fantasy configuration to enable all potential drivers used on a Microblaze system. So we have a reference to driver code and can test the rebuild again and again with a simple 'make microblaze-generic'. What do you mean? It is the same situation as is for axi-emac and even emaclite. xparamters.h/config.mk are for any old platform which none uses it. IMHO Stephan suggestion could work - enable all drivers in xparameters.h and enable code compilation. I can also extend my testing system to compile u-boot with ll_temac and test it on qemu every day. Thanks, Michal -- Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote: On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote: The current implementation invalidates the cache instead of flushing it. This causes problems on platforms where the spl/u-boot is already loaded to the RAM, with caches enabled by a first stage bootloader. What platforms are affected? It is causing a problem on the hawkboard, where the spl is loaded directly to the RAM by a rom bootloader. We did not see this earlier since cpu_init_crit was not getting called due to CONFIG_SKIP_LOWLEVEL_INIT. -sughosh I see ... why don't you directly load U-Boot to DRAM then ? The rom bootloader(rbl) uses a different ecc layout from the one used by the davinci nand driver(u-boot and linux). Using rbl to load the u-boot to dram would mean that i have to use the TI's external flashing utility every time i upgrade u-boot. Also, i would not be able to flash u-boot from the kernel. -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] net/eth.c: fix eth_write_hwaddr() to use dev-enetaddr as fall back
On 17.08.2011 08:22, Simon Glass wrote: On Tue, Aug 16, 2011 at 10:33 PM, Eric Miao eric.m...@linaro.org wrote: Ignore the return value of eth_getenv_enetaddr_by_index(), and if it fails, fall back to use dev-enetaddr, which could be filled up by the ethernet device driver. Actually, this is the original behavior, and was later changed by commit 48506a2cde2458fa1f8c5993afc98e5a4617e1d3. Signed-off-by: Eric Miao eric.m...@linaro.org Hi Eric, I found this in u-boot-usb although the commit hash I saw was 7616e7850. --- net/eth.c |3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/net/eth.c b/net/eth.c index a34fe59..c4fbe11 100644 --- a/net/eth.c +++ b/net/eth.c @@ -195,8 +195,7 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name, unsigned char env_enetaddr[6]; int ret = 0; - if (!eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr)) - return -1; + eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr); if (memcmp(env_enetaddr, \0\0\0\0\0\0, 6)) { if (memcmp(dev-enetaddr, \0\0\0\0\0\0, 6) Acked-by: Simon Glass s...@chromium.org Ping. Anybody likes to apply this? Or any new comments? Many thanks and best regards Dirk P.S.: I add Wolfgang as he seems to have done the last commits to net/eth.c. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote: On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote: The current implementation invalidates the cache instead of flushing it. This causes problems on platforms where the spl/u-boot is already loaded to the RAM, with caches enabled by a first stage bootloader. What platforms are affected? It is causing a problem on the hawkboard, where the spl is loaded directly to the RAM by a rom bootloader. We did not see this earlier since cpu_init_crit was not getting called due to CONFIG_SKIP_LOWLEVEL_INIT. -sughosh I see ... why don't you directly load U-Boot to DRAM then ? The rom bootloader(rbl) uses a different ecc layout from the one used by the davinci nand driver(u-boot and linux). Can't you just tell the driver to use the correct ecc layout when flashing then? Using rbl to load the u-boot to dram would mean that i have to use the TI's external flashing utility every time i upgrade u-boot. Not really, just adjust the NAND driver to handle this special case. Also, i would not be able to flash u-boot from the kernel. I think it's possible though, right? M -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote: Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a)(a + 1) +#define ULPI_CLR(a)(a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? These are for configuring INSNREG05_ULPI reg in EHCI reg map of omap while configuring in ulpi-phy mode. looking into struct ulpi_regs {..} then it doesn't map this configuration. Can you point me to some documentation about this please? It's not that I don't trust you, I'd rather prefer to avoid unnecessary duplication. btw, IIUC that ulpi_regs struct is for otg transceiver that uses a ulpi phy chip for communication. M btw. somewhere in the patch is one more asterisk at the end of line: Will check that It was on the line I pointed out -- Thanks, Govindraj.R ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files
CONFIG_NET_MULTI is not used anymore, so remove it from board files. Cc: Marek Vasut marek.va...@gmail.com Cc: Stefano Babic sba...@denx.de Cc: Kumar Gala kumar.g...@freescale.com Cc: Sandeep Paulraj s-paul...@ti.com Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- include/configs/P1010RDB.h |5 - include/configs/PM826.h|2 -- include/configs/PM828.h|2 -- include/configs/cam_enc_4xx.h |1 - include/configs/coreboot.h |6 -- include/configs/da850_am18xxevm.h |1 - include/configs/ecovec.h |1 - include/configs/efikamx.h |1 - include/configs/enbw_cmc.h |1 - include/configs/ethernut5.h|1 - include/configs/flea3.h|1 - include/configs/m28evk.h |1 - include/configs/omap3_evm_common.h |1 - include/configs/omap3_mvblx.h |1 - include/configs/p1_p2_rdb_pc.h |7 --- include/configs/tam3517-common.h |1 - 16 files changed, 0 insertions(+), 33 deletions(-) diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index af4609f..a9251b4 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -518,11 +518,6 @@ extern unsigned long get_sdram_size(void); #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 #endif -#if defined(CONFIG_TSEC_ENET) -#ifndef CONFIG_NET_MULTI -#define CONFIG_NET_MULTI -#endif - #define CONFIG_MII /* MII PHY management */ #define CONFIG_MII_DEFAULT_TSEC1 /* Allow unregistered phys */ #define CONFIG_TSEC1 1 diff --git a/include/configs/PM826.h b/include/configs/PM826.h index f4f9305..cde0fd6 100644 --- a/include/configs/PM826.h +++ b/include/configs/PM826.h @@ -100,11 +100,9 @@ * * if CONFIG_ETHER_ON_SCC is selected, then * - CONFIG_ETHER_INDEX must be set to the channel number (1-4) - * - CONFIG_NET_MULTI must not be defined * * if CONFIG_ETHER_ON_FCC is selected, then * - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected - * - CONFIG_NET_MULTI must be defined * * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be * defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset. diff --git a/include/configs/PM828.h b/include/configs/PM828.h index 28666d6..74ced5a 100644 --- a/include/configs/PM828.h +++ b/include/configs/PM828.h @@ -100,11 +100,9 @@ * * if CONFIG_ETHER_ON_SCC is selected, then * - CONFIG_ETHER_INDEX must be set to the channel number (1-4) - * - CONFIG_NET_MULTI must not be defined * * if CONFIG_ETHER_ON_FCC is selected, then * - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected - * - CONFIG_NET_MULTI must be defined * * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be * defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset. diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h index a21d448..50a967c 100644 --- a/include/configs/cam_enc_4xx.h +++ b/include/configs/cam_enc_4xx.h @@ -68,7 +68,6 @@ #define CONFIG_BOOTP_DNS2 #define CONFIG_BOOTP_SEND_HOSTNAME #define CONFIG_NET_RETRY_COUNT 10 -#define CONFIG_NET_MULTI #define CONFIG_CMD_MII #define CONFIG_SYS_DCACHE_OFF #define CONFIG_RESET_PHY_R diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h index 348a25b..2c65d74 100644 --- a/include/configs/coreboot.h +++ b/include/configs/coreboot.h @@ -216,10 +216,4 @@ */ #define CONFIG_PCI -/*--- - * Network device support - */ -#define CONFIG_NET_MULTI - - #endif /* __CONFIG_H */ diff --git a/include/configs/da850_am18xxevm.h b/include/configs/da850_am18xxevm.h index 9b7bf1e..6fb3920 100644 --- a/include/configs/da850_am18xxevm.h +++ b/include/configs/da850_am18xxevm.h @@ -125,7 +125,6 @@ #define CONFIG_BOOTP_DNS2 #define CONFIG_BOOTP_SEND_HOSTNAME #define CONFIG_NET_RETRY_COUNT 10 -#define CONFIG_NET_MULTI #endif #ifdef CONFIG_USE_NOR diff --git a/include/configs/ecovec.h b/include/configs/ecovec.h index 2e2a9a7..4549a4c 100644 --- a/include/configs/ecovec.h +++ b/include/configs/ecovec.h @@ -88,7 +88,6 @@ #define CONFIG_SH_I2C_BASE10xA475 /* Ether */ -#define CONFIG_NET_MULTI 1 #define CONFIG_SH_ETHER 1 #define CONFIG_SH_ETHER_USE_PORT (0) #define CONFIG_SH_ETHER_PHY_ADDR (0x1f) diff --git a/include/configs/efikamx.h b/include/configs/efikamx.h index 522487b..e2f0f74 100644 --- a/include/configs/efikamx.h +++ b/include/configs/efikamx.h @@ -206,7 +206,6 @@ /* USB NET */ #ifdef CONFIG_CMD_NET #defineCONFIG_USB_ETHER_ASIX -#defineCONFIG_NET_MULTI #defineCONFIG_CMD_PING #defineCONFIG_CMD_DHCP #endif diff --git a/include/configs/enbw_cmc.h b/include/configs/enbw_cmc.h index c427dc7..5c14379 100644 --- a/include/configs/enbw_cmc.h +++ b/include/configs/enbw_cmc.h @@ -146,7
Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files
CONFIG_NET_MULTI is not used anymore, so remove it from board files. Cc: Marek Vasut marek.va...@gmail.com Cc: Stefano Babic sba...@denx.de Cc: Kumar Gala kumar.g...@freescale.com Cc: Sandeep Paulraj s-paul...@ti.com Signed-off-by: Fabio Estevam fabio.este...@freescale.com Acked-by: Marek Vasut marek.va...@gmail.com For efikamx: Tested-by: Marek Vasut marek.va...@gmail.com --- include/configs/P1010RDB.h |5 - include/configs/PM826.h|2 -- include/configs/PM828.h|2 -- include/configs/cam_enc_4xx.h |1 - include/configs/coreboot.h |6 -- include/configs/da850_am18xxevm.h |1 - include/configs/ecovec.h |1 - include/configs/efikamx.h |1 - include/configs/enbw_cmc.h |1 - include/configs/ethernut5.h|1 - include/configs/flea3.h|1 - include/configs/m28evk.h |1 - include/configs/omap3_evm_common.h |1 - include/configs/omap3_mvblx.h |1 - include/configs/p1_p2_rdb_pc.h |7 --- include/configs/tam3517-common.h |1 - 16 files changed, 0 insertions(+), 33 deletions(-) diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index af4609f..a9251b4 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -518,11 +518,6 @@ extern unsigned long get_sdram_size(void); #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 #endif -#if defined(CONFIG_TSEC_ENET) -#ifndef CONFIG_NET_MULTI -#define CONFIG_NET_MULTI -#endif - #define CONFIG_MII /* MII PHY management */ #define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */ #define CONFIG_TSEC1 1 diff --git a/include/configs/PM826.h b/include/configs/PM826.h index f4f9305..cde0fd6 100644 --- a/include/configs/PM826.h +++ b/include/configs/PM826.h @@ -100,11 +100,9 @@ * * if CONFIG_ETHER_ON_SCC is selected, then * - CONFIG_ETHER_INDEX must be set to the channel number (1-4) - * - CONFIG_NET_MULTI must not be defined * * if CONFIG_ETHER_ON_FCC is selected, then * - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected - * - CONFIG_NET_MULTI must be defined * * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be * defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset. diff --git a/include/configs/PM828.h b/include/configs/PM828.h index 28666d6..74ced5a 100644 --- a/include/configs/PM828.h +++ b/include/configs/PM828.h @@ -100,11 +100,9 @@ * * if CONFIG_ETHER_ON_SCC is selected, then * - CONFIG_ETHER_INDEX must be set to the channel number (1-4) - * - CONFIG_NET_MULTI must not be defined * * if CONFIG_ETHER_ON_FCC is selected, then * - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected - * - CONFIG_NET_MULTI must be defined * * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be * defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset. diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h index a21d448..50a967c 100644 --- a/include/configs/cam_enc_4xx.h +++ b/include/configs/cam_enc_4xx.h @@ -68,7 +68,6 @@ #define CONFIG_BOOTP_DNS2 #define CONFIG_BOOTP_SEND_HOSTNAME #define CONFIG_NET_RETRY_COUNT 10 -#define CONFIG_NET_MULTI #define CONFIG_CMD_MII #define CONFIG_SYS_DCACHE_OFF #define CONFIG_RESET_PHY_R diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h index 348a25b..2c65d74 100644 --- a/include/configs/coreboot.h +++ b/include/configs/coreboot.h @@ -216,10 +216,4 @@ */ #define CONFIG_PCI -/*--- - * Network device support - */ -#define CONFIG_NET_MULTI - - #endif /* __CONFIG_H */ diff --git a/include/configs/da850_am18xxevm.h b/include/configs/da850_am18xxevm.h index 9b7bf1e..6fb3920 100644 --- a/include/configs/da850_am18xxevm.h +++ b/include/configs/da850_am18xxevm.h @@ -125,7 +125,6 @@ #define CONFIG_BOOTP_DNS2 #define CONFIG_BOOTP_SEND_HOSTNAME #define CONFIG_NET_RETRY_COUNT 10 -#define CONFIG_NET_MULTI #endif #ifdef CONFIG_USE_NOR diff --git a/include/configs/ecovec.h b/include/configs/ecovec.h index 2e2a9a7..4549a4c 100644 --- a/include/configs/ecovec.h +++ b/include/configs/ecovec.h @@ -88,7 +88,6 @@ #define CONFIG_SH_I2C_BASE1 0xA475 /* Ether */ -#define CONFIG_NET_MULTI 1 #define CONFIG_SH_ETHER 1 #define CONFIG_SH_ETHER_USE_PORT (0) #define CONFIG_SH_ETHER_PHY_ADDR (0x1f) diff --git a/include/configs/efikamx.h b/include/configs/efikamx.h index 522487b..e2f0f74 100644 --- a/include/configs/efikamx.h +++ b/include/configs/efikamx.h @@ -206,7 +206,6 @@ /* USB NET */ #ifdef CONFIG_CMD_NET #define CONFIG_USB_ETHER_ASIX -#define CONFIG_NET_MULTI
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote: Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a) (a + 1) +#define ULPI_CLR(a) (a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? These are for configuring INSNREG05_ULPI reg in EHCI reg map of omap while configuring in ulpi-phy mode. looking into struct ulpi_regs {..} then it doesn't map this configuration. Can you point me to some documentation about this please? It's not that I don't trust you, I'd rather prefer to avoid unnecessary duplication. Yes that would be fine. You can download the omap4460 public trm from here: http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip Go to chapter 23.11.6.6.1 EHCI Register Summary (page number 5171 and 5186/87) click INSNREG05_ULPI this for configuring in ulpi mode for external ulpi phy. reference chapter 23.11.4.1 refer to Figure 23-252. HS USB Host Controller Architecture (page number 5096) btw, IIUC that ulpi_regs struct is for otg transceiver that uses a ulpi phy chip for communication. M btw. somewhere in the patch is one more asterisk at the end of line: Will check that It was on the line I pointed out okay, got it. -- Thanks, Govindraj.R ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 01:42:38PM +0100, Marek Vasut wrote: On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote: On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote: The current implementation invalidates the cache instead of flushing it. This causes problems on platforms where the spl/u-boot is already loaded to the RAM, with caches enabled by a first stage bootloader. What platforms are affected? It is causing a problem on the hawkboard, where the spl is loaded directly to the RAM by a rom bootloader. We did not see this earlier since cpu_init_crit was not getting called due to CONFIG_SKIP_LOWLEVEL_INIT. -sughosh I see ... why don't you directly load U-Boot to DRAM then ? The rom bootloader(rbl) uses a different ecc layout from the one used by the davinci nand driver(u-boot and linux). Can't you just tell the driver to use the correct ecc layout when flashing then? Changing the ecc layout for a single board, hmm not sure. Using a spl instead does me no harm whatsoever -- I don't need to update the spl frequently in any case, and then can use the nand driver as is. -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files
Hello Fabio, Fabio Estevam wrote: CONFIG_NET_MULTI is not used anymore, so remove it from board files. Cc: Marek Vasut marek.va...@gmail.com Cc: Stefano Babic sba...@denx.de Cc: Kumar Gala kumar.g...@freescale.com Cc: Sandeep Paulraj s-paul...@ti.com Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- include/configs/P1010RDB.h |5 - include/configs/PM826.h|2 -- include/configs/PM828.h|2 -- include/configs/cam_enc_4xx.h |1 - include/configs/coreboot.h |6 -- include/configs/da850_am18xxevm.h |1 - include/configs/ecovec.h |1 - include/configs/efikamx.h |1 - include/configs/enbw_cmc.h |1 - include/configs/ethernut5.h|1 - include/configs/flea3.h|1 - include/configs/m28evk.h |1 - include/configs/omap3_evm_common.h |1 - include/configs/omap3_mvblx.h |1 - include/configs/p1_p2_rdb_pc.h |7 --- include/configs/tam3517-common.h |1 - 16 files changed, 0 insertions(+), 33 deletions(-) Acked-by: Heiko Schocher h...@denx.de Tested on the enbw_cmc and cam_enc_4xx board, so: Tested-by: Heiko Schocher h...@denx.de Thanks! bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 01:42:38PM +0100, Marek Vasut wrote: On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote: On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote: The current implementation invalidates the cache instead of flushing it. This causes problems on platforms where the spl/u-boot is already loaded to the RAM, with caches enabled by a first stage bootloader. What platforms are affected? It is causing a problem on the hawkboard, where the spl is loaded directly to the RAM by a rom bootloader. We did not see this earlier since cpu_init_crit was not getting called due to CONFIG_SKIP_LOWLEVEL_INIT. -sughosh I see ... why don't you directly load U-Boot to DRAM then ? The rom bootloader(rbl) uses a different ecc layout from the one used by the davinci nand driver(u-boot and linux). Can't you just tell the driver to use the correct ecc layout when flashing then? Changing the ecc layout for a single board, hmm not sure. Using a spl instead does me no harm whatsoever -- I don't need to update the spl frequently in any case, and then can use the nand driver as is. And how do you replace the SPL? Either way, I think the correct approach is to allow the driver to handle the SPL update too. M -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 01:42:38PM +0100, Marek Vasut wrote: On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote: On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote: The current implementation invalidates the cache instead of flushing it. This causes problems on platforms where the spl/u-boot is already loaded to the RAM, with caches enabled by a first stage bootloader. What platforms are affected? It is causing a problem on the hawkboard, where the spl is loaded directly to the RAM by a rom bootloader. We did not see this earlier since cpu_init_crit was not getting called due to CONFIG_SKIP_LOWLEVEL_INIT. -sughosh I see ... why don't you directly load U-Boot to DRAM then ? The rom bootloader(rbl) uses a different ecc layout from the one used by the davinci nand driver(u-boot and linux). Can't you just tell the driver to use the correct ecc layout when flashing then? Changing the ecc layout for a single board, hmm not sure. Using a spl instead does me no harm whatsoever -- I don't need to update the spl frequently in any case, and then can use the nand driver as is. And how do you replace the SPL? Either way, I think the correct approach is to allow the driver to handle the SPL update too. Or rather -- to be able to load u-boot directly. It seems to be more correct solution. The SPL you're using is just a workaround and also you need to TI flasher to replace it, right ? M -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 0/4] Add SMDK5250 board support
This patchset add support for Samsung's SMDK5250 board based on EXYNOS5250 based SoC. It also adds support for MMC SPL booting. The porting is done by Samsung engineers at HQ in System LSI Team. I am contributing in upstreaming the code for the board. Based upon discussions following patches are dropped in this version: Exynos: Add CONFIG_EXYNOS4 Macro to EXYNOS4 based boards Exynos: Clock.c: Replace exynos4 prefix with exynos SMDK5250: enable device tree support is squashed with EXYNOS: Add SMDK5250 board support Chander Kashyap (4): Exynos: Clock.c: Use CONFIG_SYS_CLK_FREQ macro ARM: EXYNOS: Add support for Exynos5 based SoCs EXYNOS: Add SMDK5250 board support EXYNOS: SMDK5250: Add MMC SPL support MAINTAINERS |1 + arch/arm/cpu/armv7/exynos/clock.c | 215 +- arch/arm/include/asm/arch-exynos/clock.h | 326 ++ arch/arm/include/asm/arch-exynos/cpu.h| 35 ++- arch/arm/include/asm/arch-exynos/gpio.h | 101 - board/samsung/smdk5250/Makefile | 64 +++ board/samsung/smdk5250/lowlevel_init.S| 528 ++ board/samsung/smdk5250/mem_setup.S| 600 + board/samsung/smdk5250/mmc_boot.c | 58 +++ board/samsung/smdk5250/smdk5250.c | 125 + board/samsung/smdk5250/smdk5250_setup.h | 589 board/samsung/smdk5250/tools/mkexynos_image.c | 117 + boards.cfg|1 + include/configs/s5pc210_universal.h |1 + include/configs/smdk5250.h| 188 15 files changed, 2931 insertions(+), 18 deletions(-) create mode 100644 board/samsung/smdk5250/Makefile create mode 100644 board/samsung/smdk5250/lowlevel_init.S create mode 100644 board/samsung/smdk5250/mem_setup.S create mode 100644 board/samsung/smdk5250/mmc_boot.c create mode 100644 board/samsung/smdk5250/smdk5250.c create mode 100644 board/samsung/smdk5250/smdk5250_setup.h create mode 100644 board/samsung/smdk5250/tools/mkexynos_image.c create mode 100644 include/configs/smdk5250.h -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 1/4] Exynos: Clock.c: Use CONFIG_SYS_CLK_FREQ macro
CONFIG_SYS_CLK_FREQ_C210 macro giving notion of S5PC2XX (Exynos4) architecture. Replace CONFIG_SYS_CLK_FREQ_C210 with CONFIG_SYS_CLK_FREQ to make it generic for exynos architecture. Signed-off-by: Chander Kashyap chander.kash...@linaro.org --- Changes for v2: - None Changes for v3: - None arch/arm/cpu/armv7/exynos/clock.c |6 +- include/configs/s5pc210_universal.h |1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c index 0c199cd..4d92c53 100644 --- a/arch/arm/cpu/armv7/exynos/clock.c +++ b/arch/arm/cpu/armv7/exynos/clock.c @@ -26,10 +26,6 @@ #include asm/arch/clock.h #include asm/arch/clk.h -#ifndef CONFIG_SYS_CLK_FREQ_C210 -#define CONFIG_SYS_CLK_FREQ_C210 2400 -#endif - /* exynos4: return pll clock frequency */ static unsigned long exynos4_get_pll_clk(int pllreg) { @@ -76,7 +72,7 @@ static unsigned long exynos4_get_pll_clk(int pllreg) /* SDIV [2:0] */ s = r 0x7; - freq = CONFIG_SYS_CLK_FREQ_C210; + freq = CONFIG_SYS_CLK_FREQ; if (pllreg == EPLL) { k = k 0x; diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index be000cb..8286680 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -49,6 +49,7 @@ /* input clock of PLL: Universal has 24MHz input clock at EXYNOS4210 */ #define CONFIG_SYS_CLK_FREQ_C210 2400 +#define CONFIG_SYS_CLK_FREQCONFIG_SYS_CLK_FREQ_C210 #define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_CMDLINE_TAG -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 2/4] ARM: EXYNOS: Add support for Exynos5 based SoCs
Samsung's ARM Cortex-A15 based SoCs are known as Exynos5 series of SoCs. This patch adds the support for Exynos5. Signed-off-by: Chander Kashyap chander.kash...@linaro.org --- Changes for v2: - This patch was part of EXYNOS: Add SMDK5250 board support - Now it is seprated as SoC support. Changes for v333: - Populated complete exynos5 gpio structures arch/arm/cpu/armv7/exynos/clock.c| 209 +++- arch/arm/include/asm/arch-exynos/clock.h | 326 ++ arch/arm/include/asm/arch-exynos/cpu.h | 35 +++- arch/arm/include/asm/arch-exynos/gpio.h | 101 +- 4 files changed, 658 insertions(+), 13 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c index 4d92c53..02f64bb 100644 --- a/arch/arm/cpu/armv7/exynos/clock.c +++ b/arch/arm/cpu/armv7/exynos/clock.c @@ -92,6 +92,72 @@ static unsigned long exynos4_get_pll_clk(int pllreg) return fout; } +/* exynos5: return pll clock frequency */ +static unsigned long exynos5_get_pll_clk(int pllreg) +{ + struct exynos5_clock *clk = + (struct exynos5_clock *)samsung_get_base_clock(); + unsigned long r, m, p, s, k = 0, mask, fout; + unsigned int freq; + + switch (pllreg) { + case APLL: + r = readl(clk-apll_con0); + break; + case MPLL: + r = readl(clk-mpll_con0); + break; + case EPLL: + r = readl(clk-epll_con0); + k = readl(clk-epll_con1); + break; + case VPLL: + r = readl(clk-vpll_con0); + k = readl(clk-vpll_con1); + break; + default: + printf(Unsupported PLL (%d)\n, pllreg); + return 0; + } + + /* +* APLL_CON: MIDV [25:16] +* MPLL_CON: MIDV [25:16] +* EPLL_CON: MIDV [24:16] +* VPLL_CON: MIDV [24:16] +*/ + if (pllreg == APLL || pllreg == MPLL) + mask = 0x3ff; + else + mask = 0x1ff; + + m = (r 16) mask; + + /* PDIV [13:8] */ + p = (r 8) 0x3f; + /* SDIV [2:0] */ + s = r 0x7; + + freq = CONFIG_SYS_CLK_FREQ; + + if (pllreg == EPLL) { + k = k 0x; + /* FOUT = (MDIV + K / 65536) * FIN / (PDIV * 2^SDIV) */ + fout = (m + k / 65536) * (freq / (p * (1 s))); + } else if (pllreg == VPLL) { + k = k 0xfff; + /* FOUT = (MDIV + K / 1024) * FIN / (PDIV * 2^SDIV) */ + fout = (m + k / 1024) * (freq / (p * (1 s))); + } else { + if (s 1) + s = 1; + /* FOUT = MDIV * FIN / (PDIV * 2^(SDIV - 1)) */ + fout = m * (freq / (p * (1 (s - 1; + } + + return fout; +} + /* exynos4: return ARM clock frequency */ static unsigned long exynos4_get_arm_clk(void) { @@ -114,6 +180,28 @@ static unsigned long exynos4_get_arm_clk(void) return armclk; } +/* exynos5: return ARM clock frequency */ +static unsigned long exynos5_get_arm_clk(void) +{ + struct exynos5_clock *clk = + (struct exynos5_clock *)samsung_get_base_clock(); + unsigned long div; + unsigned long armclk; + unsigned int arm_ratio; + unsigned int arm2_ratio; + + div = readl(clk-div_cpu0); + + /* ARM_RATIO: [2:0], ARM2_RATIO: [30:28] */ + arm_ratio = (div 0) 0x7; + arm2_ratio = (div 28) 0x7; + + armclk = get_pll_clk(APLL) / (arm_ratio + 1); + armclk /= (arm2_ratio + 1); + + return armclk; +} + /* exynos4: return pwm clock frequency */ static unsigned long exynos4_get_pwm_clk(void) { @@ -157,6 +245,28 @@ static unsigned long exynos4_get_pwm_clk(void) return pclk; } +/* exynos5: return pwm clock frequency */ +static unsigned long exynos5_get_pwm_clk(void) +{ + struct exynos5_clock *clk = + (struct exynos5_clock *)samsung_get_base_clock(); + unsigned long pclk, sclk; + unsigned int sel; + unsigned int ratio; + + /* +* CLK_DIV_PERIC3 +* PWM_RATIO [3:0] +*/ + ratio = readl(clk-div_peric3); + ratio = ratio 0xf; + sclk = get_pll_clk(MPLL); + + pclk = sclk / (ratio + 1); + + return pclk; +} + /* exynos4: return uart clock frequency */ static unsigned long exynos4_get_uart_clk(int dev_index) { @@ -204,6 +314,53 @@ static unsigned long exynos4_get_uart_clk(int dev_index) return uclk; } +/* exynos5: return uart clock frequency */ +static unsigned long exynos5_get_uart_clk(int dev_index) +{ + struct exynos5_clock *clk = + (struct exynos5_clock *)samsung_get_base_clock(); + unsigned long uclk, sclk; + unsigned int sel; + unsigned int ratio; + + /* +* CLK_SRC_PERIC0 +* UART0_SEL [3:0] +*
[U-Boot] [PATCH v3 4/4] EXYNOS: SMDK5250: Add MMC SPL support
This patch adds support for mmc spl booting. Signed-off-by: Chander Kashyap chander.kash...@linaro.org --- Changes for v2: - None Changes for v3: - None board/samsung/smdk5250/Makefile | 16 board/samsung/smdk5250/mmc_boot.c | 58 board/samsung/smdk5250/tools/mkexynos_image.c | 117 + include/configs/smdk5250.h|3 + 4 files changed, 194 insertions(+), 0 deletions(-) create mode 100644 board/samsung/smdk5250/mmc_boot.c create mode 100644 board/samsung/smdk5250/tools/mkexynos_image.c diff --git a/board/samsung/smdk5250/Makefile b/board/samsung/smdk5250/Makefile index a26f896..0e8c05a 100644 --- a/board/samsung/smdk5250/Makefile +++ b/board/samsung/smdk5250/Makefile @@ -26,18 +26,34 @@ LIB = $(obj)lib$(BOARD).o SOBJS := lowlevel_init.o SOBJS += mem_setup.o + +ifndef CONFIG_SPL_BUILD COBJS += smdk5250.o +endif + +ifdef CONFIG_SPL_BUILD +COBJS += mmc_boot.o +endif SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS)) ALL:= $(obj).depend $(LIB) +ifdef CONFIG_SPL_BUILD +ALL+= $(OBJTREE)/tools/mk$(BOARD)spl +endif + all: $(ALL) $(LIB):$(OBJS) $(call cmd_link_o_target, $(OBJS)) +ifdef CONFIG_SPL_BUILD +$(OBJTREE)/tools/mk$(BOARD)spl:tools/mkexynos_image.c + $(HOSTCC) tools/mkexynos_image.c -o $(OBJTREE)/tools/mk$(BOARD)spl +endif + # # defines $(obj).depend target diff --git a/board/samsung/smdk5250/mmc_boot.c b/board/samsung/smdk5250/mmc_boot.c new file mode 100644 index 000..669c1a3 --- /dev/null +++ b/board/samsung/smdk5250/mmc_boot.c @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2011 Samsung Electronics + * + * 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 + */ + +#includecommon.h +#includeconfig.h + +/* +* Copy U-boot from mmc to RAM: +* COPY_BL2_FNPTR_ADDR: Address in iRAM, which Contains +* Pointer to API (Data transfer from mmc to ram) +*/ +void copy_uboot_to_ram(void) +{ + u32 (*copy_bl2)(u32, u32, u32) = (void *) *(u32 *)COPY_BL2_FNPTR_ADDR; + + copy_bl2(BL2_START_OFFSET, BL2_SIZE_BLOC_COUNT, CONFIG_SYS_TEXT_BASE); +} + +void board_init_f(unsigned long bootflag) +{ + __attribute__((noreturn)) void (*uboot)(void); + copy_uboot_to_ram(); + + /* Jump to U-Boot image */ + uboot = (void *)CONFIG_SYS_TEXT_BASE; + (*uboot)(); + /* Never returns Here */ +} + +/* Place Holders */ +void board_init_r(gd_t *id, ulong dest_addr) +{ + /* Function attribute is no-return */ + /* This Function never executes */ + while (1) + ; +} + +void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3) {} diff --git a/board/samsung/smdk5250/tools/mkexynos_image.c b/board/samsung/smdk5250/tools/mkexynos_image.c new file mode 100644 index 000..e2b7805 --- /dev/null +++ b/board/samsung/smdk5250/tools/mkexynos_image.c @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2011 Samsung Electronics + * + * 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 stdio.h +#include stdlib.h +#include unistd.h +#include fcntl.h +#include errno.h +#include string.h +#include sys/stat.h + +#define CHECKSUM_OFFSET(14*1024-4) +#define BUFSIZE(16*1024) +#define FILE_PERM (S_IRUSR | S_IWUSR | S_IRGRP \ + | S_IWGRP |
[U-Boot] [PATCH v3 3/4] EXYNOS: Add SMDK5250 board support
SMDK5250 board is based on Samsungs EXYNOS5250 SoC. Signed-off-by: Chander Kashyap chander.kash...@linaro.org --- Changes for v2: - This patch is bifurcated into borad support and SoC support - Fixed typo: s/EEYNOS/EXYNOS - Squashed patch SMDK5250: enable device tree support in this. Changes for v3: - None MAINTAINERS |1 + board/samsung/smdk5250/Makefile | 48 +++ board/samsung/smdk5250/lowlevel_init.S | 528 +++ board/samsung/smdk5250/mem_setup.S | 600 +++ board/samsung/smdk5250/smdk5250.c | 125 +++ board/samsung/smdk5250/smdk5250_setup.h | 589 ++ boards.cfg |1 + include/configs/smdk5250.h | 185 ++ 8 files changed, 2077 insertions(+), 0 deletions(-) create mode 100644 board/samsung/smdk5250/Makefile create mode 100644 board/samsung/smdk5250/lowlevel_init.S create mode 100644 board/samsung/smdk5250/mem_setup.S create mode 100644 board/samsung/smdk5250/smdk5250.c create mode 100644 board/samsung/smdk5250/smdk5250_setup.h create mode 100644 include/configs/smdk5250.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..f62b03e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -705,6 +705,7 @@ Chander Kashyap k.chan...@samsung.com origen ARM ARMV7 (EXYNOS4210 SoC) SMDKV310ARM ARMV7 (EXYNOS4210 SoC) + SMDK5250ARM ARMV7 (EXYNOS5250 SoC) Torsten Koschorrek koschor...@synertronixx.de scb9328 ARM920T (i.MXL) diff --git a/board/samsung/smdk5250/Makefile b/board/samsung/smdk5250/Makefile new file mode 100644 index 000..a26f896 --- /dev/null +++ b/board/samsung/smdk5250/Makefile @@ -0,0 +1,48 @@ +# +# Copyright (C) 2011 Samsung Electronics +# +# 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 + +SOBJS := lowlevel_init.o +SOBJS += mem_setup.o +COBJS += smdk5250.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS)) + +ALL:= $(obj).depend $(LIB) + +all: $(ALL) + +$(LIB):$(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/board/samsung/smdk5250/lowlevel_init.S b/board/samsung/smdk5250/lowlevel_init.S new file mode 100644 index 000..ecf1d69 --- /dev/null +++ b/board/samsung/smdk5250/lowlevel_init.S @@ -0,0 +1,528 @@ +/* + * Lowlevel setup for SMDK5250 board based on S5PC520 + * + * Copyright (C) 2011 Samsung Electronics + * + * 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 config.h +#include version.h +#include asm/arch/cpu.h +#include smdk5250_setup.h + +/* + * Register usages: + * + * r5 has zero always + * r7 has GPIO part1 base 0x1140 + */ +_TEXT_BASE: + .word CONFIG_SYS_TEXT_BASE + + .globl lowlevel_init +lowlevel_init: + + /* use iROM stack in bl2 */ + ldr sp, =0x0205 + + push {lr} + + /* r5 has always zero */ + mov r5, #0 + ldr r7, =EXYNOS5_GPIO_PART1_BASE + + /* check reset status */ + ldr r0, =(EXYNOS5_POWER_BASE +
[U-Boot] [PATCH V3] mmc: access mxcmmc from mx31 boards
This is a resend of these patches http://patchwork.ozlabs.org/patch/122139/like this one http://patchwork.ozlabs.org/patch/122176/board support (including gfx) They are rebased to the current master and the board support only adds MMC as opposed to the original patch that added some gfx support as-well. The actual mmc patch was not changed since V2. -- Scanned by MailScanner. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/2] tt01: add MMC support
board_mmc_init() initializes the pins of SDHC1 and turns on V_MMC1 of the PMIC. Config adds support for EXT2 and FAT. Signed-off-by: Helmut Raiger helmut.rai...@hale.at --- board/hale/tt01/tt01.c | 32 ++-- include/configs/tt01.h | 12 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/board/hale/tt01/tt01.c b/board/hale/tt01/tt01.c index 2995c8f..4b6e770 100644 --- a/board/hale/tt01/tt01.c +++ b/board/hale/tt01/tt01.c @@ -175,8 +175,6 @@ int board_init(void) int board_late_init(void) { - pmic_init(); - #ifdef CONFIG_HW_WATCHDOG mxc_hw_watchdog_enable(); #endif @@ -190,6 +188,36 @@ int checkboard(void) return 0; } +#ifdef CONFIG_MXC_MMC +int board_mmc_init(bd_t *bis) +{ + u32 val; + struct pmic *p; + + /* + * this is the first driver to use the pmic, so call + * pmic_init() here. board_late_init() is too late for + * the MMC driver. + */ + pmic_init(); + p = get_pmic(); + + /* configure pins for SDHC1 only */ + mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_CLK, MUX_CTL_FUNC)); + mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_CMD, MUX_CTL_FUNC)); + mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA0, MUX_CTL_FUNC)); + mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA1, MUX_CTL_FUNC)); + mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA2, MUX_CTL_FUNC)); + mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA3, MUX_CTL_FUNC)); + + /* turn on power V_MMC1, bit 18 is the VMMC1 enable */ + if (pmic_reg_read(p, 33, val) 0) + pmic_reg_write(p, 33, val | 0x04); + + return mxc_mmc_init(bis); +} +#endif + int board_eth_init(bd_t *bis) { int rc = 0; diff --git a/include/configs/tt01.h b/include/configs/tt01.h index a553712..6846816 100644 --- a/include/configs/tt01.h +++ b/include/configs/tt01.h @@ -180,6 +180,11 @@ #define CONFIG_SMC911X_BASE(CS4_BASE+0x20) #define CONFIG_SMC911X_16_BIT +/* mmc driver */ +#define CONFIG_MMC +#define CONFIG_GENERIC_MMC +#define CONFIG_MXC_MMC +#define CONFIG_MXC_MCI_REGS_BASE SDHC1_BASE_ADDR /* * Command definition */ @@ -229,6 +234,13 @@ #define CONFIG_CMDLINE_EDITING +/* MMC boot support */ +#define CONFIG_CMD_MMC +#define CONFIG_DOS_PARTITION +#define CONFIG_EFI_PARTITION +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_FAT + #define CONFIG_NAND_MXC #define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_NAND_MAX_CHIPS 1 -- 1.7.4.4 -- Scanned by MailScanner. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/2] mmc: access mxcmmc from mx31 boards
This patch modifies mxcmmc.c to be used not only by i.MX27 but also by i.MX31 boards. Both use the same SD controller, but have different clock set-ups. The i.MX27 imx_get_XXXclock functions are made static to generic.c and a public mxc_get_clock() function is provided. Pins, base address and prototypes for an i.MX31 specific board_init_mmc() are provided. Some of the i.MX27 clock getters are unused and marked as such to avoid warnings (./MAKEALL -s mx27), but the code was left in for future use. Signed-off-by: Helmut Raiger helmut.rai...@hale.at --- V3: - rebased to current master - added support in TT-01 board code for it (see other patch) V2: - uses mxc_get_clock() instead of old imx_get_XXX functions - moved mx27 stuff to mxc_get_clock() aswell arch/arm/cpu/arm1136/mx31/generic.c|1 + arch/arm/cpu/arm926ejs/mx27/generic.c | 35 --- arch/arm/include/asm/arch-mx27/clock.h | 22 +++-- arch/arm/include/asm/arch-mx31/clock.h |3 +- arch/arm/include/asm/arch-mx31/imx-regs.h | 11 arch/arm/include/asm/arch-mx31/sys_proto.h |2 +- drivers/mmc/mxcmmc.c |8 ++ 7 files changed, 53 insertions(+), 29 deletions(-) diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/generic.c index f458281..d60afc9 100644 --- a/arch/arm/cpu/arm1136/mx31/generic.c +++ b/arch/arm/cpu/arm1136/mx31/generic.c @@ -101,6 +101,7 @@ unsigned int mxc_get_clock(enum mxc_clock clk) case MXC_IPG_PERCLK: case MXC_CSPI_CLK: case MXC_UART_CLK: + case MXC_ESDHC_CLK: return mx31_get_ipg_clk(); case MXC_IPU_CLK: return mx31_get_hsp_clk(); diff --git a/arch/arm/cpu/arm926ejs/mx27/generic.c b/arch/arm/cpu/arm926ejs/mx27/generic.c index 222a8e9..8964a75 100644 --- a/arch/arm/cpu/arm926ejs/mx27/generic.c +++ b/arch/arm/cpu/arm926ejs/mx27/generic.c @@ -23,6 +23,7 @@ #include netdev.h #include asm/io.h #include asm/arch/imx-regs.h +#include asm/arch/clock.h #ifdef CONFIG_MXC_MMC #include asm/arch/mxcmmc.h #endif @@ -34,7 +35,7 @@ * f = 2 * f_ref * *pd + 1 */ -unsigned int imx_decode_pll(unsigned int pll, unsigned int f_ref) +static unsigned int imx_decode_pll(unsigned int pll, unsigned int f_ref) { unsigned int mfi = (pll 10) 0xf; unsigned int mfn = pll 0x3ff; @@ -64,7 +65,7 @@ static ulong clk_in_26m(void) } } -ulong imx_get_mpllclk(void) +static ulong imx_get_mpllclk(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; ulong cscr = readl(pll-cscr); @@ -78,7 +79,7 @@ ulong imx_get_mpllclk(void) return imx_decode_pll(readl(pll-mpctl0), fref); } -ulong imx_get_armclk(void) +static ulong imx_get_armclk(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; ulong cscr = readl(pll-cscr); @@ -93,7 +94,7 @@ ulong imx_get_armclk(void) return lldiv(fref, div); } -ulong imx_get_ahbclk(void) +static ulong imx_get_ahbclk(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; ulong cscr = readl(pll-cscr); @@ -105,7 +106,7 @@ ulong imx_get_ahbclk(void) return lldiv(fref * 2, 3 * div); } -ulong imx_get_spllclk(void) +static __attribute__((unused)) ulong imx_get_spllclk(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; ulong cscr = readl(pll-cscr); @@ -124,34 +125,50 @@ static ulong imx_decode_perclk(ulong div) return lldiv((imx_get_mpllclk() * 2), (div * 3)); } -ulong imx_get_perclk1(void) +static ulong imx_get_perclk1(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; return imx_decode_perclk((readl(pll-pcdr1) 0x3f) + 1); } -ulong imx_get_perclk2(void) +static ulong imx_get_perclk2(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; return imx_decode_perclk(((readl(pll-pcdr1) 8) 0x3f) + 1); } -ulong imx_get_perclk3(void) +static __attribute__((unused)) ulong imx_get_perclk3(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; return imx_decode_perclk(((readl(pll-pcdr1) 16) 0x3f) + 1); } -ulong imx_get_perclk4(void) +static __attribute__((unused)) ulong imx_get_perclk4(void) { struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE; return imx_decode_perclk(((readl(pll-pcdr1) 24) 0x3f) + 1); } +unsigned int mxc_get_clock(enum mxc_clock clk) +{ + switch (clk) { + case MXC_ARM_CLK: + return imx_get_armclk(); + case MXC_UART_CLK: + return imx_get_perclk1(); + case MXC_FEC_CLK: + return imx_get_ahbclk(); + case MXC_ESDHC_CLK: + return imx_get_perclk2(); + } + return -1; +} + + #if defined(CONFIG_DISPLAY_CPUINFO) int print_cpuinfo (void) { diff --git
Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files
On 11/01/2012 13:47, Fabio Estevam wrote: CONFIG_NET_MULTI is not used anymore, so remove it from board files. Cc: Marek Vasut marek.va...@gmail.com Cc: Stefano Babic sba...@denx.de Cc: Kumar Gala kumar.g...@freescale.com Cc: Sandeep Paulraj s-paul...@ti.com Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- include/configs/P1010RDB.h |5 - include/configs/PM826.h|2 -- include/configs/PM828.h|2 -- include/configs/cam_enc_4xx.h |1 - include/configs/coreboot.h |6 -- include/configs/da850_am18xxevm.h |1 - include/configs/ecovec.h |1 - include/configs/efikamx.h |1 - include/configs/enbw_cmc.h |1 - include/configs/ethernut5.h|1 - include/configs/flea3.h|1 - include/configs/m28evk.h |1 - include/configs/omap3_evm_common.h |1 - include/configs/omap3_mvblx.h |1 - include/configs/p1_p2_rdb_pc.h |7 --- include/configs/tam3517-common.h |1 - 16 files changed, 0 insertions(+), 33 deletions(-) Acked-by: Stefano Babic sba...@denx.de Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote: Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a) (a + 1) +#define ULPI_CLR(a) (a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? These are for configuring INSNREG05_ULPI reg in EHCI reg map of omap while configuring in ulpi-phy mode. looking into struct ulpi_regs {..} then it doesn't map this configuration. Can you point me to some documentation about this please? It's not that I don't trust you, I'd rather prefer to avoid unnecessary duplication. Yes that would be fine. You can download the omap4460 public trm from here: http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip Go to chapter 23.11.6.6.1 EHCI Register Summary (page number 5171 and 5186/87) Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And for that purpose, the struct ulpi_regs is fitting ok. Actually ... can you check the ulpi_read and ulpi_write stuff that's already in u-boot and explain why they can not be used with this port? echi-omap.c is no where writing to those registers and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg map reg map in 23.11.6.3 used only for a external ulpi-phy communication. and debug purpose(to view vid, pid etc) and to hack external phy configuration through ulpi commands from omap - usb host controller point of view only needs INSNREG05_ULPI reg in EHCI reg configuration rest on soc host controller takes care of it. -- Thanks, Govindraj.R ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files
On Jan 11, 2012, at 6:47 AM, Fabio Estevam wrote: CONFIG_NET_MULTI is not used anymore, so remove it from board files. Cc: Marek Vasut marek.va...@gmail.com Cc: Stefano Babic sba...@denx.de Cc: Kumar Gala kumar.g...@freescale.com Cc: Sandeep Paulraj s-paul...@ti.com Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- include/configs/P1010RDB.h |5 - include/configs/PM826.h|2 -- include/configs/PM828.h|2 -- include/configs/cam_enc_4xx.h |1 - include/configs/coreboot.h |6 -- include/configs/da850_am18xxevm.h |1 - include/configs/ecovec.h |1 - include/configs/efikamx.h |1 - include/configs/enbw_cmc.h |1 - include/configs/ethernut5.h|1 - include/configs/flea3.h|1 - include/configs/m28evk.h |1 - include/configs/omap3_evm_common.h |1 - include/configs/omap3_mvblx.h |1 - include/configs/p1_p2_rdb_pc.h |7 --- include/configs/tam3517-common.h |1 - 16 files changed, 0 insertions(+), 33 deletions(-) Acked-by: Kumar Gala ga...@kernel.crashing.org For P1010RDB p1_p2_rdb_pc.h - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote: Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a)(a + 1) +#define ULPI_CLR(a)(a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? These are for configuring INSNREG05_ULPI reg in EHCI reg map of omap while configuring in ulpi-phy mode. looking into struct ulpi_regs {..} then it doesn't map this configuration. Can you point me to some documentation about this please? It's not that I don't trust you, I'd rather prefer to avoid unnecessary duplication. Yes that would be fine. You can download the omap4460 public trm from here: http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip Go to chapter 23.11.6.6.1 EHCI Register Summary (page number 5171 and 5186/87) Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And for that purpose, the struct ulpi_regs is fitting ok. Actually ... can you check the ulpi_read and ulpi_write stuff that's already in u-boot and explain why they can not be used with this port? echi-omap.c is no where writing to those registers and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg map reg map in 23.11.6.3 used only for a external ulpi-phy communication. and debug purpose(to view vid, pid etc) and to hack external phy configuration through ulpi commands from omap - usb host controller point of view only needs INSNREG05_ULPI reg in EHCI reg configuration rest on soc host controller takes care of it. Can someone else comment on this? I think I don't understand well (as I'm not OMAP guy). M -- Thanks, Govindraj.R ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/2 V3] Changes to move hawkboard to the new spl infrastructure.
This patch moves hawkboard to the new spl infrastructure from the older nand_spl one. Removed the hawkboard_nand_config build option -- The spl code now gets compiled with hawkboard_config, after building the main u-boot image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard to reflect the same. Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com Signed-off-by: Heiko Schocher h...@denx.de Cc: Heiko Schocher h...@denx.de Cc: Christian Riesch christian.rie...@omicron.at Cc: Sudhakar Rajashekhara sudhakar@ti.com Cc: Tom Rini tr...@ti.com --- Changes since V2 * Made changes to fix build break on enbw_cmc board. * Replaced defines used for conditionally compiling code in da850_lowlevel.c to the ones suggested by Heiko. * Removed unwanted defines from the config files which were added in V1. Changes since V1 * Use a common file instead of board specific files for spl, based on review comments from Christian and Heiko. arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c| 23 ++-- arch/arm/cpu/arm926ejs/davinci/spl.c |4 +- arch/arm/include/asm/arch-davinci/da850_lowlevel.h |9 + board/davinci/da8xxevm/da850evm.c |4 +- board/davinci/da8xxevm/hawkboard.c | 23 +++ board/davinci/da8xxevm/hawkboard_nand_spl.c| 115 --- .../{u-boot-spl.lds = u-boot-spl-da850evm.lds}|0 .../davinci/da8xxevm/u-boot-spl-hawk.lds | 22 ++- board/enbw/enbw_cmc/enbw_cmc.c | 13 +-- boards.cfg |1 - doc/README.hawkboard | 43 +++--- include/configs/da850evm.h |5 +- include/configs/enbw_cmc.h |2 + include/configs/hawkboard.h| 23 +++- nand_spl/board/davinci/da8xxevm/Makefile | 155 15 files changed, 111 insertions(+), 331 deletions(-) delete mode 100644 board/davinci/da8xxevm/hawkboard_nand_spl.c rename board/davinci/da8xxevm/{u-boot-spl.lds = u-boot-spl-da850evm.lds} (100%) rename nand_spl/board/davinci/da8xxevm/u-boot.lds = board/davinci/da8xxevm/u-boot-spl-hawk.lds (86%) delete mode 100644 nand_spl/board/davinci/da8xxevm/Makefile diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c index a532f8a..a404916 100644 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c @@ -32,6 +32,7 @@ #include asm/arch/emif_defs.h #include asm/arch/pll_defs.h +#if defined(CONFIG_SYS_DA850_DDR_INIT) void da850_waitloop(unsigned long loopcnt) { unsigned long i; @@ -235,6 +236,7 @@ int da850_ddr_setup(void) return 0; } +#endif /* CONFIG_SYS_DA850_DDR_INIT */ __attribute__((weak)) void board_gpio_init(void) @@ -242,10 +244,6 @@ void board_gpio_init(void) return; } -/* pinmux_resource[] vector is defined in the board specific file */ -extern const struct pinmux_resource pinmuxes[]; -extern const int pinmuxes_size; - int arch_cpu_init(void) { /* Unlock kick registers */ @@ -259,13 +257,11 @@ int arch_cpu_init(void) if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size)) return 1; +#if defined(CONFIG_SYS_DA850_PLL_INIT) /* PLL setup */ da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM); da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM); - - /* GPIO setup */ - board_gpio_init(); - +#endif /* setup CSn config */ #if defined(CONFIG_SYS_DA850_CS2CFG) writel(CONFIG_SYS_DA850_CS2CFG, davinci_emif_regs-ab1cr); @@ -274,7 +270,15 @@ int arch_cpu_init(void) writel(CONFIG_SYS_DA850_CS3CFG, davinci_emif_regs-ab2cr); #endif - lpsc_on(CONFIG_SYS_DA850_LPSC_UART); + da8xx_configure_lpsc_items(lpsc, lpsc_size); +#if defined(CONFIG_SYS_DA850_DDR_INIT) + da850_ddr_setup(); +#endif + + /* GPIO setup */ + board_gpio_init(); + + NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM1), CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE); @@ -286,6 +290,5 @@ int arch_cpu_init(void) DAVINCI_UART_PWREMU_MGMT_UTRST), davinci_uart2_ctrl_regs-pwremu_mgmt); - da850_ddr_setup(); return 0; } diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c b/arch/arm/cpu/arm926ejs/davinci/spl.c index f475f9b..74632e5 100644 --- a/arch/arm/cpu/arm926ejs/davinci/spl.c +++ b/arch/arm/cpu/arm926ejs/davinci/spl.c @@ -74,12 +74,12 @@ void board_init_f(ulong dummy) void board_init_r(gd_t *id, ulong dummy) { -#ifdef CONFIG_SOC_DM365 +#ifdef CONFIG_SPL_NAND_LOAD nand_init(); puts(Nand boot...\n); nand_boot(); #endif -#ifdef CONFIG_SOC_DA8XX +#ifdef CONFIG_SPL_SPI_LOAD mem_malloc_init(CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_LEN,
[U-Boot] u-boot-imx on Freescale MX28EVK
Hi Fabio, can you confirm that the current u-boot-imx tree runs fine on the MX28EVK? I tried it but the debug console stays dead. This is what I did: 1) make mx28evk 2) make u-boot.sb 3) ./tools/mxsboot sd u-boot.sb u-boot-sd.sb 4) prepare an SD card as described in doc/README.m28 (only one partition of type 53) 5) dd u-boot-sd.sb to above partition 6) install SD and press power button BTW: Did you ever try Freescales sd_loader to download u-boot into RAM? FYI: There also seems to be a Linux version of the USB loader (http://svn.rockbox.org/viewvc.cgi/trunk/utils/imxtools/). Best regards, Matthias ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 02:52:44PM +0100, Marek Vasut wrote: Changing the ecc layout for a single board, hmm not sure. Using a spl instead does me no harm whatsoever -- I don't need to update the spl frequently in any case, and then can use the nand driver as is. And how do you replace the SPL? Either way, I think the correct approach is to allow the driver to handle the SPL update too. Or rather -- to be able to load u-boot directly. It seems to be more correct solution. The SPL you're using is just a workaround and also you need to TI flasher to replace it, right ? Yes, using the spl is a workaround, and like i mentioned in my previous mail, i thought having the spl was not a problem on the hawkboard. I had thought putting a new oob layout in the common davinci nand driver for a single board to be not a clean fix either. More so, given the fact that we don't have any control over rbl -- so if rbl changes it's layout for any subsequent board, we'd have to add that as well to the nand driver, and both in u-boot as well as the kernel. I guess the cleanest solution would have been for the rbl to have used the same layout as the one used by u-boot and linux. Btw, can you please review this change, that this patch fixes. ACK/NAK? -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 02:52:44PM +0100, Marek Vasut wrote: Changing the ecc layout for a single board, hmm not sure. Using a spl instead does me no harm whatsoever -- I don't need to update the spl frequently in any case, and then can use the nand driver as is. And how do you replace the SPL? Either way, I think the correct approach is to allow the driver to handle the SPL update too. Or rather -- to be able to load u-boot directly. It seems to be more correct solution. The SPL you're using is just a workaround and also you need to TI flasher to replace it, right ? Yes, using the spl is a workaround, and like i mentioned in my previous mail, i thought having the spl was not a problem on the hawkboard. I had thought putting a new oob layout in the common davinci nand driver for a single board to be not a clean fix either. Then just allow the driver to be passed different OOB layout and make the current one a default More so, given the fact that we don't have any control over rbl -- so if rbl changes it's layout for any subsequent board, we'd have to add that as well to the nand driver, and both in u-boot as well as the kernel. I guess the cleanest solution would have been for the rbl to have used the same layout as the one used by u-boot and linux. Yep, why not do that then? Btw, can you please review this change, that this patch fixes. ACK/NAK? I'll think about it. It's ok, but it piles one workaround on top of another one, I don't like that approach. M -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
Hi Guys, On 01/11/12 16:34, Marek Vasut wrote: On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote: Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a)(a + 1) +#define ULPI_CLR(a)(a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? These are for configuring INSNREG05_ULPI reg in EHCI reg map of omap while configuring in ulpi-phy mode. looking into struct ulpi_regs {..} then it doesn't map this configuration. Can you point me to some documentation about this please? It's not that I don't trust you, I'd rather prefer to avoid unnecessary duplication. Yes that would be fine. You can download the omap4460 public trm from here: http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip Go to chapter 23.11.6.6.1 EHCI Register Summary (page number 5171 and 5186/87) Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And for that purpose, the struct ulpi_regs is fitting ok. Actually ... can you check the ulpi_read and ulpi_write stuff that's already in u-boot and explain why they can not be used with this port? echi-omap.c is no where writing to those registers and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg map reg map in 23.11.6.3 used only for a external ulpi-phy communication. and debug purpose(to view vid, pid etc) and to hack external phy configuration through ulpi commands from omap - usb host controller point of view only needs INSNREG05_ULPI reg in EHCI reg configuration rest on soc host controller takes care of it. Can someone else comment on this? I think I don't understand well (as I'm not OMAP guy). Well, it is on my list, actually, but I will be able to get to it only in a couple of days. (I'm really busy right now). -- Regards, Igor. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Help needed on Colibri T20 - Iris Board
We are 2 engineering students from Fribourg, Switzerland working on a embedded systems project. The fact is that we're looking to setup U-Boot on a Colibri Iris Board using the Colibri T20 module with NVIDIA Tegra 2 processor. Since the Iris board is a relatively new board, it is difficult for us to find information about it. We managed to install a recent uboot on the board but it is not very efficient. The major problem is that we aren't able to run the *saveenv*command in order to save the environnement. Does anyone have any ideas about the problem? Or patches to recommend us? We don't have much experience in embedded systems so a little help from you would be much appreciated. Thank you in advance ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC] [PATCH] DaVinci/i2c: allow multiple buses
On Wed, 11 Jan 2012 07:52:41 +0100 Heiko Schocher h...@denx.de wrote: Yes, that is the actual (not really nice) state to implement the multibus feature for i2c. The better way would be to go this way: http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=shortlog;h=refs/heads/multibus_v2_2012 but this branch is not up to date, some test on at last powerpc and arm architectures should be done, and there are a lof of checkpatch errors in this branch (any help is welcome ;-) ... so there is some work to do, before this can go to mainline ... Thanks for the pointer. I'll parse that code and do some testing on ARM (DaVinci). Regards, -- cJ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote: More so, given the fact that we don't have any control over rbl -- so if rbl changes it's layout for any subsequent board, we'd have to add that as well to the nand driver, and both in u-boot as well as the kernel. I guess the cleanest solution would have been for the rbl to have used the same layout as the one used by u-boot and linux. Yep, why not do that then? Because rbl is a proprietary bootloader from TI. Btw, can you please review this change, that this patch fixes. ACK/NAK? I'll think about it. It's ok, but it piles one workaround on top of another one, I don't like that approach. Flushing the data cache before disabling it is not a workaround, it's a fix. The current code is invalidating the cache instead of flushing it. -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] u-boot-imx on Freescale MX28EVK
Hi Matthias, On Wed, Jan 11, 2012 at 12:41 PM, Matthias Fuchs matthias.fu...@esd.eu wrote: Hi Fabio, can you confirm that the current u-boot-imx tree runs fine on the MX28EVK? I tried it but the debug console stays dead. Yes, it works fine. This is what I did: 1) make mx28evk I think you meant mx28evk_config 2) make u-boot.sb 3) ./tools/mxsboot sd u-boot.sb u-boot-sd.sb 4) prepare an SD card as described in doc/README.m28 (only one partition of type 53) 5) dd u-boot-sd.sb to above partition 6) install SD and press power button On my board I don't have to press the power button in order to get the console output. Please check your MX28EVK settings: - Boot Mode Select: 1 0 0 1 - JTAG PSWITCH RESET: To the left (reset enabled) - Battery Source: Down - Wall 5V: Up - VDD 5V: To the left (off) - Hold Button: Down (off) Also, I have only tested this on a MX28EVK rev.D board. BTW: Did you ever try Freescales sd_loader to download u-boot into RAM? FYI: There also seems to be a Linux version of the USB loader (http://svn.rockbox.org/viewvc.cgi/trunk/utils/imxtools/). I haven't tried this yet. Regards, Fabio Estevam ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] omap: mmc: Raise timeout value to 20ms
On Wednesday, January 04, 2012 01:22:29 AM Peter Bigot bigotp at acm.org wrote: I got this to work with two changes: * s/MMC_TIMEOUT_USEC/MMC_TIMEOUT_MSEC/g and define MMC_TIMEOUT_MSEC 20, since get_timer does operate on msec in the current meta-ti BeagleBoard-xM * The patch below, which is what I think fixes the real problem (that PSTATE.CMDI is still lit up when the function is entered). diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index c38b9e6..62b659a 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -198,7 +198,8 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, ulong start; start = get_timer(0); - while ((readl(mmc_base-pstate) DATI_MASK) == DATI_CMDDIS) { +#define CMDI_MASK (0x1 0) + while ((readl(mmc_base-pstate) (DATI_MASK | CMDI_MASK))) { if (get_timer(0) - start MAX_RETRY_MS) { printf(%s: timedout waiting for cmddis!\n, __func__); return TIMEOUT; Peter I tested this with success and I think this is the correct solution. Peter: can you send a proper patch for this? Andreas ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] omap: mmc: Raise timeout value to 20ms
On Wed, Jan 11, 2012 at 8:31 AM, Andreas Müller schnitzelt...@gmx.de wrote: On Wednesday, January 04, 2012 01:22:29 AM Peter Bigot bigotp at acm.org wrote: I got this to work with two changes: * s/MMC_TIMEOUT_USEC/MMC_TIMEOUT_MSEC/g and define MMC_TIMEOUT_MSEC 20, since get_timer does operate on msec in the current meta-ti BeagleBoard-xM * The patch below, which is what I think fixes the real problem (that PSTATE.CMDI is still lit up when the function is entered). diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index c38b9e6..62b659a 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -198,7 +198,8 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, ulong start; start = get_timer(0); - while ((readl(mmc_base-pstate) DATI_MASK) == DATI_CMDDIS) { +#define CMDI_MASK (0x1 0) + while ((readl(mmc_base-pstate) (DATI_MASK | CMDI_MASK))) { if (get_timer(0) - start MAX_RETRY_MS) { printf(%s: timedout waiting for cmddis!\n, __func__); return TIMEOUT; Peter I tested this with success and I think this is the correct solution. Peter: can you send a proper patch for this? I ordered the same card Peter sees failure on and it arrived yesterday. I'm formatting it now and will see if I can duplicate the problem here today. -- Tom ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] omap: mmc: Raise timeout value to 20ms
On Wed, Jan 11, 2012 at 9:31 AM, Andreas Müller schnitzelt...@gmx.de wrote: On Wednesday, January 04, 2012 01:22:29 AM Peter Bigot bigotp at acm.org wrote: I got this to work with two changes: * s/MMC_TIMEOUT_USEC/MMC_TIMEOUT_MSEC/g and define MMC_TIMEOUT_MSEC 20, since get_timer does operate on msec in the current meta-ti BeagleBoard-xM * The patch below, which is what I think fixes the real problem (that PSTATE.CMDI is still lit up when the function is entered). diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index c38b9e6..62b659a 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -198,7 +198,8 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, ulong start; start = get_timer(0); - while ((readl(mmc_base-pstate) DATI_MASK) == DATI_CMDDIS) { +#define CMDI_MASK (0x1 0) + while ((readl(mmc_base-pstate) (DATI_MASK | CMDI_MASK))) { if (get_timer(0) - start MAX_RETRY_MS) { printf(%s: timedout waiting for cmddis!\n, __func__); return TIMEOUT; Peter I tested this with success and I think this is the correct solution. Peter: can you send a proper patch for this? I'm hoping Tom replicates the problem, but if not, I think the fix is still necessary: it seems obviously wrong that the delay waits for data inhibit to clear but not for command inhibit to clear. In my situation I really was seeing DATI_MASK clear but CMDI_MASK set after the loop. Since the fix requires adding the CMDI_MASK to one or more header files (it's not defined there at this time), and probably a review of all other references to base-pstate to see if they have the same issue, I'd prefer to leave it to Tom or other real maintainers. Peter Andreas ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4 0/5] Added SPL support
On 01/09/2012 11:38 PM, Chandan Nath wrote: This patch series is submitted to add support for MMC/SD along with SPL support. Also, fixed incorrect register offset of ddr and timer registers. The patches have been compile tested and run on AM335X EVM. The patches depends on previous patch series which was submitted for supporting AM33xx platform. The patches are applies on uboot master branch. As Thomas Weber notes, this now runs on Beaglebone too so in the future please make sure to test with both platforms. Thanks. And this looks good to me so I'm just now waiting for any further comments before putting this into u-boot-ti. -- Tom ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7] net: ll_temac: Add LL TEMAC driver to u-boot
Dear Stephan Linz, In message 1325956366.18981.47.camel@keto you wrote: I'll provide the same way for the Xilinx LL_TEMAC driver as for the Xilinx AXI-EMAC driver. I prepare the microblaze-generic board code to support all potential Ethernet drivers but leave out the specific usage. You are right when you say that there is no code that refere to the new driver code -- there are also no configuration for this. And yes we adapt/change the xparameters.h out of mainline tree to enable the driver code -- but I think, that is not really a out of tree port. But what would be the best implementation for unspecified targets here? The question is actually a very simple one here: is there any board configuration in mainline that will actually compile and link against this driver? If yes, then everything is fine. If not, we would not even know if there were gross syntax errors in that code, and we would never notce when changes to other parts break compatibility with it. This is why I will not add any code that is not used in mainline - out-of-tree users don't help a bit. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de The human mind ordinarily operates at only ten percent of its capaci- ty - the rest is overhead for the operating system. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2 V3] Changes to move hawkboard to the new spl infrastructure.
Hello Sughosh, I did a quick test on the da850evm with the SPL for booting from SPI and it worked. I have a few comments below. On Wed, Jan 11, 2012 at 3:37 PM, Sughosh Ganu urwithsugh...@gmail.com wrote: This patch moves hawkboard to the new spl infrastructure from the older nand_spl one. Removed the hawkboard_nand_config build option -- The spl code now gets compiled with hawkboard_config, after building the main u-boot image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard to reflect the same. Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com Signed-off-by: Heiko Schocher h...@denx.de Cc: Heiko Schocher h...@denx.de Cc: Christian Riesch christian.rie...@omicron.at Cc: Sudhakar Rajashekhara sudhakar@ti.com Cc: Tom Rini tr...@ti.com --- Changes since V2 * Made changes to fix build break on enbw_cmc board. * Replaced defines used for conditionally compiling code in da850_lowlevel.c to the ones suggested by Heiko. * Removed unwanted defines from the config files which were added in V1. Changes since V1 * Use a common file instead of board specific files for spl, based on review comments from Christian and Heiko. arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c | 23 ++-- arch/arm/cpu/arm926ejs/davinci/spl.c | 4 +- arch/arm/include/asm/arch-davinci/da850_lowlevel.h | 9 + board/davinci/da8xxevm/da850evm.c | 4 +- board/davinci/da8xxevm/hawkboard.c | 23 +++ board/davinci/da8xxevm/hawkboard_nand_spl.c | 115 --- .../{u-boot-spl.lds = u-boot-spl-da850evm.lds} | 0 .../davinci/da8xxevm/u-boot-spl-hawk.lds | 22 ++- board/enbw/enbw_cmc/enbw_cmc.c | 13 +-- boards.cfg | 1 - doc/README.hawkboard | 43 +++--- include/configs/da850evm.h | 5 +- include/configs/enbw_cmc.h | 2 + include/configs/hawkboard.h | 23 +++- nand_spl/board/davinci/da8xxevm/Makefile | 155 15 files changed, 111 insertions(+), 331 deletions(-) delete mode 100644 board/davinci/da8xxevm/hawkboard_nand_spl.c rename board/davinci/da8xxevm/{u-boot-spl.lds = u-boot-spl-da850evm.lds} (100%) rename nand_spl/board/davinci/da8xxevm/u-boot.lds = board/davinci/da8xxevm/u-boot-spl-hawk.lds (86%) delete mode 100644 nand_spl/board/davinci/da8xxevm/Makefile diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c index a532f8a..a404916 100644 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c @@ -32,6 +32,7 @@ #include asm/arch/emif_defs.h #include asm/arch/pll_defs.h +#if defined(CONFIG_SYS_DA850_DDR_INIT) When CONFIG_SYS_DA850_DDR_INIT is not defined, you also remove the PLL initialization functions with this ifdef. I think this is not very beautiful since there is a separate CONFIG_SYS_DA850_PLL_INIT. Please put #if defined(CONFIG_SYS_DA850_DDR_INIT) only around DDR initialization functions and #if defined(CONFIG_SYS_DA850_PLL_INIT) around the PLL init functions instead. void da850_waitloop(unsigned long loopcnt) { unsigned long i; @@ -235,6 +236,7 @@ int da850_ddr_setup(void) return 0; } +#endif /* CONFIG_SYS_DA850_DDR_INIT */ __attribute__((weak)) void board_gpio_init(void) @@ -242,10 +244,6 @@ void board_gpio_init(void) return; } -/* pinmux_resource[] vector is defined in the board specific file */ -extern const struct pinmux_resource pinmuxes[]; -extern const int pinmuxes_size; - int arch_cpu_init(void) { /* Unlock kick registers */ @@ -259,13 +257,11 @@ int arch_cpu_init(void) if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size)) return 1; +#if defined(CONFIG_SYS_DA850_PLL_INIT) /* PLL setup */ da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM); da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM); - - /* GPIO setup */ - board_gpio_init(); - +#endif /* setup CSn config */ #if defined(CONFIG_SYS_DA850_CS2CFG) writel(CONFIG_SYS_DA850_CS2CFG, davinci_emif_regs-ab1cr); @@ -274,7 +270,15 @@ int arch_cpu_init(void) writel(CONFIG_SYS_DA850_CS3CFG, davinci_emif_regs-ab2cr); #endif - lpsc_on(CONFIG_SYS_DA850_LPSC_UART); + da8xx_configure_lpsc_items(lpsc, lpsc_size); +#if defined(CONFIG_SYS_DA850_DDR_INIT) + da850_ddr_setup(); +#endif + + /* GPIO setup */ + board_gpio_init(); + + NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM1), CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE); @@ -286,6 +290,5 @@ int arch_cpu_init(void) DAVINCI_UART_PWREMU_MGMT_UTRST),
Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files
On Wed, Jan 11, 2012 at 5:47 AM, Fabio Estevam feste...@gmail.com wrote: CONFIG_NET_MULTI is not used anymore, so remove it from board files. Cc: Marek Vasut marek.va...@gmail.com Cc: Stefano Babic sba...@denx.de Cc: Kumar Gala kumar.g...@freescale.com Cc: Sandeep Paulraj s-paul...@ti.com Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- include/configs/P1010RDB.h | 5 - include/configs/PM826.h | 2 -- include/configs/PM828.h | 2 -- include/configs/cam_enc_4xx.h | 1 - include/configs/coreboot.h | 6 -- include/configs/da850_am18xxevm.h | 1 - include/configs/ecovec.h | 1 - include/configs/efikamx.h | 1 - include/configs/enbw_cmc.h | 1 - include/configs/ethernut5.h | 1 - include/configs/flea3.h | 1 - include/configs/m28evk.h | 1 - include/configs/omap3_evm_common.h | 1 - include/configs/omap3_mvblx.h | 1 - include/configs/p1_p2_rdb_pc.h | 7 --- include/configs/tam3517-common.h | 1 - 16 files changed, 0 insertions(+), 33 deletions(-) Acked-by: Tom Rini tr...@ti.com For the TI parts. -- Tom ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/2 V4] Changes to move hawkboard to the new spl infrastructure
This patch moves hawkboard to the new spl infrastructure from the older nand_spl one. Removed the hawkboard_nand_config build option -- The spl code now gets compiled with hawkboard_config, after building the main u-boot image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard to reflect the same. Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com Signed-off-by: Heiko Schocher h...@denx.de Cc: Heiko Schocher h...@denx.de Cc: Christian Riesch christian.rie...@omicron.at Cc: Sudhakar Rajashekhara sudhakar@ti.com Cc: Tom Rini tr...@ti.com --- Changes since V3 * Removed CONFIG_SYS_DA850_LPSC_UART from enbw_cmc board. * Restored the point at which da850_ddr_setup is called in arch_cpu_init * Put the pll based functions under CONFIG_SYS_DA850_PLL_INIT Changes since V2 * Made changes to fix build break on enbw_cmc board. * Replaced defines used for conditionally compiling code in da850_lowlevel.c to the ones suggested by Heiko. * Removed unwanted defines from the config files which were added in V1. Changes since V1 * Use a common file instead of board specific files for spl, based on review comments from Christian and Heiko. arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c| 24 ++- arch/arm/cpu/arm926ejs/davinci/spl.c |4 +- arch/arm/include/asm/arch-davinci/da850_lowlevel.h |9 + board/davinci/da8xxevm/da850evm.c |4 +- board/davinci/da8xxevm/hawkboard.c | 23 +++ board/davinci/da8xxevm/hawkboard_nand_spl.c| 115 --- .../{u-boot-spl.lds = u-boot-spl-da850evm.lds}|0 .../davinci/da8xxevm/u-boot-spl-hawk.lds | 22 ++- board/enbw/enbw_cmc/enbw_cmc.c | 13 +-- boards.cfg |1 - doc/README.hawkboard | 43 +++--- include/configs/da850evm.h |5 +- include/configs/enbw_cmc.h |4 +- include/configs/hawkboard.h| 23 +++- nand_spl/board/davinci/da8xxevm/Makefile | 155 15 files changed, 114 insertions(+), 331 deletions(-) delete mode 100644 board/davinci/da8xxevm/hawkboard_nand_spl.c rename board/davinci/da8xxevm/{u-boot-spl.lds = u-boot-spl-da850evm.lds} (100%) rename nand_spl/board/davinci/da8xxevm/u-boot.lds = board/davinci/da8xxevm/u-boot-spl-hawk.lds (86%) delete mode 100644 nand_spl/board/davinci/da8xxevm/Makefile diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c index a532f8a..01bbc4e 100644 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c @@ -32,6 +32,7 @@ #include asm/arch/emif_defs.h #include asm/arch/pll_defs.h +#if defined(CONFIG_SYS_DA850_PLL_INIT) void da850_waitloop(unsigned long loopcnt) { unsigned long i; @@ -156,7 +157,9 @@ int da850_pll_init(struct davinci_pllc_regs *reg, unsigned long pllmult) return 0; } +#endif /* CONFIG_SYS_DA850_PLL_INIT */ +#if defined(CONFIG_SYS_DA850_DDR_INIT) int da850_ddr_setup(void) { unsigned long tmp; @@ -235,6 +238,7 @@ int da850_ddr_setup(void) return 0; } +#endif /* CONFIG_SYS_DA850_DDR_INIT */ __attribute__((weak)) void board_gpio_init(void) @@ -242,10 +246,6 @@ void board_gpio_init(void) return; } -/* pinmux_resource[] vector is defined in the board specific file */ -extern const struct pinmux_resource pinmuxes[]; -extern const int pinmuxes_size; - int arch_cpu_init(void) { /* Unlock kick registers */ @@ -259,13 +259,11 @@ int arch_cpu_init(void) if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size)) return 1; +#if defined(CONFIG_SYS_DA850_PLL_INIT) /* PLL setup */ da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM); da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM); - - /* GPIO setup */ - board_gpio_init(); - +#endif /* setup CSn config */ #if defined(CONFIG_SYS_DA850_CS2CFG) writel(CONFIG_SYS_DA850_CS2CFG, davinci_emif_regs-ab1cr); @@ -274,7 +272,12 @@ int arch_cpu_init(void) writel(CONFIG_SYS_DA850_CS3CFG, davinci_emif_regs-ab2cr); #endif - lpsc_on(CONFIG_SYS_DA850_LPSC_UART); + da8xx_configure_lpsc_items(lpsc, lpsc_size); + + /* GPIO setup */ + board_gpio_init(); + + NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM1), CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE); @@ -286,6 +289,9 @@ int arch_cpu_init(void) DAVINCI_UART_PWREMU_MGMT_UTRST), davinci_uart2_ctrl_regs-pwremu_mgmt); +#if defined(CONFIG_SYS_DA850_DDR_INIT) da850_ddr_setup(); +#endif + return 0; } diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c b/arch/arm/cpu/arm926ejs/davinci/spl.c index f475f9b..74632e5 100644 ---
Re: [U-Boot] [PATCH] cmd_source: introduce run_script()
On Wed, January 11, 2012 00:40, Mike Frysinger wrote: On Tuesday 10 January 2012 18:04:19 Michael Walle wrote: --- a/common/cmd_source.c +++ b/common/cmd_source.c +/* + * Run a series of commands, separated by '\n'. + * Beware, the contents of script may be modified while it is parsed. + */ +int run_script(char *script) const const? const char *script? script is modified while parsing, see comment above. I wanted to avoid copying. also, we already have run_command and run_command2, and they're both in common/main.c. how about naming this source_commands and also putting it into common/main.c ? i'm fine with that -- michael ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Help needed on Colibri T20 - Iris Board
Dear =?ISO-8859-1?Q?St=E9phane_Carvalho?=, In message cajq7d22dstvskuq3dtsm7oxymatycugx2bz2q2osw2bbcej...@mail.gmail.com you wrote: We managed to install a recent uboot on the board but it is not very efficient. The major problem is that we aren't able to run the *saveenv*command in order to save the environnement. Does anyone have any ideas about the problem? Or patches to recommend us? It would definitely be helpful if you describe which actual problem you see? Is the saveenv command not available at all? Does it reaturn any error messages? Which exact messages? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Make it right before you make it faster. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] u-boot-imx on Freescale MX28EVK
Dear Fabio, In message CAOMZO5C-dUk93S_zptECLKWH=csod3etgvcx5txo5dhusku...@mail.gmail.com you wrote: On my board I don't have to press the power button in order to get the console output. ... Also, I have only tested this on a MX28EVK rev.D board. Our Rev. A board also starts only after pressing the power button. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Four thousand throats may be cut in one night by a running man. -- Klingon Soldier, Day of the Dove, stardate unknown ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] bootm: Avoid 256-byte overflow in fixup_silent_linux()
This makes fixup_silent_linux() use malloc() to allocate its working space, meaning that our maximum kernel command line should only be limited by malloc(). Previously it was silently overflowing the stack. Note that nothing about this change increases the kernel's maximum command line length. If you have a command line that is 256 bytes it's up to you to make sure that kernel can handle it. Signed-off-by: Doug Anderson diand...@chromium.org --- Changes in v2: - Tried to trim down to just the minimum changes needed with no extra helper code. common/cmd_bootm.c | 38 -- 1 files changed, 28 insertions(+), 10 deletions(-) diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index d5745b1..9a0c08d 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -1229,9 +1229,13 @@ U_BOOT_CMD( /* helper routines */ /***/ #ifdef CONFIG_SILENT_CONSOLE + +#define CONSOLE_ARG console= +#define CONSOLE_ARG_LEN (sizeof(CONSOLE_ARG) - 1) + static void fixup_silent_linux(void) { - char buf[256], *start, *end; + char *buf; char *cmdline = getenv(bootargs); /* Only fix cmdline when requested */ @@ -1239,25 +1243,39 @@ static void fixup_silent_linux(void) return; debug(before silent fix-up: %s\n, cmdline); - if (cmdline) { - start = strstr(cmdline, console=); + if (cmdline (cmdline[0] != '\0')) { + char *start = strstr(cmdline, CONSOLE_ARG); + + /* Allocate space for maximum possible new command line */ + buf = malloc(strlen(cmdline) + 1 + CONSOLE_ARG_LEN + 1); + if (!buf) { + debug(%s: out of memory\n, __func__); + return; + } + if (start) { - end = strchr(start, ' '); - strncpy(buf, cmdline, (start - cmdline + 8)); + char *end = strchr(start, ' '); + int num_start_bytes = start - cmdline + CONSOLE_ARG_LEN; + + strncpy(buf, cmdline, num_start_bytes); if (end) - strcpy(buf + (start - cmdline + 8), end); + strcpy(buf + num_start_bytes, end); else - buf[start - cmdline + 8] = '\0'; + buf[num_start_bytes] = '\0'; } else { - strcpy(buf, cmdline); - strcat(buf, console=); + sprintf(buf, %s %s, cmdline, CONSOLE_ARG); } } else { - strcpy(buf, console=); + buf = strdup(CONSOLE_ARG); + if (!buf) { + debug(%s: strdup failed\n, __func__); + return; + } } setenv(bootargs, buf); debug(after silent fix-up: %s\n, buf); + free(buf); } #endif /* CONFIG_SILENT_CONSOLE */ -- 1.7.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 3/3] config: Remove Blackfin CONFIG_DEPRECATED_SILENT_LINUX_CONSOLE
Dear Wolfgang, On Wed, Jan 11, 2012 at 12:11 AM, Wolfgang Denk w...@denx.de wrote: I have to admit that I have no clear opinion here yet. The existing code is from a time when all architectures had a pretty low limit on the command line size - IIRC even PPC had only 256 bytes by then, hard coded. I think we have two options: 1) Try not to exceed any limits imposed by the Linux kernel. Advantage: we can catch situations where the user overflows the limits and print an error message (IIRC this needs to be added), so the user gets aware of the pronlem. Disadvantage: we need to add architecture specific definitions for the command line size, and keep these in sync with any related changes to the Linux kernel. We know in advance that this will not work really well. 2) We just make sure not to overwrite array bounds in U-Boot, and allow passing arbitrary sized buffers to the Linux kernel. Advantage: the code in U-Boot can be simple and clean Disadvantage: the resulting behaviour is not exactly user-friendly, as a silent truncation in the Linux kernel is probably hard to spot. Hm... I agree that the old code needs fixing. I think it would be nice if we could adapt U-Boot behaviour, but I fear that actually it cannot work at all, as we don't know which Linux kernel version the user will use, and what their limits might be. So in the end 2) is probably the most sensible approach here. Thank you for all of your time on this issue. I have just sent a patch implementing 2) with as little extra cruft as possible (I hope). Let me know if there is anything else you need here. Thanks! -Doug ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] u-boot-imx on Freescale MX28EVK
Hi Wolfgang, On Wed, Jan 11, 2012 at 3:55 PM, Wolfgang Denk w...@denx.de wrote: Dear Fabio, In message CAOMZO5C-dUk93S_zptECLKWH=csod3etgvcx5txo5dhusku...@mail.gmail.com you wrote: On my board I don't have to press the power button in order to get the console output. ... Also, I have only tested this on a MX28EVK rev.D board. Our Rev. A board also starts only after pressing the power button. Does this patch help with this issue? http://git.denx.de/?p=u-boot/u-boot-imx.git;a=commit;h=1b5f9c2bbef7f61d19feadb48bf9535268425858 Regards, Fabio Estevam ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c
Hi Guys, On 01/11/12 16:34, Marek Vasut wrote: On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote: On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote: Hi Marek, Thanks for you review. On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote: From: Govindraj.R govindraj.r...@ti.com Clean up added ehci-omap.c and make it generic for re-use across soc having same ehci ip block. Also pass the modes to be configured and configure the ports accordingly. All usb layers are not cache aligned till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. Don't reimplement the ulpi stuff ... there's already some ulpi stuff in uboot that needs fixing, so fix it and use it. I am not implementing any ulpi stuff I am just configuring OMAP on soc usb host controller (ehci). All the configuration stuff is OMAP specific things which are done in ehci-omap.c file stuffs done are like soft-reset, port mode to be used and putting port in no -idle mode(omap specific pm implementation) etc. This stuff: +/* ULPI */ +#define ULPI_SET(a)(a + 1) +#define ULPI_CLR(a)(a + 2) +#define ULPI_FUNC_CTRL 0x04 +#define ULPI_FUNC_CTRL_RESET (1 5) is just accidentally conforming to ULPI spec? These are for configuring INSNREG05_ULPI reg in EHCI reg map of omap while configuring in ulpi-phy mode. looking into struct ulpi_regs {..} then it doesn't map this configuration. Can you point me to some documentation about this please? It's not that I don't trust you, I'd rather prefer to avoid unnecessary duplication. Yes that would be fine. You can download the omap4460 public trm from here: http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip Go to chapter 23.11.6.6.1 EHCI Register Summary (page number 5171 and 5186/87) Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And for that purpose, the struct ulpi_regs is fitting ok. Actually ... can you check the ulpi_read and ulpi_write stuff that's already in u-boot and explain why they can not be used with this port? echi-omap.c is no where writing to those registers and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg map reg map in 23.11.6.3 used only for a external ulpi-phy communication. and debug purpose(to view vid, pid etc) and to hack external phy configuration through ulpi commands from omap - usb host controller point of view only needs INSNREG05_ULPI reg in EHCI reg configuration rest on soc host controller takes care of it. Can someone else comment on this? I think I don't understand well (as I'm not OMAP guy). Well, it is on my list, actually, but I will be able to get to it only in a couple of days. (I'm really busy right now). Good, please keep me updated, Igor. Thank you ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote: More so, given the fact that we don't have any control over rbl -- so if rbl changes it's layout for any subsequent board, we'd have to add that as well to the nand driver, and both in u-boot as well as the kernel. I guess the cleanest solution would have been for the rbl to have used the same layout as the one used by u-boot and linux. Yep, why not do that then? Because rbl is a proprietary bootloader from TI. Don't we actually have replacement bootloader in uboot already ? You don't need xloader with uboot anymore I think. Btw, can you please review this change, that this patch fixes. ACK/NAK? I'll think about it. It's ok, but it piles one workaround on top of another one, I don't like that approach. Flushing the data cache before disabling it is not a workaround, it's a fix. The current code is invalidating the cache instead of flushing it. Ok, but I'd like to see proper solution eventually. -sughosh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Help needed on Colibri T20 - Iris Board
Dear =?ISO-8859-1?Q?St=E9phane_Carvalho?=, In message CAJq7D22dStVsKUq3DTsM7OXYMATycUgX2bz2Q2OSW2bbceJX- g...@mail.gmail.com you wrote: We managed to install a recent uboot on the board but it is not very efficient. The major problem is that we aren't able to run the *saveenv*command in order to save the environnement. Does anyone have any ideas about the problem? Or patches to recommend us? It would definitely be helpful if you describe which actual problem you see? Is the saveenv command not available at all? Does it reaturn any error messages? Which exact messages? Hi Wolfgang, they don't have any storage media. They PMed me and I explained to them. Anyway, I suspect we won't be getting any further here as they decided to use out-of- tree port (sadly). M Best regards, Wolfgang Denk ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option
On Dec 20, 2011, at 10:33 AM, Fabio Estevam wrote: Since commit 97039ab98 (env_mmc: Allow board code to override the environment address) mmc_get_env_addr is a weak-aliased function in common/env_mmc.c The mmc_get_env_addr implementation that exists at board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC boards, but currently it is being used for all platforms that have CONFIG_ENV_IS_IN_MMC defined. Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could activate this config option on their board file. This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards. Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- board/freescale/common/Makefile|2 +- board/freescale/common/sdhc_boot.c |2 ++ include/configs/MPC8536DS.h|1 + include/configs/P1010RDB.h |1 + include/configs/P1_P2_RDB.h|1 + include/configs/P2020COME.h|1 + include/configs/P2020DS.h |1 + include/configs/P2041RDB.h |1 + include/configs/corenet_ds.h |1 + include/configs/p1_p2_rdb_pc.h |1 + 10 files changed, 11 insertions(+), 1 deletions(-) diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile index 9077aaf..5f8f7c6 100644 --- a/board/freescale/common/Makefile +++ b/board/freescale/common/Makefile @@ -39,7 +39,7 @@ COBJS-$(CONFIG_PQ_MDS_PIB) += pq-mds-pib.o COBJS-$(CONFIG_ID_EEPROM) += sys_eeprom.o COBJS-$(CONFIG_FSL_SGMII_RISER) += sgmii_riser.o ifndef CONFIG_RAMBOOT_PBL -COBJS-$(CONFIG_ENV_IS_IN_MMC)+= sdhc_boot.o +COBJS-$(CONFIG_FSL_FIXED_MMC_LOCATION) += sdhc_boot.o endif COBJS-$(CONFIG_MPC8541CDS)+= cds_pci_ft.o diff --git a/board/freescale/common/sdhc_boot.c b/board/freescale/common/sdhc_boot.c index e432318..68c335b 100644 --- a/board/freescale/common/sdhc_boot.c +++ b/board/freescale/common/sdhc_boot.c @@ -32,6 +32,7 @@ #define ESDHC_BOOT_IMAGE_SIZE 0x48 #define ESDHC_BOOT_IMAGE_ADDR 0x50 +#ifdef CONFIG_FSL_FIXED_MMC_LOCATION Why is this ifdef needed since we already have it dealt with in the Makefile? int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr) { u8 *tmp_buf; @@ -61,3 +62,4 @@ int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr) return 0; } +#endif diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index 16db98f..4b5373c 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -659,6 +659,7 @@ #define CONFIG_ENV_SECT_SIZE 0x1 #elif defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_SYS_MMC_ENV_DEV 0 #else diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index af4609f..0a22a5c 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -609,6 +609,7 @@ extern unsigned long get_sdram_size(void); #if defined(CONFIG_SYS_RAMBOOT) #if defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_SYS_MMC_ENV_DEV0 #define CONFIG_ENV_SIZE 0x2000 #elif defined(CONFIG_RAMBOOT_SPIFLASH) diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h index 00fa74d..29f016b 100644 --- a/include/configs/P1_P2_RDB.h +++ b/include/configs/P1_P2_RDB.h @@ -519,6 +519,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_ENV_OFFSET ((512 * 1024) + CONFIG_SYS_NAND_BLOCK_SIZE) #elif defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_SYS_MMC_ENV_DEV0 #elif defined(CONFIG_RAMBOOT_SPIFLASH) diff --git a/include/configs/P2020COME.h b/include/configs/P2020COME.h index cf20d2b..f3d1db0 100644 --- a/include/configs/P2020COME.h +++ b/include/configs/P2020COME.h @@ -350,6 +350,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); */ #if defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC1 + #define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_SYS_MMC_ENV_DEV 0 #elif defined(CONFIG_RAMBOOT_SPIFLASH) diff --git a/include/configs/P2020DS.h b/include/configs/P2020DS.h index 2d9657a..2d9b916 100644 --- a/include/configs/P2020DS.h +++ b/include/configs/P2020DS.h @@ -596,6 +596,7 @@ */ #if defined(CONFIG_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_SYS_MMC_ENV_DEV0 #elif defined(CONFIG_SPIFLASH) diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h index
[U-Boot] [PATCH v2] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option
Since commit 97039ab98 (env_mmc: Allow board code to override the environment address) mmc_get_env_addr is a weak-aliased function in common/env_mmc.c The mmc_get_env_addr implementation that exists at board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC boards, but currently it is being used for all platforms that have CONFIG_ENV_IS_IN_MMC defined. Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could activate this config option on their board file. This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards. Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- Changes since v1: - Remove unneeded ifdef from board/freescale/common/sdhc_boot.c board/freescale/common/Makefile |2 +- include/configs/MPC8536DS.h |1 + include/configs/P1010RDB.h |1 + include/configs/P1_P2_RDB.h |1 + include/configs/P2020COME.h |1 + include/configs/P2020DS.h |1 + include/configs/P2041RDB.h |1 + include/configs/corenet_ds.h|1 + include/configs/p1_p2_rdb_pc.h |1 + 9 files changed, 9 insertions(+), 1 deletions(-) diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile index 9077aaf..0b40dc7 100644 --- a/board/freescale/common/Makefile +++ b/board/freescale/common/Makefile @@ -39,7 +39,7 @@ COBJS-$(CONFIG_PQ_MDS_PIB)+= pq-mds-pib.o COBJS-$(CONFIG_ID_EEPROM) += sys_eeprom.o COBJS-$(CONFIG_FSL_SGMII_RISER)+= sgmii_riser.o ifndef CONFIG_RAMBOOT_PBL -COBJS-$(CONFIG_ENV_IS_IN_MMC) += sdhc_boot.o +COBJS-$(CONFIG_FSL_FIXED_MMC_LOCATION) += sdhc_boot.o endif COBJS-$(CONFIG_MPC8541CDS) += cds_pci_ft.o diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index 16db98f..c26cb63 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -659,6 +659,7 @@ #define CONFIG_ENV_SECT_SIZE 0x1 #elif defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE0x2000 #define CONFIG_SYS_MMC_ENV_DEV 0 #else diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index a9251b4..297cc0a 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -604,6 +604,7 @@ extern unsigned long get_sdram_size(void); #if defined(CONFIG_SYS_RAMBOOT) #if defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_ENV_SIZE0x2000 #elif defined(CONFIG_RAMBOOT_SPIFLASH) diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h index 00fa74d..916b519 100644 --- a/include/configs/P1_P2_RDB.h +++ b/include/configs/P1_P2_RDB.h @@ -519,6 +519,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_ENV_OFFSET ((512 * 1024) + CONFIG_SYS_NAND_BLOCK_SIZE) #elif defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE0x2000 #define CONFIG_SYS_MMC_ENV_DEV 0 #elif defined(CONFIG_RAMBOOT_SPIFLASH) diff --git a/include/configs/P2020COME.h b/include/configs/P2020COME.h index cf20d2b..365322c 100644 --- a/include/configs/P2020COME.h +++ b/include/configs/P2020COME.h @@ -350,6 +350,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); */ #if defined(CONFIG_RAMBOOT_SDCARD) #define CONFIG_ENV_IS_IN_MMC1 + #define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_SYS_MMC_ENV_DEV 0 #elif defined(CONFIG_RAMBOOT_SPIFLASH) diff --git a/include/configs/P2020DS.h b/include/configs/P2020DS.h index 2d9657a..f0eb029 100644 --- a/include/configs/P2020DS.h +++ b/include/configs/P2020DS.h @@ -596,6 +596,7 @@ */ #if defined(CONFIG_SDCARD) #define CONFIG_ENV_IS_IN_MMC +#define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_ENV_SIZE0x2000 #define CONFIG_SYS_MMC_ENV_DEV 0 #elif defined(CONFIG_SPIFLASH) diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h index a48055e..da98f8f 100644 --- a/include/configs/P2041RDB.h +++ b/include/configs/P2041RDB.h @@ -92,6 +92,7 @@ #elif defined(CONFIG_SDCARD) #define CONFIG_SYS_EXTRA_ENV_RELOC #define CONFIG_ENV_IS_IN_MMC + #define CONFIG_FSL_FIXED_MMC_LOCATION #define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_ENV_OFFSET (512 * 1097) diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h index 7925b95..77dd0a2 100644 --- a/include/configs/corenet_ds.h +++ b/include/configs/corenet_ds.h @@ -88,6 +88,7 @@ #elif defined(CONFIG_SDCARD) #define CONFIG_SYS_EXTRA_ENV_RELOC #define CONFIG_ENV_IS_IN_MMC +#define
[U-Boot] [PATCH 0/3] devkit3250: add Timll DevKit3250 board initial support
This patchset adds generic NXP LPC32XX SoC support and basic support for Embest/Timll DevKit3250 board, which powered by this SoC. The patchset is done on top of u-boot/master branch. The general difference of this resent series from the previous ones is that high speed UART driver was added into support. Vladimir Zapolskiy (3): arm926ejs: add NXP LPC32x0 cpu series support serial: add LPC32X0 high-speed UART devices support devkit3250: add Timll DevKit3250 board initial support MAINTAINERS |4 + arch/arm/cpu/arm926ejs/lpc32xx/Makefile | 45 +++ arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c | 118 + arch/arm/cpu/arm926ejs/lpc32xx/cpu.c | 58 + arch/arm/cpu/arm926ejs/lpc32xx/devices.c | 55 arch/arm/cpu/arm926ejs/lpc32xx/timer.c| 94 ++ arch/arm/include/asm/arch-lpc32xx/clk.h | 170 + arch/arm/include/asm/arch-lpc32xx/config.h| 75 +++ arch/arm/include/asm/arch-lpc32xx/cpu.h | 64 + arch/arm/include/asm/arch-lpc32xx/emc.h | 92 + arch/arm/include/asm/arch-lpc32xx/sys_proto.h | 25 arch/arm/include/asm/arch-lpc32xx/timer.h | 74 +++ arch/arm/include/asm/arch-lpc32xx/uart.h | 114 + arch/arm/include/asm/arch-lpc32xx/wdt.h | 51 board/timll/devkit3250/Makefile | 44 +++ board/timll/devkit3250/devkit3250.c | 71 ++ boards.cfg|1 + drivers/serial/Makefile |1 + drivers/serial/lpc32xx_hsuart.c | 119 + include/configs/devkit3250.h | 121 ++ 20 files changed, 1396 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h create mode 100644 board/timll/devkit3250/Makefile create mode 100644 board/timll/devkit3250/devkit3250.c create mode 100644 drivers/serial/lpc32xx_hsuart.c create mode 100644 include/configs/devkit3250.h -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/3 v6] arm926ejs: add NXP LPC32x0 cpu series support
This change adds initial support for NXP LPC32x0 SoC series. Signed-off-by: Vladimir Zapolskiy v...@mleia.com --- Changes from v5 to v6: * replaced some spaces with tabs in macro declarations * more rules separating 14-clock and ns16650 UARTs in config.h Changes from v4 to v5: * corrected address in GPLv2+ licence header in files Changes from v3 to v4: * extended memory controller definitions are introduced * added print_cpuinfo() function Changes from v2 to v3: * checkpatch.pl reports zero errors and warnings Changes from v1 to v2: * BIT(n) and SBF(s, v) macro are not used anymore * removed NS16550 and 14-clock UART definitions from uart.h * added devices.c file, which contains standard UART preinitialization routine * added get_serial_clock() function, it returns actual frequency of UART clock * __udelay() realization is simplified, no need of interrupt handling arch/arm/cpu/arm926ejs/lpc32xx/Makefile | 45 +++ arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c | 118 + arch/arm/cpu/arm926ejs/lpc32xx/cpu.c | 58 + arch/arm/cpu/arm926ejs/lpc32xx/devices.c | 47 +++ arch/arm/cpu/arm926ejs/lpc32xx/timer.c| 94 ++ arch/arm/include/asm/arch-lpc32xx/clk.h | 170 + arch/arm/include/asm/arch-lpc32xx/config.h| 75 +++ arch/arm/include/asm/arch-lpc32xx/cpu.h | 64 + arch/arm/include/asm/arch-lpc32xx/emc.h | 92 + arch/arm/include/asm/arch-lpc32xx/sys_proto.h | 25 arch/arm/include/asm/arch-lpc32xx/timer.h | 74 +++ arch/arm/include/asm/arch-lpc32xx/uart.h | 54 arch/arm/include/asm/arch-lpc32xx/wdt.h | 51 13 files changed, 967 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/Makefile b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile new file mode 100644 index 000..e6222e4 --- /dev/null +++ b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile @@ -0,0 +1,45 @@ +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, w...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(SOC).o + +COBJS = cpu.o clkpwr.o devices.o timer.o + +SRCS:= $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS:= $(addprefix $(obj),$(COBJS) $(SOBJS)) + +all:$(obj).depend $(LIB) + +$(LIB): $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c new file mode 100644 index 000..103157a --- /dev/null +++ b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General
[U-Boot] [PATCH 2/3] serial: add LPC32X0 high-speed UART devices support
This change adds an implementation of high-speed UART found on NXP LPC32X0 SoCs. Such UARTs are enumerated as UART1, UART2 and UART7. Signed-off-by: Vladimir Zapolskiy v...@mleia.com --- arch/arm/cpu/arm926ejs/lpc32xx/devices.c |8 ++ arch/arm/include/asm/arch-lpc32xx/uart.h | 60 +++ drivers/serial/Makefile |1 + drivers/serial/lpc32xx_hsuart.c | 119 ++ 4 files changed, 188 insertions(+), 0 deletions(-) create mode 100644 drivers/serial/lpc32xx_hsuart.c diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/devices.c b/arch/arm/cpu/arm926ejs/lpc32xx/devices.c index 7489fb5..df86b4e 100644 --- a/arch/arm/cpu/arm926ejs/lpc32xx/devices.c +++ b/arch/arm/cpu/arm926ejs/lpc32xx/devices.c @@ -30,6 +30,14 @@ void lpc32xx_uart_init(unsigned int uart_id) { u32 val; + if (uart_id 1 || uart_id 7) + return; + + /* Disable loopback mode, if it is set by S1L bootloader */ + val = readl(uart_control-loop); + val = ~UART_LOOPBACK(CONFIG_SYS_LPC32XX_UART); + writel(val, uart_control-loop); + if (uart_id 3 || uart_id 6) return; diff --git a/arch/arm/include/asm/arch-lpc32xx/uart.h b/arch/arm/include/asm/arch-lpc32xx/uart.h index 3c7e561..cb4853c 100644 --- a/arch/arm/include/asm/arch-lpc32xx/uart.h +++ b/arch/arm/include/asm/arch-lpc32xx/uart.h @@ -22,6 +22,66 @@ #include asm/types.h +/* 14-clock UART Registers */ +struct hsuart_t { + union { + u32 rx; /* Receiver FIFO*/ + u32 tx; /* Transmitter FIFO */ + }; + u32 level; /* FIFO Level Register */ + u32 iir;/* Interrupt ID Register*/ + u32 ctrl; /* Control Register */ + u32 rate; /* Rate Control Register*/ +}; + +/* 14-clock UART Receiver FIFO Register bits */ +#define HSUART_RX_BREAK(1 10) +#define HSUART_RX_ERROR(1 9) +#define HSUART_RX_EMPTY(1 8) +#define HSUART_RX_DATA (0xff 0) + +/* 14-clock UART Level Register bits */ +#define HSUART_LEVEL_TX(0xff 8) +#define HSUART_LEVEL_RX(0xff 0) + +/* 14-clock UART Interrupt Identification Register bits */ +#define HSUART_IIR_TX_INT_SET (1 6) +#define HSUART_IIR_RX_OE (1 5) +#define HSUART_IIR_BRK (1 4) +#define HSUART_IIR_FE (1 3) +#define HSUART_IIR_RX_TIMEOUT (1 2) +#define HSUART_IIR_RX_TRIG (1 1) +#define HSUART_IIR_TX (1 0) + +/* 14-clock UART Control Register bits */ +#define HSUART_CTRL_HRTS_INV (1 21) +#define HSUART_CTRL_HRTS_TRIG_48 (0x3 19) +#define HSUART_CTRL_HRTS_TRIG_32 (0x2 19) +#define HSUART_CTRL_HRTS_TRIG_16 (0x1 19) +#define HSUART_CTRL_HRTS_TRIG_8(0x0 19) +#define HSUART_CTRL_HRTS_EN(1 18) +#define HSUART_CTRL_TMO_16 (0x3 16) +#define HSUART_CTRL_TMO_8 (0x2 16) +#define HSUART_CTRL_TMO_4 (0x1 16) +#define HSUART_CTRL_TMO_DISABLED (0x0 16) +#define HSUART_CTRL_HCTS_INV (1 15) +#define HSUART_CTRL_HCTS_EN(1 14) +#define HSUART_CTRL_HSU_OFFSET(n) ((n) 9) +#define HSUART_CTRL_HSU_BREAK (1 8) +#define HSUART_CTRL_HSU_ERR_INT_EN (1 7) +#define HSUART_CTRL_HSU_RX_INT_EN (1 6) +#define HSUART_CTRL_HSU_TX_INT_EN (1 5) +#define HSUART_CTRL_HSU_RX_TRIG_48 (0x5 2) +#define HSUART_CTRL_HSU_RX_TRIG_32 (0x4 2) +#define HSUART_CTRL_HSU_RX_TRIG_16 (0x3 2) +#define HSUART_CTRL_HSU_RX_TRIG_8 (0x2 2) +#define HSUART_CTRL_HSU_RX_TRIG_4 (0x1 2) +#define HSUART_CTRL_HSU_RX_TRIG_1 (0x0 2) +#define HSUART_CTRL_HSU_TX_TRIG_16 (0x3 0) +#define HSUART_CTRL_HSU_TX_TRIG_8 (0x2 0) +#define HSUART_CTRL_HSU_TX_TRIG_4 (0x1 0) +#define HSUART_CTRL_HSU_TX_TRIG_0 (0x0 0) + /* UART Control Registers */ struct uart_ctrl_t { u32 ctrl; /* Control Register */ diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile index 616b857..65d0f23 100644 --- a/drivers/serial/Makefile +++ b/drivers/serial/Makefile @@ -29,6 +29,7 @@ COBJS-$(CONFIG_ALTERA_UART) += altera_uart.o COBJS-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o COBJS-$(CONFIG_ARM_DCC) += arm_dcc.o COBJS-$(CONFIG_ATMEL_USART) += atmel_usart.o +COBJS-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o COBJS-$(CONFIG_MCFUART) += mcfuart.o COBJS-$(CONFIG_NS9750_UART) += ns9750_serial.o COBJS-$(CONFIG_OPENCORES_YANU) += opencores_yanu.o diff --git a/drivers/serial/lpc32xx_hsuart.c b/drivers/serial/lpc32xx_hsuart.c new file mode 100644 index 000..0663772 --- /dev/null +++ b/drivers/serial/lpc32xx_hsuart.c @@ -0,0 +1,119 @@ +/* + * Copyright
[U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board
This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board. Signed-off-by: Vladimir Zapolskiy v...@mleia.com --- MAINTAINERS|4 + board/starterkit/skat91_sim508/Makefile| 44 ++ board/starterkit/skat91_sim508/partition.c | 39 + board/starterkit/skat91_sim508/skat91_sim508.c | 124 boards.cfg |2 + include/configs/skat91_sim508.h| 181 6 files changed, 394 insertions(+), 0 deletions(-) create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644 board/starterkit/skat91_sim508/partition.c create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c create mode 100644 include/configs/skat91_sim508.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..bcd330a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganu urwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiy v...@mleia.com + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + - Unknown / orphaned boards: diff --git a/board/starterkit/skat91_sim508/Makefile b/board/starterkit/skat91_sim508/Makefile new file mode 100644 index 000..77965f8 --- /dev/null +++ b/board/starterkit/skat91_sim508/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetski l...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB= $(obj)lib$(BOARD).o + +COBJS := skat91_sim508.o partition.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(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/starterkit/skat91_sim508/partition.c b/board/starterkit/skat91_sim508/partition.c new file mode 100644 index 000..f82046d --- /dev/null +++ b/board/starterkit/skat91_sim508/partition.c @@ -0,0 +1,39 @@ +/* + * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions + * + * Copyright (C) 2011 Vladimir Zapolskiy v...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include common.h +#include config.h +#include asm/hardware.h +#include dataflash.h + +AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS]; + +struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = { + { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = { + { 0x, 0x3FFF, FLAG_PROTECT_SET, 0, Bootstrap }, + { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment }, + { 0x8000, 0x00037FFF, FLAG_PROTECT_SET, 0, U-Boot }, + { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel }, +}; diff --git a/board/starterkit/skat91_sim508/skat91_sim508.c b/board/starterkit/skat91_sim508/skat91_sim508.c new file mode 100644 index 000..bcd6a94 --- /dev/null +++ b/board/starterkit/skat91_sim508/skat91_sim508.c @@ -0,0 +1,124 @@ +/* + * StarterKit SK-AT91SAM9/SIM508 board support + * + * Copyright
Re: [U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board
This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board. Signed-off-by: Vladimir Zapolskiy v...@mleia.com --- MAINTAINERS|4 + board/starterkit/skat91_sim508/Makefile| 44 ++ board/starterkit/skat91_sim508/partition.c | 39 + board/starterkit/skat91_sim508/skat91_sim508.c | 124 boards.cfg |2 + include/configs/skat91_sim508.h| 181 6 files changed, 394 insertions(+), 0 deletions(-) create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644 board/starterkit/skat91_sim508/partition.c create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c create mode 100644 include/configs/skat91_sim508.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..bcd330a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganu urwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiy v...@mleia.com + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + - Unknown / orphaned boards: diff --git a/board/starterkit/skat91_sim508/Makefile b/board/starterkit/skat91_sim508/Makefile new file mode 100644 index 000..77965f8 --- /dev/null +++ b/board/starterkit/skat91_sim508/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetski l...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS:= skat91_sim508.o partition.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS:= $(addprefix $(obj),$(SOBJS)) + +$(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/starterkit/skat91_sim508/partition.c b/board/starterkit/skat91_sim508/partition.c new file mode 100644 index 000..f82046d --- /dev/null +++ b/board/starterkit/skat91_sim508/partition.c @@ -0,0 +1,39 @@ +/* + * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions + * + * Copyright (C) 2011 Vladimir Zapolskiy v...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include common.h +#include config.h +#include asm/hardware.h +#include dataflash.h + +AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS]; + +struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = { + { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = { + { 0x, 0x3FFF, FLAG_PROTECT_SET, 0, Bootstrap }, + { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment }, + { 0x8000, 0x00037FFF, FLAG_PROTECT_SET, 0, U-Boot }, + { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel }, +}; diff --git a/board/starterkit/skat91_sim508/skat91_sim508.c b/board/starterkit/skat91_sim508/skat91_sim508.c new file mode 100644 index 000..bcd6a94 --- /dev/null +++
Re: [U-Boot] [PATCH 1/3 v6] arm926ejs: add NXP LPC32x0 cpu series support
This change adds initial support for NXP LPC32x0 SoC series. Signed-off-by: Vladimir Zapolskiy v...@mleia.com --- Changes from v5 to v6: * replaced some spaces with tabs in macro declarations * more rules separating 14-clock and ns16650 UARTs in config.h Changes from v4 to v5: * corrected address in GPLv2+ licence header in files Changes from v3 to v4: * extended memory controller definitions are introduced * added print_cpuinfo() function Changes from v2 to v3: * checkpatch.pl reports zero errors and warnings Changes from v1 to v2: * BIT(n) and SBF(s, v) macro are not used anymore * removed NS16550 and 14-clock UART definitions from uart.h * added devices.c file, which contains standard UART preinitialization routine * added get_serial_clock() function, it returns actual frequency of UART clock * __udelay() realization is simplified, no need of interrupt handling arch/arm/cpu/arm926ejs/lpc32xx/Makefile | 45 +++ arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c | 118 + arch/arm/cpu/arm926ejs/lpc32xx/cpu.c | 58 + arch/arm/cpu/arm926ejs/lpc32xx/devices.c | 47 +++ arch/arm/cpu/arm926ejs/lpc32xx/timer.c| 94 ++ arch/arm/include/asm/arch-lpc32xx/clk.h | 170 + arch/arm/include/asm/arch-lpc32xx/config.h| 75 +++ arch/arm/include/asm/arch-lpc32xx/cpu.h | 64 + arch/arm/include/asm/arch-lpc32xx/emc.h | 92 + arch/arm/include/asm/arch-lpc32xx/sys_proto.h | 25 arch/arm/include/asm/arch-lpc32xx/timer.h | 74 +++ arch/arm/include/asm/arch-lpc32xx/uart.h | 54 arch/arm/include/asm/arch-lpc32xx/wdt.h | 51 13 files changed, 967 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/Makefile b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile new file mode 100644 index 000..e6222e4 --- /dev/null +++ b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile @@ -0,0 +1,45 @@ +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, w...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(SOC).o + +COBJS = cpu.o clkpwr.o devices.o timer.o + +SRCS:= $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS:= $(addprefix $(obj),$(COBJS) $(SOBJS)) + +all:$(obj).depend $(LIB) + +$(LIB): $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c new file mode 100644 index 000..103157a --- /dev/null +++ b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY;
Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support
This change adds a basic support for Embest/Timll DevKit3250 board, NOR and UART are the only supported peripherals for a moment. The board doesn't require low-level init, because the initial SDRAM and GPIO configuration is performed during kickstart bootloader execution. Signed-off-by: Vladimir Zapolskiy v...@mleia.com --- Changes from v2 to v3: * updated a relocation address * combined a record in maintainers file into the patch * use high speed UART2 by default Changes from v1 to v2: * corrected address in GPLv2+ licence header in files * removed clean and distclean targets from board makefile * do not set machine id explicitly, if CONFIG_MACH_TYPE is defined * minor indentation cleanups MAINTAINERS |4 + board/timll/devkit3250/Makefile | 44 + board/timll/devkit3250/devkit3250.c | 71 boards.cfg |1 + include/configs/devkit3250.h| 121 +++ 5 files changed, 241 insertions(+), 0 deletions(-) create mode 100644 board/timll/devkit3250/Makefile create mode 100644 board/timll/devkit3250/devkit3250.c create mode 100644 include/configs/devkit3250.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..68dedae 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganu urwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiy v...@mleia.com + + devkit3250 lpc32xx + - Unknown / orphaned boards: diff --git a/board/timll/devkit3250/Makefile b/board/timll/devkit3250/Makefile new file mode 100644 index 000..ea7827c --- /dev/null +++ b/board/timll/devkit3250/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetski l...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS:= devkit3250.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS:= $(addprefix $(obj),$(SOBJS)) + +$(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/timll/devkit3250/devkit3250.c b/board/timll/devkit3250/devkit3250.c new file mode 100644 index 000..461012d --- /dev/null +++ b/board/timll/devkit3250/devkit3250.c @@ -0,0 +1,71 @@ +/* + * Embest/Timll DevKit3250 board support + * + * Copyright (C) 2011 Vladimir Zapolskiy v...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include common.h +#include asm/arch/sys_proto.h +#include asm/arch/cpu.h +#include asm/arch/emc.h + +DECLARE_GLOBAL_DATA_PTR; + +static struct emc_t *emc = (struct emc_t *)EMC_BASE; + +int board_early_init_f(void) +{ + lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART); + + return 0; +} + +int board_init(void) +{ + /* + * It might be necessary to flush data cache, if U-boot is loaded + * from kickstart bootloader, e.g. from S1L loader + */ + flush_cache(0, 0); You're flushing no area here ... also,
Re: [U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board
On 11.01.2012 22:53, Marek Vasut wrote: This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board. Signed-off-by: Vladimir Zapolskiyv...@mleia.com --- MAINTAINERS|4 + board/starterkit/skat91_sim508/Makefile| 44 ++ board/starterkit/skat91_sim508/partition.c | 39 + board/starterkit/skat91_sim508/skat91_sim508.c | 124 boards.cfg |2 + include/configs/skat91_sim508.h| 181 6 files changed, 394 insertions(+), 0 deletions(-) create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644 board/starterkit/skat91_sim508/partition.c create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c create mode 100644 include/configs/skat91_sim508.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..bcd330a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiyv...@mleia.com + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + - Unknown / orphaned boards: diff --git a/board/starterkit/skat91_sim508/Makefile b/board/starterkit/skat91_sim508/Makefile new file mode 100644 index 000..77965f8 --- /dev/null +++ b/board/starterkit/skat91_sim508/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB= $(obj)lib$(BOARD).o + +COBJS := skat91_sim508.o partition.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(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/starterkit/skat91_sim508/partition.c b/board/starterkit/skat91_sim508/partition.c new file mode 100644 index 000..f82046d --- /dev/null +++ b/board/starterkit/skat91_sim508/partition.c @@ -0,0 +1,39 @@ +/* + * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions + * + * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#includecommon.h +#includeconfig.h +#includeasm/hardware.h +#includedataflash.h + +AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS]; + +struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = { + { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = { + { 0x, 0x3FFF, FLAG_PROTECT_SET, 0, Bootstrap }, + { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment }, + { 0x8000, 0x00037FFF, FLAG_PROTECT_SET, 0, U-Boot }, + { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel }, +}; diff --git a/board/starterkit/skat91_sim508/skat91_sim508.c b/board/starterkit/skat91_sim508/skat91_sim508.c new file mode 100644 index 000..bcd6a94 --- /dev/null +++ b/board/starterkit/skat91_sim508/skat91_sim508.c @@ -0,0 +1,124 @@ +/* + * StarterKit
Re: [U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board
On 11.01.2012 22:53, Marek Vasut wrote: This change adds complete support for Starterkit SK-AT91SAM9/SIM508 board. Signed-off-by: Vladimir Zapolskiyv...@mleia.com --- MAINTAINERS|4 + board/starterkit/skat91_sim508/Makefile| 44 ++ board/starterkit/skat91_sim508/partition.c | 39 + board/starterkit/skat91_sim508/skat91_sim508.c | 124 boards.cfg |2 + include/configs/skat91_sim508.h| 181 6 files changed, 394 insertions(+), 0 deletions(-) create mode 100644 board/starterkit/skat91_sim508/Makefile create mode 100644 board/starterkit/skat91_sim508/partition.c create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c create mode 100644 include/configs/skat91_sim508.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..bcd330a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiyv...@mleia.com + + skat91_sim508 ARM926EJS (AT91SAM9260 SoC) + -- --- Unknown / orphaned boards: diff --git a/board/starterkit/skat91_sim508/Makefile b/board/starterkit/skat91_sim508/Makefile new file mode 100644 index 000..77965f8 --- /dev/null +++ b/board/starterkit/skat91_sim508/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := skat91_sim508.o partition.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(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/starterkit/skat91_sim508/partition.c b/board/starterkit/skat91_sim508/partition.c new file mode 100644 index 000..f82046d --- /dev/null +++ b/board/starterkit/skat91_sim508/partition.c @@ -0,0 +1,39 @@ +/* + * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions + * + * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#includecommon.h +#includeconfig.h +#includeasm/hardware.h +#includedataflash.h + +AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS]; + +struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = { + { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 }, +}; + +/* define the area offsets */ +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = { + { 0x, 0x3FFF, FLAG_PROTECT_SET, 0, Bootstrap }, + { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment }, + { 0x8000, 0x00037FFF, FLAG_PROTECT_SET, 0, U-Boot }, + { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel }, +}; diff --git
Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support
On 11.01.2012 22:56, Marek Vasut wrote: This change adds a basic support for Embest/Timll DevKit3250 board, NOR and UART are the only supported peripherals for a moment. The board doesn't require low-level init, because the initial SDRAM and GPIO configuration is performed during kickstart bootloader execution. Signed-off-by: Vladimir Zapolskiyv...@mleia.com --- Changes from v2 to v3: * updated a relocation address * combined a record in maintainers file into the patch * use high speed UART2 by default Changes from v1 to v2: * corrected address in GPLv2+ licence header in files * removed clean and distclean targets from board makefile * do not set machine id explicitly, if CONFIG_MACH_TYPE is defined * minor indentation cleanups MAINTAINERS |4 + board/timll/devkit3250/Makefile | 44 + board/timll/devkit3250/devkit3250.c | 71 boards.cfg |1 + include/configs/devkit3250.h| 121 +++ 5 files changed, 241 insertions(+), 0 deletions(-) create mode 100644 board/timll/devkit3250/Makefile create mode 100644 board/timll/devkit3250/devkit3250.c create mode 100644 include/configs/devkit3250.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..68dedae 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiyv...@mleia.com + + devkit3250 lpc32xx + - Unknown / orphaned boards: diff --git a/board/timll/devkit3250/Makefile b/board/timll/devkit3250/Makefile new file mode 100644 index 000..ea7827c --- /dev/null +++ b/board/timll/devkit3250/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB= $(obj)lib$(BOARD).o + +COBJS := devkit3250.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(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/timll/devkit3250/devkit3250.c b/board/timll/devkit3250/devkit3250.c new file mode 100644 index 000..461012d --- /dev/null +++ b/board/timll/devkit3250/devkit3250.c @@ -0,0 +1,71 @@ +/* + * Embest/Timll DevKit3250 board support + * + * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#includecommon.h +#includeasm/arch/sys_proto.h +#includeasm/arch/cpu.h +#includeasm/arch/emc.h + +DECLARE_GLOBAL_DATA_PTR; + +static struct emc_t *emc = (struct emc_t *)EMC_BASE; + +int board_early_init_f(void) +{ + lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART); + + return 0; +} + +int board_init(void) +{ + /* +* It might be necessary to flush data cache, if U-boot is loaded +* from kickstart bootloader, e.g. from S1L loader +*/ + flush_cache(0, 0); You're flushing no area here ... also, shouldn't this go to CPU init code ? That's just a complete cache flush, from
[U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
Hi, On Wednesday, January 11, 2012, Marek Vasut marek.va...@gmail.com wrote: On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote: More so, given the fact that we don't have any control over rbl -- so if rbl changes it's layout for any subsequent board, we'd have to add that as well to the nand driver, and both in u-boot as well as the kernel. I guess the cleanest solution would have been for the rbl to have used the same layout as the one used by u-boot and linux. Yep, why not do that then? Because rbl is a proprietary bootloader from TI. Don't we actually have replacement bootloader in uboot already ? You don't need xloader with uboot anymore I think. RBL ist the ROM bootloader in the SoC, it's not only proprietary but also in ROM and hence cannot be changed. RBL executes an AIS script. Sughosh, could you please explain what your AIS does or how you create it? Regards, Christian ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Help needed on Colibri T20 - Iris Board
Hi Stéphane, On Wed, Jan 11, 2012 at 1:52 AM, Stéphane Carvalho carvalho.steph...@gmail.com wrote: We are 2 engineering students from Fribourg, Switzerland working on a embedded systems project. The fact is that we're looking to setup U-Boot on a Colibri Iris Board using the Colibri T20 module with NVIDIA Tegra 2 processor. Since the Iris board is a relatively new board, it is difficult for us to find information about it. Sorry I don't know anything about that particular board either. We managed to install a recent uboot on the board but it is not very efficient. The major problem is that we aren't able to run the saveenv command in order to save the environnement. Does anyone have any ideas about the problem? Or patches to recommend us? Where is your environment supposed to be stored? If you are booting from NAND or MMC then you could store it there. There are various CONFIG_ENV_IS_IN_... variables to define depending on where you want the environment. The README file lists each of these and explains how to use them. You also need to define CONFIG_CMD_SAVEENV or perhaps better #include config_default.h. We don't have much experience in embedded systems so a little help from you would be much appreciated. OK, please reply on this thread if you have further questions. Thank you in advance Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 5/7] tegra: Use funcmux for MMC on tamonten
On Mon, Jan 9, 2012 at 11:31 PM, Thierry Reding thierry.red...@avionic-design.de wrote: * Simon Glass wrote: Use the new funcmux_select() feature to set up the MMC pin mux. Signed-off-by: Simon Glass s...@chromium.org Tested on Plutux and Medcom. Acked-by: Thierry Reding thierry.red...@avionic-design.de Tested-by: Thierry Reding thierry.red...@avionic-design.de Thanks! --- board/avionic-design/common/tamonten.c | 10 ++ 1 files changed, 2 insertions(+), 8 deletions(-) diff --git a/board/avionic-design/common/tamonten.c b/board/avionic-design/common/tamonten.c index 97e59fb..c5fd988 100644 --- a/board/avionic-design/common/tamonten.c +++ b/board/avionic-design/common/tamonten.c @@ -32,6 +32,7 @@ #include asm/arch/sys_proto.h #include asm/arch/clk_rst.h #include asm/arch/clock.h +#include asm/arch/funcmux.h #include asm/arch/pinmux.h #include asm/arch/uart.h #include asm/arch/mmc.h @@ -63,14 +64,7 @@ int timer_init(void) */ static void pin_mux_mmc(void) { - /* SDMMC4: config 3, x8 on 2nd set of pins */ - pinmux_set_func(PINGRP_ATB, PMUX_FUNC_SDIO4); - pinmux_set_func(PINGRP_GMA, PMUX_FUNC_SDIO4); - pinmux_set_func(PINGRP_GME, PMUX_FUNC_SDIO4); - - pinmux_tristate_disable(PINGRP_ATB); - pinmux_tristate_disable(PINGRP_GMA); - pinmux_tristate_disable(PINGRP_GME); + funcmux_select(PERIPH_ID_SDMMC4, 1, FUNCMUXO_SDMMC_8BIT); } #endif -- 1.7.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] bootm not taking dtb
I am working with a powerpc embedded system where u-boot seems to be passing in a constructed fdt (or one embedded in u-boot) as opposed to one that is either passed directly to bootm or as the third image of a multi-file image. I'm sure sure that the system is NOT using my dtb file because I modified the my linux platform file to print out the model and compatible properties of root, and they make sense, but are not the values that I pass in with my dtb. I've tried bootm ${kerneladdr} - ${dtbaddr} for nfs boot, and I've constructed a multi-file uImage with kernel:initramfs:dtb. The behavior is the same in all cases. Is this expected behavior, and if so, is there some way to force u-boot to use my dtb file? Thanks, JR ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support
On 11.01.2012 22:56, Marek Vasut wrote: This change adds a basic support for Embest/Timll DevKit3250 board, NOR and UART are the only supported peripherals for a moment. The board doesn't require low-level init, because the initial SDRAM and GPIO configuration is performed during kickstart bootloader execution. Signed-off-by: Vladimir Zapolskiyv...@mleia.com --- Changes from v2 to v3: * updated a relocation address * combined a record in maintainers file into the patch * use high speed UART2 by default Changes from v1 to v2: * corrected address in GPLv2+ licence header in files * removed clean and distclean targets from board makefile * do not set machine id explicitly, if CONFIG_MACH_TYPE is defined * minor indentation cleanups MAINTAINERS |4 + board/timll/devkit3250/Makefile | 44 + board/timll/devkit3250/devkit3250.c | 71 boards.cfg |1 + include/configs/devkit3250.h| 121 +++ 5 files changed, 241 insertions(+), 0 deletions(-) create mode 100644 board/timll/devkit3250/Makefile create mode 100644 board/timll/devkit3250/devkit3250.c create mode 100644 include/configs/devkit3250.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..68dedae 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiyv...@mleia.com + + devkit3250 lpc32xx + -- --- Unknown / orphaned boards: diff --git a/board/timll/devkit3250/Makefile b/board/timll/devkit3250/Makefile new file mode 100644 index 000..ea7827c --- /dev/null +++ b/board/timll/devkit3250/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS := devkit3250.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(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/timll/devkit3250/devkit3250.c b/board/timll/devkit3250/devkit3250.c new file mode 100644 index 000..461012d --- /dev/null +++ b/board/timll/devkit3250/devkit3250.c @@ -0,0 +1,71 @@ +/* + * Embest/Timll DevKit3250 board support + * + * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#includecommon.h +#includeasm/arch/sys_proto.h +#includeasm/arch/cpu.h +#includeasm/arch/emc.h + +DECLARE_GLOBAL_DATA_PTR; + +static struct emc_t *emc = (struct emc_t *)EMC_BASE; + +int board_early_init_f(void) +{ + lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART); + + return 0; +} + +int board_init(void) +{ + /* + * It might be
Re: [U-Boot] [PATCH v2 4/4] zipitz2: fix boot issue introduced by PXA low level init rework
CONFIG_SYS_INIT_SP_ADDR points to RAM, but it's used before DRAM controller init. Fix it by setting CONFIG_SYS_INIT_SP_ADDR to SRAM Signed-off-by: Vasily Khoruzhick anars...@gmail.com --- v2: no changes include/configs/zipitz2.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h index 1b14cc7..e7895ab 100644 --- a/include/configs/zipitz2.h +++ b/include/configs/zipitz2.h @@ -184,7 +184,7 @@ unsigned char zipitz2_spi_read(void); #define CONFIG_SYS_LOAD_ADDRCONFIG_SYS_DRAM_BASE #define CONFIG_SYS_SDRAM_BASEPHYS_SDRAM_1 -#define CONFIG_SYS_INIT_SP_ADDR (GENERATED_GBL_DATA_SIZE + PHYS_SDRAM_1 + 2048) +#defineCONFIG_SYS_INIT_SP_ADDR 0x5c038000 Why do you keep setting the arbitrary location here? Just use GENERATED_GBL_DATA_SIZE + PHYS_SRAM + 2048) or something. ... define PHYS_SRAM if needed. M /* * NOR FLASH ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 1/4] PXA: PXA27x Matrix keypad driver
From: Marek Vasut marek.va...@gmail.com Signed-off-by: Marek Vasut marek.va...@gmail.com Signed-off-by: Vasily Khoruzhick anars...@gmail.com [vasily: adapted Marek's old version for newer u-boot] --- v2: use struct-based access to regs, minor cleanup arch/arm/include/asm/arch-pxa/pxa-regs.h| 52 -- arch/arm/include/asm/arch-pxa/regs-keypad.h | 84 + drivers/input/Makefile |2 + drivers/input/pxa27x-mkp.c | 245 +++ 4 files changed, 331 insertions(+), 52 deletions(-) create mode 100644 arch/arm/include/asm/arch-pxa/regs-keypad.h create mode 100644 drivers/input/pxa27x-mkp.c diff --git a/arch/arm/include/asm/arch-pxa/pxa-regs.h b/arch/arm/include/asm/arch-pxa/pxa-regs.h index b81b42c..d562658 100644 --- a/arch/arm/include/asm/arch-pxa/pxa-regs.h +++ b/arch/arm/include/asm/arch-pxa/pxa-regs.h @@ -2567,58 +2567,6 @@ typedef void (*ExcpHndlr) (void) ; #define OVL2C1_O2EN(131) /* Enable bit for Overlay 2 */ #define CCR_CEN(131) /* Enable bit for Cursor */ -/* Keypad controller */ - -#define KPC0x4150 /* Keypad Interface Control register */ -#define KPDK 0x4158 /* Keypad Interface Direct Key register */ -#define KPREC 0x41500010 /* Keypad Intefcace Rotary Encoder register */ -#define KPMK 0x41500018 /* Keypad Intefcace Matrix Key register */ -#define KPAS 0x41500020 /* Keypad Interface Automatic Scan register */ -#define KPASMKP0 0x41500028 /* Keypad Interface Automatic Scan Multiple Key Presser register 0 */ -#define KPASMKP1 0x41500030 /* Keypad Interface Automatic Scan Multiple Key Presser register 1 */ -#define KPASMKP2 0x41500038 /* Keypad Interface Automatic Scan Multiple Key Presser register 2 */ -#define KPASMKP3 0x41500040 /* Keypad Interface Automatic Scan Multiple Key Presser register 3 */ -#define KPKDI 0x41500048 /* Keypad Interface Key Debounce Interval register */ - -#define KPC_AS (0x1 30) /* Automatic Scan bit */ -#define KPC_ASACT (0x1 29) /* Automatic Scan on Activity */ -#define KPC_MI (0x1 22) /* Matrix interrupt bit */ -#define KPC_IMKP (0x1 21) /* Ignore Multiple Key Press */ -#define KPC_MS7(0x1 20) /* Matrix scan line 7 */ -#define KPC_MS6(0x1 19) /* Matrix scan line 6 */ -#define KPC_MS5(0x1 18) /* Matrix scan line 5 */ -#define KPC_MS4(0x1 17) /* Matrix scan line 4 */ -#define KPC_MS3(0x1 16) /* Matrix scan line 3 */ -#define KPC_MS2(0x1 15) /* Matrix scan line 2 */ -#define KPC_MS1(0x1 14) /* Matrix scan line 1 */ -#define KPC_MS0(0x1 13) /* Matrix scan line 0 */ -#define KPC_ME (0x1 12) /* Matrix Keypad Enable */ -#define KPC_MIE(0x1 11) /* Matrix Interrupt Enable */ -#define KPC_DK_DEB_SEL (0x1 9) /* Direct Key Debounce select */ -#define KPC_DI (0x1 5) /* Direct key interrupt bit */ -#define KPC_DEE0 (0x1 2) /* Rotary Encoder 0 Enable */ -#define KPC_DE (0x1 1) /* Direct Keypad Enable */ -#define KPC_DIE(0x1 0) /* Direct Keypad interrupt Enable */ - -#define KPDK_DKP (0x1 31) -#define KPDK_DK7 (0x1 7) -#define KPDK_DK6 (0x1 6) -#define KPDK_DK5 (0x1 5) -#define KPDK_DK4 (0x1 4) -#define KPDK_DK3 (0x1 3) -#define KPDK_DK2 (0x1 2) -#define KPDK_DK1 (0x1 1) -#define KPDK_DK0 (0x1 0) - -#define KPREC_OF1 (0x1 31) -#define kPREC_UF1 (0x1 30) -#define KPREC_OF0 (0x1 15) -#define KPREC_UF0 (0x1 14) - -#define KPMK_MKP (0x1 31) -#define KPAS_SO(0x1 31) -#define KPASMKPx_SO(0x1 31) - #define GPIO113_BIT(1 17)/* GPIO113 in GPSR, GPCR, bit 17 */ #define PSLR 0x40F00034 #define PSTR 0x40F00038 /* Power Manager Standby Configuration Reg */ diff --git a/arch/arm/include/asm/arch-pxa/regs-keypad.h b/arch/arm/include/asm/arch-pxa/regs-keypad.h new file mode 100644 index 000..f13da56 --- /dev/null +++ b/arch/arm/include/asm/arch-pxa/regs-keypad.h @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2012 Vasily Khoruzhick anars...@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to
[U-Boot] [PATCH v2 2/4] zipitz2: enable pxa27x_mkp driver
Signed-off-by: Vasily Khoruzhick anars...@gmail.com --- v2: remove usbtty stuff from EXTRA_ENV_SETTINGS include/configs/zipitz2.h | 82 ++--- 1 files changed, 77 insertions(+), 5 deletions(-) diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h index 26204af..75de677 100644 --- a/include/configs/zipitz2.h +++ b/include/configs/zipitz2.h @@ -80,6 +80,12 @@ #defineCONFIG_CMD_MMC #defineCONFIG_CMD_SPI +#defineCONFIG_EXTRA_ENV_SETTINGS \ + stdout=lcd\0 \ + stdin=pxa27x-mkp\0\ + stderr=lcd\0 \ + +#defineCONFIG_KEYBOARD /* * MMC Card Configuration */ @@ -206,15 +212,81 @@ unsigned char zipitz2_spi_read(void); #define CONFIG_SYS_FLASH_PROTECTION /* + * Matrix keypad + */ +#ifdef CONFIG_KEYBOARD +#defineCONFIG_PXA27X_MKP + +#defineCONFIG_PXA27X_MKP_MKP_COLS 7 +#defineCONFIG_PXA27X_MKP_MKP_ROWS 6 + +#defineCONFIG_PXA27X_MKP_DEBOUNCE 30 +#defineCONFIG_PXA27X_MKP_DELAY 3 + +#defineCONFIG_PXA27X_MKP_MOD_SHIFT {5, 3} +#defineCONFIG_PXA27X_MKP_MOD_ALT {5, 2} +#defineCONFIG_PXA27X_MKP_MOD_CTRL {5, 4} + +#defineCONFIG_PXA27X_MKP_KEYMAP\ + { 1, 1, 'q', 'Q', '1', 0xff }, \ + { 2, 1, 'i', 'I', '8', 0xff }, \ + { 3, 1, 'g', 'G', '\', 0xff }, \ + { 4, 1, 'x', 'X', '/', 0xff }, \ + { 5, 1, '\r', 0xff, 0xff, 0xff }, \ + { 6, 1, '-', 0xff, 0xff, 0xff },\ + \ + { 1, 2, 'w', 'W', '2', 0xff }, \ + { 2, 2, 'o', 'O', '9', 0xff }, \ + { 3, 2, 'h', 'H', '\'', 0xff }, \ + { 4, 2, 'c', 'C', '+', 0xff }, \ + \ + { 1, 3, 'e', 'E', '3', 0xff }, \ + { 2, 3, 'p', 'P', '0', 0xff }, \ + { 3, 3, 'j', 'J', '[', 0xff }, \ + { 4, 3, 'v', 'V', '*', 0xff }, \ + \ + { 0, 4, '\e', 0xff, '|', 0xff },\ + { 1, 4, 'r', 'R', '4', 0xff }, \ + { 2, 4, 'a', 'A', '$', 0xff }, \ + { 3, 4, 'k', 'K', ']', 0xff }, \ + { 4, 4, 'b', 'B', '=', 0xff }, \ + \ + { 0, 5, '\t', 0xff, 0xff, 0xff }, \ + { 1, 5, 't', 'T', '5', 0xff }, \ + { 2, 5, 's', 'S', '#', 0xff }, \ + { 3, 5, 'l', 'L', '-', 0xff }, \ + { 4, 5, 'n', 'N', '_', 0xff }, \ + { 5, 5, ' ', 0xff, 0xff, 0xff },\ + \ + { 1, 6, 'y', 'Y', '6', 0xff }, \ + { 2, 6, 'd', 'D', '', 0xff }, \ + { 3, 6, '\b', 0xff, '\\', 0xff }, \ + { 4, 6, 'm', 'M', '?', 0xff }, \ + { 5, 6, ',', '(', '', '{' }, \ + \ + { 1, 7, 'u', 'U', '7', 0xff }, \ + { 2, 7, 'f', 'F', '@', 0xff }, \ + { 3, 7, 'z', 'Z', '!', 0xff }, \ + { 4, 7, ';', '~', ':', 0xff }, \ + { 5, 7, '.', ')', '', '}' }, \ + \ + { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } + +#defineCONFIG_SYS_CONSOLE_ENV_OVERWRITE +#defineCONFIG_SYS_CONSOLE_IS_IN_ENV + +#endif + +/* * GPIO settings */ #define CONFIG_SYS_GAFR0_L_VAL 0x02000140 -#define CONFIG_SYS_GAFR0_U_VAL 0x59188000 -#define CONFIG_SYS_GAFR1_L_VAL 0x6392 +#define CONFIG_SYS_GAFR0_U_VAL 0x59188005 +#define CONFIG_SYS_GAFR1_L_VAL 0x639420a2 #define CONFIG_SYS_GAFR1_U_VAL 0xaaa03950 #define CONFIG_SYS_GAFR2_L_VAL 0x0aaa #define CONFIG_SYS_GAFR2_U_VAL 0x29000308 -#define CONFIG_SYS_GAFR3_L_VAL 0x5400 +#define CONFIG_SYS_GAFR3_L_VAL 0x56aa9500 #define CONFIG_SYS_GAFR3_U_VAL 0x00d5 #define CONFIG_SYS_GPCR0_VAL 0x #define CONFIG_SYS_GPCR1_VAL 0x0020 @@ -222,7 +294,7 @@ unsigned char zipitz2_spi_read(void); #define CONFIG_SYS_GPCR3_VAL 0x #define CONFIG_SYS_GPDR0_VAL 0xdafcee00 #define CONFIG_SYS_GPDR1_VAL 0xffa3aaab -#define CONFIG_SYS_GPDR2_VAL 0x8fe9 +#define CONFIG_SYS_GPDR2_VAL 0x8fe1 #define CONFIG_SYS_GPDR3_VAL 0x001b1f8a #define CONFIG_SYS_GPSR0_VAL 0x06080400 #define CONFIG_SYS_GPSR1_VAL 0x007f @@ -234,7 +306,7 @@ unsigned char zipitz2_spi_read(void); /* * Clock settings */ -#define CONFIG_SYS_CKEN0x00511220 +#define CONFIG_SYS_CKEN0x00591220 #define CONFIG_SYS_CCCR0x0190 /* -- 1.7.8.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 3/4] zipitz2: use pxa_mmc_gen as MMC driver
Signed-off-by: Vasily Khoruzhick anars...@gmail.com --- v2: mmcinfo is necessary to scan card for partitions board/zipitz2/zipitz2.c |8 include/configs/zipitz2.h |5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/board/zipitz2/zipitz2.c b/board/zipitz2/zipitz2.c index b093c2f..4075fb6 100644 --- a/board/zipitz2/zipitz2.c +++ b/board/zipitz2/zipitz2.c @@ -79,6 +79,14 @@ void dram_init_banksize(void) gd-bd-bi_dram[0].size = PHYS_SDRAM_1_SIZE; } +#ifdef CONFIG_CMD_MMC +int board_mmc_init(bd_t *bis) +{ + pxa_mmc_register(0); + return 0; +} +#endif + #ifdef CONFIG_CMD_SPI struct { diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h index 75de677..1b14cc7 100644 --- a/include/configs/zipitz2.h +++ b/include/configs/zipitz2.h @@ -45,7 +45,7 @@ #defineCONFIG_ARCH_CPU_INIT #defineCONFIG_BOOTCOMMAND \ - if mmc init fatload mmc 0 0xa000 uboot.script ; then \ + if mmcinfo ext2load mmc 0 0xa000 boot/uboot.script ; then \ source 0xa000;\ else \ bootm 0x6;\ @@ -91,7 +91,8 @@ */ #ifdef CONFIG_CMD_MMC #defineCONFIG_MMC -#defineCONFIG_PXA_MMC +#defineCONFIG_GENERIC_MMC +#defineCONFIG_PXA_MMC_GENERIC #defineCONFIG_SYS_MMC_BASE 0xF000 #defineCONFIG_CMD_FAT #define CONFIG_CMD_EXT2 -- 1.7.8.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 4/4] zipitz2: fix boot issue introduced by PXA low level init rework
CONFIG_SYS_INIT_SP_ADDR points to RAM, but it's used before DRAM controller init. Fix it by setting CONFIG_SYS_INIT_SP_ADDR to SRAM Signed-off-by: Vasily Khoruzhick anars...@gmail.com --- v2: no changes include/configs/zipitz2.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h index 1b14cc7..e7895ab 100644 --- a/include/configs/zipitz2.h +++ b/include/configs/zipitz2.h @@ -184,7 +184,7 @@ unsigned char zipitz2_spi_read(void); #defineCONFIG_SYS_LOAD_ADDRCONFIG_SYS_DRAM_BASE #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#defineCONFIG_SYS_INIT_SP_ADDR (GENERATED_GBL_DATA_SIZE + PHYS_SDRAM_1 + 2048) +#defineCONFIG_SYS_INIT_SP_ADDR 0x5c038000 /* * NOR FLASH -- 1.7.8.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] PXA: PXA27x Matrix keypad driver
From: Marek Vasut marek.va...@gmail.com Signed-off-by: Marek Vasut marek.va...@gmail.com Signed-off-by: Vasily Khoruzhick anars...@gmail.com [vasily: adapted Marek's old version for newer u-boot] --- v2: use struct-based access to regs, minor cleanup arch/arm/include/asm/arch-pxa/pxa-regs.h| 52 -- arch/arm/include/asm/arch-pxa/regs-keypad.h | 84 + drivers/input/Makefile |2 + drivers/input/pxa27x-mkp.c | 245 +++ 4 files changed, 331 insertions(+), 52 deletions(-) create mode 100644 arch/arm/include/asm/arch-pxa/regs-keypad.h create mode 100644 drivers/input/pxa27x-mkp.c diff --git a/arch/arm/include/asm/arch-pxa/pxa-regs.h b/arch/arm/include/asm/arch-pxa/pxa-regs.h index b81b42c..d562658 100644 --- a/arch/arm/include/asm/arch-pxa/pxa-regs.h +++ b/arch/arm/include/asm/arch-pxa/pxa-regs.h @@ -2567,58 +2567,6 @@ typedef void (*ExcpHndlr) (void) ; #define OVL2C1_O2EN (131) /* Enable bit for Overlay 2 */ #define CCR_CEN (131) /* Enable bit for Cursor */ -/* Keypad controller */ - -#define KPC 0x4150 /* Keypad Interface Control register */ -#define KPDK 0x4158 /* Keypad Interface Direct Key register */ -#define KPREC0x41500010 /* Keypad Intefcace Rotary Encoder register */ -#define KPMK 0x41500018 /* Keypad Intefcace Matrix Key register */ -#define KPAS 0x41500020 /* Keypad Interface Automatic Scan register */ -#define KPASMKP0 0x41500028 /* Keypad Interface Automatic Scan Multiple Key Presser register 0 */ -#define KPASMKP1 0x41500030 /* Keypad Interface Automatic Scan Multiple Key Presser register 1 */ -#define KPASMKP2 0x41500038 /* Keypad Interface Automatic Scan Multiple Key Presser register 2 */ -#define KPASMKP3 0x41500040 /* Keypad Interface Automatic Scan Multiple Key Presser register 3 */ -#define KPKDI 0x41500048 /* Keypad Interface Key Debounce Interval register */ - -#define KPC_AS (0x1 30) /* Automatic Scan bit */ -#define KPC_ASACT(0x1 29) /* Automatic Scan on Activity */ -#define KPC_MI (0x1 22) /* Matrix interrupt bit */ -#define KPC_IMKP (0x1 21) /* Ignore Multiple Key Press */ -#define KPC_MS7 (0x1 20) /* Matrix scan line 7 */ -#define KPC_MS6 (0x1 19) /* Matrix scan line 6 */ -#define KPC_MS5 (0x1 18) /* Matrix scan line 5 */ -#define KPC_MS4 (0x1 17) /* Matrix scan line 4 */ -#define KPC_MS3 (0x1 16) /* Matrix scan line 3 */ -#define KPC_MS2 (0x1 15) /* Matrix scan line 2 */ -#define KPC_MS1 (0x1 14) /* Matrix scan line 1 */ -#define KPC_MS0 (0x1 13) /* Matrix scan line 0 */ -#define KPC_ME (0x1 12) /* Matrix Keypad Enable */ -#define KPC_MIE (0x1 11) /* Matrix Interrupt Enable */ -#define KPC_DK_DEB_SEL (0x1 9) /* Direct Key Debounce select */ -#define KPC_DI (0x1 5) /* Direct key interrupt bit */ -#define KPC_DEE0 (0x1 2) /* Rotary Encoder 0 Enable */ -#define KPC_DE (0x1 1) /* Direct Keypad Enable */ -#define KPC_DIE (0x1 0) /* Direct Keypad interrupt Enable */ - -#define KPDK_DKP (0x1 31) -#define KPDK_DK7 (0x1 7) -#define KPDK_DK6 (0x1 6) -#define KPDK_DK5 (0x1 5) -#define KPDK_DK4 (0x1 4) -#define KPDK_DK3 (0x1 3) -#define KPDK_DK2 (0x1 2) -#define KPDK_DK1 (0x1 1) -#define KPDK_DK0 (0x1 0) - -#define KPREC_OF1(0x1 31) -#define kPREC_UF1(0x1 30) -#define KPREC_OF0(0x1 15) -#define KPREC_UF0(0x1 14) - -#define KPMK_MKP (0x1 31) -#define KPAS_SO (0x1 31) -#define KPASMKPx_SO (0x1 31) - #define GPIO113_BIT (1 17)/* GPIO113 in GPSR, GPCR, bit 17 */ #define PSLR 0x40F00034 #define PSTR 0x40F00038 /* Power Manager Standby Configuration Reg */ diff --git a/arch/arm/include/asm/arch-pxa/regs-keypad.h b/arch/arm/include/asm/arch-pxa/regs-keypad.h new file mode 100644 index 000..f13da56 --- /dev/null +++ b/arch/arm/include/asm/arch-pxa/regs-keypad.h @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2012 Vasily Khoruzhick anars...@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public
Re: [U-Boot] [PATCH v2 3/4] zipitz2: use pxa_mmc_gen as MMC driver
Signed-off-by: Vasily Khoruzhick anars...@gmail.com --- v2: mmcinfo is necessary to scan card for partitions board/zipitz2/zipitz2.c |8 include/configs/zipitz2.h |5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/board/zipitz2/zipitz2.c b/board/zipitz2/zipitz2.c index b093c2f..4075fb6 100644 --- a/board/zipitz2/zipitz2.c +++ b/board/zipitz2/zipitz2.c @@ -79,6 +79,14 @@ void dram_init_banksize(void) gd-bd-bi_dram[0].size = PHYS_SDRAM_1_SIZE; } +#ifdef CONFIG_CMD_MMC +int board_mmc_init(bd_t *bis) +{ + pxa_mmc_register(0); + return 0; +} +#endif + #ifdef CONFIG_CMD_SPI struct { diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h index 75de677..1b14cc7 100644 --- a/include/configs/zipitz2.h +++ b/include/configs/zipitz2.h @@ -45,7 +45,7 @@ #define CONFIG_ARCH_CPU_INIT #define CONFIG_BOOTCOMMAND \ - if mmc init fatload mmc 0 0xa000 uboot.script ; then \ + if mmcinfo ext2load mmc 0 0xa000 boot/uboot.script ; then mmcinfo? WHY?! \ source 0xa000;\ else \ bootm 0x6;\ @@ -91,7 +91,8 @@ */ #ifdef CONFIG_CMD_MMC #define CONFIG_MMC -#define CONFIG_PXA_MMC +#define CONFIG_GENERIC_MMC +#define CONFIG_PXA_MMC_GENERIC #define CONFIG_SYS_MMC_BASE 0xF000 #define CONFIG_CMD_FAT #define CONFIG_CMD_EXT2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 2/4] zipitz2: enable pxa27x_mkp driver
Signed-off-by: Vasily Khoruzhick anars...@gmail.com --- Acked-by: Marek Vasut marek.va...@gmail.com v2: remove usbtty stuff from EXTRA_ENV_SETTINGS include/configs/zipitz2.h | 82 ++--- 1 files changed, 77 insertions(+), 5 deletions(-) diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h index 26204af..75de677 100644 --- a/include/configs/zipitz2.h +++ b/include/configs/zipitz2.h @@ -80,6 +80,12 @@ #define CONFIG_CMD_MMC #define CONFIG_CMD_SPI +#define CONFIG_EXTRA_ENV_SETTINGS \ + stdout=lcd\0 \ + stdin=pxa27x-mkp\0\ + stderr=lcd\0 \ + +#define CONFIG_KEYBOARD /* * MMC Card Configuration */ @@ -206,15 +212,81 @@ unsigned char zipitz2_spi_read(void); #define CONFIG_SYS_FLASH_PROTECTION /* + * Matrix keypad + */ +#ifdef CONFIG_KEYBOARD +#define CONFIG_PXA27X_MKP + +#define CONFIG_PXA27X_MKP_MKP_COLS 7 +#define CONFIG_PXA27X_MKP_MKP_ROWS 6 + +#define CONFIG_PXA27X_MKP_DEBOUNCE 30 +#define CONFIG_PXA27X_MKP_DELAY 3 + +#define CONFIG_PXA27X_MKP_MOD_SHIFT {5, 3} +#define CONFIG_PXA27X_MKP_MOD_ALT {5, 2} +#define CONFIG_PXA27X_MKP_MOD_CTRL {5, 4} + +#define CONFIG_PXA27X_MKP_KEYMAP\ + { 1, 1, 'q', 'Q', '1', 0xff }, \ + { 2, 1, 'i', 'I', '8', 0xff }, \ + { 3, 1, 'g', 'G', '\', 0xff }, \ + { 4, 1, 'x', 'X', '/', 0xff }, \ + { 5, 1, '\r', 0xff, 0xff, 0xff }, \ + { 6, 1, '-', 0xff, 0xff, 0xff },\ + \ + { 1, 2, 'w', 'W', '2', 0xff }, \ + { 2, 2, 'o', 'O', '9', 0xff }, \ + { 3, 2, 'h', 'H', '\'', 0xff }, \ + { 4, 2, 'c', 'C', '+', 0xff }, \ + \ + { 1, 3, 'e', 'E', '3', 0xff }, \ + { 2, 3, 'p', 'P', '0', 0xff }, \ + { 3, 3, 'j', 'J', '[', 0xff }, \ + { 4, 3, 'v', 'V', '*', 0xff }, \ + \ + { 0, 4, '\e', 0xff, '|', 0xff },\ + { 1, 4, 'r', 'R', '4', 0xff }, \ + { 2, 4, 'a', 'A', '$', 0xff }, \ + { 3, 4, 'k', 'K', ']', 0xff }, \ + { 4, 4, 'b', 'B', '=', 0xff }, \ + \ + { 0, 5, '\t', 0xff, 0xff, 0xff }, \ + { 1, 5, 't', 'T', '5', 0xff }, \ + { 2, 5, 's', 'S', '#', 0xff }, \ + { 3, 5, 'l', 'L', '-', 0xff }, \ + { 4, 5, 'n', 'N', '_', 0xff }, \ + { 5, 5, ' ', 0xff, 0xff, 0xff },\ + \ + { 1, 6, 'y', 'Y', '6', 0xff }, \ + { 2, 6, 'd', 'D', '', 0xff }, \ + { 3, 6, '\b', 0xff, '\\', 0xff }, \ + { 4, 6, 'm', 'M', '?', 0xff }, \ + { 5, 6, ',', '(', '', '{' }, \ + \ + { 1, 7, 'u', 'U', '7', 0xff }, \ + { 2, 7, 'f', 'F', '@', 0xff }, \ + { 3, 7, 'z', 'Z', '!', 0xff }, \ + { 4, 7, ';', '~', ':', 0xff }, \ + { 5, 7, '.', ')', '', '}' }, \ + \ + { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } + +#define CONFIG_SYS_CONSOLE_ENV_OVERWRITE +#define CONFIG_SYS_CONSOLE_IS_IN_ENV + +#endif + +/* * GPIO settings */ #define CONFIG_SYS_GAFR0_L_VAL 0x02000140 -#define CONFIG_SYS_GAFR0_U_VAL 0x59188000 -#define CONFIG_SYS_GAFR1_L_VAL 0x6392 +#define CONFIG_SYS_GAFR0_U_VAL 0x59188005 +#define CONFIG_SYS_GAFR1_L_VAL 0x639420a2 #define CONFIG_SYS_GAFR1_U_VAL 0xaaa03950 #define CONFIG_SYS_GAFR2_L_VAL 0x0aaa #define CONFIG_SYS_GAFR2_U_VAL 0x29000308 -#define CONFIG_SYS_GAFR3_L_VAL 0x5400 +#define CONFIG_SYS_GAFR3_L_VAL 0x56aa9500 #define CONFIG_SYS_GAFR3_U_VAL 0x00d5 #define CONFIG_SYS_GPCR0_VAL 0x #define CONFIG_SYS_GPCR1_VAL 0x0020 @@ -222,7 +294,7 @@ unsigned char zipitz2_spi_read(void); #define CONFIG_SYS_GPCR3_VAL 0x #define CONFIG_SYS_GPDR0_VAL 0xdafcee00 #define CONFIG_SYS_GPDR1_VAL 0xffa3aaab -#define CONFIG_SYS_GPDR2_VAL 0x8fe9 +#define CONFIG_SYS_GPDR2_VAL 0x8fe1 #define CONFIG_SYS_GPDR3_VAL 0x001b1f8a #define CONFIG_SYS_GPSR0_VAL 0x06080400 #define CONFIG_SYS_GPSR1_VAL 0x007f @@ -234,7 +306,7 @@ unsigned char zipitz2_spi_read(void); /* * Clock settings */ -#define CONFIG_SYS_CKEN 0x00511220 +#define CONFIG_SYS_CKEN 0x00591220 #define CONFIG_SYS_CCCR 0x0190 /* ___ U-Boot mailing list U-Boot@lists.denx.de
Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.
Hi, On Wednesday, January 11, 2012, Marek Vasut marek.va...@gmail.com wrote: On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote: More so, given the fact that we don't have any control over rbl -- so if rbl changes it's layout for any subsequent board, we'd have to add that as well to the nand driver, and both in u-boot as well as the kernel. I guess the cleanest solution would have been for the rbl to have used the same layout as the one used by u-boot and linux. Yep, why not do that then? Because rbl is a proprietary bootloader from TI. Don't we actually have replacement bootloader in uboot already ? You don't need xloader with uboot anymore I think. RBL ist the ROM bootloader in the SoC, it's not only proprietary but also in ROM and hence cannot be changed. RBL executes an AIS script. Sughosh, could you please explain what your AIS does or how you create it? So basically, this SPL business can be avoided and this all can be done in a standard way? M Regards, Christian ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] nand_spl: store ecc data on the stack
Adapt the following patch from spl to nand_spl: Author: Stefano Babic sba...@denx.de Date: Thu Dec 15 10:55:37 2011 +0100 nand_spl_simple: store ecc data on the stack Currently nand_spl_simple puts it's temp data at 0x1 offset in SDRAM which is likely to contain already loaded data. The patch saves the oob data and the ecc on the stack replacing the fixed address in RAM. Signed-off-by: Stefano Babic sba...@denx.de CC: Ilya Yanok ya...@emcraft.com CC: Scott Wood scottw...@freescale.com CC: Tom Rini tom.r...@gmail.com CC: Simon Schwarz simonschwarz...@googlemail.com CC: Wolfgang Denk w...@denx.de Signed-off-by: Scott Wood scottw...@freescale.com While nand_spl is on its way out, in favor of spl, there are still many boards using it, and conversions are gradual. This allows us to get rid of CONFIG_SYS_NAND_ECCSTEPS and CONFIG_SYS_NAND_ECCTOTAL now, which would otherwise be likely to linger unreferenced after a conversion. It also eliminates a temporary error in the hawkboard_nand build, since the spl version of the patch removed ECCSTEPS/TOTAL from hawkboard.h, but the spl conversion is pending (and may be merged via a different tree). Signed-off-by: Scott Wood scottw...@freescale.com --- include/configs/PMC440.h |2 - include/configs/acadia.h |2 - include/configs/bamboo.h |2 - include/configs/cam_enc_4xx.h|3 -- include/configs/canyonlands.h|2 - include/configs/kilauea.h|2 - include/configs/qi_lb60.h|4 --- include/configs/sequoia.h|2 - include/configs/smdk6400.h |4 --- include/configs/tam3517-common.h |5 nand_spl/nand_boot.c | 42 ++--- 11 files changed, 16 insertions(+), 54 deletions(-) diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h index ed47a87..b820954 100644 --- a/include/configs/PMC440.h +++ b/include/configs/PMC440.h @@ -200,9 +200,7 @@ #define CONFIG_SYS_NAND_ECCSIZE256 #define CONFIG_SYS_NAND_ECCBYTES 3 -#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_SYS_NAND_ECCSIZE) #define CONFIG_SYS_NAND_OOBSIZE16 -#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * CONFIG_SYS_NAND_ECCSTEPS) #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7} #endif diff --git a/include/configs/acadia.h b/include/configs/acadia.h index 5573dc7..8c447ca 100644 --- a/include/configs/acadia.h +++ b/include/configs/acadia.h @@ -185,9 +185,7 @@ #define CONFIG_SYS_NAND_ECCSIZE256 #define CONFIG_SYS_NAND_ECCBYTES 3 -#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_SYS_NAND_ECCSIZE) #define CONFIG_SYS_NAND_OOBSIZE16 -#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * CONFIG_SYS_NAND_ECCSTEPS) #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7} #ifdef CONFIG_ENV_IS_IN_NAND diff --git a/include/configs/bamboo.h b/include/configs/bamboo.h index 7b66fc0..506a558 100644 --- a/include/configs/bamboo.h +++ b/include/configs/bamboo.h @@ -179,9 +179,7 @@ #define CONFIG_SYS_NAND_ECCSIZE256 #define CONFIG_SYS_NAND_ECCBYTES 3 -#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_SYS_NAND_ECCSIZE) #define CONFIG_SYS_NAND_OOBSIZE16 -#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * CONFIG_SYS_NAND_ECCSTEPS) #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7} #ifdef CONFIG_ENV_IS_IN_NAND diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h index 86f74df..5d9672f 100644 --- a/include/configs/cam_enc_4xx.h +++ b/include/configs/cam_enc_4xx.h @@ -235,9 +235,6 @@ #define CONFIG_SYS_NAND_ECCBYTES 10 #define CONFIG_SYS_NAND_OOBSIZE64 #define CONFIG_SYS_NAND_5_ADDR_CYCLE -#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / \ -CONFIG_SYS_NAND_ECCSIZE) -#define CONFIG_SYS_NAND_ECCTOTAL (40) /* * RBL searches from Block n (n = 1..24) diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h index 8c03582..acb127c 100644 --- a/include/configs/canyonlands.h +++ b/include/configs/canyonlands.h @@ -197,9 +197,7 @@ #define CONFIG_SYS_NAND_ECCSIZE256 #define CONFIG_SYS_NAND_ECCBYTES 3 -#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_SYS_NAND_ECCSIZE) #define CONFIG_SYS_NAND_OOBSIZE64 -#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * CONFIG_SYS_NAND_ECCSTEPS) #define CONFIG_SYS_NAND_ECCPOS {40, 41, 42, 43, 44, 45, 46, 47, \ 48, 49, 50, 51, 52, 53, 54, 55, \ 56, 57, 58, 59, 60, 61, 62, 63} diff --git a/include/configs/kilauea.h b/include/configs/kilauea.h index e66aadf..621dbb8 100644
[U-Boot] [PATCH v2 0/7] tegra: Enhance funcmux to support I2C and MMC
This series expands funcmux_select() to support configs other than 0, and to name each config option. This permits introduction of I2C and MMC support in the funcmux. Changes in v2: - Add enum to select from available funcmux configs - Remove funcmux_select() option parameter - Use config enum to select funcmux - Fix SDMMC4 config 0 to remove unwanted ATB pin group Simon Glass (7): tegra: Adjust funcmux config test to permit expansion tegra: Add enum to select from available funcmux configs tegra: Add I2C support to funcmux tegra: Add SDMMC support to funcmux tegra: Use funcmux for MMC on tamonten tegra: Use funcmux for MMC on harmony tegra: Use funcmux for MMC on seaboard arch/arm/cpu/armv7/tegra2/board.c |2 +- arch/arm/cpu/armv7/tegra2/funcmux.c| 139 +--- arch/arm/include/asm/arch-tegra2/funcmux.h | 30 ++- board/avionic-design/common/tamonten.c | 10 +-- board/nvidia/harmony/harmony.c | 19 +--- board/nvidia/seaboard/seaboard.c | 21 + 6 files changed, 166 insertions(+), 55 deletions(-) -- 1.7.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support
On 12.01.2012 00:08, Marek Vasut wrote: On 11.01.2012 22:56, Marek Vasut wrote: This change adds a basic support for Embest/Timll DevKit3250 board, NOR and UART are the only supported peripherals for a moment. The board doesn't require low-level init, because the initial SDRAM and GPIO configuration is performed during kickstart bootloader execution. Signed-off-by: Vladimir Zapolskiyv...@mleia.com --- Changes from v2 to v3: * updated a relocation address * combined a record in maintainers file into the patch * use high speed UART2 by default Changes from v1 to v2: * corrected address in GPLv2+ licence header in files * removed clean and distclean targets from board makefile * do not set machine id explicitly, if CONFIG_MACH_TYPE is defined * minor indentation cleanups MAINTAINERS |4 + board/timll/devkit3250/Makefile | 44 + board/timll/devkit3250/devkit3250.c | 71 boards.cfg |1 + include/configs/devkit3250.h| 121 +++ 5 files changed, 241 insertions(+), 0 deletions(-) create mode 100644 board/timll/devkit3250/Makefile create mode 100644 board/timll/devkit3250/devkit3250.c create mode 100644 include/configs/devkit3250.h diff --git a/MAINTAINERS b/MAINTAINERS index 4bf12b5..68dedae 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com hawkboard ARM926EJS (OMAP-L138) +Vladimir Zapolskiyv...@mleia.com + + devkit3250 lpc32xx + -- --- Unknown / orphaned boards: diff --git a/board/timll/devkit3250/Makefile b/board/timll/devkit3250/Makefile new file mode 100644 index 000..ea7827c --- /dev/null +++ b/board/timll/devkit3250/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com +# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +include $(TOPDIR)/config.mk + +LIB= $(obj)lib$(BOARD).o + +COBJS := devkit3250.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(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/timll/devkit3250/devkit3250.c b/board/timll/devkit3250/devkit3250.c new file mode 100644 index 000..461012d --- /dev/null +++ b/board/timll/devkit3250/devkit3250.c @@ -0,0 +1,71 @@ +/* + * Embest/Timll DevKit3250 board support + * + * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#includecommon.h +#includeasm/arch/sys_proto.h +#includeasm/arch/cpu.h +#includeasm/arch/emc.h + +DECLARE_GLOBAL_DATA_PTR; + +static struct emc_t *emc = (struct emc_t *)EMC_BASE; + +int board_early_init_f(void) +{ + lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART); + + return 0; +} + +int board_init(void) +{ + /* +* It might be necessary to flush data cache, if U-boot is loaded +* from kickstart bootloader, e.g. from S1L loader +*/ + flush_cache(0, 0); You're flushing no area here ... also, shouldn't this go to CPU