Skip to content

Commit

Permalink
sync with lx2160a_build / support lx2162a som / retimer
Browse files Browse the repository at this point in the history
- support lx2162a som and clearfog evaluation board
- support 10/25Gbps speed switch at runtime
- support lx2160a cex7 sd1 protocol 18 w/ runtime 10/25G switch
- default lx2160a cex7 sd protocol 18
- update mc firmware to 10.37.0, supporting 10/25G switch
- split honeycomb and clearfog-cx into different machines
- enabled cortex-a72 toolchain flags
  • Loading branch information
Josua-SR committed Nov 2, 2024
1 parent 38518cc commit 46d620e
Show file tree
Hide file tree
Showing 48 changed files with 9,334 additions and 61 deletions.
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ Start in a **new empty directory** with plenty of free disk space - at least 30G
3. Initialise a build directory with example configuration files based on lx2160ardb, and appropriate shell environment variables:
source ./setup-env -m lx2160ardb-rev2 -b build_lx2160acex7-rev2
source ./setup-env -m lx2160ardb-rev2 -b build_lx2160a-rev2-honeycomb
4. Adapt example configuration files for SolidRun LX2160A CEX7:
4. Adapt example configuration files for SolidRun LX2160A Honeycomb:
- edit `build_lx2160acex7-rev2/conf/bblayers.conf`:
Expand All @@ -36,11 +36,11 @@ Start in a **new empty directory** with plenty of free disk space - at least 30G
- edit `build_lx2160acex7/conf/local.conf`:
Set machine to `lx2160acex7-rev2`:
Set machine to `lx2160a-rev2-honeycomb`:
```diff
-MACHINE ??= 'lx2160ardb-rev2'
+MACHINE ??= 'lx2160acex7-rev2'
+MACHINE ??= 'lx2160a-rev2-honeycomb'
```
- See below for additional configuration options.
Expand Down Expand Up @@ -93,10 +93,14 @@ source SOURCE_THIS
This Layer supports the following machines:
| Machine | Description |
| ---------------- | ------------------------------------------------------------------------------------------ |
| lx2160acex7 | LX2160A COM-Express 7 on Clearfog-CX / Honeycomb LX2160A Silicon 1.0 (preview version) |
| lx2160acex7-rev2 | LX2160A COM-Express 7 on Clearfog-CX / Honeycomb, LX2160A Silicon 2.0 (production version) |
| Machine | Description |
| ------------------------ | ------------------------------------------------------------------------------ |
| lx2160a-clearfog-cx | LX2160A COM-Express 7 on Clearfog-CX, LX2160A Silicon 1.0 (preview version) |
| lx2160a-honeycomb | LX2160A COM-Express 7 on Honeycomb, LX2160A Silicon 1.0 (preview version) |
| lx2160a-rev2-cex6-evb | SolidRun-internal Evaluation Board, LX2160A Silicon 2.0 (production version) |
| lx2160a-rev2-clearfog-cx | LX2160A COM-Express 7 on Clearfog-CX, LX2160A Silicon 2.0 (production version) |
| lx2160a-rev2-honeycomb | LX2160A COM-Express 7 on Honeycomb, LX2160A Silicon 2.0 (production version) |
| lx2162a-rev2-clearfog | LX2162A SoM on Clearfog |
### DDR Clock
Expand All @@ -119,6 +123,7 @@ CPU (Cortex A72) Clock can be configured in local.conf using `LX2160A_CPU_SPEED`
Bus clock can be configured in local.conf using `LX2160A_BUS_SPEED`, supported values are:
- `650`
- `700` only for LX2160A binned 2GHz and higher (default)
- `750` (for over-clocking, or for specifically purchased 2.2GHz binned SoC)
Expand Down
17 changes: 17 additions & 0 deletions conf/machine/include/lx2160a-clearfog-cx.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# select DTBs
KERNEL_DEVICETREE ?= " \
freescale/fsl-lx2160a-clearfog-cx.dtb \
freescale/fsl-lx2160a-honeycomb.dtb \
"

