L'ho aperto e mi sono segnato le sigle....il display è uguale per molti prodotti, poi ci cambiano il touch. Appena scopro ancora qualcosa vi faccio sapere. Ciao
Inviato dal mio SMARTPAD810C
Visualizzazione stampabile
L'ho aperto e mi sono segnato le sigle....il display è uguale per molti prodotti, poi ci cambiano il touch. Appena scopro ancora qualcosa vi faccio sapere. Ciao
Inviato dal mio SMARTPAD810C
Si, la struct i2c_board_info e' giusta:
#if defined (CONFIG_TOUCHSCREEN_FT5406)
{
.type = "ft5x0x_ts",
.addr = 0x38, // 0x70 shiftato a destra di 1 bit 0x38 ---
.irq = RK29_PIN0_PA2,
.platform_data = &ft5x0x_info,
},
#endif
Ma ho modificato in giro varie cose, mi sa che devo mettere su un repo git.... sempre in arch/arm/mach-rk29/board-rk29-ddr3sdk.c
#if defined (CONFIG_TOUCHSCREEN_FT5406)
static int ft5x0x_info_init_platform_hw(void)
{
printk("[ELDIAU] board-rk29-ddr3sdk.c: ft5x0x_info_init_platform_hw\n");
return 0;
}
struct ft5x0x_platform_data ft5x0x_info = {
.model= 1003,
.init_platform_hw = ft5x0x_info_init_platform_hw,
};
#endif
la struct ft5x0x_platform_data, serve a far puntare il .init_platform_hw alla funzione ft5x0x_info_init_platform_hw().
La funzione ft5x0x_info_init_platform_hw() come vedi e' solo uno "stub" ma e' necessaria per ritornare 0 (no error) e fare in modo che il kernel chiami la funzione ft5406_probe() in drivers/input/touchscreen/ft5406_ts.c
ft5406_probe() poi pero' si ferma alla primo tentativo di parlare con il FocalTech attraverso la chiamata a ft5406_set_regs(), ci prova 5 volte e riceve semrpe errore
ft5406_set_regs() non fa altro che chiamare a sua volta i2c_master_reg8_send() passandogli FT5X0X_REG_PMODE che dovrebbe settare il modo opoerativo del controller.
Il problema e' che il chip non risponde! Gli si deve mandare un comado di accensione, questo comando va inserito in ft5x0x_info_init_platform_hw() prima del return 0!
da datasheet pagina 4 : "WAKE: an interrupt signal for the host to change F5x06 from Hibernate to Active mode" questo segnale e' sul pin 46 del FocalTech, quindi, visto che viene dato come I input External interrupt from the host, deduco che prima di parlare con il dhip vada alzata questa linea ed eventualmente abbassata quando il tablet va in sleep.
Il ping 46 del FocalTech sara collegato a qualche pin GPIO dell'RK2918, ma quale??? Sono confidente che se troviamo quale pin RK e collegato al al 45 FT risolviamo....
Ciao sono arrivato a casa ora, dammi la sigla che lunedì lo dovrei riaprire e ti dico, se riesco, dove va a collegarsi il pin 46. È un pò complicato su un doppia faccia,forse tripla faccia, ma ci provo. Buona notte
Inviato dal mio SMARTPAD810C
Immagino che seguire le piste sia quasi impossibile! In piu' il RockChip ha diverse centinaia di PIN piuttosto densi, ma magari sulla linea si trova qualche sigla stampata sulla board che puo' aiutare... se riesci anche a fare qualche foto...
Tutti questi dati li ho estrapolati dai manuali e via test software:
In pratica il controller del del touch e' un FocalTech FT5406 (FT5406EE8), dovrebbe avere 5 linee che lo collegano al RK2918:
- 2 sono il bus I2C numero 2, il terzo dei 4 presenti sul rockchip PIN (o piu' precisamente BALL) B8 e D9 come da datasheet del RK2918
- 1 e' l'IRQ Output che parte dal PIN 47 dell' FT5406 e va al PIN A2 come da datasheet del RK2918
- 1 e' il RST che parte dal PIN 45 dell' FT5406 e vorrei sapere dove va sul RK2918
- 1 e' WAKE che parte dal PIN 46 dell' FT5406 questo mi interessa meno ma se trovi dove va!
Sono convinto che per "accendere" il chip devo tirare su (e mantenere su) la linea RST, infatti sul manuale dice "RST: an external low signal reset the chip", sono anche convinto che questa linea arrivi ad un pin GPIO del RockChip, ma non so quale e ce ne sono 7 gruppi da 32 = 224 !
Se ti servissero i datasheet li ho messi qui: Multiupload.com - upload your files to multiple file hosting sites!
Non è possibile testare questa cosa in maniera diversa cioè creare uno script che eseguito da terminale invii questo impulso porta per porta per studiare l'effetto?
Ciao ho trovato il nodtro tablet siglato pmp5080b della prestigio. Sembra che quello supporti l'host usb, che se non erro il nostro non fa. E sembra messo meglio a firmware. Spero di essere stato utile. Il chip del touch l'ho visto ed è installato direttamente sul flat cable del touch che se non ricordo male ha solo quattro pin che si collegano alla scheda madre. La.sigla sul cavo è 3g-25638 MCFA-080-0214-V2.0 . A me com queste sigle non ha trovato nulla, magari a voi va meglio. Oppure ho sbagliato cavo.... Fatemi sapere. Comunque domani ricontrollo.
Inviato dal mio SMARTPAD810C
Ciao eldiau...
Ma se si riesce a compilare sto benedetto kernel... si può mettere anche la funzione per smontare le chiavette usb vero?
facendo un grep sul tablet con firmware funzionante si fa riferimento a /drivers/videork29_backlight/backlight/rk29_backlight.c con le specifiche rk29_bl_suspend e rk_29_bl_resume....
E se vi interessa sapere chi ha sviluppato per la focaltech il driver in questione....
Google Traduttore