From patchwork Wed Jul 21 21:25:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Pali_Roh=C3=A1r?= X-Patchwork-Id: 1508466 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=uiF7hcTn; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GVTD156g1z9sX2 for ; Thu, 22 Jul 2021 07:26:23 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0E78C81BC0; Wed, 21 Jul 2021 23:26:09 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="uiF7hcTn"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 19AC681E14; Wed, 21 Jul 2021 23:26:07 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-3.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A02C580FB4 for ; Wed, 21 Jul 2021 23:26:02 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pali@kernel.org Received: by mail.kernel.org (Postfix) with ESMTPSA id 71D6561208; Wed, 21 Jul 2021 21:26:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1626902760; bh=SINcgO5Y+ekyVCV5XBbLYelaE7ocGLK94VSUO/SFU8U=; h=From:To:Cc:Subject:Date:From; b=uiF7hcTnMZdrcRAz7p6A2IW5C47KB3WN8n9ZPVRjl28/UxgdxzDKEzvHojfa/tgyR LRhH1qjefJgyu50rFs2+8q2Qsf6ag/a+GCZFThiJoH+zxjWgAzAY3Llm6mv2vmBiUN RvnJfWPl3sRxUadY7F6PQSz4dkfblVLvqSeW/zsPbYm0CpOcJ4ppbcg/CIeoaoCNeL o6mqqSF9cxjcejsKTnt66EtKogdGDmJZiNguEwB2Ee9xC4ctazIlM3De8Xwec9ZYPI Pg2b93lZxzD8s6sQcApVqw7YdqxubceejQQ+97vryabsUOgpqok9NJtRGe3LzTAmnJ yIEWbwX2xsVXA== Received: by pali.im (Postfix) id 2CF3579B; Wed, 21 Jul 2021 23:25:58 +0200 (CEST) From: =?utf-8?q?Pali_Roh=C3=A1r?= To: Lokesh Vutla Cc: u-boot@lists.denx.de Subject: [PATCH] Nokia RX-51: Convert documentation to rst format Date: Wed, 21 Jul 2021 23:25:07 +0200 Message-Id: <20210721212507.27145-1-pali@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Signed-off-by: Pali Rohár --- board/nokia/rx51/MAINTAINERS | 2 +- doc/board/index.rst | 1 + doc/board/nokia/index.rst | 7 + .../nokia/rx51.rst} | 142 +++++++++--------- 4 files changed, 83 insertions(+), 69 deletions(-) create mode 100644 doc/board/nokia/index.rst rename doc/{README.nokia_rx51 => board/nokia/rx51.rst} (32%) diff --git a/board/nokia/rx51/MAINTAINERS b/board/nokia/rx51/MAINTAINERS index 58b16bf9a95c..25f8b3c5a9ad 100644 --- a/board/nokia/rx51/MAINTAINERS +++ b/board/nokia/rx51/MAINTAINERS @@ -4,5 +4,5 @@ S: Maintained F: board/nokia/rx51/ F: include/configs/nokia_rx51.h F: configs/nokia_rx51_defconfig -F: doc/README.nokia_rx51 +F: doc/board/nokia/rx51.rst F: test/nokia_rx51_test.sh diff --git a/doc/board/index.rst b/doc/board/index.rst index 747511f7ddd2..4c470abbac02 100644 --- a/doc/board/index.rst +++ b/doc/board/index.rst @@ -19,6 +19,7 @@ Board-specific doc intel/index kontron/index microchip/index + nokia/index rockchip/index sifive/index sipeed/index diff --git a/doc/board/nokia/index.rst b/doc/board/nokia/index.rst new file mode 100644 index 000000000000..fb0db2f34244 --- /dev/null +++ b/doc/board/nokia/index.rst @@ -0,0 +1,7 @@ +Nokia +===== + +.. toctree:: + :maxdepth: 2 + + rx51 diff --git a/doc/README.nokia_rx51 b/doc/board/nokia/rx51.rst similarity index 32% rename from doc/README.nokia_rx51 rename to doc/board/nokia/rx51.rst index e739b02088ea..c84fdcddf166 100644 --- a/doc/README.nokia_rx51 +++ b/doc/board/nokia/rx51.rst @@ -1,6 +1,7 @@ -Board: Nokia RX-51 aka N900 +Nokia RX-51 aka N900 +==================== -This board definition results in a u-boot.bin which can be chainloaded +This board definition results in a ``u-boot.bin`` which can be chainloaded from NOLO in qemu or on a real N900. It does very little hardware config because NOLO has already configured the board. Only needed is enabling internal eMMC memory via twl4030 regulator which is not enabled by NOLO. @@ -8,64 +9,64 @@ internal eMMC memory via twl4030 regulator which is not enabled by NOLO. NOLO is expecting a kernel image and will treat any image it finds in onenand as such. This u-boot is intended to be flashed to the N900 like a kernel. In order to transparently boot the original kernel, it will be -appended to u-boot.bin at 0x40000. NOLO will load the entire image into +appended to ``u-boot.bin`` at 0x40000. NOLO will load the entire image into (random) memory and execute u-boot, which saves hw revision, boot reason and boot mode ATAGs set by NOLO. Then the bootscripts will attempt to load -uImage, zImage or boot.scr from a fat or ext2/3/4 filesystem on external -SD card or internal eMMC memory. If this fails or keyboard is closed then -the appended kernel image will be booted using some generated and some -stored ATAGs (see boot order). +``uImage``, ``zImage`` or ``boot.scr`` file from a fat or ext2/3/4 filesystem +on external SD card or internal eMMC memory. If this fails or keyboard is +closed then the appended kernel image will be booted using some generated +and some stored ATAGs (see boot order). For generating combined image of u-boot and kernel (either in uImage or zImage -format) there is a simple script called u-boot-gen-combined. It is available in -following repository: +format) there is a simple script called ``u-boot-gen-combined``. It is available +in following repository: - https://github.com/pali/u-boot-maemo + https://github.com/pali/u-boot-maemo -To generate combined.bin image from u-boot.bin and kernel.bin (either uImage -or zImage) use: +To generate ``combined.bin`` image from ``u-boot.bin`` and ``kernel.bin`` +(either uImage or zImage format) use:: - sh u-boot-gen-combined u-boot.bin kernel.bin combined.bin + $ sh u-boot-gen-combined u-boot.bin kernel.bin combined.bin Original Maemo Fremantle PR1.3 zImage kernel binary is available at: - http://repository.maemo.org/pool/maemo5.0/free/k/kernel/kernel_2.6.28-20103103+0m5_armel.deb + http://repository.maemo.org/pool/maemo5.0/free/k/kernel/kernel_2.6.28-20103103+0m5_armel.deb -To unpack it (from DEB/AR, TAR and FIASCO) call commands: +To unpack it (from DEB/AR, TAR and FIASCO) call commands:: - ar x kernel_2.6.28-20103103+0m5_armel.deb data.tar.gz - tar -O -xf data.tar.gz ./boot/zImage-2.6.28-20103103+0m5.fiasco > kernel_2.6.28-20103103+0m5.fiasco - 0xFFFF -M kernel_2.6.28-20103103+0m5.fiasco -u + $ ar x kernel_2.6.28-20103103+0m5_armel.deb data.tar.gz + $ tar -O -xf data.tar.gz ./boot/zImage-2.6.28-20103103+0m5.fiasco > kernel_2.6.28-20103103+0m5.fiasco + $ 0xFFFF -M kernel_2.6.28-20103103+0m5.fiasco -u -Flashed image must start with 2 kB "NOLO!img" header which contains size of -the image. Header consist of bytes "NOLO!img\x02\x00\x00\x00\x00\x00\x00\x00" +Flashed image must start with 2 kB ``NOLO!img`` header which contains size of +the image. Header consist of bytes ``NOLO!img\x02\x00\x00\x00\x00\x00\x00\x00`` followed by 4 byte little endian size of the image and rest of the 2 kB header are just zero bytes. Nokia proprietary flasher and also open source 0xFFFF flasher automatically -prepend required "NOLO!img" header and both applications expect that image -does not contain "NOLO!img" header. Adding "NOLO!img" header is required -only in case using "nandwrite" tool for flashing. +prepend required ``NOLO!img`` header and both applications expect that image +does not contain ``NOLO!img`` header. Adding ``NOLO!img`` header is required +only in case using ``nandwrite`` tool for flashing. Open source 0xFFFF flasher is available in following repository: - https://github.com/pali/0xFFFF + https://github.com/pali/0xFFFF -It is possible to load u-boot.bin via USB to N900 RAM and boot it without -need to flashing it. Via 0xFFFF running at host PC it is done: +It is possible to load ``u-boot.bin`` via USB to N900 RAM and boot it without +need to flashing it. Via 0xFFFF running at host PC it is done:: - 0xFFFF -m u-boot.bin -l -b + $ 0xFFFF -m u-boot.bin -l -b 0xFFFF support also flashing kernel image either via USB or directly on -N900 device. Flashing u-boot/kernel/combined image is done as: +N900 device. Flashing u-boot/kernel/combined image is done as:: - 0xFFFF -m combined.bin -f + $ 0xFFFF -m combined.bin -f Via 0xFFFF is possible to generate also standard flashable image in Nokia FIASCO format which contains metadata information like device identification -(RX-51) and version string (v2021.04): +(RX-51) and version string (v2021.04):: - 0xFFFF -m RX-51:v2021.04:kernel:u-boot.bin -g u-boot.fiasco + $ 0xFFFF -m RX-51:v2021.04:kernel:u-boot.bin -g u-boot.fiasco There is support for hardware watchdog. Hardware watchdog is started by NOLO so u-boot must kick watchdog to prevent reboot device (but not very @@ -77,62 +78,67 @@ which is needed for Thumb-2 ISA support. It is workaround for errata 430973. Default boot order: - * 0. if keyboard is closed boot automatically attached kernel image - * 1. try boot from external SD card - * 2. try boot from internal eMMC memory - * 3. try boot from attached kernel image +0. if keyboard is closed boot automatically attached kernel image +1. try boot from external SD card +2. try boot from internal eMMC memory +3. try boot from attached kernel image Boot from SD or eMMC in this order: - * 1. - * 1.1 find boot.scr on first fat partition - * 1.2 find uImage on first fat partition - * 1.3 find zImage on first fat partition - * 1.4 same order for 2. - 4. fat partition - * 2. same as 1. but for ext2/3/4 partition +* 1. step + * 1.1 find ``boot.scr`` on first fat partition + * 1.2 find ``uImage`` on first fat partition + * 1.3 find ``zImage`` on first fat partition + * 1.4 same order for 2. - 4. fat partition + +* 2. step - same as 1. but for ext2/3/4 partition Available additional commands/variables: - * run sdboot - Boot from external SD card (see boot order) - * run emmcboot - Boot from internal eMMC memory (see boot order) - * run attachboot - Boot attached kernel image (attached to U-Boot binary) +* run sdboot - Boot from external SD card (see boot order) +* run emmcboot - Boot from internal eMMC memory (see boot order) +* run attachboot - Boot attached kernel image (attached to U-Boot binary) + +\ + +* run scriptload - Load boot script ``${mmcscriptfile}`` +* run scriptboot - Run loaded boot script +* run kernload - Load kernel image ``${mmckernfile}`` +* run initrdload - Load initrd image ``${mmcinitrdfile}`` +* run kernboot - Boot loaded kernel image +* run kerninitrdboot - Boot loaded kernel image with loaded initrd image - * run scriptload - Load boot script ${mmcscriptfile} - * run scriptboot - Run loaded boot script - * run kernload - Load kernel image ${mmckernfile} - * run initrdload - Load initrd image ${mmcinitrdfile} - * run kernboot - Boot loaded kernel image - * run kerninitrdboot - Boot loaded kernel image with loaded initrd image +\ - * run trymmcscriptboot - Try to load and boot script ${mmcscriptfile} - * run trymmckernboot - Try to load and boot kernel image ${mmckernfile} - * run trymmckerninitrdboot - Try to load and boot kernel image ${mmckernfile} - with initrd image ${mmcinitrdfile} +* run trymmcscriptboot - Try to load and boot script ``${mmcscriptfile}`` +* run trymmckernboot - Try to load and boot kernel image ``${mmckernfile}`` +* run trymmckerninitrdboot - Try to load and boot kernel image ``${mmckernfile}`` + with initrd image ``${mmcinitrdfile}`` Additional variables for loading files from mmc: - * mmc ${mmcnum} (0 - external, 1 - internal) - * partition number ${mmcpart} (1 - 4) - * partition type ${mmctype} (fat, ext2, ext4; ext2 is just alias for ext4) +* mmc ``${mmcnum}`` (0 - external, 1 - internal) +* partition number ``${mmcpart}`` (1 - 4) +* partition type ``${mmctype}`` (fat, ext2, ext4; ext2 is just alias for ext4) Additional variables for booting kernel: - * setup_omap_atag - Add OMAP table into atags structure (needs maemo kernel) - * setup_console_atag - Enable serial console in OMAP table - * setup_boot_reason_atag - Change boot reason in OMAP table - * setup_boot_mode_atag - Change boot mode in OMAP table +* ``setup_omap_atag`` - Add OMAP table into atags structure (needed for maemo kernel) +* ``setup_console_atag`` - Enable serial console in OMAP table +* ``setup_boot_reason_atag`` - Change boot reason in OMAP table +* ``setup_boot_mode_atag`` - Change boot mode in OMAP table - Variable setup_omap_atag is automatically set when booting attached kernel. - When variable setup_omap_atag is set, variable setup_console_atag is unset - and u-boot standard output is set to serial then setup_console_atag is - automatically set to 1. So output from Maemo kernel would go to serial port. +Variable ``setup_omap_atag`` is automatically set when booting attached kernel. +When variable ``setup_omap_atag`` is set, variable ``setup_console_atag`` is unset +and u-boot standard output is set to serial then ``setup_console_atag`` is +automatically set to 1. So output from Maemo kernel would go to serial port. UBIFS support: - UBIFS support is disabled, because U-Boot image is too big and cannot be - flashed with attached zImage to RX-51 kernel nand area. For enabling UBIFS - support add following lines into file configs/nokia_rx51_defconfig +UBIFS support is disabled, because U-Boot image is too big and cannot be +flashed with attached kernel image to RX-51 kernel nand area. For enabling +UBIFS support add following lines into file ``configs/nokia_rx51_defconfig``:: CONFIG_CMD_UBI=y CONFIG_CMD_UBIFS=y