Age | Commit message (Collapse) | Author |
|
These patches were back-ported from upstream to fix an issue with automatically
handling different ethernet PHY chips on different spins of the rock-pi-e
board. Now that the version of U-Boot has been updated in oe-core master,
these pack-ports are no longer required to be applied explicitly.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The bbappend provided in this layer only needs to apply to the
u-boot_<version> file itself and not all u-boot files in oe-core.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The U-Boot patches that were added recently are only for the rock-pi-e
MACHINE, therefore only apply them when building for rock-pi-e.
Fixes: b5bba3a01197 ("rock-pi-e: apply upstream PHY fix")
Reviewed-by: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The ROCK 3A has an rpi form factor and features:
- 4x Cortex-A55 ARM processor
- Mali G52 GPU
- 0.8TOPS NPU
- 32bit 3200Mb/s LPDDR4, up to 4K@60
- HDMI, MIPI DSI, MIPI CSI
- 3.5mm jack with mic
- USB Port
- GbE LAN
- PCIe 3.0, PCIe 2.0
- 40-pin color expansion header
- RTC
- supports USB PD and QC powering
https://wiki.radxa.com/Rock3/3a
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Anthony Davies <anthony.t.davies@gmail.com>
|
|
This patch was submitted to the U-Boot mailing list to fix an issue
initializing the PHY on the rock-pi-e.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The T-Firefly ROC-RK3308-CC is a miniature and compact main board which is
equipped with a cost-effective RK3308 Core Processor and a high-performance
CODEC.
Features:
- Rockchip RK3308, 64-bit, quad-core, Arm Cortex-A35 processor @ 1.3GHz
- 100M ethernet
- PoE
- USB 2.0 and Type-C (OTG and power)
- 802.11 b/g/n WiFi and Bluetooth 4.2
https://en.t-firefly.com/product/rocrk3308cc
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
In upstream mainline U-Boot commit 9e13fef00b8d ("rockchip: Kconfig: Enable
external TPL binary for rk3308") U-Boot was changed to incorporate the DDR TPL
using the same mechanism as the RK3568 and RK3588 platforms.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
ROCK Pi S is a Rockchip RK3308 based SBC from Radxa. It contains a 64-bit
quad core processor, USB, ethernet, wireless connectivity, and voice
detection engine in 1.7-inches square. The ROCK Pi S comes in two RAM sizes
256MB or 512MB DDR3, and uses an sdmmc card for OS and storage. Optionally,
some versions of the ROCK Pi S provide on-board storage via 1Gb/2Gb/4Gb/8Gb
of SLC NAND flash.
"S" stands for "small square" since the total board size of the rock-pi-s
is 1.7-inches square.
This BSP assumes booting from sdmmc, and using ttyS0 for the serial console
(similar to Raspberry Pi).
The latest version of the binary ddr initializer code from rkbin does not
provide a uart0 option, therefore all diagnostic output from rkbin and u-boot
is lost on the console (and replaced with a stream of gibberish until the
Linux kernel starts). Therefore, by default, the build assumes the user would
prefer to see this information and have the option to interact with U-Boot,
which means an older version of rkbin is used. The user can override this
decision by setting:
RKBIN_RK3308_LATEST = "1"
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Looking forward, rkbin should only be used by specific Rockchip platforms
for which TF-A support is not (yet?) available. If rkbin gets added by
accident without an override, add a bbfatal to let the user know an
override is required.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The goal of the default COMPATIBLE_MACHINE was to not allow
rockchip-rkbin to be even parsed if a MACHINE isn't part of the
COMPATIBLE_MACHINE.
However, COMPATIBLE_MACHINE is a regexp checked using Python's re module
approximately like:
"""
if re.match(COMPATIBLE_MACHINE, MACHINE):
return True
"""
and re.match() returns a match whatever MACHINE is if COMPATIBLE_MACHINE
is the empty string.
Therefore, let's change it to `^$` which only matches the empty string,
which shouldn't be possible for anything in MACHINEOVERRIDES, and if it
is there are probably bigger problems than parsing rockchip-rkbin.
Fixes: f8af59dd7cd7 ("rock-5b: add")
Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
|
|
Group and sort the DEPENDS.
Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Group the EXTRA_OEMAKE items together and sort.
Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Group the INIT_FIRMWARE_DEPENDS together and sort.
Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
According to the Yocto Recipe Style Guide[1] the tasks should be at the end.
[1] https://docs.yoctoproject.org/dev/contributor-guide/recipe-style-guide.html
Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Add support for the Radxa Rock 5B
https://wiki.radxa.com/Rock5/5b
The device-tree for this board is better in the 6.5 (and later) kernels,
therefore set the kernel to linux-yocto-dev for now (eventually this won't be
needed as linux-yocto moves forward).
Unfortunately the TF-A project does not currently have support for
the rk3588. Therefore, for the time-being, the only way to supply a
TPL/DDR-init for the rk3588 is to use the closed-source rkbin binaries
from Rockchip. If/when TF-A adds support for the rk3588 we can investigate
switching.
The rk3588 comes in two variants: rk3588 and rk3588s. The "s" option is a
stripped-down version of the rk3588. In the Linux kernel these two SoCs are
kept separate, with the rk3588 building on the rk3588s, so we've mimicked that
same behaviour here.
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
In anticipation of Rockchip SoC families to which the TF-A project has not
been ported, the initial boot firmware needs to come from other sources (e.g.
Rockchip's rkbin binaries). Update the variable used to describe this
dependency to be more generic and not TF-A specific.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Change virtual/arm-none-eabi-gcc-native to gcc-arm-none-eabi-native
following the recent modification in layer meta-arm (git commit
a64fb4a40d707795d9adb7736920fcbeaa7ce5e2) to remove provides.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Various machines require pyelftools Python3 library for parsing dtb files
so it should be added to DEPENDS.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The U-Boot build for rock-pi-4[abc] was recently changed to add information
for UEFI. The build now DEPENDS on gnutls-native.
U-Boot: e86c789ca372 ("rockpi4: board: Add firmware image information for capsule updates")
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Rockchip PX30 SoC is a quad-core ARM Cortex-A35 CPU fully implementing
the ARMv8-A instruction set with ARM Neon Advanced SIMD and Cryptography
Extensions.
This adds a base configuration file which can be included by PX30-based
boards and the required changes in U-Boot and TF-A for proper support.
Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
|
|
Not all Rockchip boards have their console running at 1500000 baud in
U-Boot and the kernel. Such is the case for puma-haikou RK3399-based
SoM+Carrierboard.
In order to prepare for the addition of puma-haikou to meta-rockchip,
let's replace the baudrate in TF-A by the one defined in the machine
conf file in the RK_CONSOLE_BAUD variable.
Cc: Quentin Schulz <foss+yocto@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
|
|
tf-a built with clang is bloated for rk3399 SOCs with 2.6+
it needs looking into, until then use gcc always to build it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Jon Mason <jon.mason@arm.com>
Cc: Ross Burton <ross.burton@arm.com>
|
|
The latest trusted-firmware-a recipe in meta-arm no longer considers
trusted-firmware-a to have potentially multiple providers.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
This has been included upstream see [1]
[1] https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f943b7c8e292e3aad2fcbdd0a37505f62b3b4c87%5E%21/#F0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
With bitbake commit 7dcf317cc141dc980634f8c18bfa84f83e57206a
("bitbake: Switch to using new override syntax"), applied on
Aug 2, 2021, the OVERRIDE separator is now a colon instead of
an underscore. Therefore all builds performed with a bitbake
before this change must use a meta-rockchip commit before this
one, and any builds performed with a bitbake after this change
must use a meta-rockchip starting from this commit onwards.
Build-tested for all meta-rockchip MACHINEs.
Run tested on:
- tinker-board
- nanopi-m4-2gb
- rock64
- rock-pi-4b
- rock-pi-e
The tinker-board and rock-pi-e work fine. The rest of the boards
seem to have a, hopefully unrelated, issue running a
5.13-yocto-standard kernel. However, all boards work with the
5.10-yocto-standard kernel.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Ross Burton <ross.burton@arm.com>
|
|
TF-A runs between two u-boot stages which both uses 1500000 baud, it
just makes no sense to use the same UART at a different rate.
Here is a sample session with the successive stages, with TF-A artificially
separated for emphasis:
[20210406-175438.135934] U-Boot TPL 2021.01 (Jan 11 2021 - 18:11:43)
[20210406-175438.135956] Channel 0: DDR3, 933MHz
[20210406-175438.236974] BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
[20210406-175438.237000] Channel 1: DDR3, 933MHz
[20210406-175438.237004] BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
[20210406-175438.237008] 256B stride
[20210406-175438.237012] Trying to boot from BOOTROM
[20210406-175438.237015] Returning to boot ROM...
[20210406-175438.237018]
[20210406-175438.573394] U-Boot SPL 2021.01 (Jan 11 2021 - 18:11:43 +0000)
[20210406-175438.573431] Trying to boot from MMC1
[20210406-175438.589254] NOTICE: BL31: v2.3():v2.3-dirty
[20210406-175440.534055] NOTICE: BL31: Built : 15:56:43, Apr 20 2020
[20210406-175441.393423] U-Boot 2021.01 (Jan 11 2021 - 18:11:43 +0000)
[20210406-175441.393429]
[20210406-175441.393433] SoC: Rockchip rk3399
Signed-off-by: Yann Dirson <yann@blade-group.com>
|
|
Add support for Radxa's ROCK Pi E device
https://wiki.radxa.com/RockpiE
It's a great surprise to find upstream U-Boot and the Linux kernel already
provide support for this board! On the kernel side this support was
added in 5.11. However, that support is so new that even linux-yocto-dev
(which is based on 5.11) doesn't include the commits that add support
for this board yet. As a result I've added a custom Linux kernel recipe
(linux-stable-bleeding) which should, in time, become unnecessary.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
We already have a dependency on meta-arm/meta-arm in order to build
tf-a (there's no point carrying our own recipe when there's a common,
consolidated one to use in meta-arm).
meta-arm/meta-arm now has a dependency on meta-arm/meta-arm-toolchain.
meta-arm-toolchain has a recipe for virtual/arm-none-eabi-gcc, so we might
as well use that too, and remove our own version. Note that using the
meta-arm-toolchain recipe required a small change to how the dependency is
specified.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Converts the build to pull the canonical TF-A recipe from meta-arm
instead of duplicating it in this layer.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
|
Upgrades arm-trusted-firmware to the latest version, which fixes a bug
where the RK3399 would hang during a warm reboot
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
|
This MACHINE hasn't built successfully in a long time. Remove it, and
everything associated with it that isn't used anywhere else.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Adds support for the rk3399 SoC. Notably:
*) Split out the default kernel config and image type from
rockchip-defaults.inc now that not all support chips are ARMv7
*) Apply a patch to Arm Trusted Firmware to fix a compile issue
*) Arm Trusted Firmware requires the arm-none-eabi-native compiler to
compile the M0 firmware.
*) Modify u-boot to pull in the ATF files when compiling
*) The rk3399 is support by the panfrost driver in mesa, so enable it
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
|
Adds a recipe to build Arm Trusted Firmware
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
|
Removes the u-boot-rockchip recipe. Upstream oe-core has dropped support
for Python2, which is required to build this recipe. It appears that no
machines are actually using it anymore, so it can be removed.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
|
Unfortunately, although the rock2-square is an rk3288-based device, its U-Boot
has not been updated to use the TPL+SPL/idbloader mechanism. This commit adds
back the previous U-Boot packaging but only for the rock2-square.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Recent versions of u-boot use a combined SPL/TPL (called idbloader.img)
in the loader1 partition, which then loads the full u-boot from the
loader2 partition. Update the GPT partition class to reflect this
change. Additionally, remove the u-boot bbappend since it is no longer
needed.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
|
The tinker-rk3288 MACHINE is no longer in need of a patch to disable I2C in
SPL. The latest _defconfig no longer enables this option by default.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The SPL for the Tinker Board has to fit into 32 KiB. Currently this limit
is exceeded.
CONFIG_SPL_I2C_SUPPORT is not needed to move to main U-Boot. So let's
disable it.
Suggested-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: David Wu <david.wu@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
This patch was imported from the U-Boot patchwork:
https://patchwork.ozlabs.org/patch/1049112/
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The upstream u-boot bootloader seems to work fine for both the tinker-rk3288
and the firefly-rk3288, so switch to it by default for rk3288 boards.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Make the location of the u-boot-rockchip patches recipe-specific.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
There was an update to the rockchip firmware bootloader that appears to
require an update to the u-boot bootloader as well.
The old firmware bootloader was: RK3288UbootLoader_V2.30.06.bin
The new firmware bootloader is: rk3288_ubootloader_v1.01.06.bin
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
It doesn't build, and hasn't been able to build in a long time. The point of
petitboot was to enable booting an image from uSD. Initially the rockchip
bootloaders did not support booting from uSD. However, more recent rockchip
bootloaders do support booting an image from uSD. If your board doesn't
support booting from uSD, try updating your device's in-flash bootloader.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The oe-core recipe was updated (2017.11 -> 2018.01), this recipe needs to be
updated to suit. Note, however, that this u-boot from rockchip is at version
2017.07.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The oe-core recipe was updated (2017.09 -> 2017.11), this recipe needs to be
updated to suit. Note, however, that this u-boot from rockchip is at version
2017.07.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The oe-core recipe was updated (2017.07 -> 2017.09), this recipe needed to be
updated to suit. However, this u-boot (from rockchip) is at version 2017.07.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The oe-core recipe was updated (2017.05 -> 2017.07), this recipe needed to
be updated to suit. However, this u-boot (from rockchip) is still at version
2017.05.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
|
The oe-core recipe was updated, this recipe needed to be updated to suit.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|