public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Matteo Vit <matteo.vit@dave.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] SOFT_I2C on at91rm9200
Date: Mon, 18 Jun 2007 18:27:34 +0200	[thread overview]
Message-ID: <4676B276.5090600@dave.eu> (raw)
In-Reply-To: <6c6c66ec0706180439h73d253fcj23e96250bc5ae49c@mail.gmail.com>

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: <IDEBKKLJFJMDCLNCEJPHGEGNCBAA.ganesh.patro@softdel.com>
References: <IDEBKKLJFJMDCLNCEJPHGEGNCBAA.ganesh.patro@softdel.com>
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

      parent reply	other threads:[~2007-06-18 16:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-18 11:39 [U-Boot-Users] SOFT_I2C on at91rm9200 Nils Gjerdevik
2007-06-18 11:59 ` Joakim Tjernlund
2007-06-18 13:51   ` Nils N. Gjerdevik
2007-06-18 14:02     ` Joakim Tjernlund
2007-06-18 16:27 ` Matteo Vit [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4676B276.5090600@dave.eu \
    --to=matteo.vit@dave.eu \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox