I have some time left before I go back to Bangkok (Uni). I already updated part 3 for the LED backlight pinout. Now it’s time for the Synaptics S3501B touch controller. Spoiler alert, No pinot yet but it’s couple steps closer!
I spend 2 days trying to guess which device on the market use Synaptics touch controller. It turned out that some Lenovo tablet, Oppo smartphone, Vivo smartphone and much more devices use Synaptics S3203, S3320, S3508, S7040, S7300, S7301 and S7340 chip. Which they are either DS4 or DS5 variant :
And I found several drivers for these Synaptics ICs over GitHub.
After I have a deeper look at Lenovo B6000 and OP6 kernel device tree. It’s obvious that the Synaptics touch controller IC requires 2v8 (2.8 volt) analog stuffs voltage and 1v8 (1.8 volt) IO voltage (I2C, Reset, Interrupt pin). But according to H546DLB01.1 datasheet from panoxdisplay (mirror to my own cloud). It happened to use Synaptics S3508 IC. And in the datasheet they have absolute maximum and typical operating voltage, plus i2c address 0x20.
Since the S3501B and S3508 are from same family. I can assume that the electrical params are shared between them.
My plan is to buy some 3v3 and 1v8 LDOs for this test. And probably use STM8L to scan I2C address. Hopefully I be able to figure out the pinout of the Synaptics S3501B.
I yet to buy the LDOs and I’m between moving to new place. Before I can update new shipment address. I’ll try digging deeper into the driver and will try to port it to STM8 STM32 or what ever. Just try to cut down the unnecessary part of the code.
Until then, please stay tuned!