Forums » Software Development »
handover I2C bus control from ARM to DSP
Added by stephan berner over 11 years ago
Hi,
I am working with the mity L138 board, running Angstrom linux on the ARM and dspbios on the DSP. Currently, the ARM is controlling the I2C bus, using the built in I2C driver. I want the DSP to control the I2C bus, the ARM should not touch any I2C register. I recompiled the kernel with the I2C driver disabled. However, the ARM is still modifying the I2C registers. A side effect of this change is that the directory, /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed, does not exist anymore.
Which other modules may acces the I2C bus other than the I2C driver ? I see in the block diagram that there is a I2C flash with factory configuration data. Is this accurate ? Which module drives this ?
What has the I2C bus to do with this directory, /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed ?
SB
Replies (1)
RE: handover I2C bus control from ARM to DSP - Added by Michael Williamson over 11 years ago
The I2C0 bus (I believe), according to the datasheet, controls both the factory configuration data as well as a Power Management IC (PMIC).
The PMIC is used by the kernel to adjust the core voltage from 1.2 V to 1.3 V in order to support changing to the 456 MHz OPP.
If you remove the I2C devices / control from the kernel, then the cpufreq sysfs control for frequency is removed because the controller cannot find the appropriate control for the core voltage to allow a safe change from the default 300 MHz (as the default PMIC core frequency output is 1.2 V).
If the DSP does not require extremely low latency access (e.g., 1-2 ms delay is OK), then I would suggest having it pass requested commands to the ARM via DSPLINK and let the ARM drive the values to your I2C bus via a simple proxy routine using i2cdev or something similar. Or... pick a different I2C bus (the OMAP-L138 has 2). Alternatively, if you are savvy with kernel code, you could issue the command to switch to 1.3 V manually and remove the dependency of the OPP logic to the voltage regulator.
Hope this helps.
-Mike