Do you ever imagine how a keyboard is connected to a mobil phone application processor ?
Well what the hell is 'applicaion processor' then?
Well a typical mobil phone have several main chips on it.They are typically as follows.
1. Basebasd chip.
2. Power Management IC.
3. Application Processor.
4. Other chips.
So normally mobil phones use the ARM ( advanced risc machine ) processor. Application processor
does integrate a DSP + ARM processor. A Typical example is this.
On that application processor that I shown above is directly does use GPIO for it's keypad. Because most
probablly it does contains a touch screen and very little number of buttons on it. But in mobil phone
which does not have that touch pad feature will have lots of buttons around 20-30. In such a case
it could also be implemented as a I2C device. See the same processor support other devices using
Such a I2C keyboard controller is TCA8418R device. Another reason why it does can't implement such a
large keypad as GPIO is that it does contains ESD (electrostatic discharge) issues. Were a application processor
is very sensitive to ESD's.Even in many mobil phone designs you could see that ESD protection is implemented in between SIM module and the baseband chip.
And the bad thing about this chip is , it's a BGA[ball grid array chip]. But the good thing is since it's implemented
on I2C interface, it's easy to hack even using ardino.
Neo Open Phone hardware implementation:
http://projects.goldelico.com/p/gta04-m ... mplete.pdf
[In anytime you need to review the design].