Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) ==================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) Device Tree Dynamic Resolver Notes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) ==================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) This document describes the implementation of the in-kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) Device Tree resolver, residing in drivers/of/resolver.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) How the resolver works
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) ----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) The resolver is given as an input an arbitrary tree compiled with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) proper dtc option and having a /plugin/ tag. This generates the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) appropriate __fixups__ & __local_fixups__ nodes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) In sequence the resolver works by the following steps:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 1. Get the maximum device tree phandle value from the live tree + 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 2. Adjust all the local phandles of the tree to resolve by that amount.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 3. Using the __local__fixups__ node information adjust all local references
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)    by the same amount.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 4. For each property in the __fixups__ node locate the node it references
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)    in the live tree. This is the label used to tag the node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 5. Retrieve the phandle of the target of the fixup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 6. For each fixup in the property locate the node:property:offset location
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)    and replace it with the phandle value.