# select DPL/DPC (config/lx2160a/LX2160A-<MC_FLAVOUR>/<DPL/DPC>)
# variable consumed in wks files
MC_DPC ?= "clearfog-cx-s1_8-s2_0-dpc.dtb"
MC_DPL ?= "clearfog-cx-s1_8-s2_0-dpl.dtb"

# select RCW
BOOTTYPE ?= "flexspi_nor sd emmc auto"
RCWXSPI ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_18_5_2_xspi"
RCWSD ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_18_5_2_sdhc"
RCWEMMC ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_18_5_2_sdhc"
RCWAUTO ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_18_5_2_auto"
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160ACEX6 EVB
#@NAME: SolidRun LX2160A CEX-6
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2160A Rev 2.0 Com-Express Type 6 Internal Evaluation Board
#@DESCRIPTION: Machine configuration for SolidRun Internal LX2160A Rev 2.0 COM-Express Type 6 Module

require conf/machine/include/qoriq-arm64.inc
require conf/machine/include/arm/arch-arm64.inc
require conf/machine/include/arm/armv8a/tune-cortexa72.inc

MACHINEOVERRIDES =. "fsl-lsch3:lx2160a:"
MACHINEOVERRIDES =. "lx2160a-cex6:fsl-lsch3:lx2160a:"

MACHINE_FEATURES:append = " optee "

Expand All @@ -16,13 +16,10 @@ KERNEL_IMAGETYPES = "fitImage"
DTB_LOAD = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"

UBOOT_CONFIG ??= "tfa-secure-boot tfa"
UBOOT_CONFIG ?= "tfa-secure-boot tfa"
UBOOT_CONFIG[tfa] = "lx2160acex7_tfa_defconfig,,u-boot-dtb.bin"
UBOOT_CONFIG[tfa-secure-boot] = "lx2160ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"

KERNEL_DEVICETREE ?= " \
freescale/fsl-lx2160a-cex6-evb.dtb \
"
KERNEL_DEFCONFIG ?= "defconfig"

SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
Expand All @@ -33,8 +30,6 @@ LX2160A_CPU_SPEED ?= "2000"
LX2160A_DDR_SPEED ?= "2900"

UEFI_XSPIBOOT ?= "LX2160ARDB_EFI_NORBOOT.fd"
BOOTTYPE ?= "auto"
RCWAUTO ?= "evb/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_3_3_2_auto"

EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy uefi qoriq-atf inphi"
USE_VT = "0"
Expand All @@ -47,10 +42,5 @@ IMAGE_BOOT_FILES:append = "${KERNEL_DEVICETREE}"
# select DPL/DPC source (config/lx2160a/LX2160A-<MC_FLAVOUR>)
MC_FLAVOUR ?= "CEX6"

# select DPL/DPC (config/lx2160a/LX2160A-<MC_FLAVOUR>/<DPL/DPC>)
# variable consumed in wks files
MC_DPC ?= "evb-s1_3-s2_0-dpc.dtb"
MC_DPL ?= "evb-s1_3-s2_0-dpl.dtb"

# select rev2 rcw
RCW_FOLDER ?= "lx2160acex6_rev2"
10 changes: 10 additions & 0 deletions conf/machine/include/lx2160acex7-rev2.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160A CEX-7
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2160A 2.0 COM-Express Type 7 Module

# select rev2 rcw
# set before lx2160acex7.inc which uses ?=, too
RCW_FOLDER ?= "lx2160acex7_rev2"

require conf/machine/include/lx2160acex7.inc
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160ACEX7
#@NAME: SolidRun LX2160A CEX-7
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2160A Rev 1.0 Com-Express Type 7 Module
#@DESCRIPTION: Machine configuration for SolidRun LX2160A Rev 1.0 COM-Express Type 7 Module

require conf/machine/include/qoriq-arm64.inc
require conf/machine/include/arm/arch-arm64.inc
require conf/machine/include/arm/armv8a/tune-cortexa72.inc

MACHINEOVERRIDES =. "fsl-lsch3:lx2160a:"
MACHINEOVERRIDES =. "lx2160a-cex7:fsl-lsch3:lx2160a:"

MACHINE_FEATURES:append = " optee "

Expand All @@ -16,14 +16,10 @@ KERNEL_IMAGETYPES = "fitImage"
DTB_LOAD = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"

UBOOT_CONFIG ??= "tfa-secure-boot tfa"
UBOOT_CONFIG ?= "tfa-secure-boot tfa"
UBOOT_CONFIG[tfa] = "lx2160acex7_tfa_defconfig,,u-boot-dtb.bin"
UBOOT_CONFIG[tfa-secure-boot] = "lx2160ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"

KERNEL_DEVICETREE ?= " \
freescale/fsl-lx2160a-clearfog-cx.dtb \
freescale/fsl-lx2160a-honeycomb.dtb \
"
KERNEL_DEFCONFIG ?= "defconfig"

SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
Expand All @@ -34,11 +30,6 @@ LX2160A_CPU_SPEED ?= "2000"
LX2160A_DDR_SPEED ?= "2900"

UEFI_XSPIBOOT ?= "LX2160ARDB_EFI_NORBOOT.fd"
BOOTTYPE ?= "flexspi_nor sd emmc auto"
RCWXSPI ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_8_5_2_xspi"
RCWSD ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_8_5_2_sdhc"
RCWEMMC ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_8_5_2_sdhc"
RCWAUTO ?= "clearfog-cx/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_8_5_2_auto"

EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy uefi qoriq-atf inphi"
USE_VT = "0"
Expand All @@ -51,7 +42,4 @@ IMAGE_BOOT_FILES:append = "${KERNEL_DEVICETREE}"
# select DPL/DPC source (config/lx2160a/LX2160A-<MC_FLAVOUR>)
MC_FLAVOUR ?= "CEX7"

# select DPL/DPC (config/lx2160a/LX2160A-<MC_FLAVOUR>/<DPL/DPC>)
# variable consumed in wks files
MC_DPC ?= "clearfog-cx-s1_8-s2_0-dpc.dtb"
MC_DPL ?= "clearfog-cx-s1_8-s2_0-dpl.dtb"
RCW_FOLDER ?= "lx2160acex7"
46 changes: 46 additions & 0 deletions conf/machine/include/lx2162asom-rev2.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#@TYPE: Machine
#@NAME: SolidRun LX2162A SoM
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2162A Rev 2.0 System on Module

require conf/machine/include/qoriq-arm64.inc
require conf/machine/include/arm/armv8a/tune-cortexa72.inc

MACHINEOVERRIDES =. "lx2162a-som:fsl-lsch3:lx2162a:"

MACHINE_FEATURES:append = " optee "

KERNEL_CLASSES = " kernel-fitimage "
KERNEL_IMAGETYPES = "fitImage"

DTB_LOAD = "0x90000000"
UBOOT_ENTRYPOINT = "0x80080000"

UBOOT_CONFIG ?= "tfa-secure-boot tfa"
UBOOT_CONFIG[tfa] = "lx2160acex7_tfa_defconfig,,u-boot-dtb.bin"
UBOOT_CONFIG[tfa-secure-boot] = "lx2160ardb_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin"

KERNEL_DEFCONFIG ?= "defconfig"

SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"

LX2160A_BUS_SPEED ?= "650"
LX2160A_CPU_SPEED ?= "2000"
LX2160A_DDR_SPEED ?= "2900"

UEFI_XSPIBOOT ?= "LX2160ARDB_EFI_NORBOOT.fd"

EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy uefi qoriq-atf inphi"
USE_VT = "0"

