Commit Graph

293 Commits

Author SHA1 Message Date
Khem Raj
966e8a3ffa layers: bump to use kirkstone
Its not going to be backward ABI compatible with honister due to variable
renaming.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-22 09:14:08 -05:00
Quentin Schulz
17703ee37b trusted-firmware-a: replace baudrate with the one specified in machine conf
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>
2021-12-17 13:08:48 -05:00
Trevor Woerner
6fed2791f1 override syntax fixup
The _virtual notation is not an override. These syntax "fixes" need to be
reverted.

In the case of the kernel override, when it was added, the rock-pi-e needed
the latest kernel (linux-yocto-dev) but now the default linux-yocto kernel
will suffice. So this mistake actually switched the rock-pi-e from
linux-yocto-dev back to linux-yocto inadvertently but at a time when
linux-yocto-dev was no longer required.

In the case of the bootloader overrides, u-boot was always the default, so
these overrides were always redundant.

Therefore, in the end, simply removing these overrides is the best way
forward (considering these aren't doing anything, and the builds are working
fine regardless).

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-12-13 17:32:36 -05:00
Khem Raj
b0f006ed86 trusted-firmware-a: Pin to use gcc for now
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>
2021-12-10 00:37:20 -05:00
Trevor Woerner
5b88b057e7 u-boot: remove "virtual" keyword in dependency
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>
2021-12-08 21:00:43 -05:00
Khem Raj
bd1899239b trusted-firmware-a: Drop 0001-Fix-build-with-gcc-11.patch
This has been included upstream see [1]

[1] f943b7c8e2%5E%21/#F0

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-08 20:59:37 -05:00
Trevor Woerner
26b758fc71 README: fixup wording
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-12-07 09:33:57 -05:00
Trevor Woerner
ef90c57b29 README: retain tabs vs spaces
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-12-07 09:33:26 -05:00
Khem Raj
d31a601900 README: Add intstructions to add patch template
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-07 09:31:38 -05:00
Markus Volk
c59ac324f7 rockchip.wks: use uuid for /boot during fstab-update
Since the recent patch to switch to UUIDs [0aa5e600: "use uuid
instead of hard-coding root device"] wic fstab-update is not able
to get the correct value for the used device anymore and falls to
the default 'sda'. Thus wrong /dev/sda entries are generated in fstab.

For partitions that should be updated automatically this can be avoided
by either generate entries using uuid or label.

[NOTE: I rearranged the order of the arguments so they line up]

Signed-off-by: MarkusVolk <f_l_k@t-online.de>
2021-10-05 16:26:13 -04:00
Trevor Woerner
fcd503f6c6 nanopi-m4: add common override
Add a common override for both nanopi-m4 MACHINEs.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-10-05 16:26:05 -04:00
Trevor Woerner
9534c174b1 include/nanopi-m4: remove KMACHINE
There is no "nanopi-m4" defined in any yocto kernel metadata (yet?), therefore
remove this superfluous line.

Build (core-image-base) and run tested (both systemd and sysvinit) on:
- nanopi-m4

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-10-05 16:25:59 -04:00
Trevor Woerner
e67152aed1 linux-yocto: remove mmc aliases
Now that we're booting via UUID, we no longer need these aliases in the DT.
Personally I wasn't able to prove to myself that they actually worked (at
least not with 5.13.y) and fiddling with these aliases didn't seem to affect
the mmc probe order on boot. Additionally it looks like some of these aliases
will be landing upstream shortly.

Build (core-image-base) and run tested (both systemd and sysvinit) on:
- rock64
- rock-pi-e

(i.e. the two rk3328 MACHINEs)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-10-05 16:25:53 -04:00
Markus Volk
ed3a97f7b2 rockchip-wic.inc: don't let wic edit fstab
For a while we've noticed that /etc/fstab ends up with "junk" appended to the
end e.g.:

	/dev/sda1       loader1 vfat    defaults        0       0
	/dev/sda2       reserved1       vfat    defaults        0       0
	/dev/sda3       reserved2       vfat    defaults        0       0
	/dev/sda4       loader2 vfat    defaults        0       0
	/dev/sda5       atf     vfat    defaults        0       0
	/dev/sda6       /boot   vfat    defaults        0       0

