configs/ls1046a-frwy: new defconfig

This is a development platform for the NXP LS1046A SoC.

The config is heavily based on the ls1028ardb_defconfig.

see https://www.nxp.com/design/software/qoriq-developer-resources/ls1046a-freeway-board:FRWY-LS1046A

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Brandon Maier 2023-09-21 21:56:33 +00:00 committed by Thomas Petazzoni
parent 09efcd5d26
commit a0f2b229b6
5 changed files with 186 additions and 0 deletions

View File

@ -521,6 +521,8 @@ F: package/iftop/
F: package/ncdu/
N: Brandon Maier <brandon.maier@collins.com>
F: board/freescale/ls1046a-frwy/
F: configs/ls1046a-frwy_defconfig
F: package/qoriq-fm-ucode/
F: package/unifdef/
F: package/vmtouch/

View File

@ -0,0 +1,29 @@
image sdcard.img {
hdimage {
}
partition fsbl {
offset = 4K
in-partition-table = "no"
image = "bl2_sd.pbl"
}
partition ssbl {
offset = 1M
in-partition-table = "no"
image = "fip.bin"
}
partition fman {
offset = 9M
in-partition-table = "no"
image = "fsl_fman_ucode_ls1046_r1.0_106_4_18.bin"
}
partition rootfs {
offset = 16M
partition-type = 0x83
bootable = "true"
image = "rootfs.ext4"
}
}

View File

@ -0,0 +1,90 @@
**************
NXP LS1046A-FRWY
**************
This file documents the Buildroot support for the LS1046A Freeway Board.
for more details about the board and the QorIQ Layerscape SoC, see the following pages:
- https://www.nxp.com/design/software/qoriq-developer-resources/ls1046a-freeway-board:FRWY-LS1046A
- https://www.nxp.com/FRWY-LS1046A
- https://www.nxp.com/docs/en/quick-reference-guide/FRWY-LS1046AGSG.pdf
for the software NXP LSDK (Layerscape Software Development Kit), see
- https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev21.08.pdf
the components from NXP are:
- rcw, LSDK 21.08
- atf (fork), LSDK 21.08
- uboot (fork), LSDK 21.08
- qoriq-fm-ucode (blob), LSDK 21.08
- linux (fork), LSDK 21.08
Build
=====
First, configure Buildroot for the LS1046A-FRWY board:
make ls1046a-frwy_defconfig
Build all components:
make
You will find in output/images/ the following files:
- bl2_sd.pbl
- fip.bin
- fsl_fman_ucode_ls1046_r1.0_106_4_18.bin
- fsl_fman_ucode_ls1046_r1.0_108_4_9.bin
- fsl-ls1046a-frwy.dtb
- fsl-ls1046a-frwy-sdk.dtb
- Image
- PBL.bin
- rootfs.ext2
- rootfs.ext4
- sdcard.img
- u-boot.bin
Create a bootable SD card
=========================
To determine the device associated to the SD card have a look in the
/proc/partitions file:
cat /proc/partitions
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/sdX
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/ls1046a-frwy/genimage.cfg.
Boot the LS1046A-FRWY board
=========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- Configure the switches SW1[1:9] = 0_0100_0000 (select SD Card boot option)
- put a Micro-USB cable into UART1 Port and connect using a terminal emulator
at 115200 bps, 8n1. Or remove the jumper on J72, connect a USB to TTL cable
to J73, and connect using a terminal emualtor at 115200 bps, 8n1.
- power on the board.
The front panel Ethernet connectors are off at boot, to bring them up run the
following commands.
1G PORT1
ip link set eth1 up
1G PORT2
ip link set eth2 up
1G PORT3
ip link set eth0 up
1G PORT4
ip link set eth3 up

View File

@ -0,0 +1,4 @@
label ls1046afrwy-buildroot
kernel /boot/Image
devicetree /boot/fsl-ls1046a-frwy-sdk.dtb
append console=ttyS0,115200 root=/dev/mmcblk0p1 earlycon=uart8250,mmio,0x21c0500 rootwait

View File

@ -0,0 +1,61 @@
# Architecture
BR2_aarch64=y
BR2_cortex_a72=y
# patches
BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches"
# Toolchain
# Linux headers same as kernel, a 5.10 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
# System configuration
BR2_TARGET_GENERIC_HOSTNAME="ls1046afrwy"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
BR2_SYSTEM_DHCP="eth0"
BR2_ROOTFS_OVERLAY="board/freescale/ls1046a-frwy/rootfs_overlay"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1046a-frwy/genimage.cfg"
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,LSDK-21.08)/linux-LSDK-21.08.tar.gz"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1046a-frwy freescale/fsl-ls1046a-frwy-sdk"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
# BR2_TARGET_ROOTFS_TAR is not set
# Bootloaders
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,LSDK-21.08)/atf-LSDK-21.08.tar.gz"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1046afrwy"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,LSDK-21.08)/u-boot-LSDK-21.08.tar.gz"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1046afrwy_tfa"
BR2_TARGET_UBOOT_NEEDS_DTC=y
# Firmware
BR2_PACKAGE_QORIQ_FM_UCODE=y
BR2_PACKAGE_QORIQ_FM_UCODE_PLATFORM="ls1046"
# Host utilities
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_QORIQ_RCW=y
BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_sdboot.bin"