diff mbox series

[v5,2/2] doc: spacemit: bananapi_f3: document Banana Pi F3 board

Message ID 20241209-pickup-bpif3-v5-2-92f801b7c6c1@gmail.com
State Superseded
Delegated to: Andes
Headers show
Series riscv: spacemit: add support for bananapi-f3 | expand

Commit Message

Huan Zhou Dec. 9, 2024, 2 a.m. UTC
From: Kongyang Liu <seashell11234455@gmail.com>

Add document for Banana Pi F3 board which based on SpacemiT's K1 SoC.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Signed-off-by: Huan Zhou <pericycle.cc@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(+)

Comments

Yixun Lan Dec. 10, 2024, 2:30 a.m. UTC | #1
Hi Huan:

On 10:00 Mon 09 Dec     , Huan Zhou wrote:
> From: Kongyang Liu <seashell11234455@gmail.com>
> 
> Add document for Banana Pi F3 board which based on SpacemiT's K1 SoC.
> 
> Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
> Signed-off-by: Huan Zhou <pericycle.cc@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
> +~~~~~~~
> +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,
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

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
> +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
>
Huan Zhou Dec. 10, 2024, 5:45 a.m. UTC | #2
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 <seashell11234455@gmail.com>
> > 
> > Add document for Banana Pi F3 board which based on SpacemiT's K1 SoC.
> > 
> > Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
> > Signed-off-by: Huan Zhou <pericycle.cc@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
diff mbox series

Patch

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
+~~~~~~~
+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
+
+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
+