From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matteo Vit Date: Mon, 18 Jun 2007 18:27:34 +0200 Subject: [U-Boot-Users] SOFT_I2C on at91rm9200 In-Reply-To: <6c6c66ec0706180439h73d253fcj23e96250bc5ae49c@mail.gmail.com> References: <6c6c66ec0706180439h73d253fcj23e96250bc5ae49c@mail.gmail.com> Message-ID: <4676B276.5090600@dave.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Nils Gjerdevik ha scritto: > Hi, > I'm trying to store the u-boot environment in an EEPROM (at24c128) on > a custom at91rm9200 based board. This fails when using the included > HARD_I2C driver, and since there are known problems with the I2C > controller on this uC, I'm trying to set up SOFT_I2C instead, without > success so far... This is for the Atmel's AVR32 processor. The PIO block seems the same. Just change pio2_writel function calls. I hope this help. Matteo /* * Software (bit-bang) I2C driver configuration */ #define GPIOG_EECLK 0x80 #define GPIOG_EEDAT 0x40 #define I2C_INIT { \ pio2_writel(PIOA_BASE,PER,GPIOG_EEDAT | GPIOG_EECLK); \ pio2_writel(PIOA_BASE,OER,GPIOG_EEDAT | GPIOG_EECLK); \ pio2_writel(PIOA_BASE,IDR,GPIOG_EEDAT | GPIOG_EECLK); \ pio2_writel(PIOA_BASE,PUDR,GPIOG_EEDAT | GPIOG_EECLK); \ pio2_writel(PIOA_BASE,MDER,GPIOG_EEDAT | GPIOG_EECLK); \ pio2_writel(PIOA_BASE,OWER,GPIOG_EEDAT | GPIOG_EECLK); \ } #define I2C_ACTIVE (pio2_writel(PIOA_BASE,SODR,GPIOG_EEDAT)) #define I2C_TRISTATE (pio2_writel(PIOA_BASE,SODR,GPIOG_EEDAT)) #define I2C_READ (pio2_readl(PIOA_BASE,PDSR) & GPIOG_EEDAT ? 1 : 0) #define I2C_SDA(bit) pio2_writel(PIOA_BASE,OER,GPIOG_EEDAT); \ if (bit) pio2_writel(PIOA_BASE,SODR,GPIOG_EEDAT); \ else pio2_writel(PIOA_BASE,CODR,GPIOG_EEDAT) #define I2C_SCL(bit) pio2_writel(PIOA_BASE,OER,GPIOG_EECLK); \ if (bit) \ pio2_writel(PIOA_BASE,SODR,GPIOG_EECLK); \ else pio2_writel(PIOA_BASE,CODR,GPIOG_EECLK) #define I2C_DELAY udelay(50) /* 1/4 I2C clock duration */ #endif /* CONFIG_SOFT_I2C */ >From "abiyani at unix dot telasic dot com" at unix.telasic.com Mon Jun 18 19:20:15 2007 From: "abiyani at unix dot telasic dot com" at unix.telasic.com (Arun Biyani) Date: Mon, 18 Jun 2007 10:20:15 -0700 Subject: [U-Boot-Users] U-Boot 1.2 - Cannot run hello_world - Coldfire In-Reply-To: References: Message-ID: <200706181720.KAA21445@unix.telasic.com> Ganesh Chandra Patro wrote: > -----Original Message----- > From: u-boot-users-bounces at lists.sourceforge.net > [mailto:u-boot-users-bounces at lists.sourceforge.net]On Behalf Of Arun > Biyani > Sent: 15 June, 2007 Friday 11:00 PM > To: Wolfgang Denk > Cc: u-boot-users at lists.sourceforge.net > Subject: Re: [U-Boot-Users] U-Boot 1.2 - Cannot run hello_world - > Coldfire > > > Wolfgang Denk wrote: > >> Eventually you did not download the binary image? >> >> Best regards, >> >> Wolfgang Denk >> >> >> > This morning, I also tried to run the .bin file (hello_world.bin). > U-Boot just hung up. Current status > is, the hello_world program in the distribution (unmodified) does not > run on Coldfire based board. > I tried this on our target board as well as a CSB360 board from Cogent > Computers. I tried both > the hello_world.srec file and the hello_world.bin file. > > Any ideas as to what I can do to make simple applications run in U-Boot > on Coldfire? Has anyone > else tried this? > > Thx > > Hi Arun, > There is a specific way to run a bin file. First you have to load to a > specific memory location let's say 0x2000. You have find the entry point > address of the bin from it's symbol table and assuming the flash start > address of the bin file 0, add 0x2000 to know the entry point address of the > bin in the memory just loaded. Now say go "address" on the CLI. The program > will run. Every time you load to a different address you need to find the > actual physical address. That's why loading an ELF is easier than a bin from > CLI. The same bin or srec can be burnt and run from the flash, but running a > bin would involve this much to do be done. > > Thanks and Regards > > Ganesh Chandra Patro > SoftDel Systems Ltd > "ACROPOLIS", 2nd Floor > Marol Maroshi > Military Road > Andheri(East) > Mumbai - 400 059 > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > U-Boot-Users mailing list > U-Boot-Users at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/u-boot-users > > > > Ganesh, Thx for your response. The program "hello_world" is part of the release package. I've verified that the entry point is indeed "0x20000". So, the problem is something else. Can anyone think of what else might be the cause? I have 2-3 previous posts on the same subject. The documentation does not talk about running "elf" files. Could someone give me a basic intro? Arun