2009-08-24 3 views
6

Sto provando ad installare un driver per una scheda PowerPC incorporata, e il modo corretto per farlo oggi è usare la struttura dei dati Tree Device OpenFirmware (il file .dtb, compilato da un .dts file). Creare un albero è abbastanza semplice, ma come faccio a ottenere il mio driver di dispositivo per trovare il suo nodo e i dati al suo interno? Non sono riuscito a trovare alcun riferimento valido su questo argomento, e libri come "Linux Device Drivers" sono troppo in x86 land per essere di grande aiuto per i device tree che riguardano principalmente le macchine basate su Power Architecture (arch powerpc nel kernel di Linux terminologia).Panoramica/manuale di riferimento per gli alberi di dispositivi Open Firmware

risposta

4

Sembra che ci sia molta poca documentazione disponibile, specialmente dal lato dei driver. ho parlato con uno sviluppatore di kernel Linux di lunga data che conosco, e il suo consiglio era essenzialmente quello di guardare il codice degli altri driver.

alcuni valori di fondo che ho trovato: Grant Likely presentation, Grant Likely Linux Symposium paper, a fairly good overview of the data structure

L'uso più diffuso del sistema firmware aperto è trovato nei driver fsl_x.c Freescale nel l'arco/PowerPC/albero nel kernel di Linux, più recente 2.6.16.

+1

Dal momento che questa domanda è stata posta nel 2009, esiste una documentazione nel [collegamento ad albero del dispositivo Linux] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings). Sfortunatamente, qualcuno ha simulato tutti chiamando header/source con ** di **. Vedi: [of.h] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/of.h) (con più in linux/di * .h) e [drivers/di] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/of). –

Problemi correlati