* [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c
2009-09-24 16:35 ` [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c Tom Rix
@ 2009-09-26 5:54 ` Dirk Behme
2009-09-28 5:27 ` Heiko Schocher
2009-09-29 6:19 ` Dirk Behme
2 siblings, 0 replies; 8+ messages in thread
From: Dirk Behme @ 2009-09-26 5:54 UTC (permalink / raw)
To: u-boot
Tom Rix wrote:
> This changes fixes an early i2c error.
>
> 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@windriver.com>
Acked-by: Dirk Behme <dirk.behme@googlemail.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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c
2009-09-24 16:35 ` [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c Tom Rix
2009-09-26 5:54 ` Dirk Behme
@ 2009-09-28 5:27 ` Heiko Schocher
2009-09-28 5:53 ` Dirk Behme
2009-09-29 6:19 ` Dirk Behme
2 siblings, 1 reply; 8+ messages in thread
From: Heiko Schocher @ 2009-09-28 5:27 UTC (permalink / raw)
To: u-boot
Hello Tom,
Tom Rix wrote:
> This changes fixes an early i2c error.
>
> 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@windriver.com>
> ---
Patch does not apply:
$ git am --whitespace=strip ../patches/20090928/\[U-Boot\]\ \[PATCH\ 1_1\]\ TI\ OMAP3\ Use\ arm\ init\ sequence\ to\ initialize\ i2c.eml
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.
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".
$
please fix
thanks
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c
2009-09-28 5:27 ` Heiko Schocher
@ 2009-09-28 5:53 ` Dirk Behme
2009-09-28 5:46 ` Heiko Schocher
0 siblings, 1 reply; 8+ messages in thread
From: Dirk Behme @ 2009-09-28 5:53 UTC (permalink / raw)
To: u-boot
Hi Heiko,
Heiko Schocher wrote:
> Hello Tom,
>
> Tom Rix wrote:
>> This changes fixes an early i2c error.
>>
>> 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@windriver.com>
>> ---
>
> Patch does not apply:
It seems that it applies to u-boot-ti. Is it ok to move it through
u-boot-ti into mainline?
Best regards
Dirk
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c
2009-09-28 5:53 ` Dirk Behme
@ 2009-09-28 5:46 ` Heiko Schocher
0 siblings, 0 replies; 8+ messages in thread
From: Heiko Schocher @ 2009-09-28 5:46 UTC (permalink / raw)
To: u-boot
Hello Dirk,
Dirk Behme wrote:
> Heiko Schocher wrote:
>> Hello Tom,
>>
>> Tom Rix wrote:
>>> This changes fixes an early i2c error.
>>>
>>> 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@windriver.com>
>>> ---
>>
>> Patch does not apply:
>
> It seems that it applies to u-boot-ti. Is it ok to move it through
> u-boot-ti into mainline?
This is okay for me, so I just make:
Acked-by: Heiko Schocher<hs@denx.de>
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c
2009-09-24 16:35 ` [U-Boot] [PATCH 1/1] TI OMAP3 Use arm init sequence to initialize i2c Tom Rix
2009-09-26 5:54 ` Dirk Behme
2009-09-28 5:27 ` Heiko Schocher
@ 2009-09-29 6:19 ` Dirk Behme
2009-09-29 12:49 ` Tom
2 siblings, 1 reply; 8+ messages in thread
From: Dirk Behme @ 2009-09-29 6:19 UTC (permalink / raw)
To: u-boot
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@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
^ permalink raw reply [flat|nested] 8+ messages in thread