From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 2/2] arm nomadik: add i2c
Date: Mon, 27 Jul 2009 22:22:01 +0200 [thread overview]
Message-ID: <20090727202201.C290D832E416@gemini.denx.de> (raw)
In-Reply-To: <20090727200408.GC5259@game.jcrosoft.org>
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message <20090727200408.GC5259@game.jcrosoft.org> you wrote:
>
> > @@ -110,6 +110,22 @@
> > #define CONFIG_PL01x_PORTS { (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 }
> > #define CONFIG_PL011_CLOCK 48000000
> >
> > +/* i2c, for the port extenders (uses gpio.c in board directory) */
> > +#ifndef __ASSEMBLY__
> > +#include <asm/arch/gpio.h>
> I really do not like to include file from the config
> and it will be difficult to clean up when moving to Kconfig
But this is what many other boards are doing as well:
$ grep '#[ ]*include' include/configs/* | wc -l
591
> > +#define CONFIG_CMD_I2C
> > +#define CONFIG_SOFT_I2C
> > +#define CONFIG_SYS_I2C_SPEED 400000
> > +#define __SDA 63
> > +#define __SCL 62
> > +#define I2C_SDA(x) nmk_gpio_set(__SDA, x)
> > +#define I2C_SCL(x) nmk_gpio_set(__SCL, x)
> > +#define I2C_READ (nmk_gpio_get(__SDA)!=0)
> > +#define I2C_ACTIVE nmk_gpio_dir(__SDA, 1)
> > +#define I2C_TRISTATE nmk_gpio_dir(__SDA, 0)
> > +#define I2C_DELAY (udelay(2))
> it will better to define a couple of generic function where we implement it
> as this
But that's how the CONFIG_SOFT_I2C interface is currently designed and
used by all other boards, too.
See for example here:
$ grep I2C_ include/configs/TQM885D.h
#define CONFIG_SYS_I2C_SPEED 93000 /* 93 kHz is supposed to work */
#define CONFIG_SYS_I2C_SLAVE 0xFE
#define I2C_INIT (immr->im_cpm.cp_pbdir |= PB_SCL)
#define I2C_ACTIVE (immr->im_cpm.cp_pbdir |= PB_SDA)
#define I2C_TRISTATE (immr->im_cpm.cp_pbdir &= ~PB_SDA)
#define I2C_READ ((immr->im_cpm.cp_pbdat & PB_SDA) != 0)
#define I2C_SDA(bit) if(bit) immr->im_cpm.cp_pbdat |= PB_SDA; \
#define I2C_SCL(bit) if(bit) immr->im_cpm.cp_pbdat |= PB_SCL; \
#define I2C_DELAY udelay(2) /* 1/4 I2C clock duration */
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM AT24C?? */
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 /* two byte address */
# define CONFIG_SYS_I2C_RTC_ADDR 0x68
We should not attempt to change the design of the soft-I2C driver at
this point in a release cycle.
If you care about these things, you should have posted such comments
when Heiko asked for comments more than 4 months ago, see
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/56416
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If a train station is a place where a train stops,
then what's a workstation?
next prev parent reply other threads:[~2009-07-27 20:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <0e975ff141a9923b58859fad00cf3df664f2fe04.1248427487.git.rubini@unipv.it>
2009-07-28 9:41 ` [U-Boot] [PATCH v2 1/2] arm nomadik: add gpio support Jean-Christophe PLAGNIOL-VILLARD
2009-07-28 10:37 ` Heiko Schocher
[not found] ` <0b10781c46b757737db8ff5e49c2b8b745c9f269.1248427487.git.rubini@unipv.it>
2009-07-27 9:45 ` [U-Boot] [PATCH v2 2/2] arm nomadik: add i2c Heiko Schocher
2009-07-27 20:04 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-27 20:22 ` Wolfgang Denk [this message]
2009-07-28 7:51 ` Heiko Schocher
2009-07-28 9:24 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-28 9:41 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-28 10:26 ` Heiko Schocher
2009-07-28 10:37 ` Heiko Schocher
2009-07-24 9:27 [U-Boot] [PATCH v2 1/2] arm nomadik: add gpio support Alessandro Rubini
[not found] ` <0e975ff141a9923b58859fad00cf3df664f2fe04.1248427487.git.rubini @unipv.it>
2009-07-24 9:27 ` [U-Boot] [PATCH v2 2/2] arm nomadik: add i2c Alessandro Rubini
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=20090727202201.C290D832E416@gemini.denx.de \
--to=wd@denx.de \
--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