[U-Boot] [PATCH v2 2/3] Reset interrupted i2c slaves (galaxy5200)
Heiko Schocher
hs at denx.de
Wed Aug 26 08:57:46 CEST 2009
Hello Eric,
Eric Millbrandt wrote:
> Reset any i2c devices that may have been interrupted by a system reset.
> Normally this would be accomplished by clocking the line until SCL and SDA
> are released and then sending a start condtiion (From an Atmel datasheet).
> But since there is only write access to these lines on the MPC5200 we can
> only attempt to reset any slave devices by sending more start commands than
> bits the slave is attempting to transmit.
>
> Signed-off-by: Eric Millbrandt <emillbrandt at dekaresearch.com>
> ---
>
> Changes since v1:
> - Remove non-related modifications to a different patch per Peter's suggestion
one common comment:
Can you please use in_*/out_* accessors for accessing mpc52xx registers.
>
> board/galaxy5200/galaxy5200.c | 41 +++++++++++++++++++++++++++++++++++++++++
> include/configs/galaxy5200.h | 1 +
> 2 files changed, 42 insertions(+), 0 deletions(-)
>
> diff --git a/board/galaxy5200/galaxy5200.c b/board/galaxy5200/galaxy5200.c
> index 5aa9d3a..c38e7de 100644
> --- a/board/galaxy5200/galaxy5200.c
> +++ b/board/galaxy5200/galaxy5200.c
> @@ -155,6 +155,47 @@ phys_size_t initdram(int board_type)
> return dramsize + dramsize2;
> }
>
> +/*
> + * Reset any i2c devices that may have been interrupted by a system reset.
> + * Normally this would be accomplished by clocking the line until SCL and SDA
> + * are released and then sending a start condtiion (From an Atmel datasheet).
> + * But since there is only write access to these lines on the MPC5200 we can
> + * only attempt to reset any slave devices by sending more start commands than
> + * bits the slave is attempting to transmit.
> + */
> +int misc_init_f(void)
Hmm.. why in misc_init_f? Can you move this function to the mpc52xx i2c
driver, and add this in a manner like the send_reset() function
in drivers/i2c/soft_i2c.c? And call this send_reset() in the
i2c_init() from the mpc52xx i2c driver. As I don;t know, if this
is valid for all mpc52xx boards, it should be then also per
CONFIG_SYS_* define selectable.
thanks.
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list