Menggunakan beberapa DT

Banyak vendor SoC dan ODM mendukung penggunaan beberapa hierarki perangkat (DT) di perangkat, sehingga satu image dapat mendukung beberapa SKU atau konfigurasi. Dalam kasus tersebut, bootloader akan mengidentifikasi hardware dan memuat DT yang sesuai saat runtime:

Gambar 1. Beberapa overlay hierarki perangkat (DTO) di bootloader.

Catatan: Penggunaan beberapa DT tidak wajib.

Penyiapan

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 DT utama yang sesuai.
  • Baca ID papan dan pilih kumpulan DT overlay yang sesuai.

Hanya satu DT utama yang harus dipilih untuk digunakan saat runtime. Beberapa DT overlay dapat dipilih, tetapi DT tersebut harus kompatibel dengan DT utama yang dipilih. Menggunakan beberapa overlay dapat membantu menghindari penyimpanan satu overlay per board dalam partisi DTBO dan memungkinkan bootloader menentukan subset overlay yang diperlukan berdasarkan ID board (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 membuat partisi, tentukan lokasi tepercaya dan dapat diakses runtime bootloader di memori flash untuk menyimpan DTB dan DTBO (bootloader harus dapat menemukan file ini dalam proses pencocokan). Perlu diingat bahwa DTB dan DTBO tidak dapat ada di partisi yang sama. Jika DTB/DTBO Anda berada di partisi dtb/dtbo, gunakan struktur tabel dan format header yang dijelaskan dalam format partisi DTB dan DTBO.

Berjalan di bootloader

Untuk menjalankan:

  1. Identifikasi SoC dan muat .dtb yang sesuai dari penyimpanan ke memori.
  2. Identifikasi board dan muat .dtbo yang sesuai dari penyimpanan ke memori.
  3. Tumpang-tindih .dtb dengan .dtbo menjadi DT gabungan.
  4. Mulai kernel dengan alamat memori DT yang digabungkan.