Hi
On Tue, Dec 10, 2024 at 10:30:28AM +0800, Yixun Lan wrote:
> Hi Huan:
>
> On 10:00 Mon 09 Dec , Huan Zhou wrote:
> > From: Kongyang Liu <seashell11234...@gmail.com>
> >
> > Add document for Banana Pi F3 board which based on SpacemiT's K1 SoC.
> >
> > Signed-off-by: Kongyang Liu <seashell11234...@gmail.com>
> > Signed-off-by: Huan Zhou <pericycle...@gmail.com>
> > ---
> > doc/board/index.rst | 1 +
> > doc/board/spacemit/bananapi-f3.rst | 86
> > ++++++++++++++++++++++++++++++++++++++
> > doc/board/spacemit/index.rst | 9 ++++
> > 3 files changed, 96 insertions(+)
> >
> > diff --git a/doc/board/index.rst b/doc/board/index.rst
> > index
> > 417c128c7af6ad2267ef1bc743c7f10ae70b6de7..367da2d62316d4cab25ecc53f852ef742eba13dd
> > 100644
> > --- a/doc/board/index.rst
> > +++ b/doc/board/index.rst
> > @@ -51,6 +51,7 @@ Board-specific doc
> > sipeed/index
> > socionext/index
> > sophgo/index
> > + spacemit/index
> > st/index
> > starfive/index
> > ste/index
> > diff --git a/doc/board/spacemit/bananapi-f3.rst
> > b/doc/board/spacemit/bananapi-f3.rst
> > new file mode 100644
> > index
> > 0000000000000000000000000000000000000000..98a1b1d91daa897508762267e8363e7d98a0c5d0
> > --- /dev/null
> > +++ b/doc/board/spacemit/bananapi-f3.rst
> > @@ -0,0 +1,86 @@
> > +.. SPDX-License-Identifier: GPL-2.0-or-later
> > +
> > +Banana Pi BPI-F3
> > +============
> > +
> > +Building
> > +~~~~~~~~
> > +1. Install the spacemit riscv cross compile toolchain_, or skip it if
> > riscv toolchain is installed.
> > +
> > +.. _toolchain: https://archive.spacemit.com/toolchain/
> > +
> > +2. Setup cross compilation environment variable:
> > +
> > +.. code-block:: console
> > +
> > + export CROSS_COMPILE=<riscv64 toolchain prefix, e.g
> > /opt/spacemit/bin/riscv64-unknown-linux-gnu->
> > +
> > +3. Before building U-Boot, OpenSBI should be built first. OpenSBI can be
> > +built for SpacemiT K1 SoC as below:
> > +
> > +.. code-block:: console
> > +
> > + git clone https://github.com/cyyself/opensbi -b k1-opensbi
> > + cd opensbi
> > + make PLATFORM=generic
> > +
> > +4. Then build U-Boot as following:
> > +
> > +.. code-block:: console
> > +
> > + cd <U-Boot-dir>
> > + make bananapi-f3_defconfig
> > + make
> > OPENSBI=<OpenSBI-dir>/build/platform/generic/firmware/fw_dynamic.bin
> > +
> > +This will generate u-boot.itb
> > +
> > +Booting
> replace it with "Burning" or "Flashing"? which document how we burn the
> uboot image into storage media
sounds better, fixed.
> > +~~~~~~~
> > +Actually, we can replace the uboot part from bianbu linux which is the
> > bsp_ to validate this patch,
> > +use `balena etcher` to burn the bianbu-minimal.img to the sd card,
> > +and replace the /dev/sdx4 where places the uboot_ with the `u-boot.itb`
> > generated from this patch.
> > +
> > +.. _bsp: https://archive.spacemit.com/image/k1/version/bianbu/v2.0/
> > +.. _uboot:
> > https://bianbu-linux.spacemit.com/en/device/boot#21-firmware-layout
> the procedure above is too complicated and obscure.. I would suggest to use
> fastboot,
the whole procedure is just install bianbu/or other bsp and replace the 4th
partition of sd card, dd or fastboot just different
tools for burning disk, the operation is more clear after known the partition
of the disk IMO, or shall i add another section using fastboot?
> here is what I've tested on milkv jupitor board which burn the fw to spi nor
> flash,
> it can be flashed to emmc/sd card, and should be smiliar on BPI F3 board.
>
> collect FSBL.bin, u-boot.itb, partition_2M.json, bootinfo_spinor.bin
> u-boot-env-default.bin, fw_dynamic.itb from vendor sdk
>
the operation below can just use dd or balena etcher burn the img to the
sdcard. the 'fastboot' procedure seems more complicate IMO.
> > +use `balena etcher` to burn the bianbu-minimal.img to the sd card,
vvv
> fastboot stage FSBL.bin
> fastboot continue
> fastboot stage u-boot.itb-vendor # the itb from vendor uboot
> fastboot continue
>
> fastboot flash mtd partition_2M.json
> fastboot flash bootinfo bootinfo_spinor.bin
> fastboot flash fsbl FSBL.bin
> fastboot flash env u-boot-env-default.bin
> fastboot flash opensbi fw_dynamic.itb
>
> fastboot flash uboot u-boot.itb-mainline # the itb from mainline uboot
>
>
> > +
> move "Booting:" here
gotit.
> > +Sample boot log from Banana Pi BPI-F3 board
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +.. code-block:: none
> > +
> > + try sd...
> > + bm:3
> > + j...
> > +
> > + U-Boot SPL 2022.10spacemit-dirty (Oct 21 2024 - 09:01:13 +0000)
> > + [ 0.279] DDR type LPDDR4X
> > + [ 0.292] lpddr4_silicon_init consume 13ms
> > + [ 0.293] Change DDR data rate to 2400MT/s
> > + [ 0.430] ## Checking hash(es) for config conf-1 ... OK
> > + [ 0.432] ## Checking hash(es) for Image opensbi ... OK
> > + [ 0.437] ## Checking hash(es) for Image uboot ... OK
> > + [ 0.443] ## Checking hash(es) for Image fdt-1 ... OK
> > + [ 0.488] ## Checking hash(es) for config config_1 ... OK
> > + [ 0.490] ## Checking hash(es) for Image opensbi ... crc32+ OK
> > +
> > +
> > + U-Boot 2024.10-rc4-00462-g5b138cfcc587-dirty (Nov 28 2024 - 14:56:49
> > +0800)
> > +
> > + DRAM: 4 GiB
> > + Core: 19 devices, 8 uclasses, devicetree: separate
> > + Loading Environment from nowhere... OK
> > + In: serial@d4017000
> > + Out: serial@d4017000
> > + Err: serial@d4017000
> > + Net: No ethernet found.
> > + => cpu list
> > + 0: cpu@0 spacemit,x60
> > + 1: cpu@1 spacemit,x60
> > + 2: cpu@2 spacemit,x60
> > + 3: cpu@3 spacemit,x60
> > + 4: cpu@4 spacemit,x60
> > + 5: cpu@5 spacemit,x60
> > + 6: cpu@6 spacemit,x60
> > + 7: cpu@7 spacemit,x60
> > + => test
> > + =>
> > +
> > diff --git a/doc/board/spacemit/index.rst b/doc/board/spacemit/index.rst
> > new file mode 100644
> > index
> > 0000000000000000000000000000000000000000..e7d3d94e4599fbeb8da16c8a837e777a0be06227
> > --- /dev/null
> > +++ b/doc/board/spacemit/index.rst
> > @@ -0,0 +1,9 @@
> > +.. SPDX-License-Identifier: GPL-2.0-or-later
> > +
> > +SpacemiT
> > +========
> > +.. toctree::
> > + :maxdepth: 1
> > +
> > + bananapi-f3
> > +
> >
> > --
> > 2.39.5
> >
>
> --
> Yixun Lan (dlan)
> Gentoo Linux Developer
> GPG Key ID AABEFD55