Message ID | 20241214-pickup-bpif3-v7-2-d0cd91146f7b@gmail.com |
---|---|
State | Superseded |
Delegated to: | Andes |
Headers | show |
Series | riscv: spacemit: add support for bananapi-f3 | expand |
Am 14. Dezember 2024 08:30:22 MEZ schrieb Huan Zhou <pericycle.cc@gmail.com>: >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> >Tested-by: Marcel Ziswiler <marcel@ziswiler.com> >Reviewed-by: Yixun Lan <dlan@gentoo.org> >--- > doc/board/index.rst | 1 + > doc/board/spacemit/bananapi-f3.rst | 106 +++++++++++++++++++++++++++++++++++++ > doc/board/spacemit/index.rst | 9 ++++ > 3 files changed, 116 insertions(+) > >diff --git a/doc/board/index.rst b/doc/board/index.rst >index b54c1748d57ece029f0f3ab829956dc893e7f5d7..b1c470eb2cbb1c07f907eb2282039520c219c72a 100644 >--- a/doc/board/index.rst >+++ b/doc/board/index.rst >@@ -55,6 +55,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..54b412775e458ee7a8cd436d7a1f1c6ac70744f6 >--- /dev/null >+++ b/doc/board/spacemit/bananapi-f3.rst >@@ -0,0 +1,106 @@ >+.. 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. Thanks a lot for providing the documentation. Just some nits: %/spacemit/SpacemiT/ >+ >+.. _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 >+ >+Burning >+~~~~~~~~ >+Actually, we can replace the uboot part %s/part/partition/ from bianbu linux which is the bsp_ to %s/from bianbu linux/of Bianbu Linux/ Bianbu Linux may be a part of the board support package but it is not the complete BSP. So how about: which is provided as part of the BSP validate 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. >+Or use fastboot: >+Collect FSBL.bin, u-boot.itb, partition_2M.json, bootinfo_spinor.bin >+u-boot-env-default.bin, fw_dynamic.itb from vendor sdk %s/sdk/SDK/ Best regards Heinrich >+ >+.. code-block:: console >+ >+ 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 >+ >+.. _bsp: https://archive.spacemit.com/image/k1/version/bianbu/v2.0/ >+.. _uboot: https://bianbu-linux.spacemit.com/en/device/boot#21-firmware-layout >+ >+Booting >+~~~~~~~ >+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 >+ >
On Sat, Dec 14, 2024 at 10:31:40PM +0100, Heinrich Schuchardt wrote: > Am 14. Dezember 2024 08:30:22 MEZ schrieb Huan Zhou <pericycle.cc@gmail.com>: > >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> > >Tested-by: Marcel Ziswiler <marcel@ziswiler.com> > >Reviewed-by: Yixun Lan <dlan@gentoo.org> > >--- > > doc/board/index.rst | 1 + > > doc/board/spacemit/bananapi-f3.rst | 106 +++++++++++++++++++++++++++++++++++++ > > doc/board/spacemit/index.rst | 9 ++++ > > 3 files changed, 116 insertions(+) > > > >diff --git a/doc/board/index.rst b/doc/board/index.rst > >index b54c1748d57ece029f0f3ab829956dc893e7f5d7..b1c470eb2cbb1c07f907eb2282039520c219c72a 100644 > >--- a/doc/board/index.rst > >+++ b/doc/board/index.rst > >@@ -55,6 +55,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..54b412775e458ee7a8cd436d7a1f1c6ac70744f6 > >--- /dev/null > >+++ b/doc/board/spacemit/bananapi-f3.rst > >@@ -0,0 +1,106 @@ > >+.. 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. > > Thanks a lot for providing the documentation. Just some nits: > > %/spacemit/SpacemiT/ fix, thx:) > > >+ > >+.. _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 > >+ > >+Burning > >+~~~~~~~~ > >+Actually, we can replace the uboot part > > %s/part/partition/ > > from bianbu linux which is the bsp_ to > > %s/from bianbu linux/of Bianbu Linux/ > > Bianbu Linux may be a part of the board support package but it is not the complete BSP. So how about: > > which is provided as part of the BSP > From bianbu linux official link[1], it writes: ``` Bianbu Linux is the BSP (Board Support Package) for the Spacemit Stone series chips, including the SDK (Software Development Kit). ``` Link: https://bianbu-linux.spacemit.com/en/ [1] i think is should be the complete bsp(include linux, opensbi and u-boot in the img it provide)... > validate 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. > >+Or use fastboot: > >+Collect FSBL.bin, u-boot.itb, partition_2M.json, bootinfo_spinor.bin > >+u-boot-env-default.bin, fw_dynamic.itb from vendor sdk > > %s/sdk/SDK/ Got it. > > Best regards > > Heinrich > > >+ > >+.. code-block:: console > >+ > >+ 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 > >+ > >+.. _bsp: https://archive.spacemit.com/image/k1/version/bianbu/v2.0/ > >+.. _uboot: https://bianbu-linux.spacemit.com/en/device/boot#21-firmware-layout > >+ > >+Booting > >+~~~~~~~ > >+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 > >+ > > >
diff --git a/doc/board/index.rst b/doc/board/index.rst index b54c1748d57ece029f0f3ab829956dc893e7f5d7..b1c470eb2cbb1c07f907eb2282039520c219c72a 100644 --- a/doc/board/index.rst +++ b/doc/board/index.rst @@ -55,6 +55,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..54b412775e458ee7a8cd436d7a1f1c6ac70744f6 --- /dev/null +++ b/doc/board/spacemit/bananapi-f3.rst @@ -0,0 +1,106 @@ +.. 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 + +Burning +~~~~~~~~ +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. +Or use fastboot: +Collect FSBL.bin, u-boot.itb, partition_2M.json, bootinfo_spinor.bin +u-boot-env-default.bin, fw_dynamic.itb from vendor sdk + +.. code-block:: console + + 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 + +.. _bsp: https://archive.spacemit.com/image/k1/version/bianbu/v2.0/ +.. _uboot: https://bianbu-linux.spacemit.com/en/device/boot#21-firmware-layout + +Booting +~~~~~~~ +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 +