2009-08-24 23 views
6

Próbuję skonfigurować sterownik dla osadzonej płyty PowerPC, a prawidłowym sposobem wykonania tej czynności jest dziś użycie drzewa danych OpenFirmware Tree (plik .dtb, skompilowany plik .dts). Tworzenie drzewa jest dość łatwe, ale jak mogę uzyskać sterownik urządzenia, aby znaleźć jego węzeł i dane w nim? Nie udało mi się znaleźć żadnego dobrego odniesienia na ten temat, a książki takie jak "Sterowniki urządzeń linuksowych" to zbyt wiele w krainie x86, które znacznie pomagają w drzewach urządzeń, które w większości dotyczą maszyn opartych na architekturze energetycznej (arch powerpc w jądrze Linuxa terminologia).Omówienie/instrukcja obsługi otwartych drzew sprzętowych urządzeń sprzętowych

Odpowiedz

4

Dostępna jest bardzo mała dokumentacja, zwłaszcza po stronie kierowców. rozmawiałem z wieloletnim programistą jądra Linuksa, którego znam, a jego rady dotyczyły przede wszystkim kodu innych sterowników.

niektóre tła czytanie znalazłem: Grant Likely presentation, Grant Likely Linux Symposium paper, a fairly good overview of the data structure

Najbardziej rozpowszechniony korzystanie z systemu otwartego oprogramowania znajduje się w kierowców fsl_x.c Freescale w arch/powerpc/drzewa w jądrze Linux, nowsza niż 2.6.16.

+1

Ponieważ to pytanie zostało zadane w 2009 r., Istnieje dokumentacja w [powiązaniach drzewa urządzeń Linux] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings) katalogów. Niestety ktoś sfałszował wszystkich, wywołując nagłówek/źródło z ** of **. Zobacz: [of.h] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/of.h) (z więcej w linux/of * .h) i [drivers/of] (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/of). –