Menggunakan Banyak DT

Banyak vendor SoC dan ODM mendukung penggunaan beberapa DT pada satu perangkat, memungkinkan satu image untuk mendukung beberapa SKU/konfigurasi. Dalam kasus seperti ini, bootloader mengidentifikasi perangkat keras dan memuat DT yang sesuai pada waktu proses:

Gambar 1. Beberapa pohon perangkat dihamparkan di bootloader.

Catatan: Menggunakan beberapa DT tidak wajib.

Pengaturan

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

Gambar 2. Implementasi DTO runtime untuk beberapa DT.

Bootloader harus dapat:

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

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

Partisi

Untuk mempartisi, tentukan lokasi yang dapat diakses dan dipercaya oleh runtime bootloader 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 boleh ada 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 memori.
  2. Identifikasi papan dan muat .dtbo yang sesuai dari penyimpanan ke memori.
  3. Hamparkan .dtb dengan .dtbo untuk menjadi DT gabungan.
  4. Mulai kernel dengan alamat memori DT yang digabungkan.