-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
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:
hdl/projects/ad469x_evb/de10nano/system_top.v
Lines 197 to 207 in b0d816f
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).

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.

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.