Re: [U-Boot-Users] [PATCH 04/10 v2] [ARM] TQMA31: add new board with i.MX31 processor
>>> I have the same problem when replying to Jean-Christphe's replies. For >>> some reason the reply-to field is set when JC posts a reply and I >>> suppose that messes up Thunderbird/gmail etc. >>> >>> As an example, the email I'm replying to now has reply-to: set to >>> [EMAIL PROTECTED] and [EMAIL PROTECTED] >>> >>> Follow ups from other people don't have the reply-to: field. So my >>> guess is that JC's mutt adds that. >>> >>> >> I noticed the same thing when doing a reply-all to one of JC's e-mails. >> It put my address in 'To'. I using Thunderbird with IMAP connection to >> Gmail. I've seen with both Windows and Linux versions of Thunderbird. >> > > I do nothing special in mutt I just use it for several years > > and it's the first time some one report me this problem > > If someone known why please tell us I used mutt for the first time today just out of curiosity. Scanning the manual and the headers of your post it seems like you have instructed mutt to recognize the u-boot mailing lists as a mailing list and then you might do a List reply when replying to messages? This seems to cause mutt to insert a Mail-Followup-To: header which other clients use as a reply-to: when doing reply-all. Try doing a group reply instead in mutt or insert a 'set followup_to=false' in your muttrc. /Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH 04/10 v2] [ARM] TQMA31: add new board with i.MX31 processor
>> It's curious: always, when replying to your e-mails, my e-mail address >> appears in the To field instead of your address. >> Do the others have this problem, too? (Thunderbird 2.0.0.14 on Linux) > I use mutt and I receve the e-mail with your e-mail address as sender I have the same problem when replying to Jean-Christphe's replies. For some reason the reply-to field is set when JC posts a reply and I suppose that messes up Thunderbird/gmail etc. As an example, the email I'm replying to now has reply-to: set to [EMAIL PROTECTED] and [EMAIL PROTECTED] Follow ups from other people don't have the reply-to: field. So my guess is that JC's mutt adds that. Regards, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH RFC 5/5] i.MX31: Add basic support for Freescale's i.MX31 PDK board.
On Thu, Aug 7, 2008 at 2:18 PM, Wolfgang Denk <[EMAIL PROTECTED]> wrote: > In message <[EMAIL PROTECTED]> you wrote: >> >> +#undef CONFIG_CMD_IMLS >> > >> > Why do you want to disable the "imls" command? >> >> Because I get compilation errors from cmd_bootm.c if it's enabled. I >> haven't checked the details but perhaps it's because there is no NOR >> flash defined in this config (no NOR present on the PDK board). > > Ah! This is an indication of a problem with your board. You rather fix > this. "imls" is a standard command, and if you have to disablke it to > compile U-Boot, then something is broken. Well, I wonder if that's the case here. cmd_bootm.c needs the flash_info_t datatype (amongst other things) when CONFIG_CMD_IMLS is enabled. flash_info_t is found in include/flash.h but within a #ifndef CFG_NO_FLASH. CFG_NO_FLASH is, as far as I can see, defined for boards that don't have any NOR flash. I haven't looked at all the config files for the boards that undef CONFIG_CMD_IMLS but at least a couple of AT91SAM926x and Davinci boards with only NAND flash present do this. Regards, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH RFC 5/5] i.MX31: Add basic support for Freescale's i.MX31 PDK board.
Hi On Thu, Aug 7, 2008 at 12:05 AM, Wolfgang Denk <[EMAIL PROTECTED]> wrote: > In message <[EMAIL PROTECTED]> you wrote: >> Add support for NAND and ethernet on the Freescale i.MX31 PDK (a.k.a. >> 3DS) board. >> >> Booting from NAND is not supported yet so U-boot relies on some other >> initial boot loader to set up SDRAM and clocks and copying U-boot to SDRAM. >> >> Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> > ... >> --- /dev/null >> +++ b/include/configs/mx31pdk.h >> @@ -0,0 +1,186 @@ > ... >> + >> +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz >> */ > > Please remove that line. Makes no sense to undef what doesn't exist. Ok (quite a number of board configs have this #undef and some have a #define CFG_CLKS_IN_HZ). >> +#define CFG_LOAD_ADDR0x8100 /* default load address */ >> + >> +#define CFG_HZ CONFIG_MX31_CLK32 >> + >> +#define CONFIG_CMDLINE_EDITING 1 >> + >> +#undef CONFIG_CMD_IMLS > > Why do you want to disable the "imls" command? Because I get compilation errors from cmd_bootm.c if it's enabled. I haven't checked the details but perhaps it's because there is no NOR flash defined in this config (no NOR present on the PDK board). > ... >> +#undef CONFIG_JFFS2_CMDLINE > > Why do you disable this? Probably a leftover from either a compilation problem or copy&pasted from the config file I started with (some other i.MX31 board). I'll remove the line if I don't run into problems, it seems to compile OK if I remove the line. Thanks, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH RFC 5/5] i.MX31: Add basic support for Freescale's i.MX31 PDK board.
Hi, On Wed, Aug 6, 2008 at 11:49 PM, Jean-Christophe PLAGNIOL-VILLARD <[EMAIL PROTECTED]> wrote: > On 14:19 Wed 06 Aug , Magnus Lilja wrote: >> Add support for NAND and ethernet on the Freescale i.MX31 PDK (a.k.a. >> 3DS) board. >> >> Booting from NAND is not supported yet so U-boot relies on some other >> initial boot loader to set up SDRAM and clocks and copying U-boot to SDRAM. >> >> Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> >> --- a/Makefile >> +++ b/Makefile >> @@ -2683,6 +2683,9 @@ imx31_phycore_config: unconfig >> mx31ads_config : unconfig >> @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads NULL mx31 >> >> +mx31pdk_config : unconfig >> + @$(MKCONFIG) $(@:_config=) arm arm1136 mx31pdk NULL mx31 >> + > I've just send a patch to move all freescale's mx31 board to vendor dir > > so please replace with > +mx31pdk_config : unconfig > + @$(MKCONFIG) $(@:_config=) arm arm1136 mx31pdk freescale mx31 > + >> omap2420h4_config: unconfig >> @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx >> >> diff --git a/board/mx31pdk/Makefile b/board/mx31pdk/Makefile > and move your board to > board/freescale/mx31pdk/ Ok. >> +#define CONFIG_DISPLAY_CPUINFO >> +#define CONFIG_DISPLAY_BOARDINFO >> + >> +/* Temporarily disabled */ >> +#if 0 >> +#define CONFIG_OF_LIBFDT 1 >> +#define CONFIG_FIT 1 >> +#define CONFIG_FIT_VERBOSE 1 >> +#endif > so please remove Ok. >> +#define CONFIG_CMD_SPI >> +#define CONFIG_CMD_DATE >> + >> +#define CONFIG_CMD_NAND 1 > why not > #define CONFIG_CMD_NAND > > the check is ifdef Ok. >> +#define CFG_HZ CONFIG_MX31_CLK32 >> + >> +#define CONFIG_CMDLINE_EDITING 1 >> + >> +#undef CONFIG_CMD_IMLS > please regroup CONFIG_CMD_* Ok. Thanks, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH] mx31: move freescale's mx31 boards to vendor board dir
Hi On Thu, Aug 7, 2008 at 8:07 AM, Jens Gehrlein <[EMAIL PROTECTED]> wrote: > Jean-Christophe PLAGNIOL-VILLARD schrieb: >> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[EMAIL PROTECTED]> >> --- >> Makefile |6 +++--- >> board/{ => freescale}/imx31_litekit/Makefile |0 >> board/{ => freescale}/imx31_litekit/config.mk |0 >> .../{ => freescale}/imx31_litekit/imx31_litekit.c |0 >> .../{ => freescale}/imx31_litekit/lowlevel_init.S |0 >> board/{ => freescale}/imx31_litekit/u-boot.lds |0 >> board/{ => freescale}/imx31_phycore/Makefile |0 >> board/{ => freescale}/imx31_phycore/config.mk |0 >> .../{ => freescale}/imx31_phycore/imx31_phycore.c |0 >> .../{ => freescale}/imx31_phycore/lowlevel_init.S |0 >> board/{ => freescale}/imx31_phycore/u-boot.lds |0 >> board/{ => freescale}/mx31ads/Makefile |0 >> board/{ => freescale}/mx31ads/config.mk|0 >> board/{ => freescale}/mx31ads/lowlevel_init.S |0 >> board/{ => freescale}/mx31ads/mx31ads.c|0 >> board/{ => freescale}/mx31ads/u-boot.lds | 10 +- >> 16 files changed, 8 insertions(+), 8 deletions(-) >> rename board/{ => freescale}/imx31_litekit/Makefile (100%) >> rename board/{ => freescale}/imx31_litekit/config.mk (100%) >> rename board/{ => freescale}/imx31_litekit/imx31_litekit.c (100%) >> rename board/{ => freescale}/imx31_litekit/lowlevel_init.S (100%) >> rename board/{ => freescale}/imx31_litekit/u-boot.lds (100%) >> rename board/{ => freescale}/imx31_phycore/Makefile (100%) >> rename board/{ => freescale}/imx31_phycore/config.mk (100%) >> rename board/{ => freescale}/imx31_phycore/imx31_phycore.c (100%) >> rename board/{ => freescale}/imx31_phycore/lowlevel_init.S (100%) >> rename board/{ => freescale}/imx31_phycore/u-boot.lds (100%) >> rename board/{ => freescale}/mx31ads/Makefile (100%) >> rename board/{ => freescale}/mx31ads/config.mk (100%) >> rename board/{ => freescale}/mx31ads/lowlevel_init.S (100%) >> rename board/{ => freescale}/mx31ads/mx31ads.c (100%) >> rename board/{ => freescale}/mx31ads/u-boot.lds (90%) > > I'm not sure: is the phycore board a Freescale board? Isn't it Phytec? Same goes for the Litekit board, the board is from LogicPD but the SoC is from Freescale. Perhaps a 'imx' or 'imx31' directory would be better with all i.MX{31} boards in that directory. Regards, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Update the U-Boot wiki URL.
Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- README |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README b/README index 0cd01bc..d4456e5 100644 --- a/README +++ b/README @@ -98,7 +98,7 @@ Where we come from: - create ARMBoot project (http://sourceforge.net/projects/armboot) - add other CPU families (starting with ARM) - create U-Boot project (http://sourceforge.net/projects/u-boot) -- current project page: see http://www.denx.de/wiki/UBoot +- current project page: see http://www.denx.de/wiki/U-Boot Names and Spelling: @@ -3903,7 +3903,7 @@ may be rejected, even when they contain important and valuable stuff. Patches shall be sent to the u-boot-users mailing list. -Please see http://www.denx.de/wiki/UBoot/Patches for details. +Please see http://www.denx.de/wiki/U-Boot/Patches for details. When you send a patch, please include the following information with it: -- 1.5.2.4 - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH RFC 5/5] i.MX31: Add basic support for Freescale's i.MX31 PDK board.
Hi Ben, On Wed, Aug 6, 2008 at 3:22 PM, Ben Warren <[EMAIL PROTECTED]> wrote: > Hi Magnus, > > On Wed, Aug 6, 2008 at 5:19 AM, Magnus Lilja <[EMAIL PROTECTED]> wrote: >> Add support for NAND and ethernet on the Freescale i.MX31 PDK (a.k.a. >> 3DS) board. >> >> Booting from NAND is not supported yet so U-boot relies on some other >> initial boot loader to set up SDRAM and clocks and copying U-boot to SDRAM. >> >> Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> >> --- > >> +#define CONFIG_NETMASK 255.255.255.0 >> +#define CONFIG_IPADDR 192.168.23.168 >> +#define CONFIG_SERVERIP192.168.23.2 > Please remove default network parms Will do! Thanks, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH RFC 3/5] i.MX31: Add i.MX31 NAND Flash Controller driver.
Imported from Freescale's Linux NFC driver from the i.MX31 BSP release 5 (Linux 2.6.22.5) and the i.MX31 PDK BSP (Linux 2.6.24). The code has been changed to conform (better) with the coding style in Linux/U-boot. Sections not used by U-boot have been removed. The driver has been tested on i.MX31 Litekit (small page NAND) and i.MX31 PDK (large page NAND). Both boards have 8 bit wide NAND devices. 16 bit NAND devices have not been tested and probably requires a minor code change. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- cpu/arm1136/mx31/Makefile |4 +- cpu/arm1136/mx31/mxc_nd.c | 1172 + cpu/arm1136/mx31/mxc_nd.h | 106 3 files changed, 1281 insertions(+), 1 deletions(-) diff --git a/cpu/arm1136/mx31/Makefile b/cpu/arm1136/mx31/Makefile index b648ffd..bd654ee 100644 --- a/cpu/arm1136/mx31/Makefile +++ b/cpu/arm1136/mx31/Makefile @@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk LIB= $(obj)lib$(SOC).a -COBJS = interrupts.o serial.o generic.o +COBJS-y= interrupts.o serial.o generic.o +COBJS-$(CONFIG_MX31_NAND) += mxc_nd.o +COBJS := $(COBJS-y) SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) diff --git a/cpu/arm1136/mx31/mxc_nd.c b/cpu/arm1136/mx31/mxc_nd.c new file mode 100644 index 000..d281104 --- /dev/null +++ b/cpu/arm1136/mx31/mxc_nd.c @@ -0,0 +1,1172 @@ +/* + * (C) Copyright 2008 Magnus Lilja <[EMAIL PROTECTED]> + * + * Based on Freescale's Linux MXC NAND driver. + * + * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. + */ + +/* + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +#include +#include +#include "mxc_nd.h" + +/* The bool type is used locally in this file, added for U-boot. */ +typedef enum {false = 0, true = 1 } bool; + +struct mxc_mtd_s { + struct mtd_info mtd; + struct nand_chip nand; + struct device *dev; +}; + +static struct mxc_mtd_s *mxc_nand_data; + +/* + * Define delays in microsec for NAND device operations + */ +#define TROP_US_DELAY 2000 + +/* + * Macros to get byte and bit positions of ECC + */ +#define COLPOS(x) ((x) >> 4) +#define BITPOS(x) ((x) & 0xf) + +/* Define single bit Error positions in Main & Spare area */ +#define MAIN_SINGLEBIT_ERROR 0x4 +#define SPARE_SINGLEBIT_ERROR 0x1 + +struct nand_info { + bool bSpareOnly; + bool bStatusRequest; + u16 colAddr; +}; + +static struct nand_info g_nandfc_info; + +#ifdef CONFIG_MTD_NAND_MXC_SWECC +static int hardware_ecc; +#else +static int hardware_ecc = 1; +#endif + +#ifndef CONFIG_MTD_NAND_MXC_ECC_CORRECTION_OPTION2 +static int Ecc_disabled; +#endif + +static int is2k_Pagesize; + +/* + * OOB placement block for use with hardware ecc generation + */ +static struct nand_ecclayout nand_hw_eccoob_8 = { + .eccbytes = 5, + .eccpos = {6, 7, 8, 9, 10}, + .oobfree = { + {.offset = 0, +.length = 5}, + {.offset = 11, +.length = 5}} +}; + +static struct nand_ecclayout nand_hw_eccoob_16 = { + .eccbytes = 5, + .eccpos = {6, 7, 8, 9, 10}, + .oobfree = { + {.offset = 0, +.length = 6}, + {.offset = 12, +.length = 4}} +}; + +static struct nand_ecclayout nand_hw_eccoob_2k = { + .eccbytes = 20, + .eccpos = {6, 7, 8, 9, 10, 22, 23, 24, 25, 26, + 38, 39, 40, 41, 42, 54, 55, 56, 57, 58}, + .oobfree = { + {.offset = 0, +.length = 5}, + {.offset = 11, +.length = 10}, + {.offset = 27, +.length = 10}, + {.offset = 43, +.length = 10}, + {.offset = 59, +.length = 5}} +}; + +/* Define some generic bad / good block scan pattern which are used + * while scanning a device for factory marked good / bad blocks. */ +static uint8_t scan_ff_pattern[] = { 0xff, 0xff }; + +static struct nand_bbt_descr smallpage_memorybased = { + .options = NAND_BBT_SCAN2NDPAGE, + .offs = 5, + .len = 1, + .pattern = scan_ff_pattern +}; + +static struct nand_bbt_descr largepage_memorybased = { + .options = 0, + .offs = 0, + .len = 2, + .pattern = scan_ff_pattern +}; + +/* Generic flash bbt decriptors */ +static uint8_t bbt_pattern[] = { 'B', 'b', 't', '0' }; +static uint8_t mirror_pattern[] = { '1', 't', 'b', 'B' }; + +static struct nand_bbt_descr bbt_main_descr = { + .options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRIT
[U-Boot-Users] [PATCH RFC 5/5] i.MX31: Add basic support for Freescale's i.MX31 PDK board.
Add support for NAND and ethernet on the Freescale i.MX31 PDK (a.k.a. 3DS) board. Booting from NAND is not supported yet so U-boot relies on some other initial boot loader to set up SDRAM and clocks and copying U-boot to SDRAM. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- MAKEALL |1 + Makefile |3 + board/mx31pdk/Makefile| 53 board/mx31pdk/config.mk |1 + board/mx31pdk/lowlevel_init.S | 30 +++ board/mx31pdk/mx31pdk.c | 76 + board/mx31pdk/u-boot.lds | 59 + include/configs/mx31pdk.h | 186 + 8 files changed, 409 insertions(+), 0 deletions(-) diff --git a/MAKEALL b/MAKEALL index ee83cca..ac2d3a8 100755 --- a/MAKEALL +++ b/MAKEALL @@ -515,6 +515,7 @@ LIST_ARM11="\ imx31_litekit \ imx31_phycore \ mx31ads \ + mx31pdk \ " # diff --git a/Makefile b/Makefile index cb8c0f5..40bd9e1 100644 --- a/Makefile +++ b/Makefile @@ -2683,6 +2683,9 @@ imx31_phycore_config : unconfig mx31ads_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads NULL mx31 +mx31pdk_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm1136 mx31pdk NULL mx31 + omap2420h4_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx diff --git a/board/mx31pdk/Makefile b/board/mx31pdk/Makefile new file mode 100644 index 000..6ae34ea --- /dev/null +++ b/board/mx31pdk/Makefile @@ -0,0 +1,53 @@ +# +# (C) Copyright 2008 Magnus Lilja <[EMAIL PROTECTED]> +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED] +# +# 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).a + +COBJS := mx31pdk.o +SOBJS := lowlevel_init.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(LIB):$(obj).depend $(OBJS) $(SOBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak .depend + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/board/mx31pdk/config.mk b/board/mx31pdk/config.mk new file mode 100644 index 000..d34dc02 --- /dev/null +++ b/board/mx31pdk/config.mk @@ -0,0 +1 @@ +TEXT_BASE = 0x87f0 diff --git a/board/mx31pdk/lowlevel_init.S b/board/mx31pdk/lowlevel_init.S new file mode 100644 index 000..a94ea7f --- /dev/null +++ b/board/mx31pdk/lowlevel_init.S @@ -0,0 +1,30 @@ +/* + * (C) Copyright 2008 Magnus Lilja <[EMAIL PROTECTED]> + * + * 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 + */ + +/* + * This is just to keep the linker happy. + */ + +.globl lowlevel_init +lowlevel_init: + mov pc, lr + diff --git a/board/mx31pdk/mx31pdk.c b/board/mx31pdk/mx31pdk.c new file mode 100644 index 000..3f3488e --- /dev/null +++ b/board/mx31pdk/mx31pdk.c @@ -0,0 +1,76 @@ +/* + * + * (C) Copyright 2008 Magnus Lilja <[EMAIL PROTECTED]> + * + * (c) 2007 Pengutronix, Sascha Hau
[U-Boot-Users] [PATCH RFC 1/5] i.MX31: Add NFC_BASE_ADDR definition.
Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- include/asm-arm/arch-mx31/mx31-regs.h | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h index 02b7dcb..6fc7606 100644 --- a/include/asm-arm/arch-mx31/mx31-regs.h +++ b/include/asm-arm/arch-mx31/mx31-regs.h @@ -153,4 +153,15 @@ #define CS5_BASE 0xB600 #define PCMCIA_MEM_BASE0xC000 +/* + * NAND controller + */ +#define NFC_BASE_ADDR 0xB800 + +/* + * NFMS bit in RCSR register for pagesize of nandflash + */ +#define NFMS (*((volatile u32 *)CCM_RCSR)) +#define NFMS_BIT 30 + #endif /* __ASM_ARCH_MX31_REGS_H */ -- 1.5.2.4 - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH RFC 0/5] i.MX31: Add NAND support and new PDK board.
Hi all This series of patches adds support for the NAND flash controller in the i.MX31 device and also introduces the Freescale i.MX31 PDK board. The patches are based on Scott Wood's testing branch of the NAND git tree. At the moment, the patch series does not add support for booting from NAND. This means that the PDK board support assumes that some other entity configures the SDRAM and loads U-boot into RAM (e.g. another bootloader or a JTAG debugger). Support for NAND boot is in progress and will be submitted later. The NAND driver is based on Freescale's Linux driver from their BSP. I've cleaned it up a bit and made the (minor) modifications necessary for U-boot. Perhaps the driver should be cleaned up even more, there are some CONFIG_MTD_MXC_* leftovers in the driver. I have tested the driver on the Litekit (small page NAND) and on the PDK (large page NAND) by having the U-boot environment placed in NAND. Comments are welcome! Regards, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH RFC 2/5] i.MX31: Add reset_timer() and modify get_timer_masked().
This patch adds the reset_timer() function (needed by nand_base.c) and modifies the get_timer_masked() to work in the same way as the omap24xx function. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- cpu/arm1136/mx31/interrupts.c | 22 ++ 1 files changed, 18 insertions(+), 4 deletions(-) diff --git a/cpu/arm1136/mx31/interrupts.c b/cpu/arm1136/mx31/interrupts.c index 21b77a5..b173919 100644 --- a/cpu/arm1136/mx31/interrupts.c +++ b/cpu/arm1136/mx31/interrupts.c @@ -38,6 +38,9 @@ #define GPTCR_CLKSOURCE_32 (4<<6) /* Clock source */ #define GPTCR_TEN (1) /* Timer enable */ +static ulong timestamp; +static ulong lastinc; + /* nothing really to do with interrupts, just starts up a counter. */ int interrupt_init (void) { @@ -54,14 +57,25 @@ int interrupt_init (void) void reset_timer_masked (void) { - GPTCR = 0; - GPTCR = GPTCR_CLKSOURCE_32 | GPTCR_TEN; /* Freerun Mode, PERCLK1 input */ + lastinc = GPTCNT; + timestamp = 0; +} + +void reset_timer(void) +{ + reset_timer_masked(); } ulong get_timer_masked (void) { - ulong val = GPTCNT; - return val; + ulong now = GPTCNT; + + if (now >= lastinc) + timestamp += (now - lastinc); + else + timestamp += (0x - lastinc) + now; + lastinc = now; + return timestamp; } ulong get_timer (ulong base) -- 1.5.2.4 - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH RFC 4/5] i.MX31: Add NAND support in the i.MX31 Litekit config file.
Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- include/configs/imx31_litekit.h | 12 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h index ec4ed1e..a402007 100644 --- a/include/configs/imx31_litekit.h +++ b/include/configs/imx31_litekit.h @@ -36,6 +36,8 @@ #define CONFIG_MX31_HCLK_FREQ 2600 #define CONFIG_MX31_CLK32 32000 +#define CONFIG_MX31_NAND 1 + #define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO @@ -87,6 +89,8 @@ #define CONFIG_CMD_SPI #define CONFIG_CMD_DATE +#define CONFIG_CMD_NAND + #define CONFIG_BOOTDELAY 3 #define CONFIG_NETMASK 255.255.255.0 @@ -172,4 +176,12 @@ #undef CONFIG_JFFS2_CMDLINE #define CONFIG_JFFS2_DEV "nor0" +/* + * NAND flash + */ + +#define NAND_MAX_CHIPS 1 +#define CFG_MAX_NAND_DEVICE1 +#define CFG_NAND_BASE 0x4000 + #endif /* __CONFIG_H */ -- 1.5.2.4 - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [patch 1/1] (V2) Set GD_FLG_RELOC for boards skipping relocation to RAM
Hi On Wed, Jul 30, 2008 at 12:13 AM, Wolfgang Denk <[EMAIL PROTECTED]> wrote: > In message <[EMAIL PROTECTED]>> you wrote: >> If CONFIG_SKIP_RELOCATE_UBOOT is set the flag GD_FLG_RELOC is usually never >> set, because relocation to RAM is actually never done by U-boot itself. >> However, several pieces of code check if this flag is set at some time. >> >> So, to make sure this flag is set on boards skipping relocation, this >> is added to the initialisation of U-boot at a moment where it is safe >> to do so. >> >> V2: Forgot to add 'return 0;' to reloc_init() routine. >> >> Signed-off-by: Remy Bohmer <[EMAIL PROTECTED]> >> --- >> lib_arm/board.c | 17 + >> 1 file changed, 17 insertions(+) > > Applied, thanks. To me it seems like GD_FLG_RELOC is not set unless CONFIG_SKIP_RELOCATE_UBOOT is set. Other boards (mips, ppc etc) set GD_FLG_RELOC in their board_init_r function but as far as I can see this does not happen for ARM boards. Shouldn't it be set in lib_arm/board.c:start_armboot right after the gd pointer has been initialized? I just took the latest git tree and built an i.MX31 Litekit binary (with defining CONFIG_SKIP_RELOCATE_UBOOT) and GD_FLG_RELOC is not set after boot. Thanks, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] U-Boot v1.3.4-rc2 released
Hi, Wolfgang Denk skrev: > Hello everybody, > > I have released U-Boot v1.3.4-rc2, and it is available both from the > git repository and the FTP server. > > Please help testing. > > Please also check if all your patches that you want to have included > in v1.3.4 have really been added - I don't have anything pending on > my list, but I might have missed something. I just posted an updated set of patches related to "4000 06/18 Magnus Lilja [U-Boot-Users] i.MX31: mx31_gpio_mux() problem", would be nice to have that in v1.3.4 as well. The subjects are: [PATCH v2 1/2] i.MX31: Fix IOMUX related typos [PATCH v2 2/2] i.MX31: Fix mx31_gpio_mux() function and MUX_-macros. (actually only the second patch has been updated, the first version of these patches were sent in June) Regards, Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH v2 2/2] i.MX31: Fix mx31_gpio_mux() function and MUX_-macros.
Correct the mx31_gpio_mux() function to allow changing all i.MX31 IOMUX contacts instead of only the first 256 ones as is the case prior to this patch. Add missing MUX_* macros and update board files to use the new macros. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- Changes from first version: Renamed helper macro in mx31-regs.h to IOMUX_MODE since that's the name used in imx31 code in Linux 2.6.26. Split one macro into two lines in order to fit within 80 columns. board/imx31_litekit/imx31_litekit.c | 14 +++--- board/mx31ads/mx31ads.c | 14 +++--- cpu/arm1136/mx31/generic.c|4 ++-- include/asm-arm/arch-mx31/mx31-regs.h | 33 - 4 files changed, 40 insertions(+), 25 deletions(-) diff --git a/board/imx31_litekit/imx31_litekit.c b/board/imx31_litekit/imx31_litekit.c index 8cbc26e..cb3e174 100644 --- a/board/imx31_litekit/imx31_litekit.c +++ b/board/imx31_litekit/imx31_litekit.c @@ -53,13 +53,13 @@ int board_init (void) mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SCLK); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SPI_RDY); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MOSI); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS0); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS1); + mx31_gpio_mux(MUX_CSPI2_SS2__CSPI2_SS2_B); + mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); + mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); + mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); + mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); + mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); + mx31_gpio_mux(MUX_CSPI2_SS1__CSPI2_SS1_B); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c index b6928fc..c24c47c 100644 --- a/board/mx31ads/mx31ads.c +++ b/board/mx31ads/mx31ads.c @@ -58,13 +58,13 @@ int board_init (void) mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SCLK); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SPI_RDY); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MOSI); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS0); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS1); + mx31_gpio_mux(MUX_CSPI2_SS2__CSPI2_SS2_B); + mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); + mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); + mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); + mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); + mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); + mx31_gpio_mux(MUX_CSPI2_SS1__CSPI2_SS1_B); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); diff --git a/cpu/arm1136/mx31/generic.c b/cpu/arm1136/mx31/generic.c index 29c08c1..dc031c9 100644 --- a/cpu/arm1136/mx31/generic.c +++ b/cpu/arm1136/mx31/generic.c @@ -81,12 +81,12 @@ void mx31_gpio_mux(unsigned long mode) { unsigned long reg, shift, tmp; - reg = IOMUXC_BASE + (mode & 0xfc); + reg = IOMUXC_BASE + (mode & 0x1fc); shift = (~mode & 0x3) * 8; tmp = __REG(reg); tmp &= ~(0xff << shift); - tmp |= ((mode >> 8) & 0xff) << shift; + tmp |= ((mode >> IOMUX_MODE_POS) & 0xff) << shift; __REG(reg) = tmp; } diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h index abe61f0..b04a718 100644 --- a/include/asm-arm/arch-mx31/mx31-regs.h +++ b/include/asm-arm/arch-mx31/mx31-regs.h @@ -126,17 +126,32 @@ #define MUX_CTL_CSPI2_SS2 0x87 #define MUX_CTL_CSPI2_MOSI 0x8b -/* The modes a specific pin can be in - * these macros can be used in mx31_gpio_mux() and have the form - * MUX_[contact name]__[pin function] +/* + * Helper macros for the MUX_[contact name]__[pin function] macros */ -#define MUX_RXD1__UART1_RXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_RXD1) -#define MUX_TXD1__UART1_TXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_TXD1) -#define MUX_RTS1__UART1_RTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_RTS1) -#define MUX_CTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) +#define IOMUX_MODE_POS 9 +#define IOMUX_MODE(contact, mode) (((mode) << IOMUX_MODE_POS) | (contact)) -#define MUX_CSPI2_MOSI__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MOSI) -#define MUX_CSPI2_MISO__I
[U-Boot-Users] [PATCH v2 1/2] i.MX31: Fix IOMUX related typos
Correct the names of some IOMUX macros. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- No changes from first version. board/imx31_litekit/imx31_litekit.c |2 +- board/imx31_phycore/imx31_phycore.c |4 ++-- board/mx31ads/mx31ads.c |2 +- include/asm-arm/arch-mx31/mx31-regs.h |4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/board/imx31_litekit/imx31_litekit.c b/board/imx31_litekit/imx31_litekit.c index 263dd9f..8cbc26e 100644 --- a/board/imx31_litekit/imx31_litekit.c +++ b/board/imx31_litekit/imx31_litekit.c @@ -50,7 +50,7 @@ int board_init (void) mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); - mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); + mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); diff --git a/board/imx31_phycore/imx31_phycore.c b/board/imx31_phycore/imx31_phycore.c index 42ecb1e..ae93444 100644 --- a/board/imx31_phycore/imx31_phycore.c +++ b/board/imx31_phycore/imx31_phycore.c @@ -54,11 +54,11 @@ int board_init (void) mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); - mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); + mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* setup pins for I2C2 (for EEPROM, RTC) */ mx31_gpio_mux(MUX_CSPI2_MOSI__I2C2_SCL); - mx31_gpio_mux(MUX_CSPI2_MISO__I2C2_SCL); + mx31_gpio_mux(MUX_CSPI2_MISO__I2C2_SDA); gd->bd->bi_arch_number = 447; /* board id for linux */ gd->bd->bi_boot_params = (0x8100); /* adress of boot parameters */ diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c index dd0e150..b6928fc 100644 --- a/board/mx31ads/mx31ads.c +++ b/board/mx31ads/mx31ads.c @@ -55,7 +55,7 @@ int board_init (void) mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); - mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); + mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h index 02b7dcb..abe61f0 100644 --- a/include/asm-arm/arch-mx31/mx31-regs.h +++ b/include/asm-arm/arch-mx31/mx31-regs.h @@ -133,10 +133,10 @@ #define MUX_RXD1__UART1_RXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_RXD1) #define MUX_TXD1__UART1_TXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_TXD1) #define MUX_RTS1__UART1_RTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_RTS1) -#define MUX_RTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) +#define MUX_CTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) #define MUX_CSPI2_MOSI__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MOSI) -#define MUX_CSPI2_MISO__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO) +#define MUX_CSPI2_MISO__I2C2_SDA ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO) /* * Memory regions and CS - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] RFC: mailing list transfer
> Do you think this is a reasonable plan? Any hints, ideas, tips? Yes! /Magnus - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH 07/10] [ARM] TQMA31: adjust voltage regulators in PMIC MC13738
Hi Jens, On Tue, Jul 8, 2008 at 10:55 AM, Jens Gehrlein <[EMAIL PROTECTED]> wrote: > Hi Magnus, > > Magnus Lilja schrieb: >> >> Hi, >> >> Jens Gehrlein wrote: >>> >>> +static int adjust_voltages (void) >>> +{ >>> + u32 reg; >>> + u32 val; >>> + static struct spi_slave *slave = NULL; >>> + >>> + slave = spi_setup_slave(1, 0, 100, >>> + SPI_MODE_2 | SPI_CS_HIGH); >>> + if (!slave) >>> + return -1; >>> + >>> + if (spi_claim_bus(slave)) >>> + return -1; >>> + >>> + /* Set PMIC arbitration switchers */ >>> + val = 0x20; >>> + reg = 0x1400 | val | 0x8000; >> >> It seems like it's time to create a MC13783 header file containing some >> helper macros and symbolic names to the 13783's registers so we can write: >> reg = MC13783_READ_CMD(MC_REG_FOO); >> ... >> val = something_symbolic | something_symbolic2; >> reg = MC13783_WRITE_CMD(MC_REG_FOO, val); >> ... >> etc.. >> >> >> Also, I'm pretty sure some other i.MX31 boards could benefit from changing >> some voltages in U-boot so perhaps we could have a mc13783-reg.c (-reg as in >> regulators) file containing stuff like mc13783_set_regulator(MC_VRFDIG, >> VRFDIG_1V8)? > > Basically, I agree. But would you accept the current patch for now? The new > routines and macros later could be implemented later. I don't think it's up to me to ACK or NAK this, but I can accept the current patch. Regards, Magnus Lilja - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH 04/10] [ARM] TQMA31: add new board with i.MX31 processor
Hi again > diff --git a/board/tqc/tqma31/Makefile b/board/tqc/tqma31/Makefile > new file mode 100644 > index 000..ed403e8 > --- /dev/null > +++ b/board/tqc/tqma31/Makefile > @@ -0,0 +1,48 @@ > +# > +# Copyright (C) 2008, Guennadi Liakhovetski <[EMAIL PROTECTED]> > +# Copyright (C) 2008, Jens Gehrlein <[EMAIL PROTECTED]> > +# > +# 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).a > + > +COBJS := tqma31.o > +SOBJS := lowlevel_init.o > + > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) > +OBJS := $(addprefix $(obj),$(COBJS)) > +SOBJS := $(addprefix $(obj),$(SOBJS)) > + > +$(LIB):$(obj).depend $(OBJS) $(SOBJS) > + $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) > + > +clean: > + rm -f $(SOBJS) $(OBJS) > + > +distclean: clean > + rm -f $(LIB) core *.bak .depend The .depend file needs a $(obj)-prefix here (Wolfgang recenty corrected this in a number of Makefiles): rm -f $(LIB) core *.bak $(obj).depend Regards, Magnus - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Release status - things to be done
Wolfgang, > 4000 06/18 Magnus Lilja [U-Boot-Users] i.MX31: mx31_gpio_mux() problem >-> do nothing; waiting for resubmit I submitted patches to this problem in two posts with the following subjects: [PATCH 1/2] i.MX31: Fix IOMUX related typos (June 23:rd) [PATCH 2/2] i.MX31: Fix mx31_gpio_mux() function and MUX_-macros. (June 23:rd) http://www.nabble.com/-PATCH-1-2--i.MX31%3A-Fix-IOMUX-related-typos.-to18073906.html http://www.nabble.com/-PATCH-2-2--i.MX31%3A-Fix-mx31_gpio_mux%28%29-function-and-MUX_-macros.-to18073932.html Thanks, Magnus - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH 07/10] [ARM] TQMA31: adjust voltage regulators in PMIC MC13738
Hi, Jens Gehrlein wrote: > +static int adjust_voltages (void) > +{ > + u32 reg; > + u32 val; > + static struct spi_slave *slave = NULL; > + > + slave = spi_setup_slave(1, 0, 100, > + SPI_MODE_2 | SPI_CS_HIGH); > + if (!slave) > + return -1; > + > + if (spi_claim_bus(slave)) > + return -1; > + > + /* Set PMIC arbitration switchers */ > + val = 0x20; > + reg = 0x1400 | val | 0x8000; It seems like it's time to create a MC13783 header file containing some helper macros and symbolic names to the 13783's registers so we can write: reg = MC13783_READ_CMD(MC_REG_FOO); ... val = something_symbolic | something_symbolic2; reg = MC13783_WRITE_CMD(MC_REG_FOO, val); ... etc.. Also, I'm pretty sure some other i.MX31 boards could benefit from changing some voltages in U-boot so perhaps we could have a mc13783-reg.c (-reg as in regulators) file containing stuff like mc13783_set_regulator(MC_VRFDIG, VRFDIG_1V8)? > + /* > + * FIXME: switcher settings 0 and 1. > + * Kernel hangs when unpacking itself. > + * Workaround: > + * Up to now CPU can operate at maximum allowed voltage 1.6 V. > + */ I suppose you know that 1.6V is only needed if the CPU is clocked at 532MHz, if it's clocked at 399MHz it can be supplied with 1.2V. Regards, Magnus - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH 04/10] [ARM] TQMA31: add new board with i.MX31 processor
Hi, Jens Gehrlein wrote: > diff --git a/board/tqc/tqma31/lowlevel_init.S > b/board/tqc/tqma31/lowlevel_init.S > new file mode 100644 > index 000..50db3a1 > --- /dev/null > +++ b/board/tqc/tqma31/lowlevel_init.S > @@ -0,0 +1,375 @@ > +/* > + * Copyright (C) 2008, Guennadi Liakhovetski <[EMAIL PROTECTED]> > + * Copyright (C) 2008, Jens Gehrlein <[EMAIL PROTECTED]> > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > + * MA 02111-1307 USA > + */ > + > +#include > +#include > + > +.macro REG reg, val > + ldr r2, =\reg > + ldr r3, =\val > + str r3, [r2] > +.endm > + > +.macro REG8 reg, val > + ldr r2, =\reg > + ldr r3, =\val > + strb r3, [r2] > +.endm > + > +.macro DELAY loops > + ldr r2, =\loops > +1: > + subsr2, r2, #1 > + nop > + bcs 1b > +.endm > + > + > +/* > + * AIPS setup - Only setup MPROTx registers. > + * The PACR default values are good. > + */ > +.macro init_aips > + > + /* Setup the Peripheral Port Remap register inside the core */ > + ldr r0, =0x4015/* start from AIPS 2GB region */ > + mcr p15, 0, r0, c15, c2, 4 > + > + /* > + * Set all MPROTx to be non-bufferable, trusted for R/W, > + * not forced to user-mode. > + */ > + ldr r0, =0x43F0 How about adding/using symbolic names for i.MX31 register addresses also in the init_aips, init_max, init_m3if and init_drive_strength macros? It helps readability IMO. Regards, Magnus - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH 00/10] [ARM] TQMA31: new board
Hi, Jens Gehrlein skrev: > Hi, > > the following patches introduce the i.MX31 (ARM1136) based board TQMA31. > Used toolchain was ELDK 4.1. > > The first three patches fix some bugs in mxc/mx31 common parts. I compiled > the im31_phycore, the imx31_litekit and the mx31ads U-Boots for this. > But I don't have boards to test them. > > Patch 04/10 cannot successfully be compiled without having Patch 03/10 > applied. > > Patch 03/10 has been on the mailing list in a similar form, but it seems that > nobody picked it up. So I want give it a chance with my patch series. Don't know why those patches weren't picked up, I think they were submitted before the merge window closed. Your patch doesn't fix the bug in mx31_gpio_mux() though. Regards, Magnus - Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH 2/2] i.MX31: Fix mx31_gpio_mux() function and MUX_-macros.
Correct the mx31_gpio_mux() function to allow changing all i.MX31 IOMUX contacts instead of only the first 256 ones as is the case prior to this patch. Add missing MUX_* macros and update board files to use the new macros. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- The i.MX31 Litekit parts has been run on target hardware. The ADS and Phycore have only been compile time tested. board/imx31_litekit/imx31_litekit.c | 14 +++--- board/mx31ads/mx31ads.c | 14 +++--- cpu/arm1136/mx31/generic.c|4 ++-- include/asm-arm/arch-mx31/mx31-regs.h | 32 +++- 4 files changed, 39 insertions(+), 25 deletions(-) diff --git a/board/imx31_litekit/imx31_litekit.c b/board/imx31_litekit/imx31_litekit.c index 8cbc26e..cb3e174 100644 --- a/board/imx31_litekit/imx31_litekit.c +++ b/board/imx31_litekit/imx31_litekit.c @@ -53,13 +53,13 @@ int board_init (void) mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SCLK); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SPI_RDY); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MOSI); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS0); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS1); + mx31_gpio_mux(MUX_CSPI2_SS2__CSPI2_SS2_B); + mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); + mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); + mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); + mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); + mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); + mx31_gpio_mux(MUX_CSPI2_SS1__CSPI2_SS1_B); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c index b6928fc..c24c47c 100644 --- a/board/mx31ads/mx31ads.c +++ b/board/mx31ads/mx31ads.c @@ -58,13 +58,13 @@ int board_init (void) mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SCLK); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SPI_RDY); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MOSI); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS0); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS1); + mx31_gpio_mux(MUX_CSPI2_SS2__CSPI2_SS2_B); + mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); + mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); + mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); + mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); + mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); + mx31_gpio_mux(MUX_CSPI2_SS1__CSPI2_SS1_B); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); diff --git a/cpu/arm1136/mx31/generic.c b/cpu/arm1136/mx31/generic.c index 29c08c1..914edd0 100644 --- a/cpu/arm1136/mx31/generic.c +++ b/cpu/arm1136/mx31/generic.c @@ -81,12 +81,12 @@ void mx31_gpio_mux(unsigned long mode) { unsigned long reg, shift, tmp; - reg = IOMUXC_BASE + (mode & 0xfc); + reg = IOMUXC_BASE + (mode & 0x1fc); shift = (~mode & 0x3) * 8; tmp = __REG(reg); tmp &= ~(0xff << shift); - tmp |= ((mode >> 8) & 0xff) << shift; + tmp |= ((mode >> MUX_MODE_POS) & 0xff) << shift; __REG(reg) = tmp; } diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h index abe61f0..c798a19 100644 --- a/include/asm-arm/arch-mx31/mx31-regs.h +++ b/include/asm-arm/arch-mx31/mx31-regs.h @@ -126,17 +126,31 @@ #define MUX_CTL_CSPI2_SS2 0x87 #define MUX_CTL_CSPI2_MOSI 0x8b -/* The modes a specific pin can be in - * these macros can be used in mx31_gpio_mux() and have the form - * MUX_[contact name]__[pin function] +/* + * Helper macros for the MUX_[contact name]__[pin function] macros */ -#define MUX_RXD1__UART1_RXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_RXD1) -#define MUX_TXD1__UART1_TXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_TXD1) -#define MUX_RTS1__UART1_RTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_RTS1) -#define MUX_CTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) +#define MUX_MODE_POS 9 +#define MUX_CREATE(contact, mode) (((mode) << MUX_MODE_POS) | (contact)) -#define MUX_CSPI2_MOSI__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MOSI) -#define MUX_CSPI2_MISO__I2C2_SDA ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO) +/* + * These macros can be used in mx31_gpio
[U-Boot-Users] [PATCH 1/2] i.MX31: Fix IOMUX related typos.
Correct the names of some IOMUX macros. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- The i.MX31 Litekit parts has been run on target hardware. The ADS and Phycore have only been compile time tested. board/imx31_litekit/imx31_litekit.c |2 +- board/imx31_phycore/imx31_phycore.c |4 ++-- board/mx31ads/mx31ads.c |2 +- include/asm-arm/arch-mx31/mx31-regs.h |4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/board/imx31_litekit/imx31_litekit.c b/board/imx31_litekit/imx31_litekit.c index 263dd9f..8cbc26e 100644 --- a/board/imx31_litekit/imx31_litekit.c +++ b/board/imx31_litekit/imx31_litekit.c @@ -50,7 +50,7 @@ int board_init (void) mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); - mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); + mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); diff --git a/board/imx31_phycore/imx31_phycore.c b/board/imx31_phycore/imx31_phycore.c index 42ecb1e..ae93444 100644 --- a/board/imx31_phycore/imx31_phycore.c +++ b/board/imx31_phycore/imx31_phycore.c @@ -54,11 +54,11 @@ int board_init (void) mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); - mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); + mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* setup pins for I2C2 (for EEPROM, RTC) */ mx31_gpio_mux(MUX_CSPI2_MOSI__I2C2_SCL); - mx31_gpio_mux(MUX_CSPI2_MISO__I2C2_SCL); + mx31_gpio_mux(MUX_CSPI2_MISO__I2C2_SDA); gd->bd->bi_arch_number = 447; /* board id for linux */ gd->bd->bi_boot_params = (0x8100); /* adress of boot parameters */ diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c index dd0e150..b6928fc 100644 --- a/board/mx31ads/mx31ads.c +++ b/board/mx31ads/mx31ads.c @@ -55,7 +55,7 @@ int board_init (void) mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); - mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); + mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h index 02b7dcb..abe61f0 100644 --- a/include/asm-arm/arch-mx31/mx31-regs.h +++ b/include/asm-arm/arch-mx31/mx31-regs.h @@ -133,10 +133,10 @@ #define MUX_RXD1__UART1_RXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_RXD1) #define MUX_TXD1__UART1_TXD_MUX((MUX_CTL_FUNC << 8) | MUX_CTL_TXD1) #define MUX_RTS1__UART1_RTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_RTS1) -#define MUX_RTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) +#define MUX_CTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) #define MUX_CSPI2_MOSI__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MOSI) -#define MUX_CSPI2_MISO__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO) +#define MUX_CSPI2_MISO__I2C2_SDA ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO) /* * Memory regions and CS - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] i.MX31: mx31_gpio_mux() problem
>> The first approach has the advantage that you can define convenience >> macros like MUX_RXD1__UART1_RXD_MUX which makes it easy to setup new >> boards by only reading the definition instead of crawling the datasheet >> for Alternate function assignments once the list of defined is somewhat >> completed. Looking in the datasheet for every new pin is a pain and >> error prone. > > > Thanks for the background info. I'll try to submit a patch in a couple > of days (using the first approach). Seems to like there are some typos in the current convenience macros already: #define MUX_RTS1__UART1_RTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_RTS1) #define MUX_RTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) The last one should be #define MUX_CTS1__UART1_CTS_B ((MUX_CTL_FUNC << 8) | MUX_CTL_CTS1) More.. #define MUX_CSPI2_MOSI__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MOSI) #define MUX_CSPI2_MISO__I2C2_SCL ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO) The last one should be: #define MUX_CSPI2_MISO__I2C2_SDA ((MUX_CTL_ALT1 << 8) | MUX_CTL_CSPI2_MISO) I'll include that in my patch as well if there are no objections. /Magnus - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] i.MX31: mx31_gpio_mux() problem
On Thu, Jun 19, 2008 at 2:34 PM, Sascha Hauer <[EMAIL PROTECTED]> wrote: > On Wed, Jun 18, 2008 at 10:21:10PM +0200, Magnus Lilja wrote: >> Hi all >> >> >> While I was using the mx31_gpio_mux() function in cpu/arm1136/mx31/generic.c >> to modify the IOMUX for some IO pads I discovered that only the first 256 >> pads can be modified by this function. >> >> It's pretty easy to fix this (see patch below) but I wonder if it's really >> the right way to fix this problem. Currently mx31_gpio_mux() takes only one >> argument, mode, which contains both the pad number and the new mode. >> >> Current use: >> mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); >> >> (the patch below changes << 8 to << 9 and modifies the mx31_gpiomux() >> function accordingly) >> >> Perhaps it's better to split the above into two arguments, pad number and >> pad mode, the function will then be called with: >> mx31_gpio_mux(MUX_CTL_CSPI2_MISO, MUX_CTL_FUNC); >> >> I prefer the second approach (i.e. not the one in the patch below). > > The first approach has the advantage that you can define convenience > macros like MUX_RXD1__UART1_RXD_MUX which makes it easy to setup new > boards by only reading the definition instead of crawling the datasheet > for Alternate function assignments once the list of defined is somewhat > completed. Looking in the datasheet for every new pin is a pain and > error prone. Thanks for the background info. I'll try to submit a patch in a couple of days (using the first approach). /Magnus - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] i.MX31: mx31_gpio_mux() problem
Hi all While I was using the mx31_gpio_mux() function in cpu/arm1136/mx31/generic.c to modify the IOMUX for some IO pads I discovered that only the first 256 pads can be modified by this function. It's pretty easy to fix this (see patch below) but I wonder if it's really the right way to fix this problem. Currently mx31_gpio_mux() takes only one argument, mode, which contains both the pad number and the new mode. Current use: mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); (the patch below changes << 8 to << 9 and modifies the mx31_gpiomux() function accordingly) Perhaps it's better to split the above into two arguments, pad number and pad mode, the function will then be called with: mx31_gpio_mux(MUX_CTL_CSPI2_MISO, MUX_CTL_FUNC); I prefer the second approach (i.e. not the one in the patch below). Any comments on which solution we prefer? Regards, Magnus Lilja --- board/imx31_litekit/imx31_litekit.c | 14 +++--- board/mx31ads/mx31ads.c | 14 +++--- cpu/arm1136/mx31/generic.c|4 ++-- include/asm-arm/arch-mx31/mx31-regs.h | 12 ++-- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/board/imx31_litekit/imx31_litekit.c b/board/imx31_litekit/imx31_litekit.c index 263dd9f..09ce6f8 100644 --- a/board/imx31_litekit/imx31_litekit.c +++ b/board/imx31_litekit/imx31_litekit.c @@ -53,13 +53,13 @@ int board_init (void) mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); /* SPI2 */ - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SCLK); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SPI_RDY); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MOSI); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS0); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS1); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SS2); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SCLK); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SPI_RDY); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_MOSI); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_MISO); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SS0); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SS1); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c index dd0e150..b29d1b0 100644 --- a/board/mx31ads/mx31ads.c +++ b/board/mx31ads/mx31ads.c @@ -58,13 +58,13 @@ int board_init (void) mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); /* SPI2 */ - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SCLK); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SPI_RDY); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MOSI); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS0); - mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS1); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SS2); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SCLK); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SPI_RDY); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_MOSI); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_MISO); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SS0); + mx31_gpio_mux((MUX_CTL_FUNC << 9) | MUX_CTL_CSPI2_SS1); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); diff --git a/cpu/arm1136/mx31/generic.c b/cpu/arm1136/mx31/generic.c index 29c08c1..f897a2a 100644 --- a/cpu/arm1136/mx31/generic.c +++ b/cpu/arm1136/mx31/generic.c @@ -81,12 +81,12 @@ void mx31_gpio_mux(unsigned long mode) { unsigned long reg, shift, tmp; - reg = IOMUXC_BASE + (mode & 0xfc); + reg = IOMUXC_BASE + (mode & 0x1fc); shift = (~mode & 0x3) * 8; tmp = __REG(reg); tmp &= ~(0xff << shift); - tmp |= ((mode >> 8) & 0xff) << shift; + tmp |= ((mode >> 9) & 0xff) << shift; __REG(reg) = tmp; } diff --git a/include/asm-arm/arch-mx31/mx31-regs.h b/include/asm-arm/arch-mx31/mx31-regs.h index 02b7dcb..b1c6327 100644 --- a/include/asm-arm/arch-mx31/mx31-regs.h +++ b/include/asm-arm/arch-mx31/mx31-regs.h @@ -130,13 +130,13 @@ * these macros can be used in mx31_gpio_mux() and have the form * MUX_[contact name]__[pin function] */ -#define MUX_RXD1__UART1_RXD_MUX((MUX_CTL_FUNC &l
Re: [U-Boot-Users] [Junk released by Allow List] Command history no longer working
Hi On Thu, May 29, 2008 at 9:58 PM, Kenneth Johansson <[EMAIL PROTECTED]> wrote: >> I noticed that not a lot of platforms/boards set GD_FLG_RELOC so >> command history will probably cease to work for these boards also? > > Most boards do the relocation and then it gets set by the common > board_init_r() function. I got hit by this problem today and only after I figured out what was really wrong I searched the mailing list archives and found this thread (and a couple of others). I'm using an ARM board and as far as I can see lib_arm/board.c does not set the GD_FLG_RELOC bit, in fact no ARM boards do so in the current git tree (according to grep anyway). Many other architectures set the flag in their respective common lib_/board.c. Should/can the GD_FLG_RELOC be set in a common place (lib_arm/board.c:start_armboot) for ARM as well? Or shall we place gd->flags |= GD_FLG_RELOC in the board specific init routines/files? Regards, Magnus Lilja - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] i.MX31: Cleanup comments in lowlevel_init.S.
Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- board/imx31_litekit/lowlevel_init.S |4 ++-- board/imx31_phycore/lowlevel_init.S |4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/board/imx31_litekit/lowlevel_init.S b/board/imx31_litekit/lowlevel_init.S index 9d96db8..0003a42 100644 --- a/board/imx31_litekit/lowlevel_init.S +++ b/board/imx31_litekit/lowlevel_init.S @@ -62,9 +62,9 @@ lowlevel_init: REG 0x43FAC26C, 0 /* SDCLK */ REG 0x43FAC270, 0 /* CAS */ REG 0x43FAC274, 0 /* RAS */ - REG 0x43FAC27C, 0x1000 /* CS2 CSD0) */ + REG 0x43FAC27C, 0x1000 /* CS2 (CSD0) */ REG 0x43FAC284, 0 /* DQM3 */ - REG 0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 0x288..0x2DC) */ + REG 0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 (0x288..0x2DC) */ REG 0x43FAC28C, 0 REG 0x43FAC290, 0 REG 0x43FAC294, 0 diff --git a/board/imx31_phycore/lowlevel_init.S b/board/imx31_phycore/lowlevel_init.S index 70f30c0..c5d6eb0 100644 --- a/board/imx31_phycore/lowlevel_init.S +++ b/board/imx31_phycore/lowlevel_init.S @@ -63,9 +63,9 @@ lowlevel_init: REG 0x43FAC26C, 0 /* SDCLK */ REG 0x43FAC270, 0 /* CAS */ REG 0x43FAC274, 0 /* RAS */ - REG 0x43FAC27C, 0x1000 /* CS2 CSD0) */ + REG 0x43FAC27C, 0x1000 /* CS2 (CSD0) */ REG 0x43FAC284, 0 /* DQM3 */ - REG 0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 0x288..0x2DC) */ + REG 0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10 (0x288..0x2DC) */ REG 0x43FAC28C, 0 REG 0x43FAC290, 0 REG 0x43FAC294, 0 - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH 07/08] Socrates: NAND support added. Changed the U-Boot base address and
Hi On Fri, Jun 6, 2008 at 3:42 PM, Wolfgang Denk <[EMAIL PROTECTED]> wrote: > From: Sergei Poselenov <[EMAIL PROTECTED]> > > Signed-off-by: Sergei Poselenov <[EMAIL PROTECTED]> > --- > board/socrates/Makefile|2 +- > board/socrates/config.mk |3 +- > board/socrates/nand.c | 218 > > include/configs/socrates.h |8 ++- > 4 files changed, 227 insertions(+), 4 deletions(-) > create mode 100644 board/socrates/nand.c > > diff --git a/board/socrates/Makefile b/board/socrates/Makefile > index 6453f24..11503eb 100644 > --- a/board/socrates/Makefile > +++ b/board/socrates/Makefile > @@ -28,7 +28,7 @@ include $(TOPDIR)/config.mk > LIB= $(obj)lib$(BOARD).a > # > > -COBJS := $(BOARD).o law.o tlb.o sdram.o > +COBJS := $(BOARD).o law.o tlb.o sdram.o nand.o > > SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) > OBJS := $(addprefix $(obj),$(COBJS)) > diff --git a/board/socrates/config.mk b/board/socrates/config.mk > index 1cf5d38..4f17294 100644 > --- a/board/socrates/config.mk > +++ b/board/socrates/config.mk > @@ -25,6 +25,5 @@ > # > # socrates board > # default CCARBAR is at 0xff70 > -# assume U-Boot is less than 256k > # > -TEXT_BASE = 0xfffc > +TEXT_BASE = 0xfffa > diff --git a/board/socrates/nand.c b/board/socrates/nand.c > new file mode 100644 > index 000..960f847 > --- /dev/null > +++ b/board/socrates/nand.c > @@ -0,0 +1,218 @@ > +/* > + * (C) Copyright 2008 > + * Sergei Poselenov, Emcraft Systems, [EMAIL PROTECTED] > + * > + * 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 > + > +#if defined(CFG_NAND_BASE) > +#include > +#include > +#include > + > +int state; Can that variable be made static? Regards, Magnus - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH-v3] Big white-space cleanup.
On Wed, May 21, 2008 at 3:34 PM, Wolfgang Denk <[EMAIL PROTECTED]> wrote: > In message <[EMAIL PROTECTED]> you wrote: > > > > Unfortunately several wrong fixes or false positives still remains, > > but this patch definitely reduce the number of wrong indentations. > > Could you please point out the remaining problems? If I understand > what's gone wrong I probably can fix my procedure and spin another > patch? The changed lines in board/imx31_litekit/lowlevel_init.S looked a bit weird, but now that I looked at them again they seemed a bit weird also before the patch so perhpaps I'll submit a clean-up patch after you have applied the big white-space-patch to the public tree. /Magnus - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH] net: add 16 bit support for smc911x
Hi all > > Magnus, are you going to fix the code as proposed by Ben and Guennadi or > > should I resubmit the patch? > > > Ultimately, somebody needs to submit a patch. Since Magnus won't try it > til later this week, it would be best if you post a patch incorporating > changes. Then if it works, we're ready to go. May I suggest adding something like this to the smc911x.c-patch as well: #if defined(CONFIG_DRIVER_SMC911X_32_BIT) && defined(CONFIG_DRIVER_SMC911X_16_BIT) #error "SMC911X: Only one of CONFIG_DRIVER_SMC911X_32_BIT and CONFIG_DRIVER_SMC911X_16_BIT shall be set" #endif (but with the correct line wrapping, the above is written directly in gmail and I don't know how gmail will mangle the code) Just in case someone accidentally defines both in the config file. Also, I tested the patch with Ben's modifications and it seems to work on the i.MX31 Litekit board. Tried both ping and tftp file transfer with the 16 bit option (and 32 bit option). Regards, Magnus - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH] net: add 16 bit support for smc911x
> Thanks for doing this! Hopefully Magnus will get a chance to try on > real hardware and we can put this issue to rest. I'll try it later this week, definitely not today though. /Magnus - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH] i.MX31: Enable SPI and MC13783/RTC support for the Litekit board
On Fri, Apr 25, 2008 at 9:16 AM, Wolfgang Denk <[EMAIL PROTECTED]> wrote: > In message <[EMAIL PROTECTED]> you wrote: > > This patch enables SPI and MC13783/RTC support for the Litekit board. > > > > Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> > > --- > > > > board/imx31_litekit/imx31_litekit.c | 12 > > include/configs/imx31_litekit.h |8 > > 2 files changed, 20 insertions(+), 0 deletions(-) > > Does not apply: > > Applying i.MX31: Enable SPI and MC13783/RTC support for the Litekit board > error: patch failed: board/imx31_litekit/imx31_litekit.c:52 > error: board/imx31_litekit/imx31_litekit.c: patch does not apply > fatal: sha1 information is lacking or useless > (board/imx31_litekit/imx31_litekit.c). > Repository lacks necessary blobs to fall back on 3-way merge. > Cannot fall back to three-way merge. > Patch failed at 0001. > > > Please rebase and resubmit. Wolfgang, It applies nicely to your currently published U-Boot-tree (after the refresh you did earlier today). So perhaps you could try again. It was my fault it didn't apply earlier (the patch required that one of my other patches had been applied), I'm still learning my way around git/stgit and how things are merged. Thanks, Magnus Lilja - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Question about smc911x driver (16/32 Bit support)
Hi Ben, > > Well, the i.MX31 Litekit board has a 16-bit LAN9117 and that seems to > > work with the 32-bit flag set in the config file. > > > That's good news. I would prefer, though, to break this into two > 16-bit accesses so we don't need to wonder what architectures it would > work on. Would you be able to try something out, since you have > hardware? If someone publishes a patch I can certainly try it on the hardware. Regards, Magnus - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] Question about smc911x driver (16/32 Bit support)
Hi Jens, On Wed, Apr 23, 2008 at 8:37 AM, Jens Gehrlein <[EMAIL PROTECTED]> wrote: > >> in the source code there is a preprocessor directive > >> #error "SMC911X: Only 32-bit bus is supported". > >> > >> We use a LAN9215i, which has a 16 Bit data interface only, connected to > >> an i.MX31. > >> > >> The LAN9215 is in the driver's ID list. > >> > >> According to the data sheet accesses have to be 2x16 Bit to build the > >> device's internal 32 Bit format. > >> > >> What does this non-32-Bit exclusion exactly mean? > >> Will the driver work on our HW configuration? > >> > > This #error message was included, because if you look at the code > > you'll see that the read/write accessors are 32-bit operations *(u32 * > > ). These may or may not work on your configuration. It should be > > trivial to write accessors for a 16-bit bus, but nobody had hardware > > to try it out on. Please do so and submit a patch. > > Yes, it seems, that we just need two additional functions which split a > 32 Bit access into two 16 Bit accesses. That should be easy. I'm going > to create a patch as soon as I get the HW. But first I want to test > whether the processor splits itself automatically. Well, the i.MX31 Litekit board has a 16-bit LAN9117 and that seems to work with the 32-bit flag set in the config file. /Magnus - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] i.MX31: Enable SPI and MC13783/RTC support for the Litekit board
This patch enables SPI and MC13783/RTC support for the Litekit board. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- board/imx31_litekit/imx31_litekit.c | 12 include/configs/imx31_litekit.h |8 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/board/imx31_litekit/imx31_litekit.c b/board/imx31_litekit/imx31_litekit.c index e0fbf25..263dd9f 100644 --- a/board/imx31_litekit/imx31_litekit.c +++ b/board/imx31_litekit/imx31_litekit.c @@ -52,6 +52,18 @@ int board_init (void) mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); + /* SPI2 */ + mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS2); + mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SCLK); + mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SPI_RDY); + mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MOSI); + mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO); + mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS0); + mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_SS1); + + /* start SPI2 clock */ + __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); + gd->bd->bi_arch_number = MACH_TYPE_MX31LITE; /* board id for linux */ gd->bd->bi_boot_params = (0x8100); /* adress of boot parameters */ diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h index 5e97cfa..4281d73 100644 --- a/include/configs/imx31_litekit.h +++ b/include/configs/imx31_litekit.h @@ -63,6 +63,12 @@ #define CONFIG_MX31_UART 1 #define CFG_MX31_UART1 1 +#define CONFIG_HARD_SPI1 +#define CONFIG_MXC_SPI 1 +#define CONFIG_MXC_SPI_IFACE 1 + +#define CONFIG_RTC_MC13783 1 + /* allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE #define CONFIG_CONS_INDEX 1 @@ -77,6 +83,8 @@ #define CONFIG_CMD_MII #define CONFIG_CMD_PING +#define CONFIG_CMD_SPI +#define CONFIG_CMD_DATE #define CONFIG_BOOTDELAY 3 - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] i.MX31: Use symbolic names for Litekit membases.
Use symbolic names instead of hard coded addresses for Litekit membases. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- include/configs/imx31_litekit.h | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h index 605eb40..5e97cfa 100644 --- a/include/configs/imx31_litekit.h +++ b/include/configs/imx31_litekit.h @@ -28,6 +28,8 @@ #ifndef __CONFIG_H #define __CONFIG_H +#include + /* High Level Configuration Options */ #define CONFIG_ARM1136 1/* This is an arm1136 CPU core */ #define CONFIG_MX311/* in a mx31 */ @@ -91,7 +93,7 @@ #define CONFIG_DRIVER_SMC911X 1 -#define CONFIG_DRIVER_SMC911X_BASE 0xb402 +#define CONFIG_DRIVER_SMC911X_BASE (CS4_BASE + 0x0002) #define CONFIG_DRIVER_SMC911X_32_BIT 1 /* @@ -127,18 +129,18 @@ * Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1 -#define PHYS_SDRAM_1 0x8000 +#define PHYS_SDRAM_1 CSD0_BASE #define PHYS_SDRAM_1_SIZE (128 * 1024 * 1024) /*--- * FLASH and environment organization */ -#define CFG_FLASH_BASE 0xa000 +#define CFG_FLASH_BASE CS0_BASE #define CFG_MAX_FLASH_BANKS1 /* max number of memory banks */ #define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */ #define CFG_MONITOR_BASE CFG_FLASH_BASE /* Monitor at beginning of flash */ -#define CFG_ENV_ADDR 0xa01f +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x001f) #defineCFG_ENV_IS_IN_FLASH 1 #define CFG_ENV_SECT_SIZE (64 * 1024) #define CFG_ENV_SIZE (64 * 1024) - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] i.MX31: Fix architecture numbers for ADS and Litekit boards
Correct the Linux architecture number for i.MX31 Litekit and ADS boards. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- board/imx31_litekit/imx31_litekit.c |2 +- board/mx31ads/mx31ads.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/board/imx31_litekit/imx31_litekit.c b/board/imx31_litekit/imx31_litekit.c index 5ba60e9..e0fbf25 100644 --- a/board/imx31_litekit/imx31_litekit.c +++ b/board/imx31_litekit/imx31_litekit.c @@ -52,7 +52,7 @@ int board_init (void) mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); - gd->bd->bi_arch_number = 447; /* board id for linux */ + gd->bd->bi_arch_number = MACH_TYPE_MX31LITE; /* board id for linux */ gd->bd->bi_boot_params = (0x8100); /* adress of boot parameters */ return 0; diff --git a/board/mx31ads/mx31ads.c b/board/mx31ads/mx31ads.c index 7c50c02..4fc95b4 100644 --- a/board/mx31ads/mx31ads.c +++ b/board/mx31ads/mx31ads.c @@ -81,7 +81,7 @@ int board_init (void) readb(CS4_BASE + 8); readb(CS4_BASE + 7); - gd->bd->bi_arch_number = 447; /* board id for linux */ + gd->bd->bi_arch_number = MACH_TYPE_MX31ADS; /* board id for linux */ gd->bd->bi_boot_params = 0x8100;/* adress of boot parameters */ return 0; - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [PATCH] Fix name of i.MX31 boards in config file header
Correct the name of the i.MX31 Litekit and phyCORE boards in config files. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- Corrected the phyCORE name after comment from Robert Schwebel. include/configs/imx31_litekit.h |2 +- include/configs/imx31_phycore.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h index 2a6f59a..50b 100644 --- a/include/configs/imx31_litekit.h +++ b/include/configs/imx31_litekit.h @@ -4,7 +4,7 @@ * Richard Woodruff <[EMAIL PROTECTED]> * Kshitij Gupta <[EMAIL PROTECTED]> * - * Configuration settings for the 242x TI H4 board. + * Configuration settings for the LogicPD i.MX31 Litekit board. * * See file CREDITS for list of people who contributed to this * project. diff --git a/include/configs/imx31_phycore.h b/include/configs/imx31_phycore.h index e067b76..aaa3390 100644 --- a/include/configs/imx31_phycore.h +++ b/include/configs/imx31_phycore.h @@ -4,7 +4,7 @@ * Richard Woodruff <[EMAIL PROTECTED]> * Kshitij Gupta <[EMAIL PROTECTED]> * - * Configuration settings for the 242x TI H4 board. + * Configuration settings for the phyCORE-i.MX31 board. * * See file CREDITS for list of people who contributed to this * project. - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
[U-Boot-Users] [PATCH] Fix name of i.MX31 boards in config file header
Correct the names of the i.MX31 Litekit and phyCORE boards in config files. Signed-off-by: Magnus Lilja <[EMAIL PROTECTED]> --- include/configs/imx31_litekit.h |2 +- include/configs/imx31_phycore.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h index 2a6f59a..50b 100644 --- a/include/configs/imx31_litekit.h +++ b/include/configs/imx31_litekit.h @@ -4,7 +4,7 @@ * Richard Woodruff <[EMAIL PROTECTED]> * Kshitij Gupta <[EMAIL PROTECTED]> * - * Configuration settings for the 242x TI H4 board. + * Configuration settings for the LogicPD i.MX31 Litekit board. * * See file CREDITS for list of people who contributed to this * project. diff --git a/include/configs/imx31_phycore.h b/include/configs/imx31_phycore.h index e067b76..c29654b 100644 --- a/include/configs/imx31_phycore.h +++ b/include/configs/imx31_phycore.h @@ -4,7 +4,7 @@ * Richard Woodruff <[EMAIL PROTECTED]> * Kshitij Gupta <[EMAIL PROTECTED]> * - * Configuration settings for the 242x TI H4 board. + * Configuration settings for the phyCORE i.MX31 board. * * See file CREDITS for list of people who contributed to this * project. - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Re: [U-Boot-Users] [GIT PULL] Please pull u-boot-arm
> I would expect, that the state of the current repository represents > what we get after applying Sascha's and Guennadi's patches (in the > correct versions and order). Howver, the current tree looks totally > different to me. There are some vital differences between the current git trees (both the ARM tree and the main tree) and the tree one gets after applying the patches manually (from the posts here on the list). I had to make some changes in order to get the litekit to work with the git source, it seems like the phycore is also affected but I don't have such a board to test on. The following changes to the current git will put the files into the same state as in the patches posted on the list. At the moment I'm using gmail to post this so the diff below may be garbled, I can re-post tonight using another mailer if necessary. Regards, Magnus Lilja board/imx31_litekit/Makefile|2 ++ board/imx31_litekit/lowlevel_init.S |5 + board/imx31_phycore/Makefile|2 ++ board/imx31_phycore/lowlevel_init.S |3 +++ 4 files changed, 12 insertions(+), 0 deletions(-) diff --git a/board/imx31_litekit/Makefile b/board/imx31_litekit/Makefile index aaaec69..76ed1ad 100644 --- a/board/imx31_litekit/Makefile +++ b/board/imx31_litekit/Makefile @@ -48,3 +48,5 @@ distclean:clean include $(SRCTREE)/rules.mk sinclude $(obj).depend + +# diff --git a/board/imx31_litekit/lowlevel_init.S b/board/imx31_litekit/lowlevel_init.S index 74d6067..c778e88 100644 --- a/board/imx31_litekit/lowlevel_init.S +++ b/board/imx31_litekit/lowlevel_init.S @@ -101,3 +101,8 @@ lowlevel_init: REG 0xB8001000, 0xb210 REG80x8033, 0xda REG80x8100, 0xff + REG 0xB8001000, 0x82226080 + REG 0x8000, 0xDEADBEEF + REG 0xB8001010, 0x000c + + mov pc, lr diff --git a/board/imx31_phycore/Makefile b/board/imx31_phycore/Makefile index de37cca..f6c248d 100644 --- a/board/imx31_phycore/Makefile +++ b/board/imx31_phycore/Makefile @@ -47,3 +47,5 @@ distclean:clean include $(SRCTREE)/rules.mk sinclude $(obj).depend + +# diff --git a/board/imx31_phycore/lowlevel_init.S b/board/imx31_phycore/lowlevel_init.S index b0a5389..61a500e 100644 --- a/board/imx31_phycore/lowlevel_init.S +++ b/board/imx31_phycore/lowlevel_init.S @@ -103,3 +103,6 @@ lowlevel_init: REG80x8100, 0xff REG 0xB8001000, 0x82226080 REG 0x8000, 0xDEADBEEF + REG 0xB8001010, 0x000c + + mov pc, lr - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users