Skip to content

Commit e54846b

Browse files
committed
LX2K Support
Add support for the SolidRun Honeycomb LX2K board. SolidRun build scripts were used as a starting point. See https://github.com/SolidRun/lx2160a_build.git Signed-off-by: Jon Mason <[email protected]>
0 parents  commit e54846b

29 files changed

+12684
-0
lines changed

COPYING.MIT

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Permission is hereby granted, free of charge, to any person obtaining a copy
2+
of this software and associated documentation files (the "Software"), to deal
3+
in the Software without restriction, including without limitation the rights
4+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5+
copies of the Software, and to permit persons to whom the Software is
6+
furnished to do so, subject to the following conditions:
7+
8+
The above copyright notice and this permission notice shall be included in
9+
all copies or substantial portions of the Software.
10+
11+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17+
THE SOFTWARE.

README.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# meta-lx2k
2+
SolidRun Honeycomb LX2K layer for OpenEmbedded/Yocto
3+
4+
## Available Machines
5+
6+
* honeycomb_lx2k
7+
8+
## Yocto (Poky) Quick Start
9+
10+
The current setup verified to work on builds for SD card images at DDR speed of 2666
11+
12+
```text
13+
MACHINE=honeycomb_lx2k bitbake core-image-minimal
14+
dd if=tmp/deploy/images/honeycomb_lx2k/core-image-minimal-honeycomb_lx2k.wic of=/dev/sda bs=512
15+
```

conf/layer.conf

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# We have a conf and classes directory, add to BBPATH
2+
BBPATH .= ":${LAYERDIR}"
3+
4+
# We have a recipes-* directories, add to BBFILES
5+
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
6+
${LAYERDIR}/recipes-*/*/*.bbappend"
7+
8+
BBFILE_COLLECTIONS += "lx2k-layer"
9+
BBFILE_PATTERN_lx2k-layer = "^${LAYERDIR}/"
10+
BBFILE_PRIORITY_lx2k-layer = "5"
11+
12+
LAYERSERIES_COMPAT_lx2k-layer = "zeus"
13+

conf/machine/honeycomb_lx2k.conf

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#@TYPE: Machine
2+
#@NAME: SolidRun HoneyComb LX2K
3+
#@DESCRIPTION: A NXP LX2160A based development board
4+
5+
require conf/machine/include/arm/arch-arm64.inc
6+
7+
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-lx2k"
8+
UBOOT_MACHINE ?= "lx2160acex7_tfa_defconfig"
9+
UBOOT_ENTRYPOINT = "0x80080000"
10+
UBOOT_DTB_LOADADDRESS = "0x90000000"
11+
12+
PREFERRED_PROVIDER_virtual/kernel ?= "linux-lx2k"
13+
KERNEL_IMAGETYPE = "Image.gz"
14+
KERNEL_DEVICETREE = "freescale/fsl-lx2160a-cex7.dtb"
15+
KERNEL_CLASSES = "kernel-fitimage"
16+
KERNEL_IMAGETYPES = "fitImage"
17+
18+
FIT_HASH_ALG = "crc32"
19+
20+
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
21+
EXTRA_IMAGEDEPENDS += "rcw atf ddr-phy-binary qoriq-mc-binary mc-utils"
22+
23+
IMAGE_BOOT_FILES ?= "fsl-lx2160a-cex7.dtb fitImage"
24+
IMAGE_FSTYPES_append = " wic ext4"
25+
WKS_FILE ?= "honeycomb-lx2k-sd-image.wks"
26+
27+
SERIAL_CONSOLES = "115200;ttyAMA0"
28+
29+
# Available DDR speed options are 2400, 2600, 2900, and 3200
30+
DDR_SPEED = "2600"
31+
32+
# Available SerDes configs are 8_5_2 (8x10g), 13_5_2 (dual 100g), or 20_5_2 (dual 40g)
33+
SERDES = "8_5_2"
34+
35+
# Boot image location, sd or xspi
36+
BOOT = "sd"

recipes-bsp/atf/atf_1.5.bb

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
DESCRIPTION = "Trusted Firmware-A for lx2k"
2+
LICENSE = "BSD-3-Clause"
3+
4+
inherit deploy
5+
6+
SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/atf;protocol=https;nobranch=1 \
7+
file://0001-plat-nxp-Add-lx2160acex7-module-support.patch \
8+
"
9+
SRCREV = "7faac4fc1f375442ec19e468471d43684c9821ca"
10+
11+
LIC_FILES_CHKSUM = "file://license.rst;md5=e927e02bca647e14efd87e9e914b2443"
12+
S = "${WORKDIR}/git"
13+
14+
export CROSS_COMPILE = "${TARGET_PREFIX}"
15+
CFLAGS[unexport] = "1"
16+
LDFLAGS[unexport] = "1"
17+
AS[unexport] = "1"
18+
LD[unexport] = "1"
19+
20+
#PROVIDES += "fiptool"
21+
DEPENDS += "u-boot-lx2k rcw"
22+
do_compile[depends] += "u-boot-lx2k:do_deploy"
23+
do_compile[depends] += "rcw:do_deploy"
24+
25+
do_clean() {
26+
oe_runmake -C ${S} distclean
27+
}
28+
29+
do_compile() {
30+
oe_runmake PLAT=lx2160acex7 all fip pbl BL33=${DEPLOY_DIR_IMAGE}/u-boot.bin RCW=${DEPLOY_DIR_IMAGE}/rcw_*_${DDR_SPEED}_${SERDES}_${BOOT}.bin TRUSTED_BOARD_BOOT=0 GENERATE_COT=0 BOOT_MODE=${BOOT} SECURE_BOOT=false
31+
}
32+
33+
do_deploy() {
34+
install -m 0644 ${S}/build/lx2160acex7/release/bl2_${BOOT}.pbl ${DEPLOYDIR}/
35+
install -m 0644 ${S}/build/lx2160acex7/release/fip.bin ${DEPLOYDIR}/
36+
install -m 0777 ${S}/tools/fiptool/fiptool ${DEPLOYDIR}/
37+
}
38+
addtask deploy before do_build after do_compile

0 commit comments

Comments
 (0)