Commit Graph

31 Commits

Author SHA1 Message Date
Dario Binacchi
494807e28d configs/stm32f4{2|6}9_*_defconfig: rename configurations
Rename the configuration to explicitly distinguish between sd and xip.
As a result, the readme files have also been changed.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-17 22:58:12 +01:00
Dario Binacchi
c85312affd configs/stm32f429_disco: fix kernel bootup
The kernel generated by the configuration for the STM32f429-discovery
board is buggy:

Fixes:
 Unhandled exception: IPSR = 00000006 LR = fffffff1
 CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
 Hardware name: STM32 (Device Tree Support)
 task: 9041a000 task.stack: 907c0000
 PC is at ret_fast_syscall+0x2/0x4a
 LR is at tty_ioctl+0x1ad/0x75c
 pc : [<0800d942>]    lr : [<080c2e05>]    psr: 4000000b
 sp : 907c1fa8  ip : 0000001c  fp : 905961a2
 r10: 00000000  r9 : 907c0000  r8 : 0800dae0
 r7 : 00000036  r6 : 905e7e60  r5 : 00000000  r4 : 905e7ebc
 r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
 xPSR: 4000000b
 CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
 Hardware name: STM32 (Device Tree Support)
 [<0800fbf9>] (unwind_backtrace) from [<0800f05b>] (show_stack+0xb/0xc)
 [<0800f05b>] (show_stack) from [<0800f553>] (__invalid_entry+0x4b/0x4c)

