diff options
| author | Jonathan Corbet <corbet@lwn.net> | 2023-05-03 16:47:22 -0600 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2023-06-12 06:33:40 -0600 |
| commit | e790a4ce529041bb21ec0b69a38c1b92f29df2cf (patch) | |
| tree | 56f44e5f8f8fe8d94d43a4bd7743e82e4e7889d6 /Documentation/arm/google | |
| parent | f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6 (diff) | |
arm: docs: Move Arm documentation to Documentation/arch/
Architecture-specific documentation is being moved into Documentation/arch/
as a way of cleaning up the top-level documentation directory and making
the docs hierarchy more closely match the source hierarchy. Move
Documentation/arm into arch/ (along with the Chinese equvalent
translations).
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Samuel Holland <samuel@sholland.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Alex Shi <alexs@kernel.org>
Cc: linux-doc@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-arch@vger.kernel.org
Acked-by: Alexandre TORGUE <alexandre.torgue@foss.st.com>
Reviewed-by: Yanteng Si <siyanteng@loongson.cn>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/arm/google')
| -rw-r--r-- | Documentation/arm/google/chromebook-boot-flow.rst | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/Documentation/arm/google/chromebook-boot-flow.rst b/Documentation/arm/google/chromebook-boot-flow.rst deleted file mode 100644 index 36da77684bba..000000000000 --- a/Documentation/arm/google/chromebook-boot-flow.rst +++ /dev/null @@ -1,69 +0,0 @@ -.. SPDX-License-Identifier: GPL-2.0 - -====================================== -Chromebook Boot Flow -====================================== - -Most recent Chromebooks that use device tree are using the opensource -depthcharge_ bootloader. Depthcharge_ expects the OS to be packaged as a `FIT -Image`_ which contains an OS image as well as a collection of device trees. It -is up to depthcharge_ to pick the right device tree from the `FIT Image`_ and -provide it to the OS. - -The scheme that depthcharge_ uses to pick the device tree takes into account -three variables: - -- Board name, specified at depthcharge_ compile time. This is $(BOARD) below. -- Board revision number, determined at runtime (perhaps by reading GPIO - strappings, perhaps via some other method). This is $(REV) below. -- SKU number, read from GPIO strappings at boot time. This is $(SKU) below. - -For recent Chromebooks, depthcharge_ creates a match list that looks like this: - -- google,$(BOARD)-rev$(REV)-sku$(SKU) -- google,$(BOARD)-rev$(REV) -- google,$(BOARD)-sku$(SKU) -- google,$(BOARD) - -Note that some older Chromebooks use a slightly different list that may -not include SKU matching or may prioritize SKU/rev differently. - -Note that for some boards there may be extra board-specific logic to inject -extra compatibles into the list, but this is uncommon. - -Depthcharge_ will look through all device trees in the `FIT Image`_ trying to -find one that matches the most specific compatible. It will then look -through all device trees in the `FIT Image`_ trying to find the one that -matches the *second most* specific compatible, etc. - -When searching for a device tree, depthcharge_ doesn't care where the -compatible string falls within a device tree's root compatible string array. -As an example, if we're on board "lazor", rev 4, SKU 0 and we have two device -trees: - -- "google,lazor-rev5-sku0", "google,lazor-rev4-sku0", "qcom,sc7180" -- "google,lazor", "qcom,sc7180" - -Then depthcharge_ will pick the first device tree even though -"google,lazor-rev4-sku0" was the second compatible listed in that device tree. -This is because it is a more specific compatible than "google,lazor". - -It should be noted that depthcharge_ does not have any smarts to try to -match board or SKU revisions that are "close by". That is to say that -if depthcharge_ knows it's on "rev4" of a board but there is no "rev4" -device tree then depthcharge_ *won't* look for a "rev3" device tree. - -In general when any significant changes are made to a board the board -revision number is increased even if none of those changes need to -be reflected in the device tree. Thus it's fairly common to see device -trees with multiple revisions. - -It should be noted that, taking into account the above system that -depthcharge_ has, the most flexibility is achieved if the device tree -supporting the newest revision(s) of a board omits the "-rev{REV}" -compatible strings. When this is done then if you get a new board -revision and try to run old software on it then we'll at pick the -newest device tree we know about. - -.. _depthcharge: https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform/depthcharge/ -.. _`FIT Image`: https://doc.coreboot.org/lib/payloads/fit.html |