In most cases this doesn't appear to affect the systems negatively.
However, with the recent patch to switch to UUIDs [0aa5e600: "use uuid
instead of hard-coding root device"] this started becoming an issue on systems
using systemd. Therefore we need to stop wic from adding these junk entries so
that systems continue to boot correctly.

Build tested with core-image-base, nodistro, with both sysvinit and systemd
for:
- marsboard-rk3066
- rock2-square
- firefly-rk3288
- vyasa-rk3288
- nanopi-m4[-2gb]
- tinker-board[-s]
- rock-pi-e
- rock-pi-4[abc]
- rock64

Run tested, core-image-base, both sysvinit and systemd on:
- tinker-board
- rock-pi-e
- rock-pi-4b
- rock64

Commit message updated by Trevor Woerner <twoerner@gmail.com>

Tested-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: MarkusVolk <f_l_k@t-online.de>
2021-09-25 10:34:49 -04:00
Trevor Woerner
0aa5e60054 use uuid instead of hard-coding root device
Recent upstream kernel changes have made the mmc probing order unpredictable.
Therefore, boards with both an emmc and sdmmc interface aren't guaranteed to
boot with a hard-coded root device selected.

For example, on the rock64, with linux-yocto 5.10.y, using the uSD card (i.e.
the sdmmc interface) about 50% of the time the boot would succeed, and roughly
50% of the time it wouldn't:

	...
	[    0.612233] Waiting for root device /dev/mmcblk1p7...
	[    0.634551] mmc_host mmc1: Bus speed (slot 0) = 300000Hz (slot req 300000Hz, actual 300000HZ div = 0)
	[    0.639064] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ di)
	[    0.640007] mmc0: new high speed SDXC card at address 5048
	[    0.641176] mmcblk0: mmc0:5048 SD64G 58.0 GiB
	[    0.647610] random: fast init done
	[    0.648279] GPT:Primary header thinks Alt. header is not at the end of the disk.
	[    0.648941] GPT:376479 != 121634815
	[    0.649252] GPT:Alternate GPT header not at the end of the disk.
	[    0.649796] GPT:376479 != 121634815
	[    0.650106] GPT: Use GNU Parted to correct GPT errors.
	[    0.650598]  mmcblk0: p1 p2 p3 p4 p5 p6 p7

NOTE the discrepancy between the kernel waiting for device /dev/mmcblk1p7,
which comes from the hard-coded kernel cmdline, and the kernel probing putting
the sdmmc on mmcblk0.

With linux-yocto 5.13.y on the rock64 using the uSD card the board would never
boot, the sdmmc always appears on mmcblk0.

Instead of simply changing the hard-coded root device (i.e. from mmcblk0 to
mmcblk1) switch to using partition UUIDs instead. Hard-coding the boot device
would work with 5.13.y but would fail 50% of the time with 5.10.y; who knows
what other kernels will do?

In any case, switching to UUIDs works regardless of board, kernel, or
available mmc interfaces.

Boot tested on:
- rock64
- nanopi-m4-2gb
- tinker-board
- rock-pi-e
- rock-pi-4b

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-09-20 12:52:03 -04:00
Trevor Woerner
9f572e704e rock64: enable lima with rock64
The rock64 has an ARM Mali 450 MP2 GPU, therefore enable mesa's lima for
accelerated, open-source graphics.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-09-17 11:10:31 -04:00
Khem Raj
08f16f40c2 linux-yocto_5.4: Drop bbappend
5.4 recipe has been dropped from oe-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-19 10:14:35 -04:00
Khem Raj
4ed72a368a machines: Adjust for new location of tune files in core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-19 10:14:35 -04:00
Trevor Woerner
0ac8152377 rockchip-gpt-img: fix for new override syntax
It looks like I missed a case for the new bitbake override syntax. My tests
weren't done from a fresh build so either a preexisting image was still
available, or the unfixed syntax caused a race.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-08-10 15:31:42 -04:00
Trevor Woerner
335bfcbf8d switch to the new bitbake OVERRIDE syntax
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>
2021-08-04 21:59:14 -04:00
Trevor Woerner
a3ef99b596 layer.conf: update layer compatibility for honister
Add honister, remove hardknott.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-04 21:59:00 -04:00
Trevor Woerner
88a9704bd6 remove LINUX_VERSION_EXTENSION
Adding "-rockchip" to the Linux kernel name implies, to me anyway, that this
is a vendor kernel. The PREFERRED_PROVIDERs of all kernels specified in this
BSP are upstream linux-yocto kernels, not vendor kernels. Therefore remove the
version name extension to avoid confusion.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-07-26 21:05:44 -04:00
Trevor Woerner
2b58202db1 rock-pi-e: update preferred kernel
The latest updates to linux-yocto-dev now include support for the rock-pi-e so
do away with our custom recipe and use the one from oe-core.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-07-26 21:05:34 -04:00
Trevor Woerner
2cf5a03eaa wic/wks cleanup
By exporting a couple more variables the wks file for every rockchip device
can be built from one template instead of having separate wks files for each
board and platform.

The following BSP variables were checked before and after this change to make
sure they remained valid/sensible:
- WKS_FILE
- UBOOT_SUFFIX
- SPL_BINARY
- IMAGE_FSTYPES

Built-tested for every MACHINE in this BSP.

Run-tested on the following devices to ensure they continue to boot correctly
to a cmdline (core-image-base):
- tinker-board
- rock-pi-e
- rock-pi-4b
- rock64
- nanopi-m4-2gb

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-06-30 12:11:52 -04:00
Trevor Woerner
1b38edb292 IMAGE_FSTYPES: remove ext4
The ext4 IMAGE_FSTYPES does not need to be mentioned explicitly. It will be
automatically generated in cases where it is needed.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-06-30 12:11:51 -04:00
Trevor Woerner
9b9325eb68 conf/machine/include/nanopi-m4.inc: add full include path
Specify the full include path to the rk3399.inc file.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-06-30 12:11:51 -04:00
Trevor Woerner
62d4201415 conf/machine/include/rockchip-wic.inc: create
Create a conf/machine/include/rockchip-wic.inc file to contain all the common
wic/wks things for easy inclusion by any MACHINEs that use wic for their image
creation.

NOTE: the wic image type of rock-pi-e changed from "wic.xz" to "wic" which
      matches all the other meta-rockchip MACHINEs that use wic

The following variables were checked before and after to make sure they remain
correct/sensible:
- IMAGE_FSTYPES
- WKS_FILE_DEPENDS
- IMAGE_BOOT_FILES
- RK_CONSOLE_BAUD
- RK_CONSOLE_DEVICE
- RK_BOOT_DEVICE
- SERIAL_CONSOLES
- WICVARS

Build-tested for all currently-defined MACHINEs.

Boot-tested on the following boards to make sure they continue to boot to a
console correctly (core-image-base):
- tinker-board
- rock64
- rock-pi-4b
- rock-pi-e
- nanopi-m4-2gb

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-06-28 11:13:21 -04:00
Trevor Woerner
8cd56cdcd8 console cleanup
Consolidate all the various console definitions to the common
conf/machine/include/rockchip-defaults.inc file and create
RK_CONSOLE_BAUD and RK_CONSOLE_DEVICE variables that can be
reused in the wks files.

The following variables were checked before and after this patch
to make sure they are sensible:
- SERIAL_CONSOLES
- RK_CONSOLE_DEVICE
- RK_CONSOLE_BAUD

A boot test was performed on the following boards to make sure
they all continue to boot to a cmdline:
- tinker-board
- rock-pi-e
- nanopi-m4-2gb
- rock64
- rock-pi-4b

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-06-27 14:43:56 -04:00
Khem Raj
41596bb21b qtbase: Add needed bbappend for rk3399 SOCs
This ensures that DISTRO_FEATURES can translate correctly
for qtbase PACKAGECONFIGs and we can get right platforms enabled.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-23 15:43:26 -04:00
Trevor Woerner
04fb5bc388 rock-pi-e: use common rk3328.inc
Now that there is a second rk3328-based MACHINE (rock64) switch rock-pi-e to
use the common rk3328 include.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-06-23 11:35:42 -04:00
Yann Dirson
7c7e5b9e59 rock64: add machine
This is a RK3328 board from Pine64.
Board details at https://wiki.pine64.org/wiki/ROCK64.

Default image is built to boot from SD-card.  Building an image for
eMMC requires to set RK_BOOT_DEVICE="mmcblk0".

Signed-off-by: Yann Dirson <yann@blade-group.com>
2021-06-17 22:29:22 -04:00
Khem Raj
838514a031 trusted-firmware-a: Fix rk3399 build with gcc11
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Ross Burton <ross.burton@arm.com>
2021-05-12 12:07:28 -04:00
Yann Dirson
1cd4996051 NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES
Signed-off-by: Yann Dirson <yann@blade-group.com>
2021-05-04 17:05:02 -04:00
Yann Dirson
3111beaae5 NanoPi-M4: let all variants use the same KMACHINE type
This will allow us to define a single set of kernel BSP for all
variants of the board (which only need to differ in u-boot dts).

Signed-off-by: Yann Dirson <yann@blade-group.com>
2021-05-04 17:04:51 -04:00
Yann Dirson
d47180f7f6 trusted-firmware-a: use 1500000 baud for serial console
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>
2021-04-08 13:02:47 -04:00
Yann Dirson
cd11f61a51 linux-yocto: reduce bbappend duplication
Signed-off-by: Yann Dirson <yann@blade-group.com>
2021-04-03 21:53:32 -04:00
Trevor Woerner
5c5b586063 README: update list of supported boards
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-03-23 10:17:55 -04:00
Yann Dirson
cde5e745be NanoPi-M4: add machines
We have two board variants, respectively with 2GB and 4GB RAM.

Signed-off-by: Yann Dirson <yann@blade-group.com>
2021-03-23 10:15:03 -04:00
Trevor Woerner
3d9acf6d52 README: update mailing list info
The Yocto Project mailing lists migrated to a new system and email address a
while back. Update the README with the up-to-date information.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-03-23 10:15:02 -04:00
Trevor Woerner
bafc4a2fda update layer compatibility
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-03-21 13:47:56 -04:00
Khem Raj
019ee14cf9 layer.conf: Add hardknott to compatible release branches
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-03-18 09:40:44 -04:00
Trevor Woerner
8703709519 tinker board: refactor machine config
Create a common conf/machine/include/tinker.inc and re-spin
    - conf/machine/tinker-board.conf
    - conf/machine-tinker-board-s.conf
to just contain the differences.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-03-04 23:37:13 -05:00
Trevor Woerner
d6ffd0afc4 COMPATIBLE_MACHINE cleanup
The COMPATIBLE_MACHINE strings were getting unwieldy, so switch to the
MACHINEOVERRIDE notation so they're neater.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-03-04 23:36:44 -05:00
Trevor Woerner
43de504d48 rock-pi-e: add
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>
2021-02-26 22:14:28 -05:00
Joshua Watt
ad65fd7736 rock-pi-4: Split our variant machines
Splits out the three variants of the rock-pi-4 (A, B & C) into their own
machines. Unfortunately, it is not possible to have a single machine
that works for all three, as there isn't any known ways for the
bootloader to distinguish them. The old rock-pi-4 machine is kept around
for use with older kernels

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2021-01-29 22:10:49 -05:00
Trevor Woerner
abafbdbacf linux-yocto_5.8.bbappend: remove associated patch
This should have been done in the last commit. Thanks Joshua Watt for pointing
this out to me.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-01-25 18:18:05 -05:00
Trevor Woerner
8831f3e2a9 linux-yocto_5.8.bbappend: remove
linux-yocto_5.8 has been removed from the list of kernels found in
openembedded-core, therefore this bbappend is no longer needed.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2021-01-23 14:35:14 -05:00
Joshua Watt
14ee5aa7c6 Fix Rock Pi 4 serial port
Fixes the serial port output stopping mid way through the boot process
by reverting the kernel commit that caused it.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2020-12-17 11:58:37 -05:00
Trevor Woerner
b6cb9881a7 LAYERSERIES_COMPAT: → gatesgarth
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2020-10-17 11:58:21 -04:00
Trevor Woerner
70c2725ae8 arm-none-eabi-gcc: remove
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>
2020-07-20 23:25:43 -04:00