Inspired by commit a3e3d9c198 ("configs/stm32f469_disco_xip_defconfig:
alternative defconfig for XIP"), update the stm32f429_disco_defconfig
configuration to use a newer kernel. Current setup kernel + rootfs fits
in 1.6MB on-chip flash memory.

The kernel has been moved to new flash bank due to growth of dtb size.

Remove upstream patch.

For better binary size optimization gcc LTO is turned on.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-17 22:58:11 +01:00
Dario Binacchi
b235a2cffc boot/afboot-stm32: upgrade version
Newer versions of the kernel generate device trees that are not
storable in a single 16kB sector. In these cases the kernel load address
must be changed.
The commit 2e499dcff3ef ("Add possibility to use custom kernel load address")
adds the possibility to override the default (0x08008000) kernel load
address.

This also required changes to the stm32f429_disco_defconfig and
stm32f469_disco_xip_defconfig configurations. Patching is no longer
needed.

Also update whitespaces in hash file (2 spaces).

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-17 22:58:11 +01:00
Dario Binacchi
82c1a43792 configs/stm32f469_xip_disco: fix kernel bootup
The current configuration fails to boot on the stm32f469-disco board.
Make it bootable again by reverting the DRAM patches.

Also change the kernel load address from 0x8010000 to 0x800C000 to
allocate more space to the kernel, since 32kB for the device tree is
enough.

Also clean up the rootfs a bit with the common stm32-post-build.sh
script.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-17 22:58:11 +01:00
Giulio Benetti
6b2232ea09 board/stmicroelectronics/stm32f469-disco/genimage.cfg: beautify file
Beatify this genimage .cfg file to have consistency with all genimage .cfg
files in Buildroot.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-11-08 22:59:34 +01:00
Dario Binacchi
830e5227d4 configs/stm32f469_disco: enable Linux DRM support
The patch [1], which is required for DRM to work properly, has been
merged into Linux version 5.14-rc3. There's a 5.14.12 now in stable, so
I took that one.

After Linux boots, /dev/fb0 will be accessible. You can control the
brightness of the display after enabling the framebuffer by running the
following commands:

~ # echo 0 0 > /sys/class/graphics/fb0/pan
~ # echo 255 >/sys/class/backlight/40016c00.dsi.0/brightness

The brightness ranges from 0 to 255, as you can see running the
command:

~ # cat /sys/class/backlight/40016c00.dsi.0/max_brightness

[1] 24b5b1978cd5 ("clk: stm32f4: fix post divisor setup for I2S/SAI PLLs")

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
[Arnout: add explanation to readme.txt]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-10-26 21:34:03 +02:00
Yauheni Saldatsenka
a3e3d9c198 configs/stm32f469_disco_xip_defconfig: alternative defconfig for XIP
Update STM32F469-disco configuration files to operate with new kernel.

Result of make tinyconfig was taken as a starting point to fit kernel
into flash memory.
Current setup kernel + rootfs fits in 1.6MB on-chip flash memory

Fixes:
    - Move kernel to new flash bank due to growth of dtb size
    - Fix kernel start address in bootloader
    - Remove outdated path which doesn't affect normal operation mode

For better binary size optimization gcc LTO is turned on.

Signed-off-by: Yauheni Saldatsenka <eugentoo@gmail.com>
[Arnout:
 - squash 3 patches into 1;
 - remove unused dts file;
 - move linux/linux.config to linux-xip.config;
 - add a sentence to readme to say SD card is not needed.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-08-28 16:58:21 +02:00
Pierre-Jean Texier
9a93dc18dc configs/stm32mp157a_dk1: remove uboot config fragment
Running stm32mp1 watchdog is properly recognized and handled by kernel
watchdog framework since Linux v5.6.

Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Pierre-Jean Texier <texier.pj2@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-18 14:06:20 +02:00
Sergey Matyukevich
fe2e655666 configs/stm32mp157c_dk2: remove uboot config fragment
Running stm32mp1 watchdog is properly recognized and handled by kernel
watchdog framework since Linux v5.6. For details see the Linux commit
85fdc63fe256 ("drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at
probe"). So U-Boot config fragment can be safely removed without
adding userspace watchdog daemon.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-15 21:59:42 +02:00
Sergey Matyukevich
3e70251d36 board/stmicroelectronics/common/stm32mp157: fix U-Boot corruption on the first boot
The stm32mp157 images successfully boot only once. Subsequent boot
attempts fail to reach U-Boot. The root cause turns out to be in U-Boot
corruption during the first boot. The stm32mp1 U-Boot stores its
environment at the end of GPT partition named 'ssbl' since v2020.10-rc2.
However Buildroot genimage template for stm32mp157 boards creates 'ssbl'
partition w/o extra space for U-Boot primary and redundant environments.
This patch explicitly specifies 'ssbl' partition size that should be
enough for both u-boot.stm32 image (~1M) and both environments (16K).

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Tested-by: Pierre-Jean Texier <texier.pj2@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-15 21:59:15 +02:00
Dario Binacchi
04a0094f0e configs/stm32f469_disco: fix kernel bootup
As described by [1], the kernel generated by the configuration for the
STM32f469 Discovery board is buggy. Using a newer kernel, as suggested
by [1], increases the dtb and Kernel image size. In particular, the
5.12 version of the kernel generates a dtb and a kernel image whose sum
exceeds the 2 MByte of the flash module.

So I decided to replace the afboot-stm32 bootloader in the flash with
U-boot to easily boot the system from sdcard without having to worry
about the size of dtb, kernel and rootfs generated by the configuration.

This solution allows you to fix the kernel boot issue and makes it
possible to use its future versions.

[1] http://buildroot-busybox.2317881.n4.nabble.com/Bug-11746-New-stm32f469-didn-t-work-correctly-td219644.html

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Tested-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Arnout:
 - specify headers version explicitly, even though it's default;
 - bump kernel to 5.12.11]
2021-06-16 23:09:34 +02:00
Peter Korsgaard
2107f7a75b configs/avenger96_defconfig: add support for Arrow Avenger96 board
Very similar to the other stm32mp157-based boards, except that we use the
multi_v7 defconfig for ease of maintenance.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-08 16:25:00 +01:00
Shlomi Vaknin
4d15114713 configs/stm32mp157*: switch to use TF-A based configurations
This commit changes the stm32mp1 configurations to use the TF-A ->
U-Boot boot flow (called "trusted boot flow" by ST) instead of the
U-Boot SPL -> U-Boot boot flow. ST recommands this trusted boot, and
it's also the only one that allows to use the STM32 Cube Programmer
for reflashing devices.

As part of this, the genimage configuration file is now generated, as
it contains some file names that depend on the platform. Removing
partition-type from genimage.cfg is mandatory, since it would cause a
hybrid MBR partition table to be created, which itself would prevent
ATF from finding the ssbl parition.

Signed-off-by: Shlomi Vaknin <shlomi.39sd@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-10-13 23:04:03 +02:00
Bartosz Bilas
092b112f48 board/stmicroelectronics/stm32f4xx: move post-build script into common directory
Let's clean up "boards/stmicroelectronics" directory a bit
to have everything in particular directories.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-03-21 15:27:17 +01:00
Bartosz Bilas
c397d4f6b2 configs/stm32mp157a_dk1: new defconfig
The board support package includes the following components:
 - U-Boot 2020.01
 - Linux 5.4.26
 - Buildroot default packages

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-03-21 15:27:17 +01:00
Bartosz Bilas
7f82e0933a configs/stm32mp157: use common genimage config file for stm32mp157 boards
It will be useful for the upcoming introducing stm32mp157a dk2 board.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-03-21 15:27:17 +01:00
Bartosz Bilas
b0db373298 board/stm32mp157c-dk2/genimage.cfg: drop hardcoded rootfs partition size
Let genimage to match the size of the rootfs image instead.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-03-21 15:27:17 +01:00
Bartosz Bilas
4eaa2be389 configs/stm32mp157c_dk2: remove unnecessary workaround
Now that the metadata_csum ext4 option is disabled, we no longer need
the U-Boot workaround.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-01-01 17:19:24 +01:00
Bartosz Bilas
a06cfa8b36 board/stm32mp157c-dk2: fix typos in readme and extlinux file
Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-10-27 20:16:05 +01:00
Bartosz Bilas
1505ba6d1f configs/stm32mp157_dk: rename to the sm32mp157c_dk2
That is useful and needed for upcoming introducing stm32mp157a-dk1 board.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-10-27 14:09:56 +01:00
Bartosz Bilas
17cd919116 configs/stm32mp157_dk: bump U-Boot to 2019.10
Add patch to fix mounting rootfs partition properly.
This issue is already reported upstream.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-10-27 10:06:05 +01:00
Bartosz Bilas
a3113b6b5a board/stmicroelectronics/stm32mp157-dk: rename uboot partition in genimage.cfg
Change partition name according to the U-Boot requirements.

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-10-27 10:06:05 +01:00
Thomas Petazzoni
bff5ae49ec configs/stm32mp157_dk: new defconfig
This commit adds a minimal defconfig to build a Buildroot system for
the STM32MP157 Discovery Kit, which is the low-cost evaluation
platform for the new STM32MP157 system-on-chip from ST. This
system-on-chip features a single or dual Cortex-A7, a single
Cortex-M4, and a wide variety of peripherals.

This commit includes a custom linux configuration file, because there
is no specific defconfig for this platform in the kernel, only
multi_v7_defconfig supports it, which is really a massive
defconfig. That's why a custom linux configuration file is added.

A small U-Boot config fragment allows to disable the watchdog, so that
userspace by default doesn't need to have a watchdog daemon running.

The vendor U-Boot and Linux trees are used for the moment, but the
platform support is being upstreamed, so switching to upstream
versions will be possible in the relatively near future.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-08-12 23:40:57 +02:00
Arnout Vandecappelle
6e9c98a838 stm32f469-disco: replace $HOST_DIR/usr with $HOST_DIR in flash script
Manual change because the script uses ${OUTPUT_DIR}/host instead of
${HOST_DIR}.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 16:06:25 +02:00
Arnout Vandecappelle
3dc8e8a97b stm32f429-disco: replace $HOST_DIR/usr with $HOST_DIR in flash script
Manual change because the script uses ${OUTPUT_DIR}/host instead of
${HOST_DIR}.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 16:06:24 +02:00
Christophe PRIOUZEAU
0c6c3b2237 configs/stm32f4xx: use kernel version 4.11
Use kernel 4.11 for stm32f4 discovery board
(stm32f429i-disco and stm32f469i-disco).

Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-08 23:16:12 +02:00
Thomas Petazzoni
c383e8fc8b board/stmicroelectronics/stm32f469-disco: remove OpenOCD patches
Since the bump of OpenOCD from 0.9.0 to 0.10.0 in commit
3b6c74d708, stm32f469_disco_defconfig
fails to build:

 - 0001-add-config.patch was merged in upstream OpenOCD (commit
   26045588f462476cee356d15a24944d6c26befb4).

 - 0002-flash-nor.patch was merged in upstream OpenOCD (commit
   3e219648c80a27f0519003f3b088cbb846e255d8)

Therefore, this commit removes the two patches that are no longer
necessary.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/builds/15762279

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-07 13:56:00 +02:00
Samuel Martin
0de48480ec board: add stm32f429-disc1 config
This change renders the stm32f429discovery a bit more generic and reuse most
of its settings for the stm32f429-disc1 board.

Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Davide Viti <zinosat@tiscali.it>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-05-01 20:54:39 +02:00
Waldemar Brodkorb
5e1b132495 move busybox-minimal.config to be used by other noMMU targets
Config can be used by other noMMU targets as qemu-system-m68k
with coldfire emulation.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-30 15:28:32 +02:00
Lee Jones
04d0a5793f configs/stm32f469_disco: new configuration for STM32F469 Discovery board
Similar to stm32f429_disco, this commit adds a configuration for the
Cortex-M4 based STM32F469 platform.

It requires a few kernel patches, which have already been submitted
upstream, as well as a small OpenOCD patch. Besides that, it re-uses
most of what has been added for the STM32F429 platform.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
[Thomas:
 - squash multiple patches from Lee Jones into one
 - improve the readme.txt file
 - sync the defconfig with the adaptations made to the stm32f429
   configuration.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-04-16 12:44:07 +02:00
Lee Jones
c8ad46a1a7 configs/stm32f429_disco: new configuration for STM32F429 Discovery board
This commit adds a defconfig for the STM32F429 platform, which is
based on a Cortex-M4 core from ST Microelectronics. It is therefore
the first noMMU ARM platform supported in Buildroot.

This commit includes some files that will be common to several STM32
platforms (hence in board/stmicroelectronics) and some files that are
specific to the STM32F429 (hence in
board/stmicroelectronics/stm32f429-disco). More specifically, this
commit adds:

 - A minimal Busybox configuration, which is small enough to boot
   without causing OOM on such small noMMU platforms. The resulting
   Busybox, statically linked with uClibc-ng, weights around 220
   KB. For now, this file is located in board/stmicroelectronics/, but
   we might consider moving it to package/busybox/ in the future if
   needed.

 - A post-build script that removes the mounting of /dev/pts (not
   enabled in the kernel and not very useful for a system that has no
   network and no X), and removes the network related init script and
   configuration files (no network support).

 - A flash.sh script, to perform the right OpenOCD invocations to
   reflash the board.

 - One small kernel patch to adjust the kernel command line in the
   Device Tree, since it's the only way to do so.

 - The usual readme.txt file.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
[Thomas:
 - squashed multiple patches from Lee Jones together
 - added the minimal Busybox configuration
 - added the post-build script
 - improved the flashing script to not hardcode the location of the
   output directory
 - add the small kernel patch
 - improve the readme.txt file
 - test on HW the resulting image, after using the internal toolchain.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-04-16 12:43:28 +02:00