[U-Boot-Users] u-boot.h/bd_t missing fields needed by Linux IBM IIC I2C Interface Driver

listmember at orkun.us listmember at orkun.us
Tue Feb 3 02:21:58 CET 2004


(sorry for multiple post, it got sent prematurely before I was finished.
Please reply to this one)

I have a port of u-boot for csb272 (based on PPC405GP) and I got linux
booting on it :)

For linux, I used "linuxppc-2.4" cvs tree (2.4.24-pre4) but I had to
change csb272.h to include <asm/ppcboot.h> instead of the bd_t definition
that was in csb272.h. I think the default csb272.h bt_t was setup to boot
Linux from Micromonitor which is default monitor program as shipped from
Cogent.

According to u-boot documentation u-boot.h board info structure is
backwards compatible with ppcboot one so it made sense for me to include
ppcboot.h (which was already there as checked out) instead of manually
copying the structure.

Now, I am trying to get I2C working on Linux. The following is from Linux
.config file:

#
# I2C support
#
CONFIG_I2C=y
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_IBM_IIC=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_PROC=y

However while compiling i2c_ibm_iic.c, the compiler gives error on some
fields missing from bt_t. Namely,

bi_iic_fast
bi_opb_busfreq

How, should I proceed? Should I add these to u-boot.ini and copy updated
u-boot.h to include/asm/ppc directory (where ppcboot.h resides) and
include u-boot.h in csb272.h instead of ppcboot.h?

Should I look into another I2C driver that does not use these fields?

Best regards,
Tolunay




More information about the U-Boot mailing list