2009-08-24 2 views
6

Я пытаюсь настроить драйвер для встроенной платы PowerPC, и правильный способ сделать это сегодня - использовать структуру данных OpenFirmware Device Tree (файл .dtb, скомпилированный из .dts). Создание дерева довольно просто, но как я могу заставить свой драйвер устройства найти его узел и данные в нем? Мне не удалось найти хороших ссылок на это, и такие книги, как «Драйверы устройств Linux», слишком велики для земли x86, чтобы иметь большую помощь для деревьев устройств, которые в основном относятся к компьютерам с архитектурой Power Architecture (arch powerpc в ядре Linux терминология).Обзор/справочное руководство по Open Firmware Device Trees

ответ

4

Существует, по-видимому, очень мало документации, особенно на стороне водителей. говорил с давним разработчиком ядра Linux, которого я знаю, и его совет был, по сути, смотреть на код других драйверов.

некоторого фон чтения я нашел: Grant Likely presentation, Grant Likely Linux Symposium paper, a fairly good overview of the data structure

Наиболее распространенного использование открытой системы прошивки можно найти в драйверах fsl_x.c Freescale в арке// дереве PowerPC в ядре Linux, более поздний, чем 2.6.16.

+1

Поскольку в 2009 году был задан этот вопрос, в [привязке дерева устройств Linux] имеется документация (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings). К сожалению, кто-то подделал всех, вызвав заголовок/источник с ** из **. См.: [Of.h] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/of.h) (с более чем linux/of * .h) и [drivers/of] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/of). –

Смежные вопросы