Commit Graph

59 Commits

Author SHA1 Message Date
Alberto J Rodriguez Gallego
9ae4acf029 README: update patch submission guidelines URLs
Reviewed-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
Signed-off-by: Alberto J Rodriguez Gallego <alberto.rodriguez3153@ctag.com>
2025-12-19 08:48:23 -05:00
Trevor Woerner
29f213406f provide a filesystem overlay example
Most implementations that use an A/B, full-partition update mechanism
(such as RAUC configured for this scenario) need some way of preserving
system configurations in a location that survives updates. The RAUC demo
provided in this layer is an example of a full-partition update,
therefore provide an example of using a filesystem overlay to preserve
the /etc and /home locations.

This example is gated by a configuration knob:

	RK_OVERLAY_DEMO

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2025-12-12 15:44:25 -05:00
Michael Opdenacker
5bdd77a247 orangepi-3b: add
The Orange Pi 3B board is a Raspberry Pi sized single board computer
based on the Rockchip RK3566:

http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-3B.html

    Tech specs:
    - Rockchip RK3566 (4x Arm Cortex-A55 @ 1.6GHz)
    - Arm Mali-G52-2EE (OpenGL ES 1.1/2.0/3.0/3.1/3.2, Vulkan 1.1, OpenCL 2.0)
    - LPDDR4 RAM (2/4/8 GB)
    - µSD
    - SPI flash (16/32 MB)
    - optional eMMC pluggable module (16/32/64/128/256 GB)
    - Wi-Fi5 + Bluetooth 5.0, BLE
    - 1x USB 2.0 Type A OTG, 2x USB 2.0 Type A HOST, 1x USB 3.0 Type A Host
    - 1x HDMI (up to 4K @ 60fps)
    - 1x MIPI DSI LCD port
    - 1x MIPI CSI camera port
    - colour-coded 40-pin GPIO (uart, spi, i2c, pwm, gpio)
    - Gigabit Ethernet port
    - optional M.2 M-KEY PCIe port
    - 89 x 56 mm

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
2025-11-20 21:58:05 -05:00
Walter Werner SCHNEIDER
df4a83d8a4 rock-pi-4b-plus: add
The Radxa ROCK (Pi) 4B+ is a SBC with an overclocked RK3399 SoC (the OP1)
and it comes with WiFi5, BT5 and PoE Support.

Product Page:
https://radxa.com/products/rock4/4bp/

Documentation page:
https://docs.radxa.com/en/rock4/rock4ab-se

Specs:
- Rockchip OP1
- Dual-Core Arm Cortex-A72 @ 2.0GHz
- Quad-Core Arm Cortex-A53 @ 1.5GHz
- Arm Mali T860MP4 GPU
- OpenGL ES 1.1/2.0/3.0/3.1/3.2
- Vulkan 1.0
- OpenCL 1.1/1.2
- DirectX 11.1
- LPDDR4 RAM (2/4)
- Onboard eMMC (16/32/64/128 GB)
- 1x M.2 M-Key (4-lane PCIe 2.1) supports NVMe SSD
- 1x Micro SD Card Slot
- 1x HDMI
- 1x 4-lane MIPI DSI
- 1x 2-lane MIPI CSI
- IEEE 802.11 b/g/n/ac and Bluetooth 5.0 with BLE
- 1x Gigabit Ethernet with PoE support via an HAT
- 1x USB3 OTG/HOST port
- 1x USB3 HOST port
- 2x USB2 HOST ports
- 1x 4-ring 3.5mm Headphone Jack
- 40x GPIO, UART, SPI, I2C, PCM/I2S, SPDIF, PWM, ADC, 5V in and 3.3V out
- USB Type-C with PD and Quick Charge
- Dimensions: 85 mm x 56 mm

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Walter Werner SCHNEIDER <contact@schnwalter.eu>
2025-10-28 22:31:19 -04:00
Scott Murray
4fdc16878e nanopc-t6: add
The FriendlyElec NanoPC-T6 is a one-for-all high performance open
source platform for edge computing, designed and developed by the
FriendlyElec team.

Website:
    https://www.friendlyelec.com/index.php?route=product/product&path=69&product_id=292

Wiki:
    https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6

Specs:
- Rockchip RK3588 (4x ARM Cortex-A76 + 4x Cortex-A55)
- ARM Mali-G610 MP4 (OpenGLES 1.1, 2.0, and 3.2, OpenCL up to 2.2 and Vulkan 1.2)
- 4GB/8GB/16GB LPDDR4X
- µSD
- 32GB/64GB/256GB eMMC
- 32MB SPI NOR Flash
- 2x PCIe 2.5G Ethernet
- 1x USB 3.0 Type A, 1x USB Type C
- 2x USB 2.0 Type A (LTS model)
- 1x HDMI (4Kp60) in
- 2x HDMI (HDMI2.1, HDMI2.0, and HDMI1.4, 1x 8Kp60, 1x 4Kp60) out
- 2x 4-lane MIPI-CSI
- 2x 4-lane MIPI-DSI
- 1x M.2 M-Key connector with PCIe 3.0 x4
- 1x M.2 E-key connector with PCIe 2.1 x1 and USB2.0 Host
- 1x Mini PCIe for 3G/4G module (non-LTS model)
- 40-pin 2.54mm header (up to 2x SPIs, 6x UARTs, 1x I2Cs, 8x PWMs, 2x I2Ss, 28x GPIO)
- 110 x 80 mm

Upstream kernel support for the T6 has matured enough to be usable, so
add a machine configuration to allow people to migrate off of the older
bits in the Rockchip BSP layer.  Note that there are two variants of
the board, original and a newer "LTS" version that drops the MiniPCIe
slot for a modem for two extra USB 2.0 ports and adds a USB-C connector
for the debug UART.  Devicetrees for both are shipped.

Reviewed-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2025-08-05 17:42:41 -04:00
Trevor Woerner
fe7cfa748b fitimage rework
oe-core has completely re-written the fitImage support starting roughly at
commit [1], update meta-rockchip to match.

Most of the MACHINEs in meta-rockchip use a fitImage for the kernel, but
some don't. Create a boolean variable (RK_KERNEL_FITIMAGE), enabled by
default, to keep track of which ones do and which ones don't. Use this
variable to decide how to configure various image-related fields.

Build tested with all meta-rockchip MACHINEs both with and without RAUC.

Run tested on the following with RAUC configured:
	- nanopi-m4b
	- nanopi-r2s
	- radxa-zero-3e
	- rock-pi-4b
	- rock-pi-e
	- rock-pi-s

Run tested on the following without RAUC:
	- radxa-zero-3e
	- rock-pi-e
	- rock-pi-s

[1] oe-core: 3442d9297dca ("oe-selftest: fitimage: test external dtb")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2025-06-27 10:52:37 -04:00
Quentin Schulz
22d34ac570 bsp: rkbin: ddr: allow to customize DDR bin blob
Rockchip provides a tool to customize the DDR bin blob which can prove
to be extremely useful, for example if your HW doesn't follow the HW
reference design and uses a different UART controller or UART mux for
the serial console, or use a different baudrate.

If RKBIN_DDR_RECONFIGURE is set to 1 for a machine, a ddrbin_params.txt
needs to be provided for said machine and ddrbin_tool.py will be run
against it to generate a new custom binary with the desired config.

Note that future implementations may allow to provide configuration
through a different mechanism than a simple and difficult to
maintain/modify file. E.g. this doesn't really work well when one wants
to have this in sync with SERIAL_CONSOLES for example. But that may be
much harder to support as the serial controller index in
SERIAL_CONSOLES does not necessarily match the hardware index expected
by ddrbin_params.txt. It also doesn't provide the UART mux.

In any case, I believe this is a decent start at allowing customization
of the DDR bin blob without having to provide a blob directly in-tree.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-05-26 12:11:14 -04:00
Quentin Schulz
ca38f7cea5 bsp: rkbin: rkbin-ddr: use version and file variables for path matching
By using variables to give the path where to find the file to install,
it is easier for users to have a different SRCREV for their own machine.

Additionally, because glob patterns are now not used by default, it is
guaranteed only to match a single file.

The glob pattern for rk3308 has been hardcoded with the only file that
matches in the rkbin git repository at the currently used commit.

Reviewed-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
2024-12-15 22:51:10 -05:00
Paul M. B. Bendixen
3a8be31581 SOQuartz: add
The SOQuartz is a RK3566 based compute module and parts of Quartz64 series
The Model-A base board is one possible board that supports it

Website:
	https://pine64.org/devices/soquartz/
Wiki:
	https://wiki.pine64.org/wiki/SOQuartz

Specs:
- Rockchip RK3566 Quad-core ARM Cortex-A55@1.8GHz
- Mali-G52 2EE Bifrost GPU@800MHz
- Raspberry Pi 4 CM form factor
- RAM Memory Variants: 2GB, 4GB, 8GB LPDDR4.
- optional eMMC from 8GB to 128GB
- optional 128Mb SPI Flash
- 10/100/1000Mbps Ethernet
- WiFi 802.11 b/g/n/ac with Bluetooth 5.0

Exposed preripherals:
- 1x HDMI
- 2x DSI
- 1x eDP
- 1x LVDS
- 1x CSI 4-line
- 1x Ethernet
- 1x USB 2.0 OTG
- 1x SD
- 1x PCIe 1-line
- 28x GPIO

Model-A baseboard:
- 1x microSD - bootable
- 1x HDMI Port
- 2x USB A 2.0 Host
- 1x USB C 2.0 Host
- 1x 5 pin USB expansion
- 1x Ethernet w. PoE
- 1x 40 pole Pi2 compatible GPIO
- 1x MiPi-CSI 2 lanes
- 1x MiPi-CSI 4 lanes
- 1x MiPi-DSI 2 lanes
- 1x MiPi-DSI 4 lanes
- 1x PCIe open ended

Reviewed-by: Trevor Woerner <twoerner@gmail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Paul M. B. Bendixen <pbe@trifork.com>
2024-11-21 13:39:35 -05:00
Quentin Schulz
91a694e250 enable HW VPU decoding for SoCs that have stateless VPUs
v4l2codecs is the gstreamer plugin for V4L2 stateless video hardware
decoding. The Rockchip SoCs that have a VPU all seems to be based on
Hantro, RKVDEC or RKVDECv2, all stateless encoding/decoding VPUs.

Therefore, let's enable VPU decoding in Gstreamer whenever possible,
when the SoC supports it.

PX30, RK3066, RK3188, RK3288, RK3328, RK3399, RK356x and RK3588(s) all
have at least one Hantro VPU.

RK3328, RK3399, RK356x and RK3588(s) all have at least one
RKVDEC/RKVDECv2 VPU (though not necessarily supported in the upstream
kernel just yet).

=== PX30
Tested on PX30 Ringneck with with Haikou+Haikou Video Demo adapter:

$ gst-launch-1.0 filesrc location=$FILE ! parsebin ! v4l2slh264dec ! waylandsink

with FILE storing the path to any h264 file, e.g.
https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_h264.mov
https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov

Needed packages are:
- weston
- gstreamer1.0-plugins-bad (for waylandsink and v4l2slh264dec)
- gstreamer1.0-plugins-base (for parsebin)

A few frames are dropped every other second for 1080p but otherwise
smooth.

=== RK3399
Tested on RK3399 Puma with Haikou:

$ gst-launch-1.0 filesrc location=$FILE ! parsebin ! v4l2slh264dec ! waylandsink

with FILE storing the path to any h264 file, e.g.
https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov
https://download.blender.org/demo/movies/BBB/bbb_sunflower_2160p_30fps_normal.mp4.zip

Needed packages are:
- weston
- gstreamer1.0-plugins-bad (for waylandsink and v4l2codecs)
- gstreamer1.0-plugins-base (for parsebin)

=== RK3588

Tested on a RK3588 Tiger with Haikou+Haikou Video Demo adapter - on a
downstream v6.6 (upstream-based, not Rockchip BSP-based) with DSI
patches - :

$ gst-launch-1.0 filesrc location=$FILE ! parsebin ! v4l2slav1dec ! fakesink

with FILE storing the path to any AV1 file, e.g.
http://download.opencontent.netflix.com.s3.amazonaws.com/AV1/cmaf/spark-8b-59.94fps/spark_606kbps_432p.mp4
https://woolyss.com/f/av1-nosound-chimera.mp4
https://woolyss.com/f/av1-opus-sita.webm

Needed packages are:
- gstreamer1.0-plugins-bad (for fakesink and v4l2slav1dec)
- gstreamer1.0-plugins-base (for parsebin)

For some reason though, waylandsink is very choppy. Combining
fpsdisplaysink with fakesink shows a ~60fps when decoding the 432p file,
~24fps for the two others.
Note that 10b-depth isn't supported (at least in my setup).

Reviewed-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
2024-08-29 19:27:56 -04:00
Trevor Woerner
ea72b22f53 rauc demo: add
Add an example of implementing rauc on a rockchip board. Adding the meta-rauc
layer, adding 'rauc' to DISTRO_FEATURES, and enabling RK_RAUC_DEMO will build
an image using the example provided in dynamic-layers/rk-rauc-demo.

This example uses a simple A/B + D scheme (i.e. two root partitions and a
non-updated /data partition). Repartitioning occurs automatically on first
boot thanks to systemd's 'repart' mechanism.

NOTE:
- this example only works with systemd

If you wish to provide your own implementation, simply add the meta-rauc
layer, add 'rauc' to DISTRO_FEATURES, don't enable RK_RAUC_DEMO, and provide
your own implementation in a separate layer.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-06-27 09:12:40 -04:00
Trevor Woerner
b6280c610f README: sort MACHINE names
Previously the MACHINEs were listed in the order in which they were added to
the layer. Going forward, separate the list into 32 vs 64 bit, sort each of
those groups, while distinguishing between which boards support wic and which
don't.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-06-14 10:13:29 -04:00
Trevor Woerner
aefc2bf345 radxa-zero-3w: add
The Radxa ZERO 3e is an ultra-small, high-performance single board computer
based on the Rockchip RK3566, with a compact form factor, and rich interfaces.

	http://radxa.com/products/zeros/zero3w/

tech specs:
- Rockchip RK3566 (4x Arm Cortex-A55 @ 1.6GHz)
- Arm Mali-G52-2EE (OpenGL ES 1.1/2.0/3.0/3.1/3.2, Vulkan 1.1, OpenCL 2.0)
- LPDDR4 RAM (1/2/3/8 GB)
- µSD
- optional onboard eMMC (8/16/32/64 GB)
- IEEE 802.11 b/g/n/ac/ax(WiFi6), BT5.4 with BLE
- 1x USB 2.0 Type C OTG, 1x USB 3.0 Type C Host
- 1x µHDMI (1080p @ 60fps)
- 1x MIPI CSI camera port
- colour-coded 40-pin GPIO (uart, spi, i2c, pcm/i2s, pwm, gpio)
- 72mm x 30mm

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-06-14 10:13:29 -04:00
Trevor Woerner
ce59a4e3b8 radxa-zero-3e: add
The Radxa ZERO 3e is an ultra-small, high-performance single board computer
based on the Rockchip RK3566, with a compact form factor, and rich interfaces.

	http://radxa.com/products/zeros/zero3e/

tech specs:
- Rockchip RK3566 (4x Arm Cortex-A55 @ 1.6GHz)
- Arm Mali-G52-2EE (OpenGL ES 1.1/2.0/3.0/3.1/3.2, Vulkan 1.1, OpenCL 2.0)
- LPDDR4 RAM (1/2/3/8 GB)
- µSD
- GbE
- 1x USB 2.0 Type C OTG, 1x USB 3.0 Type C Host
- 1x µHDMI (1080p @ 60fps)
- 1x MIPI CSI camera port
- colour-coded 40-pin GPIO (uart, spi, i2c, pcm/i2s, pwm, gpio)
- 72mm x 30mm

NOTE: currently support for this board requires a U-Boot fork for the
bootloader, and linux-next for the kernel. Support will probably come in linux
kernel 6.11-ish, at which point U-Boot will then use that kernel's device tree
which means U-Boot support will come after the release of whichever kernel
includes support for this board.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-06-14 10:13:29 -04:00
Trevor Woerner
bdba46b6c8 user-selectable wic compression
For boards which build and boot wic images, the user can optionally specify
a compression using the WIC_COMPRESSION_EXTENSION variable. By default "wic"
images are built, but if the user would prefer, say "wic.xz" images, simply
specify:

	WIC_COMPRESSION_EXTENSION = ".xz"

in the configuration (e.g. conf/local.conf).

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-06-12 09:18:40 -04:00
Trevor Woerner
1f8a8d917b enable stored U-Boot environment
U-Boot has the ability to store its environment variables to a permanent
storage device. Whether or not it does so for any one specific device
depends on whatever settings are enabled in that specific device's
defconfig. In order to definitively configure U-Boot to be able to store
its environment into the device from which it boots, for any device
supported in this BSP, simply add the following to MACHINE_FEATURES:

	rk-u-boot-env

If enabled, there is now a second choice to make: should the build also
include the U-Boot environment in the image or not? The default environment,
as generated by U-Boot, can be included in the generated wic image. If it
is included, then flashing the image will also flash the default U-Boot
environment variables and settings, wiping out anything that might have been
there already. If it is not included then your device will either continue
using whatever environment happens to be there (if valid), or will not use any
stored environment if the stored environment has not been set or is invalid.
The variable which governs this behaviour is:

	RK_IMAGE_INCLUDES_UBOOT_ENV

By default this is set to "0", meaning that by default the image does not
contain the U-Boot environment. To enable this behaviour, enable this
variable. This variable only takes effect if rk-u-boot-env is listed in
MACHINE_FEATURES, and has no effect otherwise.

The script:

	scripts/dump-uboot-env-from-yocto-image.sh

can be used on a rockchip wic image to see the contents of the U-Boot
environment partition at build time.

Tested by booting the same image on both eMMC and SDcard with the following
devices, verifying the ability to read and write the U-Boot environment in
both U-Boot and Linux user-space, and that changes made in one are seen in the
other:
	rock-3a
	rock-5a
	rock-5b
	rock-pi-4b
	rock-pi-e
	rock64

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-05-23 15:47:18 -04:00
Trevor Woerner
faac4aac18 README: update submission information
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-28 11:03:31 -04:00
Stephen Chen
f7f2878e02 rock-4c-plus: add
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-20 16:20:37 -05:00
Trevor Woerner
3620d858ab rock-3a: add
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-20 16:20:37 -05:00
Abhisit Sangjan
959ba6dc52 orangepi-5-plus: add
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-20 16:20:37 -05:00
Trevor Woerner
09ead816cd roc-rk3308-cc: add
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-17 15:04:03 -05:00
Trevor Woerner
346a287ae2 roc-rk3328-cc: add
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>
2024-01-17 15:04:03 -05:00
Stephen Chen
655ba387b1 rock-5a: add
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-12-18 17:32:43 -05:00
Trevor Woerner
3d91ea1db4 rock-pi-s: add
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-11-02 15:51:36 -04:00
Trevor Woerner
e628b72ed4 nanopi-m4b: add
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-30 09:39:09 -04:00
Trevor Woerner
0bef49242f nanopi-r2s: add
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-02 18:58:58 -04:00
Trevor Woerner
f8af59dd7c rock-5b: add
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-29 09:00:24 -04:00
Trevor Woerner
3c678726a1 nanopi-r4s: add
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-21 22:48:41 -04: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
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
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
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
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
Joshua Watt
d269803649 Use TF-A recipe from meta-arm
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>
2020-06-25 16:38:48 -04:00
Trevor Woerner
d926dcdd54 veyron-speedy: remove machine
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>
2020-02-14 00:25:26 -05:00
Sergey 'Jin' Bostandzhyan
022877f438 Add tinker-board-s machine configuration
Asus Tinker Board-S has emmc on mmcblk1, this is also the default
configuration when building the image. If you need an image for booting
from the sd card set RK_BOOT_DEVICE to mmcblk0

Signed-off-by: Sergey Bostandzhyan <jin@mediatomb.cc>
2020-02-11 10:20:58 -05:00
Joshua Watt
0b7d842fca tinker-rk3288: Rename to tinker-board
Renames the tinker-rk3288 to match the convention of naming the machines
with the manufacturers official board name.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2020-02-03 11:05:55 -05:00
Joshua Watt
a0162457c5 rock-pi-4: Add machine
Adds the machine definition for the Rock Pi 4 based around the RK3399
SoC.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2020-01-27 16:32:28 -05:00
Trevor Woerner
cb595da70d README: update status
As of early 2019, U-Boot has been fixed and the firefly-rk3288 boots again.
Update the status in the README to reflect this change.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2019-05-08 10:04:22 -04:00
Trevor Woerner
35ef6a6100 README: re-write
Create a more modern README file for this BSP layer clarifying patch
submission, adding status and history, and removing build instructions
(which are better described with OE/Yocto Project documentation).

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2018-09-14 12:21:20 -04:00
Trevor Woerner
c84de579e2 README: remove bouncy email
The provided email for Romain doesn't appear to be valid anymore.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2018-08-30 09:42:16 -04:00
Trevor Woerner
42176d5b36 remove petitboot
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>
2018-04-15 00:57:37 -04:00
Trevor Woerner
40266ef478 README: cleanup
Remove references to poky fido, use consistent formatting, wrap lines, update
URLs, etc.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2018-04-15 00:57:37 -04:00
Trevor Woerner
c34d5bf9a2 README: remove irrelevant information
As of openembedded-core commit 2b3ae58f5eaecc8474761c543ff5347aa0e3c4c8 hardfp
is enabled by default.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Reviewed-by: Romain Perier <romain.perier@collabora.com>
2017-05-09 18:04:12 -04:00
Romain Perier
2d16766947 README: Update contribution section
Re-worded contribution section in order to send patches correctly on the
mainling list, including the correct headers in the mail (To: for
maintainers and Cc: for the ML)

Signed-off-by: Romain Perier <romain.perier@collabora.com>
2017-04-28 14:18:09 +02:00
Romain Perier
7525c6a895 README: Update informations in README
This updates obsolete informations in the README, like the suggested
version for oe-core or poky. It also updates my email address.

Signed-off-by: Romain Perier <romain.perier@collabora.com>
2017-02-19 11:56:07 +01:00
Trevor Woerner
2fae057dfc machine: remove DEFAULTTUNEs
The DEFAULTTUNE configuration should not be set at the BSP layer but in a
DISTRO layer (or a user's conf/local.conf). Remove the two DEFAULTTUNEs that
are currently in the layer and add a note in the README to inform users of
this issue and potential settings.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Reviewed-by: Romain Perier <romain.perier@collabora.com>
2017-02-18 18:05:44 +01:00
Romain Perier
ce7b1e8f23 README: Change my email
Signed-off-by: Romain Perier <romain.perier@gmail.com>
2016-11-23 17:04:13 +01:00