aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2 dayswic: add GPT partition names to partitionsHEADmasterTrevor Woerner
A filesystem label (/dev/disk/by-label) is a property of, and stored in, the filesystem itself. Partitions that are not destined to hold filesystems are not formatted, therefore it is not possible to assign filesystem labels to such partitions. However, if GPT partitioning is being used, GPT supports the notion of assigning labels/names to the partitions which are stored as part of the GPT partition table itself (instead of being stored in the filesystem in the partition). The naming is a bit confusing (different tools use different names) but `wic` calls this "--part-name", `lsblk` calls this "PARTLABEL", and `parted` calls this "name". In Linux user-space these partition labels are referenced via /dev/disk/by-partlabel and provide an excellent way of finding these GPT partitions regardless of which backing device is actually being used (e.g. mmcblk0, mmcblk1... i.e. emmc, sdcard...). An example where this would be handy is for interacting with a stored U-Boot environment. Another potential use would be to use one of the unused raw partitions to store information such as MAC addresses, serial numbers, etc. which could be set/updated "at the factory" as images are flashed. Tested with both systemd and sysvinit on both rock-pi-e and rock-pi-s. Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
7 daysu-boot: remove now-upstreamed rock-pi-e patchesTrevor Woerner
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>
2024-03-28README: update submission informationTrevor Woerner
The project now has a new mailing list dedicated to patches for projects that don't warrant their own mailing list. Please use this new mailing list when sending patches so as to not clutter up the main discussion mailing list and potentially deterring newcomers. Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-03-07rock-5[ab]: use regular yocto kernelTrevor Woerner
Upstream kernel support for both the rock-5a and rock-5b landed in version 6.5. Nanbield contained linux-yocto recipes for both 6.1 and 6.5 so it was best to simply have these MACHINEs use linux-yocto-dev. Post-nanbield oecore master only has a recipe for 6.6 (so far), therefore these two MACHINEs can use linux-yocto by default, instead of linux-yocto-dev. Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-03-05rockchip.wks: fix typoTrevor Woerner
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-02-29layer.conf: update for scarthgapTrevor Woerner
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-02-26rockchip.wks: wks file cleanupTrevor Woerner
Cleanup the elements of the wic/rockchip.wks file so that they take up less horizontal space. Reviewed-by: Quentin Schulz <foss+yocto@0leil.net> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-02-26remove /boot partitionTrevor Woerner
In order to boot successfully, most Rockchip SoCs require a specific partitioning scheme which was defined many years (and many SoCs) ago. That partitioning scheme places the SPL and U-Boot at specific offsets at the start of the boot block device: https://opensource.rock-chips.com/wiki_Partitions The Rockchip partitioning scheme goes on to also define the locations of a number of additional partitions, including the "boot" and "root" partitions. Since both the SPL and U-Boot have already been placed on the block device, the "boot" partition only contains the extlinux config file and the kernel+dtb/fitImage; it doesn't contain any bootloader artifacts (other than the extlinux config). The location of the SPL partition is a hard dependency since the BOOTROM etched inside the Rockchip SoCs is programmed to load and run a validated binary it finds at this location. The locations of the "boot" and "root" partitions are not so rigid since it is U-Boot which interacts with them. U-Boot is very flexible with how it finds boot components, and in its support for various devices, filesystems, sizes, etc. Both oe-core's U-Boot metadata and wic's bootimg-partition script contain logic to generate the extlinux pieces required for a bootloader to boot a Linux system. If both are enabled, the wic pieces silently clobber the U-Boot pieces. However, the mechanisms contained in the U-Boot metadata are much more flexible, from a user's point of view, than the mechanisms in wic's bootimg-partition. If a user wishes to setup some sort of A/B redundant update mechanism, they must have redundant root partitions (in order to update their filesystem contents) but they also need to have redundant boot partitions if they wish to update the kernel as part of their update mechanism. Pairing redundant kernel partitions with redundant filesystem partitions becomes unnecessarily complicated. Therefore it makes sense to combine the kernel and the filesystem into the same partition so that both the kernel and filesystem are updated, or rolled back, in lock-step as one unit. Specific kernel versions and configurations often have dependencies on user-space components and versions. The /boot location is not going away. This patch simply transfers responsibility for its creation to the more flexible U-Boot mechanism and includes the kernel as part of the same partition as the root filesystem. Not only does it add flexibility, it also makes update schemes more straightforward. Although having a separate /boot partition is a "requirement" of the Rockchip partitioning scheme, it is not an actual hard requirement when using a flexible, open-source bootloader (such as U-Boot) instead of using Rockchip's proprietary miniloader, preloader, and trust.img. Build-tested for all boards. Run-tested on: nanopi-m4-2gb, nanopi-m4b, nanopi-r2s, nanopi-r4s, roc-rk3328-cc, rock-3a, rock-5a, rock-5b, rock-pi-4b, rock-pi-e, rock-pi-s, rock64 Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-02-26rockchip.wks: add most Rockchip partitionsTrevor Woerner
Rockchip defines the expected layout/map of the default storage device. Fill out the wks description so it matches. https://opensource.rock-chips.com/wiki_Partitions There are 2 partitions at the start that can not be specified in rockchip.wks due to a limitation in wic which assumes all sizes (e.g. --size or --fixed-size) are specified in units of 1024 bytes. Since these partitions don't fall on 1024-byte boundaries, they can not be specified at this time. Note: in the Rockchip layout, not all partitions are expected to show up in the gpt partition table. While --no-table could be used to hide these partitions from the partition table, as specified in the wiki, there's no practical reason to do so. In fact, exposing these partitions in the partition table makes it easier and safer for users to interact with them. For example, a user dd'ing some data to a particular area would need to ensure they're using the correct offset and size values when accessing the raw disk directly. However being able to specify a partition ensures data won't accidentally "spill" out into adjacent regions. Note: there is a mistake in the Rockchip table (which I've copied verbatim here in this commit message but corrected in rockchip.wks). Going by the values of the "Start Sector", the size of the "reserved1" partition is listed as being 2x its actual size/number of sectors. Expected: Partition Start Sector Number of Sectors Partition Size PartNum in GPT Requirements MBR 0 00000000 1 00000001 512 0.5KB Primary GPT 1 00000001 63 0000003F 32256 31.5KB loader1 64 00000040 7104 00001bc0 4096000 2.5MB 1 preloader (miniloader or U-Boot SPL) Vendor Storage 7168 00001c00 512 00000200 262144 256KB SN, MAC and etc. Reserved Space 7680 00001e00 384 00000180 196608 192KB Not used reserved1 8064 00001f80 128 00000080 65536 64KB legacy DRM key U-Boot ENV 8128 00001fc0 64 00000040 32768 32KB reserved2 8192 00002000 8192 00002000 4194304 4MB legacy parameter loader2 16384 00004000 8192 00002000 4194304 4MB 2 U-Boot or UEFI trust 24576 00006000 8192 00002000 4194304 4MB 3 trusted-os like ATF, OP-TEE boot 32768 00008000 229376 00038000 117440512 112MB 4 kernel, dtb, extlinux.conf, ramdisk rootfs 262144 00040000 - - - -MB 5 Linux system Prior to this patch: # fdisk -l /dev/mmcblk1 GPT PMBR size mismatch (1504727 != 30375935) will be corrected by write. The backup GPT table is not on the end of the device. Disk /dev/mmcblk1: 14.48 GiB, 15552479232 bytes, 30375936 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 00000000-0000-0000-0000-00004D9B9EF0 Device Start End Sectors Size Type /dev/mmcblk1p1 64 8063 8000 3.9M Microsoft basic data /dev/mmcblk1p2 8064 8191 128 64K Microsoft basic data /dev/mmcblk1p3 8192 16383 8192 4M Microsoft basic data /dev/mmcblk1p4 16384 24575 8192 4M Microsoft basic data /dev/mmcblk1p5 24576 32767 8192 4M Microsoft basic data /dev/mmcblk1p6 32768 330955 298188 145.6M Microsoft basic data /dev/mmcblk1p7 330956 1504693 1173738 573.1M Linux filesystem New: # fdisk -l /dev/mmcblk1 GPT PMBR size mismatch (1504473 != 30375935) will be corrected by write. The backup GPT table is not on the end of the device. Disk /dev/mmcblk1: 14.48 GiB, 15552479232 bytes, 30375936 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 00000000-0000-0000-0000-00004D9B9EF0 Device Start End Sectors Size Type /dev/mmcblk1p1 64 7167 7104 3.5M Linux filesystem /dev/mmcblk1p2 7168 7679 512 256K Linux filesystem /dev/mmcblk1p3 7680 8063 384 192K Linux filesystem /dev/mmcblk1p4 8064 8127 64 32K Linux filesystem /dev/mmcblk1p5 8128 8191 64 32K Linux filesystem /dev/mmcblk1p6 8192 16383 8192 4M Linux filesystem /dev/mmcblk1p7 16384 24575 8192 4M Linux filesystem /dev/mmcblk1p8 24576 32767 8192 4M Linux filesystem /dev/mmcblk1p9 32768 330955 298188 145.6M Microsoft basic data /dev/mmcblk1p10 330956 1504439 1173484 573M Linux filesystem Reviewed-by: Quentin Schulz <foss+yocto@0leil.net> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-02-26rockchip.wks: specify fstypeTrevor Woerner
If the wks file doesn't specify, the assumption is that each partition contains a vfat-formatted filesystem. Most of the partitions in the Rockchip layout don't have filesystems. Implicitly setting the fstype to vfat causes wic to format the partitions. It doesn't make sense to format the rawcopy partitions as vfat just to immediately overwrite them with binaries, and it wastes time formatting partitions that won't ever be used as filesystems. Reviewed-by: Quentin Schulz <foss+yocto@0leil.net> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-02-26rockchip.wks: specify offsets in sectorsTrevor Woerner
In WIC, size arguments can be optionally specified using one of a variety of suffixes (e.g. K, M, G, etc.) thanks to sizetype(). One such suffix being "s/S" for handling sector sizes which are assumed to be 512 bytes, rather than the other size suffixes which are multiples of 1024 bytes. Using the s/S sizetype allows the definition to match the documentation. Unfortunately we can not use the s/S suffix for --fixed-size. Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-01-29rename u-boot bbappendTrevor Woerner
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>
2024-01-29allow user-provided WKS_FILETrevor Woerner
Allow the user to provide their own WKS_FILE in situations where they want a different layout (e.g. to support A/B updates). Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-01-24u-boot: make rock-pi-e patches only for rock-pi-eTrevor Woerner
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>
2024-01-24KERNEL_DEVICETREE: 32-bit re-orgTrevor Woerner
The upstream kernel reorganized the 32-bit arch/arm device-tree directory structure to separate out the device-trees by manufacturer (similar to the organization of the arch/arm64 device-trees). Update the references to 32-bit arm device-trees to match. This patch can now be applied since all pre-6.5-rc1 kernels have been removed from oe-core. NOTE: trying to build a post-6.5-rc1 32-bit kernel with this patch applied will fail Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Stephen Chen <stephen@radxa.com>
2024-01-22wic: implement wic list and tweak descriptionAndré Draszik
This now produces sensible output in wic list images wic list rockchip help Signed-off-by: André Draszik <git@andred.net>
2024-01-20rock-4c-plus: addStephen Chen
ROCK 4C Plus is a Rockchip RK3399-T based SBC from Radxa. Specs: - Rockchip RK3399-T, 2x Cortex-A72 @ 1.5GHz, 4x Cortex-A53@1GHz - Mali T860MP4 GPU - RaspberryPi 4 form factor - 64bit LPDDR4 - eMMC - Micro SD - SPI Nor Flash - Two Micro-HDMI (HDMI 4K and HDMI 2K) - 4-lane MIPI DSI - MIPI CSI - GbE LAN with Power over Ethernet (PoE) support - Wi-Fi 5 and BT5.0 wireless module - 3.5mm headphone jack - Four USB ports (two USB2.0 and two USB3.0) - RTC - LEDs - Power button - Pwm fan - 40-pin color expansion header https://wiki.radxa.com/Rock4/4cplus Signed-off-by: Stephen Chen <stephen@radxa.com>
2024-01-20rock-3a: addTrevor Woerner
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>
2024-01-20orangepi-5-plus: addAbhisit Sangjan
The Orange Pi 5 Plus is an RK3588-based SBC featuring: - Rockchip RK3588 4x Cortex-A76, 4x Cortex-A55 - Mali-G610 - 6TOPS NPU - 2x 2.5G ethernet ports – onboard NIC connected to PCIe 2.0 interface - 2x USB 2.0 host ports - 2x USB 3.0 host ports (exposed over USB 3.0 hub) - Type-C port featuring USB 2.0/3.0 and Alt-DP mode - PCIe 2.0/USB 2.0/I2S/I2C/UART on E.KEY socket - RTC - ES8388 on-board sound codec – jack in/out, onboard mic, speaker amplifier - SPI NOR flash - RGB LED (R is always on) - IR receiver - PCIe 3.0 on the bottom for NVMe, etc. - 40pin GPIO header (with gpio, I2C, SPI, PWM, UART) - Power, recovery and Mask ROM buttons - 2x HDMI out, 1x HDMI in - Slots/connectors for eMMC, uSD card, fan, MIPI CSI/DSI - 4 GB, 8 GB, 16 GB and 32 GB of RAM http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-plus.html Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Abhisit Sangjan <abhisit.sangjan@gmail.com>
2024-01-19rock-pi-e: apply upstream PHY fixTrevor Woerner
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>
2024-01-17roc-rk3308-cc: addTrevor Woerner
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>
2024-01-17u-boot: fix build for rk3308Trevor Woerner
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>
2024-01-17roc-rk3328-cc: addTrevor Woerner
AKA the "renegade" The ROC-RK3328-CC platform is built on the Rockchip RK3328 system-on-chip optimized for low cost, low power, and high performance IO. It features a high performance native USB 3.0 interface and Gigabit MAC. Specs: - RaspberryPi 2/3 form factor - quad-core ARM Cortex-A53 @ 1.5GHz - ARM Mali-450 MP2 - DDR4 RAM - USB 3.0 - GbE MAC https://libre.computer/products/roc-rk3328-cc/ https://wiki.t-firefly.com/ROC-RK3328-CC/intro.html Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-12-18rock-5a: addStephen Chen
The Radxa ROCK 5 Model A is an SBC in roughly a RaspberryPi-ish form factor packed with a wide range of class-leading functionality, features and expansion options. The ROCK 5A board comes in several LPDDR4x RAM memory options: 4GB, 8GB, 16GB, and 32GB. It uses the Rockchip RK3588S SoC (quad A76 @ 2.2GHz + quad A55 @ 1.8GHz, Mali G610mp4 GPU), has both 8k and 4k HDMI, Gb ethernet with PoE support, USB2/3, M.2 E Key (NVMe or SATA), a 40-pin RaspberryPi-ish 3V3 GPIO header, USB Type-C power, MIPI DSI/CSI, SDcard slot, optional eMMC, and more. https://wiki.radxa.com/Rock5/5b https://radxa.com/products/rock5/5a/ [ with the following tweaks by Trevor: - switch to information URL to one that points to information in english - improved the commit message - add rock-5a to README ] Signed-off-by: Stephen Chen <stephen@radxa.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-11-16allow KERNEL_IMAGETYPE overrideAnthony Davies
Update machine include files to allow overriding of KERNEL_IMAGETYPE. [ with the following 2 tweaks by Trevor: - remove the "v3" from the commit's subject - extended patch to rk3308 and rk3588s, which were added in between this patch being submitted, and this patch being applied ] Signed-off-by: Anthony Davies <anthony.t.davies@gmail.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-11-02rock-pi-s: addTrevor Woerner
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>
2023-10-30nanopi-m4b: addTrevor Woerner
NanoPi M4B is a RK3399-based (dual-core A72, quad-core A53 with NEON) board in the same form factor as the RPi B3+ (including compatible connectors) with onboard 2.4/5.0 dual-band WiFi + Bluetooth 5.0 with USB type-C power from FriendlyElec. https://www.friendlyelec.com/index.php?route=product/product&product_id=275 Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-10-30rockchip-rkbin: fail if lacking an overrideTrevor Woerner
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>
2023-10-25bsp: rkbin: fix default COMPATIBLE_MACHINE matching allQuentin Schulz
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>
2023-10-03u-boot cleanup: organize DEPENDSTrevor Woerner
Group and sort the DEPENDS. Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-10-03u-boot cleanup: group EXTRA_OEMAKETrevor Woerner
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>
2023-10-03u-boot cleanup: group dependenciesTrevor Woerner
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>
2023-10-03u-boot cleanup: move taskTrevor Woerner
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>
2023-10-02nanopi-r2s: addTrevor Woerner
The NanoPi R2S is a mini router with edge computing and dual GbE ports by FriendlyElec. It is based on the Rockchip RK3328 - a quad A53 core, 64-bit SoC running at 1.2GHz with at least 1GB of DDR4 RAM. It has one USB 2.0 host and is powered via a USB type-C connector (5V/2A). https://www.friendlyelec.com/index.php?route=product/product&product_id=282 Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-10-02rock-pi-e.conf: remove redundant MACHINEOVERRIDESTrevor Woerner
The MACHINE name is already added to the MACHINEOVERRIDES implicitly, no need to add it explicitly. Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-09-29rock-5b: addTrevor Woerner
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>
2023-09-29u-boot: rename firmware dependencyTrevor Woerner
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>
2023-09-21nanopi-r4s: addTrevor Woerner
Add a MACHINE definition for the FriendlyElec NanoPi R4S https://www.friendlyelec.com/index.php?route=product/product&product_id=284 Include a device-tree patch to enable the 2nd PCIe ethernet. Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-09-16linux-yocto: remove non-rockchip archsTrevor Woerner
Remove the non-rockchip architectures from the kernel build since these are all a waste of build time, filesystem space, and runtime memory. Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-09-10layer.conf: update LAYERSERIES_COMPAT for nanbieldMartin Jansa
* oe-core switched to nanbield in: https://git.openembedded.org/openembedded-core/commit/?id=f212cb12a0db9c9de5afd3cc89b1331d386e55f6 oe-core: f212cb12a0db ("layer.conf: Update to nanbield release series"). Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2023-07-25trusted-firmware-a_%.bbappend: gcc-arm-none-eabiLeon Anavi
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>
2023-07-05trusted-firmware-a: Add missing Upstream-StatusKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-06-09mesa: Enable Panfrost for PX30Witold Lipieta
PX30 has Mali G31 GPU and needs Mesa Panfrost for graphic acceleration. Signed-off-by: Witold Lipieta <witold.lipieta@thaumatec.com>
2023-05-19u-boot%.bbappend: pyelftoolsLeon Anavi
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>
2023-01-30rock-pi-4: remove MACHINETrevor Woerner
The last kernel to not split the rock-pi-4[abc] MACHINEs into separate device trees was 5.10. The linux-yocto kernels supported in this release are all after 5.10. Therefore remove the rock-pi-4 MACHINE. By now, on master, everyone should be selecting specific MACHINEs from one of the variants and not using "rock-pi-4". NOTE: this layer will continue to use "rock-pi-4" as a MACHINEOVERRIDE when the specific variant doesn't matter Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2023-01-30U-Boot: add DEPENDS for rock-pi-4[abc]Trevor Woerner
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>
2023-01-03layer.conf: update LAYERSERIES_COMPAT for mickledoremickledoreTrevor Woerner
oe-core switched to mickedore in: oe-core: 57239d66b933 ("layer.conf: Update to use mickledore as the layer series name") https://git.openembedded.org/openembedded-core/commit/?id=57239d66b933c4313cf331d35d13ec2d0661c38f Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2022-11-21rockchip.wic.inc: let wic update fstab againlangdaleQuentin Schulz
The commit ed3a97f7b2e4 ("rockchip-wic.inc: don't let wic edit fstab") removing this ability was introduced to fix an issue in the wic tool in OE-Core in which wic partitions whose "mountpoint" is not a valid path are still added to fstab. This was eventually fixed in OE-Core in commit 7aa678ce804c ("wic:direct.py: ignore invalid mountpoints during fstab update") which is part of release Honister (3.4) and later. Therefore, it should be safe to now let wic update fstab again for partitions with a valid mountpoint path. The benefit being that the wic partitions with a mountpoint are now automounted at boot. Cc: Quentin Schulz <foss+yocto@0leil.net> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2022-11-21rockchip-defaults: remove xf86-input-keyboardTrevor Woerner
xf86-input-keyboard was removed from openembedded-core at its commit: f1d7c33b64 (xf86-input-keyboard: remove the recipe, 2022-07-20). Therefore remove it from the XSERVER definition. Reviewed-by: Quentin Schulz <foss+yocto@0leil.net> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2022-10-20add support for PX30 SoCQuentin Schulz
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>