[U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c
Dirk Behme
dirk.behme at googlemail.com
Tue Sep 29 08:19:09 CEST 2009
Tom,
Tom Rix wrote:
> This changes fixes an early i2c error.
Do you like to update this against recent u-boot-ti?
It applies fine using quilt
-- cut --
> quilt push
Applying patch patches/i2c_fix.txt
patching file include/configs/devkit8000.h
patching file include/configs/omap3_beagle.h
patching file include/configs/omap3_evm.h
patching file include/configs/omap3_overo.h
Hunk #1 succeeded at 109 with fuzz 1 (offset -5 lines).
patching file include/configs/omap3_pandora.h
patching file include/configs/omap3_zoom1.h
patching file include/configs/omap3_zoom2.h
Now at patch patches/i2c_fix.txt
-- cut --
but 'git am' fails
-- cut --
> git am patches/i2c_fix.txt
Applying: TI OMAP3 Use arm init sequence to initialize i2c
error: patch failed: include/configs/omap3_overo.h:114
error: include/configs/omap3_overo.h: patch does not apply
Patch failed at 0001.
-- cut --
Something like 'quilt refresh' and then 'git am' helps :)
Strange, not sure why quilt can resolve this, but git not. I haven't
found any option for git am to behave like quilt :(
Best regards
Dirk
> It appears that I2C is working because once a read or write
> error is detected, the omap24xx_i2c driver calls i2c_init
> inside its error handling check.
>
> While it is ok to attempt error handling this way, the boards
> must not depend on this side effect to initialize it's i2c.
>
> Instead of explicitly calling i2c_init for every board, use
> the generic arm initialization in lib_arm/board.c. By defining
> the config variable CONFIG_HARD_I2C, the omap3 i2c initialization
> is included in the init_sequence table.
>
> Run tested on Beagle.
> Compile tested on the omap3's
>
> Signed-off-by: Tom Rix <Tom.Rix at windriver.com>
> ---
> include/configs/devkit8000.h | 1 +
> include/configs/omap3_beagle.h | 1 +
> include/configs/omap3_evm.h | 1 +
> include/configs/omap3_overo.h | 1 +
> include/configs/omap3_pandora.h | 1 +
> include/configs/omap3_zoom1.h | 1 +
> include/configs/omap3_zoom2.h | 1 +
> 7 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
> index cd40da6..a8ac786 100644
> --- a/include/configs/devkit8000.h
> +++ b/include/configs/devkit8000.h
> @@ -98,6 +98,7 @@
> #define CONFIG_DOS_PARTITION 1
>
> /* I2C */
> +#define CONFIG_HARD_I2C 1
> #define CONFIG_SYS_I2C_SPEED 100000
> #define CONFIG_SYS_I2C_SLAVE 1
> #define CONFIG_SYS_I2C_BUS 0
> diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
> index 61629f8..55eeb94 100644
> --- a/include/configs/omap3_beagle.h
> +++ b/include/configs/omap3_beagle.h
> @@ -123,6 +123,7 @@
> #undef CONFIG_CMD_NFS /* NFS support */
>
> #define CONFIG_SYS_NO_FLASH
> +#define CONFIG_HARD_I2C 1
> #define CONFIG_SYS_I2C_SPEED 100000
> #define CONFIG_SYS_I2C_SLAVE 1
> #define CONFIG_SYS_I2C_BUS 0
> diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
> index 9f0f34b..72e9626 100644
> --- a/include/configs/omap3_evm.h
> +++ b/include/configs/omap3_evm.h
> @@ -121,6 +121,7 @@
> #undef CONFIG_CMD_IMLS /* List all found images */
>
> #define CONFIG_SYS_NO_FLASH
> +#define CONFIG_HARD_I2C 1
> #define CONFIG_SYS_I2C_SPEED 100000
> #define CONFIG_SYS_I2C_SLAVE 1
> #define CONFIG_SYS_I2C_BUS 0
> diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
> index 6616b55..c4fd696 100644
> --- a/include/configs/omap3_overo.h
> +++ b/include/configs/omap3_overo.h
> @@ -114,6 +114,7 @@
>
>
> #define CONFIG_SYS_NO_FLASH
> +#define CONFIG_HARD_I2C 1
> #define CONFIG_SYS_I2C_SPEED 100000
> #define CONFIG_SYS_I2C_SLAVE 1
> #define CONFIG_SYS_I2C_BUS 0
> diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
> index 1cfd7e9..064c0bc 100644
> --- a/include/configs/omap3_pandora.h
> +++ b/include/configs/omap3_pandora.h
> @@ -112,6 +112,7 @@
> #undef CONFIG_CMD_NFS /* NFS support */
>
> #define CONFIG_SYS_NO_FLASH
> +#define CONFIG_HARD_I2C 1
> #define CONFIG_SYS_I2C_SPEED 100000
> #define CONFIG_SYS_I2C_SLAVE 1
> #define CONFIG_SYS_I2C_BUS 0
> diff --git a/include/configs/omap3_zoom1.h b/include/configs/omap3_zoom1.h
> index 61a41e7..b55b8f0 100644
> --- a/include/configs/omap3_zoom1.h
> +++ b/include/configs/omap3_zoom1.h
> @@ -119,6 +119,7 @@
> #undef CONFIG_CMD_NFS /* NFS support */
>
> #define CONFIG_SYS_NO_FLASH
> +#define CONFIG_HARD_I2C 1
> #define CONFIG_SYS_I2C_SPEED 100000
> #define CONFIG_SYS_I2C_SLAVE 1
> #define CONFIG_SYS_I2C_BUS 0
> diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
> index 03f92f5..75ab980 100644
> --- a/include/configs/omap3_zoom2.h
> +++ b/include/configs/omap3_zoom2.h
> @@ -140,6 +140,7 @@
> #undef CONFIG_CMD_NFS /* NFS support */
>
> #define CONFIG_SYS_NO_FLASH
> +#define CONFIG_HARD_I2C 1
> #define CONFIG_SYS_I2C_SPEED 100000
> #define CONFIG_SYS_I2C_SLAVE 1
> #define CONFIG_SYS_I2C_BUS 0
More information about the U-Boot
mailing list