Skip to content

I2C usage conflicts on DE10-Nano #1852

@dlech

Description

@dlech

Not an urgent issue or anything, but I've been using the DE10-Nano for development recently with Linux and noticed that some of the Linux drivers were failing to probe. In particular there is a ADXL345 accelerometer (DE10-Nano manual calls this the "G-sensor") that is expected to be on I2C0. However, we are using I2C0 for the HDMI. Example:

ALT_IOBUF scl_video_iobuf (
.i(1'b0),
.oe(i2c0_out_clk),
.o(i2c0_scl_in_clk),
.io(hdmi_i2c_scl));
ALT_IOBUF sda_video_iobuf (
.i(1'b0),
.oe(i2c0_out_data),
.o(i2c0_sda),
.io(hdmi_i2c_sda));

This conflicts with the devicetree in the mainline kernel which has the accelerometer on the I2C0 bus (following what the DE10-Nano manual says).

Image

Similarly, the DE10-Nano expects the I2C1 bus to be used for the LTS connector while we are using it for the Arduino connector/EEPROM on eval boards.

Image

We don't really need this for anything in particular, but it would still be nice if we could move the HDMI to I2C2 and the EEPROM to I2C3 and then at least enable the pins for the accelerometer on I2C0 (along with a gpio for the interrupt) so that it just worked out of the box. The DE10-Nano manual doesn't mention I2C2 or I2C3, so I assume those would be free for other use.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions