diff options
-rw-r--r-- | conf/machine/am65xx-evm-k3r5-sr2.conf | 11 | ||||
-rw-r--r-- | conf/machine/am65xx-evm-k3r5.conf | 12 | ||||
-rw-r--r-- | conf/machine/am65xx-evm.conf | 6 | ||||
-rw-r--r-- | conf/machine/am65xx-hs-evm-k3r5.conf | 13 | ||||
-rw-r--r-- | conf/machine/am65xx-hs-evm.conf | 20 | ||||
-rw-r--r-- | conf/machine/include/k3.inc | 13 | ||||
-rw-r--r-- | conf/machine/include/k3r5.inc | 23 | ||||
-rw-r--r-- | conf/machine/j7-evm-k3r5.conf | 11 | ||||
-rw-r--r-- | conf/machine/j7-hs-evm-k3r5.conf | 13 | ||||
-rw-r--r-- | conf/multiconfig/k3r5-sr2.conf | 3 | ||||
-rw-r--r-- | conf/multiconfig/k3r5.conf | 5 | ||||
-rw-r--r-- | recipes-bsp/ti-sci-fw/ti-sci-fw_2020.04.bb | 94 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-ti.inc | 1 |
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 | |||
7 | require conf/machine/am65xx-evm-k3r5.conf | ||
8 | SOC_FAMILY_append = ":k3r5-sr2" | ||
9 | |||
10 | SYSFW_SOC = "am65x_sr2" | ||
11 | SYSFW_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 | |||
5 | require conf/machine/include/k3r5.inc | ||
6 | |||
7 | SYSFW_SOC = "am65x" | ||
8 | SYSFW_CONFIG = "evm" | ||
9 | SYSFW_SUFFIX = "gp" | ||
10 | SYSFW_SYMLINK = "" | ||
11 | |||
12 | UBOOT_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 | ||
5 | require conf/machine/include/am65xx.inc | 5 | require conf/machine/include/am65xx.inc |
6 | 6 | ||
7 | BBMULTICONFIG += "k3r5-sr2" | ||
8 | |||
7 | MACHINE_FEATURES += "touchscreen" | 9 | MACHINE_FEATURES += "touchscreen" |
8 | 10 | ||
9 | SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1" | 11 | SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1" |
@@ -23,3 +25,7 @@ UBOOT_MACHINE = "am65x_evm_a53_defconfig" | |||
23 | OPTEEMACHINE = "k3" | 25 | OPTEEMACHINE = "k3" |
24 | OPTEEFLAVOR = "am65x" | 26 | OPTEEFLAVOR = "am65x" |
25 | OPTEEOUTPUTMACHINE = "k3" | 27 | OPTEEOUTPUTMACHINE = "k3" |
28 | |||
29 | IMAGE_BOOT_FILES += "sysfw-am65x-evm.itb" | ||
30 | do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy" | ||
31 | do_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 | |||
5 | require conf/machine/include/k3r5.inc | ||
6 | |||
7 | SYSFW_SOC = "am65x" | ||
8 | SYSFW_CONFIG = "evm" | ||
9 | SYSFW_SUFFIX = "hs" | ||
10 | |||
11 | UBOOT_MACHINE = "am65x_hs_evm_r5_defconfig" | ||
12 | |||
13 | TI_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 | ||
5 | require conf/machine/am65xx-evm.conf | 5 | require conf/machine/include/am65xx.inc |
6 | |||
7 | MACHINE_FEATURES += "touchscreen" | ||
8 | |||
9 | SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1" | ||
10 | SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" | ||
11 | |||
12 | KERNEL_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 | ||
7 | UBOOT_MACHINE = "am65x_hs_evm_a53_defconfig" | 21 | UBOOT_MACHINE = "am65x_hs_evm_a53_defconfig" |
8 | 22 | ||
23 | OPTEEMACHINE = "k3" | ||
24 | OPTEEFLAVOR = "am65x" | ||
25 | OPTEEOUTPUTMACHINE = "k3" | ||
26 | |||
9 | UBOOT_ENTRYPOINT = "0x80080000" | 27 | UBOOT_ENTRYPOINT = "0x80080000" |
10 | UBOOT_LOADADDRESS = "0x80080000" | 28 | UBOOT_LOADADDRESS = "0x80080000" |
11 | UBOOT_RD_LOADADDRESS = "0x84000000" | 29 | UBOOT_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 | |||
1 | require conf/machine/include/ti-soc.inc | 3 | require conf/machine/include/ti-soc.inc |
2 | SOC_FAMILY_append = ":k3" | 4 | SOC_FAMILY_append = ":k3" |
3 | 5 | ||
4 | require conf/machine/include/arm/arch-arm64.inc | 6 | require conf/machine/include/arm/arch-arm64.inc |
5 | 7 | ||
8 | BBMULTICONFIG += "k3r5" | ||
9 | |||
6 | # Increase this everytime you change something in the kernel | 10 | # Increase this everytime you change something in the kernel |
7 | MACHINE_KERNEL_PR = "r0" | 11 | MACHINE_KERNEL_PR = "r0" |
8 | 12 | ||
@@ -34,9 +38,8 @@ MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa etherne | |||
34 | 38 | ||
35 | IMAGE_FSTYPES += "tar.xz wic.xz" | 39 | IMAGE_FSTYPES += "tar.xz wic.xz" |
36 | 40 | ||
37 | # Please note that booting K3 platform also requires | 41 | IMAGE_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 | ||
40 | IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX}" | ||
41 | WKS_FILE ?= "sdimage-3part.wks" | 42 | WKS_FILE ?= "sdimage-3part.wks" |
42 | do_image_wic[depends] += "u-boot:do_deploy" | 43 | do_image_wic[depends] += "virtual/bootloader:do_deploy" |
44 | do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy" | ||
45 | do_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 | |||
3 | require conf/machine/include/ti-soc.inc | ||
4 | SOC_FAMILY_append = ":k3r5" | ||
5 | |||
6 | # The closest of existing tunes for Cortex-R5F | ||
7 | DEFAULTTUNE = "armv7athf" | ||
8 | require 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 | ||
13 | PREFERRED_PROVIDER_virtual/kernel = "linux-dummy" | ||
14 | PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" | ||
15 | PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" | ||
16 | |||
17 | SPL_BINARY = "" | ||
18 | UBOOT_SUFFIX = "bin" | ||
19 | UBOOT_BINARY = "tiboot3.${UBOOT_SUFFIX}" | ||
20 | UBOOT_IMAGE = "tiboot3-${MAINMACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" | ||
21 | UBOOT_SYMLINK = "tiboot3-${MAINMACHINE}.${UBOOT_SUFFIX}" | ||
22 | |||
23 | PACKAGECONFIG_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 | |||
5 | require conf/machine/include/k3r5.inc | ||
6 | |||
7 | SYSFW_SOC = "j721e" | ||
8 | SYSFW_CONFIG = "evm" | ||
9 | SYSFW_SUFFIX = "gp" | ||
10 | |||
11 | UBOOT_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 | |||
5 | require conf/machine/include/k3r5.inc | ||
6 | |||
7 | SYSFW_SOC = "j721e" | ||
8 | SYSFW_CONFIG = "evm" | ||
9 | SYSFW_SUFFIX = "hs" | ||
10 | |||
11 | UBOOT_MACHINE = "j721e_hs_evm_r5_defconfig" | ||
12 | |||
13 | TI_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 @@ | |||
1 | require k3r5.conf | ||
2 | |||
3 | MACHINE_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 @@ | |||
1 | MAINMACHINE := "${MACHINE}" | ||
2 | |||
3 | DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" | ||
4 | |||
5 | MACHINE_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 @@ | |||
1 | SUMMARY = "TI SCI firmware (SYSFW)" | ||
2 | |||
3 | LICENSE = "TI-TFL" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76" | ||
5 | |||
6 | DEPENDS = "openssl-native u-boot-mkimage-native dtc-native" | ||
7 | |||
8 | CLEANBROKEN = "1" | ||
9 | PR = "r0" | ||
10 | |||
11 | # Loaded by R5F core | ||
12 | COMPATIBLE_MACHINE = "k3r5" | ||
13 | COMPATIBLE_MACHINE_aarch64 = "null" | ||
14 | |||
15 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
16 | |||
17 | TI_SECURE_DEV_PKG ?= "" | ||
18 | export TI_SECURE_DEV_PKG | ||
19 | |||
20 | SRCREV = "6b02b1ea07da65a68444e86439ad5b031e9fd5a2" | ||
21 | BRANCH ?= "ti-linux-firmware" | ||
22 | SRCREV_imggen = "79f3807e0b169f2029dec9f3a679c231f4deb625" | ||
23 | SRCREV_FORMAT = "imggen" | ||
24 | |||
25 | SRC_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 | |||
30 | S = "${WORKDIR}/git" | ||
31 | |||
32 | SYSFW_SOC ?= "unknown" | ||
33 | SYSFW_CONFIG ?= "unknown" | ||
34 | |||
35 | SYSFW_PREFIX = "ti-sci-firmware" | ||
36 | SYSFW_SUFFIX ?= "unknown" | ||
37 | |||
38 | SYSFW_BASE = "${SYSFW_PREFIX}-${SYSFW_SOC}-${SYSFW_SUFFIX}" | ||
39 | |||
40 | SYSFW_TISCI = "${S}/ti-sysfw/${SYSFW_BASE}*.bin" | ||
41 | |||
42 | SYSFW_BINARY = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb" | ||
43 | SYSFW_VBINARY = "sysfw-${PV}-${SYSFW_SOC}-${SYSFW_CONFIG}.itb" | ||
44 | SYSFW_IMAGE = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb" | ||
45 | SYSFW_SYMLINK ?= "sysfw.itb" | ||
46 | |||
47 | CFLAGS[unexport] = "1" | ||
48 | LDFLAGS[unexport] = "1" | ||
49 | AS[unexport] = "1" | ||
50 | LD[unexport] = "1" | ||
51 | |||
52 | do_configure[noexec] = "1" | ||
53 | |||
54 | EXTRA_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 | " | ||
58 | EXTRA_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 | " | ||
61 | EXTRA_OEMAKE_append = "${@['',' ${EXTRA_OEMAKE_HS}']['${SYSFW_SUFFIX}' == 'hs']}" | ||
62 | |||
63 | do_compile() { | ||
64 | cd ${WORKDIR}/imggen/ | ||
65 | oe_runmake | ||
66 | } | ||
67 | |||
68 | do_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 | |||
77 | FILES_${PN} = "/boot" | ||
78 | |||
79 | inherit deploy | ||
80 | |||
81 | do_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 | |||
94 | addtask 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 | |||
57 | SPL_UART_BINARY = "u-boot-spl.bin" | 57 | SPL_UART_BINARY = "u-boot-spl.bin" |
58 | SPL_UART_BINARY_keystone = "" | 58 | SPL_UART_BINARY_keystone = "" |
59 | SPL_UART_BINARY_k3 = "" | 59 | SPL_UART_BINARY_k3 = "" |
60 | SPL_UART_BINARY_k3r5 = "" | ||
60 | SPL_UART_BINARY_lego-ev3 = "" | 61 | SPL_UART_BINARY_lego-ev3 = "" |
61 | 62 | ||
62 | SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" | 63 | SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" |