2009-08-24 12 views
6

Estoy intentando configurar un controlador para una placa PowerPC integrada, y la forma correcta de hacerlo hoy es utilizar la estructura de datos OpenFirmware Device Tree (el archivo .dtb, compilado desde archivo .dts). Crear un árbol es bastante fácil, pero ¿cómo hago para que el controlador de mi dispositivo encuentre su nodo y los datos en él? No he logrado encontrar ninguna buena referencia sobre esto, y libros como "Controladores de dispositivo Linux" están demasiado en x86 para ser de mucha ayuda para árboles de dispositivos que pertenecen principalmente a máquinas basadas en Arquitectura de energía (arch powerpc en el kernel de Linux) terminología).Resumen/manual de referencia para Open Firmware Device Trees

Respuesta

4

Parece que hay muy poca documentación disponible, especialmente por parte de los conductores. hablé con un desarrollador de Kernel de Linux desde hace mucho tiempo, lo sé, y su consejo fue esencialmente mirar el código de otros controladores.

alguna lectura de referencia que he encontrado: Grant Likely presentation, Grant Likely Linux Symposium paper, a fairly good overview of the data structure

El uso más generalizado del firmware del sistema abierto se encuentra en los conductores fsl_x.c Freescale en el arco/PowerPC/árbol en el núcleo de Linux, más reciente que 2.6.16.

+1

Dado que esta pregunta se realizó en 2009, hay documentación en [enlaces del árbol del dispositivo Linux] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation)/devicetree/bindings) directorios. Lamentablemente, alguien ha falsificado a todos llamando al encabezado/fuente con ** de **. Ver: [of.h] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/of.h) (con más en linux/of * .h) y [drivers/of] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/of). –

Cuestiones relacionadas