Reverse engineering Blackberry Passport Keyboard pinout part 4

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 :

Taken from forked repo :

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.

general spec
Absolute Max, Note the Touch analog power supply and Touch digital power supply.
Analog voltage works at 3v3, but IO work at 1v8
Power consumption!
I2C spec too!
Timing params too!
Plus, Power sequence for the IC too!!!

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!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s