> Why don't you use the gpio function?
Well, I tried to use them but that lead to same result.

> > +
> void at91sam9260_i2c_init(void)
> {
>       at91_set_GPIO_periph(AT91_PIN_PA23, 0);
>       at91_set_multi_drive(AT91_PIN_PA23, 1);
> 
>       at91_set_A_periph(AT91_PIN_PA24, 0);
Why?

>       at91_set_multi_drive(AT91_PIN_PA24, 1);
> }
> 
> void at91sam9260_i2c_scl(unsigned long bit)
> {
>       at91_set_gpio_value(AT91_PIN_PA24, bit);
> }
> 
> void at91sam9260_i2c_sda(unsigned long bit)
> {
>       at91_set_gpio_value(AT91_PIN_PA23, bit)
> }
> int at91sam9260_i2c_read(void)
> {
>       retrun at91_get_gpio_value(AT91_PIN_PA23);
> }
> void at91sam9260_i2c_active()
> {
>       gpio_direction_output(AT91_PIN_PA23, 0);
> }
> 
> void at91sam9260_i2c_tristate()
> {
>       gpio_direction_input(AT91_PIN_PA23);
> }
Thanks a lot for your help, but this did not work either.
iprobe returns full 0x0 - 0x7f range as devices.
Linux i2c-gpio works properly and returns proper set of devices (0x68,
0x50). Is it me or there's bug somewhere?
I can see output values with oscilloscope. I wonder what happens.

> 
> I sync it will be better to use the hardware stack which is not too
> complicate to implement

As commented in Linux kernel about i2c_at91, it is very buggy,
and I was afraid that it could not work for me at all. i2c-gpio works
in Linux. What prevents soft i2c from working ont the same CPU?
This stuff is a mystery for me :(


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to