[Letux-kernel] Device Tree and Pinmux
H. Nikolaus Schaller
hns at goldelico.com
Fri Sep 23 17:03:19 CEST 2016
let me summarize a little what I have done this week.
Firstly, I merged letux-4.8-rc7. It is running quite stable on all systems now.
And it is coming close to feature completeness like the 3.12-kernel for GTA04 devices, but we are still not there. Missing big parts for the GTA04 are special audio functions (e.g. hardware routing, FM radio, Bluetooth audio), camera and the GPU driver.
Next I worked on the FM receiver (Si4721) for the GTA04. With fixing the pinmux for the McBSP1 where it is connected to I was able to get some signs of activity. At least it responds on I2C now, although writing seems to fail and hang up the i2c driver.
While working on this I recognised a pinmux issue where our DT is wrong if we want to set bitfields of a DEVCONF register.
We also do that for the VENC ACBIAS setting (TV-Output) and there is also an error message.
I finally managed to understand what is going wrong (with a hint from Tony how to find a comparable DTS). The problem is that the bit mask used to set bitfields is not described properly and the example seems to be wrong.
With this fix I can read back DEVCONF2 and it has the right setting for McBSP1 now (at least the same pattern as with the 3.12 kernel). But for DEVCONF1 it does not work. Maybe there is some syscon driver which interferes. This still needs analysis.
And the last thing I did today was to simplify the touch screen driver patches and use the latest touchscreen device tree helper functions which do all decoding of standard properties and now handle swapping and inversion, so that only our min/max scheme for ADC values remains.
After testing on GTA04 (tsc2007) and OpenPandora (tsc2046) I have posted this patch set.
Monday will either bring 4.8-rc8 or 4.8.0. Let's see :)
One thing I tested a little earlier is the camera. The driver is properly probed and power is temporarily applied where the code would write camera chip settings (but they are still disabled). The camera is properly powered on and off for these steps, but if I try to play a video by ./camera-demo the power does no longer go on.
This means something is missing in the power signalling from OMAP3-ISP to the Camera submodule.
If someone of you has spare time, please feel free to dig into these topics.
More information about the Letux-kernel