i2c still not working for me

Emmanuel Vadot manu at bidouilliste.com
Tue Apr 9 07:58:29 UTC 2019


On Tue, 9 Apr 2019 10:50:22 +0300
Daniel Braniss <danny at cs.huji.ac.il> wrote:

> Hi,
> after the latest changes to i2c there is a small improvement,
> i2c -s finds the device but complains:
> 
> root at neo-14:~ # i2c -s
> Hardware may not support START/STOP scanning; trying less-reliable read method.
> Scanning I2C devices on /dev/iic0: 24
> 
> but nothing else works.
> 
> I?ll try and connect my saleae signal analyzer later, but  in the meantime this is what I get
> on the console:
> [?]
> iichb0: twsi_control_clear: read val=58
> iichb0: twsi_control_clear: write val=40
> iichb0: TWSI_WRITE: Writing 40 to c
> iichb0: twsi_start: twsi_start: slave=48
> iichb0: twsi_locked_start: send start
> iichb0: TWSI_READ: read 58 from c
> iichb0: twsi_control_set: read val=58
> iichb0: twsi_control_set: write val=68
> iichb0: TWSI_WRITE: Writing 68 to c
> iichb0: twsi_poll_ctrl: Waiting for ctrl r.
> eg to match mask 8
> iichb0: TWSI_READ: read 48 from c
> gic0: iichb0: Spurious interrupt detected: last irq: 32 on CPU1
> twsi_poll_ctrl: done
> gic0: iichb0: Spurious interrupt detected: last irq: 32 on CPU1
> TWSI_READ: read 8 from 10
> iichb0: twsi_locked_start: status=8
> iichb0: TWSI_WRITE: Writing 48 to 8
> gic0: Spurious interrupt detected: last irq: 32 on CPU1
> iichb0: TWSI_READ: read 48 from c
> gic0: iichb0: Spurious interrupt detected: last irq: 32 on CPU1
> twsi_control_clear: read val=48
> gic0: iichb0: Spurious interrupt detected: last irq: 32 on CPU1
> twsi_control_clear: write val=40
> gic0: iichb0: Spurious interrupt detected: last irq: 32 on CPU1
> TWSI_WRITE: Writing 40 to c
> gic0: Spurious interrupt detected: last irq: 32 on CPU1
> iichb0: twsi_poll_ctrl: Waiting for ctrl reg to match mask 8
> gic0: iichb0: Spurious interrupt detected: last irq: 32 on CPU1
> TWSI_READ: read 48 from c
> iichb0: twsi_poll_ctrl: done
> iichb0: TWSI_READ: read 8 from 10
> iichb0: twsi_locked_start: no ACK (status: 08) after sending slave address
> gic0: iichb0: Spurious interrupt detected: last irq: 32 on CPU1
> twsi_stop: twsi_stop
> [?]
> 
> BTW, the hardware is NanoPi-neo and it?s running Current 345984
> 
> thanks,
> 	danny
> 

 Based on the function names you are using directly stop/start/etc ...
 My changes were only for i2c_transfer (I2CRDWR ioctls)

-- 
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>


More information about the freebsd-arm mailing list