Menggunakan Beberapa DT

Banyak vendor SoC dan ODM mendukung penggunaan beberapa DT pada perangkat, memungkinkan satu gambar untuk memberi daya pada beberapa SKU/konfigurasi. Dalam kasus seperti itu, bootloader mengidentifikasi perangkat keras dan memuat DT yang sesuai saat runtime:

Gambar 1. Hamparan beberapa pohon perangkat di bootloader.

Catatan: Menggunakan beberapa DT tidak wajib.

Pengaturan

Untuk menambahkan dukungan untuk beberapa DT ke model DTO, siapkan daftar DT utama dan daftar DT overlay lainnya.

Gambar 2. Implementasi Runtime DTO untuk beberapa DT.

Bootloader harus dapat:

  • Baca ID SoC dan pilih pohon perangkat utama yang sesuai, dan
  • Baca ID papan dan pilih set pohon perangkat overlay yang sesuai.

Hanya satu DT utama yang harus dipilih untuk digunakan saat runtime. Beberapa DT overlay dapat dipilih tetapi harus kompatibel dengan DT utama yang dipilih. Menggunakan beberapa overlay dapat membantu menghindari penyimpanan satu overlay per board dalam partisi DTBO dan memungkinkan bootloader untuk menentukan subset overlay yang diperlukan berdasarkan ID board (atau mungkin dengan memeriksa periferal). Misalnya, Board A mungkin memerlukan perangkat yang ditambahkan oleh overlay 1, 3, dan 5 sementara Board B mungkin memerlukan perangkat yang ditambahkan oleh overlay 1, 4, dan 5.

Partisi

Untuk mempartisi, tentukan lokasi bootloader yang dapat diakses runtime dan tepercaya di memori flash untuk menyimpan DTB dan DTBO (bootloader harus dapat menemukan file-file ini dalam proses pencocokan). Perlu diingat bahwa DTB dan DTBO tidak dapat berada di partisi yang sama. Jika DTB/DTBO Anda berada di partisi dtb / dtbo , gunakan struktur tabel dan format header yang dirinci dalam Format Partisi DTB/DTBO .

Berjalan di bootloader

Untuk berlari:

  1. Identifikasi SoC dan muat .dtb yang sesuai dari penyimpanan ke dalam memori.
  2. Identifikasi papan dan muat .dtbo yang sesuai dari penyimpanan ke dalam memori.
  3. Overlay .dtb dengan .dtbo menjadi DT gabungan.
  4. Mulai kernel dengan alamat memori dari DT yang digabungkan.