[UP2] How to select I2C speed mode ?

hgeminihgemini New Member Posts: 17
edited October 2019 in UP Squared Linux


I am using UP2 with Ubuntu 16.04 and want to utilize I2C.
Default speed seems to be 400kHz and want to select standard mode.

I tried to find the menu for selecting I2C speed in BIOS, but cannot find.

BIOS version is UPA1AM40.

Could you please let us know how to change I2C speed ?

Best regards



  • hgeminihgemini New Member Posts: 17

    I have updated BIOS to 4.6 (seems to be the latest) and found no selecting I2C speed yet.

  • mdostiemdostie New Member Posts: 4
    edited October 2019

    Similar situation in my case. I found the settings in the BIOS menu and selected the 100 kHz speed. However this value seems to be overwritten by the OS (Ubuntu Server 18.04 with Up Kernel 4.15.0-37-generic) during the booting. As soon as I send something to the I2C pin (27, 28), the clock frequency is close to 380 kHz, whether it is echoing something to /dev/i2c-4 or running a Python script with the smbus2 package. Next step for me is to modify the I2C driver code inside the kernel source code and to build it afterwards. Any idea?

  • Dan O'DonovanDan O'Donovan Administrator, Moderator, Emutex Posts: 241 admin

    Hi @hgemini , @mdostie

    We're investigating this issue now. I'll post back here as soon as I have an answer. Thanks for your patience.


  • mlkcampionmlkcampion New Member, Moderator, Emutex Posts: 1 admin

    Hi @hgemini , @mdostie

    We have tested the I2C speeds on UP Squared with

    BIOS version UPA1AM40 and
    BIOS version UPA1AM46

    on Ubuntu 18.04, kernel version 4.15.0-37-generic

    We can confirm that speeds selected in the BIOS are correctly applied.

    We have added a guide to the UP Wiki to provide the steps for changing the I2C speed on UP Squared, please check the following link:


    Hope this helps!

    Mike @ Emutex

Sign In or Register to comment.