summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/machine/am65xx-evm-k3r5-sr2.conf11
-rw-r--r--conf/machine/am65xx-evm-k3r5.conf12
-rw-r--r--conf/machine/am65xx-evm.conf6
-rw-r--r--conf/machine/am65xx-hs-evm-k3r5.conf13
-rw-r--r--conf/machine/am65xx-hs-evm.conf20
-rw-r--r--conf/machine/include/k3.inc13
-rw-r--r--conf/machine/include/k3r5.inc23
-rw-r--r--conf/machine/j7-evm-k3r5.conf11
-rw-r--r--conf/machine/j7-hs-evm-k3r5.conf13
-rw-r--r--conf/multiconfig/k3r5-sr2.conf3
-rw-r--r--conf/multiconfig/k3r5.conf5
-rw-r--r--recipes-bsp/ti-sci-fw/ti-sci-fw_2020.04.bb94
-rw-r--r--recipes-bsp/u-boot/u-boot-ti.inc1
13 files changed, 219 insertions, 6 deletions
diff --git a/conf/machine/am65xx-evm-k3r5-sr2.conf b/conf/machine/am65xx-evm-k3r5-sr2.conf
new file mode 100644
index 00000000..c0b3cd51
--- /dev/null
+++ b/conf/machine/am65xx-evm-k3r5-sr2.conf
@@ -0,0 +1,11 @@
1#@TYPE: Machine
2#@NAME: AM65xx SR2.0 EVM (R5F)
3#@DESCRIPTION: Machine configuration for the TI AM65xx SR2.0 EVM (R5F core)
4
5# Booting SR2 requires different SYSFW, the rest is handled at runtime
6
7require conf/machine/am65xx-evm-k3r5.conf
8SOC_FAMILY_append = ":k3r5-sr2"
9
10SYSFW_SOC = "am65x_sr2"
11SYSFW_SYMLINK = "sysfw.itb"
diff --git a/conf/machine/am65xx-evm-k3r5.conf b/conf/machine/am65xx-evm-k3r5.conf
new file mode 100644
index 00000000..bd17474e
--- /dev/null
+++ b/conf/machine/am65xx-evm-k3r5.conf
@@ -0,0 +1,12 @@
1#@TYPE: Machine
2#@NAME: AM65xx EVM (R5F)
3#@DESCRIPTION: Machine configuration for the TI AM65xx EVM (R5F core)
4
5require conf/machine/include/k3r5.inc
6
7SYSFW_SOC = "am65x"
8SYSFW_CONFIG = "evm"
9SYSFW_SUFFIX = "gp"
10SYSFW_SYMLINK = ""
11
12UBOOT_MACHINE = "am65x_evm_r5_defconfig"
diff --git a/conf/machine/am65xx-evm.conf b/conf/machine/am65xx-evm.conf
index 3edbb296..62fa3609 100644
--- a/conf/machine/am65xx-evm.conf
+++ b/conf/machine/am65xx-evm.conf
@@ -4,6 +4,8 @@
4 4
5require conf/machine/include/am65xx.inc 5require conf/machine/include/am65xx.inc
6 6
7BBMULTICONFIG += "k3r5-sr2"
8
7MACHINE_FEATURES += "touchscreen" 9MACHINE_FEATURES += "touchscreen"
8 10
9SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1" 11SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1"
@@ -23,3 +25,7 @@ UBOOT_MACHINE = "am65x_evm_a53_defconfig"
23OPTEEMACHINE = "k3" 25OPTEEMACHINE = "k3"
24OPTEEFLAVOR = "am65x" 26OPTEEFLAVOR = "am65x"
25OPTEEOUTPUTMACHINE = "k3" 27OPTEEOUTPUTMACHINE = "k3"
28
29IMAGE_BOOT_FILES += "sysfw-am65x-evm.itb"
30do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
31do_image_tar[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy"
diff --git a/conf/machine/am65xx-hs-evm-k3r5.conf b/conf/machine/am65xx-hs-evm-k3r5.conf
new file mode 100644
index 00000000..2b06f2cc
--- /dev/null
+++ b/conf/machine/am65xx-hs-evm-k3r5.conf
@@ -0,0 +1,13 @@
1#@TYPE: Machine
2#@NAME: AM65xx HS EVM (R5F)
3#@DESCRIPTION: Machine configuration for the TI AM65xx HS EVM (R5F core)
4
5require conf/machine/include/k3r5.inc
6
7SYSFW_SOC = "am65x"
8SYSFW_CONFIG = "evm"
9SYSFW_SUFFIX = "hs"
10
11UBOOT_MACHINE = "am65x_hs_evm_r5_defconfig"
12
13TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}"
diff --git a/conf/machine/am65xx-hs-evm.conf b/conf/machine/am65xx-hs-evm.conf
index f9897504..6d20a0de 100644
--- a/conf/machine/am65xx-hs-evm.conf
+++ b/conf/machine/am65xx-hs-evm.conf
@@ -2,10 +2,28 @@
2#@NAME: AM65xx HS EVM 2#@NAME: AM65xx HS EVM
3#@DESCRIPTION: Machine configuration for the TI AM65xx HS EVM 3#@DESCRIPTION: Machine configuration for the TI AM65xx HS EVM
4 4
5require conf/machine/am65xx-evm.conf 5require conf/machine/include/am65xx.inc
6
7MACHINE_FEATURES += "touchscreen"
8
9SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1"
10SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
11
12KERNEL_DEVICETREE = " \
13 ti/k3-am654-base-board.dtb ti/k3-am654-gp.dtbo \
14 ti/k3-am654-evm-hdmi.dtbo ti/k3-am654-idk.dtbo \
15 ti/k3-am654-evm-oldi-lcd1evm.dtbo ti/k3-am654-evm-tc358876.dtbo \
16 ti/k3-am654-pcie-usb2.dtbo ti/k3-am654-pcie-usb3.dtbo \
17 ti/k3-am654-base-board-jailhouse.dtbo \
18 ti/k3-am654-evm-prupwm.dtbo \
19"
6 20
7UBOOT_MACHINE = "am65x_hs_evm_a53_defconfig" 21UBOOT_MACHINE = "am65x_hs_evm_a53_defconfig"
8 22
23OPTEEMACHINE = "k3"
24OPTEEFLAVOR = "am65x"
25OPTEEOUTPUTMACHINE = "k3"
26
9UBOOT_ENTRYPOINT = "0x80080000" 27UBOOT_ENTRYPOINT = "0x80080000"
10UBOOT_LOADADDRESS = "0x80080000" 28UBOOT_LOADADDRESS = "0x80080000"
11UBOOT_RD_LOADADDRESS = "0x84000000" 29UBOOT_RD_LOADADDRESS = "0x84000000"
diff --git a/conf/machine/include/k3.inc b/conf/machine/include/k3.inc
index 5e67f5f3..0c16d968 100644
--- a/conf/machine/include/k3.inc
+++ b/conf/machine/include/k3.inc
@@ -1,8 +1,12 @@
1# TI K3 Aarch64 profile for Cortex-A53/A72 cores
2
1require conf/machine/include/ti-soc.inc 3require conf/machine/include/ti-soc.inc
2SOC_FAMILY_append = ":k3" 4SOC_FAMILY_append = ":k3"
3 5
4require conf/machine/include/arm/arch-arm64.inc 6require conf/machine/include/arm/arch-arm64.inc
5 7
8BBMULTICONFIG += "k3r5"
9
6# Increase this everytime you change something in the kernel 10# Increase this everytime you change something in the kernel
7MACHINE_KERNEL_PR = "r0" 11MACHINE_KERNEL_PR = "r0"
8 12
@@ -34,9 +38,8 @@ MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne
34 38
35IMAGE_FSTYPES += "tar.xz wic.xz" 39IMAGE_FSTYPES += "tar.xz wic.xz"
36 40
37# Please note that booting K3 platform also requires 41IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} tiboot3.bin sysfw.itb"
38# tiboot3.bin and sysfw.itb, which are provided by meta-arago
39# u-boot-k3-r5 and ti-sci-fw recipes
40IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX}"
41WKS_FILE ?= "sdimage-3part.wks" 42WKS_FILE ?= "sdimage-3part.wks"
42do_image_wic[depends] += "u-boot:do_deploy" 43do_image_wic[depends] += "virtual/bootloader:do_deploy"
44do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
45do_image_tar[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy"
diff --git a/conf/machine/include/k3r5.inc b/conf/machine/include/k3r5.inc
new file mode 100644
index 00000000..52fcf38b
--- /dev/null
+++ b/conf/machine/include/k3r5.inc
@@ -0,0 +1,23 @@
1# TI K3 Armv7 profile for Cortex-R5F cores
2
3require conf/machine/include/ti-soc.inc
4SOC_FAMILY_append = ":k3r5"
5
6# The closest of existing tunes for Cortex-R5F
7DEFAULTTUNE = "armv7athf"
8require conf/machine/include/tune-cortexa8.inc
9
10# R5 runs early bootloader and loads SYSFW
11# https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/board/ti/am65x/README
12# https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/board/ti/j721e/README
13PREFERRED_PROVIDER_virtual/kernel = "linux-dummy"
14PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
15PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
16
17SPL_BINARY = ""
18UBOOT_SUFFIX = "bin"
19UBOOT_BINARY = "tiboot3.${UBOOT_SUFFIX}"
20UBOOT_IMAGE = "tiboot3-${MAINMACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
21UBOOT_SYMLINK = "tiboot3-${MAINMACHINE}.${UBOOT_SUFFIX}"
22
23PACKAGECONFIG_pn-u-boot-ti-staging = ""
diff --git a/conf/machine/j7-evm-k3r5.conf b/conf/machine/j7-evm-k3r5.conf
new file mode 100644
index 00000000..b9e8cc01
--- /dev/null
+++ b/conf/machine/j7-evm-k3r5.conf
@@ -0,0 +1,11 @@
1#@TYPE: Machine
2#@NAME: J7 EVM (R5F)
3#@DESCRIPTION: Machine configuration for the TI J7 EVM (R5F core)
4
5require conf/machine/include/k3r5.inc
6
7SYSFW_SOC = "j721e"
8SYSFW_CONFIG = "evm"
9SYSFW_SUFFIX = "gp"
10
11UBOOT_MACHINE = "j721e_evm_r5_defconfig"
diff --git a/conf/machine/j7-hs-evm-k3r5.conf b/conf/machine/j7-hs-evm-k3r5.conf
new file mode 100644
index 00000000..53a7016f
--- /dev/null
+++ b/conf/machine/j7-hs-evm-k3r5.conf
@@ -0,0 +1,13 @@
1#@TYPE: Machine
2#@NAME: J7 HS EVM (R5F)
3#@DESCRIPTION: Machine configuration for the TI J7 HS EVM (R5F core)
4
5require conf/machine/include/k3r5.inc
6
7SYSFW_SOC = "j721e"
8SYSFW_CONFIG = "evm"
9SYSFW_SUFFIX = "hs"
10
11UBOOT_MACHINE = "j721e_hs_evm_r5_defconfig"
12
13TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}"
diff --git a/conf/multiconfig/k3r5-sr2.conf b/conf/multiconfig/k3r5-sr2.conf
new file mode 100644
index 00000000..17082141
--- /dev/null
+++ b/conf/multiconfig/k3r5-sr2.conf
@@ -0,0 +1,3 @@
1require k3r5.conf
2
3MACHINE_append = "-sr2"
diff --git a/conf/multiconfig/k3r5.conf b/conf/multiconfig/k3r5.conf
new file mode 100644
index 00000000..8c8f0c3f
--- /dev/null
+++ b/conf/multiconfig/k3r5.conf
@@ -0,0 +1,5 @@
1MAINMACHINE := "${MACHINE}"
2
3DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}"
4
5MACHINE_append = "-k3r5"
diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_2020.04.bb b/recipes-bsp/ti-sci-fw/ti-sci-fw_2020.04.bb
new file mode 100644
index 00000000..b17147a4
--- /dev/null
+++ b/recipes-bsp/ti-sci-fw/ti-sci-fw_2020.04.bb
@@ -0,0 +1,94 @@
1SUMMARY = "TI SCI firmware (SYSFW)"
2
3LICENSE = "TI-TFL"
4LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76"
5
6DEPENDS = "openssl-native u-boot-mkimage-native dtc-native"
7
8CLEANBROKEN = "1"
9PR = "r0"
10
11# Loaded by R5F core
12COMPATIBLE_MACHINE = "k3r5"
13COMPATIBLE_MACHINE_aarch64 = "null"
14
15PACKAGE_ARCH = "${MACHINE_ARCH}"
16
17TI_SECURE_DEV_PKG ?= ""
18export TI_SECURE_DEV_PKG
19
20SRCREV = "6b02b1ea07da65a68444e86439ad5b031e9fd5a2"
21BRANCH ?= "ti-linux-firmware"
22SRCREV_imggen = "79f3807e0b169f2029dec9f3a679c231f4deb625"
23SRCREV_FORMAT = "imggen"
24
25SRC_URI = " \
26 git://git.ti.com/processor-firmware/ti-linux-firmware.git;protocol=git;branch=${BRANCH} \
27 git://git.ti.com/k3-image-gen/k3-image-gen.git;protocol=git;branch=master;destsuffix=imggen;name=imggen \
28"
29
30S = "${WORKDIR}/git"
31
32SYSFW_SOC ?= "unknown"
33SYSFW_CONFIG ?= "unknown"
34
35SYSFW_PREFIX = "ti-sci-firmware"
36SYSFW_SUFFIX ?= "unknown"
37
38SYSFW_BASE = "${SYSFW_PREFIX}-${SYSFW_SOC}-${SYSFW_SUFFIX}"
39
40SYSFW_TISCI = "${S}/ti-sysfw/${SYSFW_BASE}*.bin"
41
42SYSFW_BINARY = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
43SYSFW_VBINARY = "sysfw-${PV}-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
44SYSFW_IMAGE = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
45SYSFW_SYMLINK ?= "sysfw.itb"
46
47CFLAGS[unexport] = "1"
48LDFLAGS[unexport] = "1"
49AS[unexport] = "1"
50LD[unexport] = "1"
51
52do_configure[noexec] = "1"
53
54EXTRA_OEMAKE = "\
55 CROSS_COMPILE=${TARGET_PREFIX} SYSFW_DL_URL='' SYSFW_HS_DL_URL='' SYSFW_HS_INNER_CERT_DL_URL='' \
56 SYSFW_PATH="${SYSFW_TISCI}" SOC=${SYSFW_SOC} CONFIG=${SYSFW_CONFIG} \
57"
58EXTRA_OEMAKE_HS = " \
59 HS=1 SYSFW_HS_PATH="${S}/ti-sysfw/${SYSFW_BASE}-enc.bin" SYSFW_HS_INNER_CERT_PATH="${S}/ti-sysfw/${SYSFW_BASE}-cert.bin" \
60"
61EXTRA_OEMAKE_append = "${@['',' ${EXTRA_OEMAKE_HS}']['${SYSFW_SUFFIX}' == 'hs']}"
62
63do_compile() {
64 cd ${WORKDIR}/imggen/
65 oe_runmake
66}
67
68do_install() {
69 install -d ${D}/boot
70 install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} ${D}/boot/${SYSFW_VBINARY}
71 ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_IMAGE}
72 if [ ! -z "${SYSFW_SYMLINK}" ]; then
73 ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_SYMLINK}
74 fi
75}
76
77FILES_${PN} = "/boot"
78
79inherit deploy
80
81do_deploy () {
82 install -d ${DEPLOYDIR}
83 install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} ${DEPLOYDIR}/${SYSFW_VBINARY}
84 rm -f ${DEPLOYDIR}/${SYSFW_IMAGE}
85 ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_IMAGE}
86 if [ ! -z "${SYSFW_SYMLINK}" ]; then
87 rm -f ${DEPLOYDIR}/${SYSFW_SYMLINK}
88 ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_SYMLINK}
89 fi
90
91 install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
92}
93
94addtask deploy before do_build after do_compile
diff --git a/recipes-bsp/u-boot/u-boot-ti.inc b/recipes-bsp/u-boot/u-boot-ti.inc
index 04ff559d..8f8f0afe 100644
--- a/recipes-bsp/u-boot/u-boot-ti.inc
+++ b/recipes-bsp/u-boot/u-boot-ti.inc
@@ -57,6 +57,7 @@ export TI_SECURE_DEV_PKG
57SPL_UART_BINARY = "u-boot-spl.bin" 57SPL_UART_BINARY = "u-boot-spl.bin"
58SPL_UART_BINARY_keystone = "" 58SPL_UART_BINARY_keystone = ""
59SPL_UART_BINARY_k3 = "" 59SPL_UART_BINARY_k3 = ""
60SPL_UART_BINARY_k3r5 = ""
60SPL_UART_BINARY_lego-ev3 = "" 61SPL_UART_BINARY_lego-ev3 = ""
61 62
62SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" 63SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"