Brad Bishop | bec4ebc | 2022-08-03 09:55:16 -0400 | [diff] [blame^] | 1 | # Kernel configuration and dts specific information |
| 2 | |
| 3 | # |
| 4 | # Kernel configurations and dts (If not using Linux provided ones) are captured |
| 5 | # in this file. Update SRC_URI and do_patch for building images with custom dts |
| 6 | # |
| 7 | |
| 8 | # We can't set FILESEXTRAPATHS once because of how the kernel classes search for |
| 9 | # config fragments. Discussion is ongoing as to whether this is the correct |
| 10 | # solution, or a workaround. |
| 11 | # https://bugzilla.yoctoproject.org/show_bug.cgi?id=14154 |
| 12 | ARMBSPFILESPATHS := "${THISDIR}:${THISDIR}/files:" |
| 13 | |
| 14 | # Arm platforms kmeta |
| 15 | SRC_URI_KMETA = "file://arm-platforms-kmeta;type=kmeta;name=arm-platforms-kmeta;destsuffix=arm-platforms-kmeta" |
| 16 | SRC_URI:append:fvp-base = " ${SRC_URI_KMETA}" |
| 17 | SRC_URI:append:fvp-base-arm32 = " ${SRC_URI_KMETA}" |
| 18 | SRC_URI:append:fvp-baser-aemv8r64 = " ${SRC_URI_KMETA}" |
| 19 | SRC_URI:append:juno = " ${SRC_URI_KMETA}" |
| 20 | SRC_URI:append:n1sdp = " ${SRC_URI_KMETA}" |
| 21 | SRC_URI:append:tc = " ${SRC_URI_KMETA}" |
| 22 | SRCREV:arm-platforms-kmeta = "6147e82375aa9df8f2a162d42ea6406c79c854c5" |
| 23 | |
| 24 | # |
| 25 | # Corstone-500 KMACHINE |
| 26 | # |
| 27 | COMPATIBLE_MACHINE:corstone500 = "corstone500" |
| 28 | KBUILD_DEFCONFIG:corstone500 = "multi_v7_defconfig" |
| 29 | KCONFIG_MODE:corstone500 = "--alldefconfig" |
| 30 | |
| 31 | # |
| 32 | # Corstone1000 KMACHINE |
| 33 | # |
| 34 | FILESEXTRAPATHS:prepend:corstone1000 := "${ARMBSPFILESPATHS}" |
| 35 | COMPATIBLE_MACHINE:corstone1000 = "${MACHINE}" |
| 36 | KCONFIG_MODE:corstone1000 = "--alldefconfig" |
| 37 | KMACHINE:corstone1000 = "corstone1000" |
| 38 | LINUX_KERNEL_TYPE:corstone1000 = "standard" |
| 39 | #disabling the rootfs cpio file compression so it is not compressed twice when bundled with the kernel |
| 40 | KERNEL_EXTRA_ARGS:corstone1000 += "CONFIG_INITRAMFS_COMPRESSION_NONE=y" |
| 41 | SRC_URI:append:corstone1000 = " \ |
| 42 | file://defconfig \ |
| 43 | file://0001-UPSTREAM-firmware-arm_ffa-Handle-compatibility-with-.patch \ |
| 44 | " |
| 45 | |
| 46 | SRC_URI:append:corstone1000 = " ${@bb.utils.contains('MACHINE_FEATURES', \ |
| 47 | 'corstone1000_kernel_debug', \ |
| 48 | 'file://corstone1000_kernel_debug.cfg', \ |
| 49 | '', \ |
| 50 | d)}" |
| 51 | |
| 52 | # Default kernel features not needed for corstone1000 |
| 53 | # otherwise the extra kernel modules will increase the rootfs size |
| 54 | # corstone1000 has limited flash memory constraints |
| 55 | KERNEL_EXTRA_FEATURES:corstone1000 = "" |
| 56 | KERNEL_FEATURES:corstone1000 = "" |
| 57 | |
| 58 | # |
| 59 | # FVP BASE KMACHINE |
| 60 | # |
| 61 | COMPATIBLE_MACHINE:fvp-base = "fvp-base" |
| 62 | KMACHINE:fvp-base = "fvp" |
| 63 | FILESEXTRAPATHS:prepend:fvp-base := "${ARMBSPFILESPATHS}" |
| 64 | |
| 65 | # |
| 66 | # FVP BASE ARM32 KMACHINE |
| 67 | # |
| 68 | COMPATIBLE_MACHINE:fvp-base-arm32 = "fvp-base-arm32" |
| 69 | KMACHINE:fvp-base-arm32 = "fvp-arm32" |
| 70 | FILESEXTRAPATHS:prepend:fvp-base-arm32 := "${ARMBSPFILESPATHS}" |
| 71 | SRC_URI:append:fvp-base-arm32 = " file://0001-ARM-vexpress-enable-GICv3.patch" |
| 72 | # We want to use the DT in the arm64 tree but the kernel build doesn't like that, so symlink it |
| 73 | do_compile:prepend:fvp-base-arm32() { |
| 74 | mkdir --parents ${S}/arch/arm/boot/dts/arm |
| 75 | for file in fvp-base-revc.dts rtsm_ve-motherboard.dtsi rtsm_ve-motherboard-rs2.dtsi; do |
| 76 | ln -fsr ${S}/arch/arm64/boot/dts/arm/$file ${S}/arch/arm/boot/dts/arm |
| 77 | done |
| 78 | } |
| 79 | |
| 80 | # |
| 81 | # FVP BaseR AEMv8r64 Machine |
| 82 | # |
| 83 | COMPATIBLE_MACHINE:fvp-baser-aemv8r64 = "fvp-baser-aemv8r64" |
| 84 | FILESEXTRAPATHS:prepend:fvp-baser-aemv8r64 := "${ARMBSPFILESPATHS}" |
| 85 | SRC_URI:append:fvp-baser-aemv8r64 = " file://fvp-baser-aemv8r64.dts;subdir=git/arch/arm64/boot/dts/arm" |
| 86 | |
| 87 | # |
| 88 | # Juno KMACHINE |
| 89 | # |
| 90 | COMPATIBLE_MACHINE:juno = "juno" |
| 91 | KBUILD_DEFCONFIG:juno = "defconfig" |
| 92 | KCONFIG_MODE:juno = "--alldefconfig" |
| 93 | FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}" |
| 94 | SRC_URI:append:juno = " file://juno-dts-mhu-doorbell.patch" |
| 95 | |
| 96 | # |
| 97 | # Musca B1/S2 can't run Linux |
| 98 | # |
| 99 | COMPATIBLE_MACHINE:musca-b1 = "(^$)" |
| 100 | COMPATIBLE_MACHINE:musca-s1 = "(^$)" |
| 101 | |
| 102 | # |
| 103 | # N1SDP KMACHINE |
| 104 | # |
| 105 | FILESEXTRAPATHS:prepend:n1sdp := "${THISDIR}/linux-yocto-5.15/n1sdp:" |
| 106 | COMPATIBLE_MACHINE:n1sdp = "n1sdp" |
| 107 | KBUILD_DEFCONFIG:n1sdp = "defconfig" |
| 108 | KCONFIG_MODE:n1sdp = "--alldefconfig" |
| 109 | FILESEXTRAPATHS:prepend:n1sdp := "${ARMBSPFILESPATHS}" |
| 110 | SRC_URI:append:n1sdp = " \ |
| 111 | file://0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch \ |
| 112 | file://0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch \ |
| 113 | file://0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch \ |
| 114 | file://0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch \ |
| 115 | file://0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch \ |
| 116 | file://enable-realtek-R8169.cfg \ |
| 117 | file://enable-usb_conn_gpio.cfg \ |
| 118 | file://usb_xhci_pci_renesas.cfg \ |
| 119 | " |
| 120 | # Since we use the intree defconfig and the preempt-rt turns off some configs |
| 121 | # do_kernel_configcheck will display warnings. So, lets disable it. |
| 122 | KCONF_AUDIT_LEVEL:n1sdp:pn-linux-yocto-rt = "0" |
| 123 | |
| 124 | # |
| 125 | # SGI575 KMACHINE |
| 126 | # |
| 127 | COMPATIBLE_MACHINE:sgi575 = "sgi575" |
| 128 | KBUILD_DEFCONFIG:sgi575 = "defconfig" |
| 129 | KCONFIG_MODE:sgi575 = "--alldefconfig" |
| 130 | |
| 131 | # |
| 132 | # Total Compute (TC0/TC1) KMACHINE |
| 133 | # |
| 134 | COMPATIBLE_MACHINE:tc = "(tc0|tc1)" |
| 135 | KCONFIG_MODE:tc = "--alldefconfig" |
| 136 | FILESEXTRAPATHS:prepend:tc := "${ARMBSPFILESPATHS}:${THISDIR}/linux-arm64-ack-5.10/tc:" |
| 137 | SRC_URI:append:tc = " \ |
| 138 | file://gki_defconfig \ |
| 139 | file://0001-drm-Add-component-aware-simple-encoder.patch \ |
| 140 | file://0002-drm-arm-komeda-add-RENDER-capability-to-the-device-n.patch \ |
| 141 | file://0003-dt-bindings-mailbox-arm-mhuv2-Add-bindings.patch \ |
| 142 | file://0004-mailbox-arm_mhuv2-Add-driver.patch \ |
| 143 | file://0005-mailbox-arm_mhuv2-Fix-sparse-warnings.patch \ |
| 144 | file://0006-mailbox-arm_mhuv2-make-remove-callback-return-void.patch \ |
| 145 | file://0007-mailbox-arm_mhuv2-Skip-calling-kfree-with-invalid-po.patch \ |
| 146 | file://0008-firmware-arm_ffa-Backport-of-arm_ffa-driver.patch \ |
| 147 | file://0009-tee-add-sec_world_id-to-struct-tee_shm.patch \ |
| 148 | file://0010-optee-simplify-optee_release.patch \ |
| 149 | file://0011-optee-sync-OP-TEE-headers.patch \ |
| 150 | file://0012-optee-refactor-driver-with-internal-callbacks.patch \ |
| 151 | file://0013-optee-add-a-FF-A-memory-pool.patch \ |
| 152 | file://0014-optee-add-FF-A-support.patch \ |
| 153 | file://0015-coresight-etm4x-Save-restore-TRFCR_EL1.patch \ |
| 154 | file://0016-coresight-etm4x-Use-Trace-Filtering-controls-dynamic.patch \ |
| 155 | file://0017-perf-arm-cmn-Use-irq_set_affinity.patch \ |
| 156 | file://0018-perf-arm-cmn-Fix-CPU-hotplug-unregistration.patch \ |
| 157 | file://0019-perf-arm-cmn-Account-for-NUMA-affinity.patch \ |
| 158 | file://0020-perf-arm-cmn-Drop-compile-test-restriction.patch \ |
| 159 | file://0021-perf-arm-cmn-Refactor-node-ID-handling.patch \ |
| 160 | file://0022-perf-arm-cmn-Streamline-node-iteration.patch \ |
| 161 | file://0023-drivers-perf-arm-cmn-Add-space-after.patch \ |
| 162 | file://0024-perf-arm-cmn-Refactor-DTM-handling.patch \ |
| 163 | file://0025-perf-arm-cmn-Optimise-DTM-counter-reads.patch \ |
| 164 | file://0026-perf-arm-cmn-Optimise-DTC-counter-accesses.patch \ |
| 165 | file://0027-perf-arm-cmn-Move-group-validation-data-off-stack.patch \ |
| 166 | file://0028-perf-arm-cmn-Demarcate-CMN-600-specifics.patch \ |
| 167 | file://0029-perf-arm-cmn-Support-new-IP-features.patch \ |
| 168 | file://0030-perf-arm-cmn-Add-CI-700-Support.patch \ |
| 169 | file://0031-firmware-arm_ffa-Fix-uuid-argument-passed-to-ffa_par.patch \ |
| 170 | file://0032-firmware-arm_ffa-Add-ffa_dev_get_drvdata.patch \ |
| 171 | file://0033-firmware-arm_ffa-extern-ffa_bus_type.patch \ |
| 172 | file://0034-firmware-arm_ffa-Fix-FFA_MEM_SHARE-and-FFA_MEM_FRAG_.patch \ |
| 173 | file://0035-ANDROID-trusty-Backport-of-trusty-driver.patch \ |
| 174 | file://0036-ANDROID-trusty-Remove-FFA-specific-initilization.patch \ |
| 175 | file://0037-ANDROID-trusty-Rename-transfer-memory-function-to-le.patch \ |
| 176 | file://0038-ANDROID-trusty-Separate-out-SMC-based-transport.patch \ |
| 177 | file://0039-ANDROID-trusty-Modify-device-compatible-string.patch \ |
| 178 | file://0040-ANDROID-trusty-Add-transport-descriptor.patch \ |
| 179 | file://0041-ANDROID-trusty-Add-trusty-ffa-driver.patch \ |
| 180 | file://0042-ANDROID-trusty-ffa-Add-support-for-FFA-memory-operat.patch \ |
| 181 | file://0043-ANDROID-trusty-ffa-Enable-FFA-transport-for-both-mem.patch \ |
| 182 | file://0044-ANDROID-trusty-Make-trusty-transports-configurable.patch \ |
| 183 | " |
| 184 | KERNEL_FEATURES:append:tc = " bsp/arm-platforms/tc.scc" |
| 185 | KERNEL_FEATURES:append:tc1 = " bsp/arm-platforms/tc-autofdo.scc" |