On Monday 02 August 2021 11:43:59 Lokesh Vutla wrote: > Hi Pali, > > On 01/08/21 4:18 pm, Pali Rohár wrote: > > On Monday 26 July 2021 12:38:05 Lokesh Vutla wrote: > >> On 22/07/21 2:55 am, Pali Rohár wrote: > >>> Signed-off-by: Pali Rohár <p...@kernel.org> > >>> --- > >>> 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%) > >> > >> This doesn't apply cleanly on latest u-boot master. Can you rebase and > >> repost? > > > > Because it depends on other N900 patches which were sent to ML prior this > > one. > > How am I supposed to know what all patches it depends on and the current > status > of these patches? > > Please list all the patches and their current status. Or please ping me once > all > the dependent patches are merged.
Hello! Here is the list of dependent patches: * https://lists.denx.de/pipermail/u-boot/2021-June/452410.html * https://lists.denx.de/pipermail/u-boot/2021-June/452411.html > Thanks and regards, > Lokesh > > > > >> Thanks and regards, > >> Lokesh > >> > >>> > >>> 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 > >>>