# install the vendor-prefixed dtbs
# Note: must keep the non-prefixed versions in place,
# to ensure bootimg-partition.py does not mess with extlinux.conf fdtdir
IMAGE_BOOT_FILES:append = "${KERNEL_DEVICETREE}"

# select DPL/DPC source (config/lx2162a/LX2162A-<MC_FLAVOUR>)
MC_FLAVOUR ?= "SOM"

# select rev2 rcw
RCW_FOLDER ?= "lx2162asom_rev2"
7 changes: 7 additions & 0 deletions conf/machine/lx2160a-clearfog-cx.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160A Clearfog-CX
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2160A 1.0 Clearfog CX Board

require conf/machine/include/lx2160acex7.inc
require conf/machine/include/lx2160a-clearfog-cx.inc
7 changes: 7 additions & 0 deletions conf/machine/lx2160a-honeycomb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160A Honeycomb
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2160A 1.0 Honeycomb Board

require conf/machine/include/lx2160acex7.inc
require conf/machine/include/lx2160a-clearfog-cx.inc
21 changes: 21 additions & 0 deletions conf/machine/lx2160a-rev2-cex6-evb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160A CEX-6 EVB
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun Internal LX2160A Rev 2.0 COM-Express Type 6 Evaluation Board

require conf/machine/include/lx2160acex7.inc
require conf/machine/include/lx2160a-clearfog-cx.inc

# select DTBs
KERNEL_DEVICETREE ?= " \
freescale/fsl-lx2160a-cex6-evb.dtb \
"

# select DPL/DPC (config/lx2160a/LX2160A-<MC_FLAVOUR>/<DPL/DPC>)
# variable consumed in wks files
MC_DPC ?= "evb-s1_3-s2_0-dpc.dtb"
MC_DPL ?= "evb-s1_3-s2_0-dpl.dtb"

# select RCW
BOOTTYPE ?= "auto"
RCWAUTO ?= "evb/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_3_3_2_auto"
7 changes: 7 additions & 0 deletions conf/machine/lx2160a-rev2-clearfog-cx.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160A Clearfog-CX
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2160A 2.0 Clearfog CX Board

require conf/machine/include/lx2160acex7-rev2.inc
require conf/machine/include/lx2160a-clearfog-cx.inc
7 changes: 7 additions & 0 deletions conf/machine/lx2160a-rev2-honeycomb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: SolidRun LX2160A Honeycomb
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2160A 2.0 Honeycomb Board

require conf/machine/include/lx2160acex7-rev2.inc
require conf/machine/include/lx2160a-clearfog-cx.inc
8 changes: 0 additions & 8 deletions conf/machine/lx2160acex7-rev2.conf

This file was deleted.

21 changes: 21 additions & 0 deletions conf/machine/lx2162a-rev2-clearfog.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#@TYPE: Machine
#@NAME: SolidRun LX2162A Clearfog
#@SOC: LSCH3
#@DESCRIPTION: Machine configuration for SolidRun LX2162A 2.0 Clearfog Board

require conf/machine/include/lx2162asom-rev2.inc


# select DTBs
KERNEL_DEVICETREE ?= " \
freescale/fsl-lx2162a-clearfog.dtb \
"

# select DPL/DPC (config/lx2162a/LX2162A-<MC_FLAVOUR>/<DPL/DPC>)
# variable consumed in wks files
MC_DPC ?= "clearfog-s1_3-s2_9-dpc.dtb"
MC_DPL ?= "clearfog-s1_3-s2_9-dpl.dtb"

# select RCW
BOOTTYPE ?= "auto"
RCWAUTO ?= "clearfog/rcw_${LX2160A_CPU_SPEED}_${LX2160A_BUS_SPEED}_${LX2160A_DDR_SPEED}_18_9_0_auto"
Loading

0 comments on commit 46d620e

Please sign in to comment.