@idpromnut: can you also post details on the LCD + controller if they are on the front panel?
The LCD is not attached to the front-panel uC; looks like an LVTTL adapter is used to attach it to the S3C2416. The 2416 has a built-in TFT controller well supported by Linux already. The only custom piece appears to be the backlight driver. I'll have a closer look into this shortly as soon as I can get my JTAG boundary scan running on the 2416 to verify pins and hunt for the i2c keypad control src.
Here's the keypad info:
Hantek HDG2002B AWG Front Panel KeyPad
--------------------------------------
Components:
U26 = Custom Ti MSP430F413 series microcontroller marked LSD4F8108 (aka MSP430V111IPM)
U800 = Microchip 4L64I EEPROM 64 Kbit K x 8-bit memory with a 2-wire I2C interface
Utilizes I2C Protocol on mainboard J702 pins 7 (SDA) & 9 (SCL)
SCL = 18.568 Khz
Pin out for J702:
----- --------------------------------------------------
Pin1 Busy? @ Keypad U26 Pin 43 P5.7 (Goes active high on kepress )
Pin2
?? @ Keypad U26 Pin 51 P1.2 (seems always low)
Pin3
?? @ Keypad U26 Pin 45 P2.0 (seems always low)
Pin4 +3.3V
Pin5 +3.3V
Pin6 GND
Pin7 SDA to/from Keypad U26 Pin 50 P1.3 & U800 EEprom Pin 5
Pin8
@ Keypad U26 Pin 46 P1.7 (seems always low)
Pin9 SCL to/from Keypad U26 Pin 49 P1.4 & U800 EEprom Pin 6
Pin10 GND
----- --------------------------------------------------
Pin1 - uC Busy? Active High Asserted ~1.5 SCL (173us) Before Scan Code, remains
high ~2ms and Deasserted ~1.5 SCL before end of Scan Code. Not asserted
for Release codes. Not asserted during LED code writes to display.
Read - Key ScanCode = 0x55 + (Keycode Byte)
Read - Key ReleaseCode = Keycode & $80
Write - LED State = 0x55 + (LED bitmask Byte1) + (LED bitmask Byte2)
Notes: 1. If LCD screensaver on screen, 1st key press generates no release code;
it only serves to wake the unit. It appears the keypad enters a sleep
state, however pins 2,3,8 are not asserted to indicate this condition.
Perhaps a pre-programmed timeout is used.
2. A release code follows a keypress after ~125.7ms. Release codes do NOT
reflect the actual event of releasing a button.
3. If the uC misses a keypress event, Pin 1 will remain asserted (uC Busy)
until the next valid keypress, and the release code will not be sent.
4. The Jog Dial does not generate release codes when turned, but does when
pressed.
5. Key codes 36d, 37d & 44d are note assigned to any keys.
6. Near simultaneous keypresses will result in a rapid sequence of kepresses
125ms apart.
ScanCodes & bitmasks are attached.