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
12ARMBSPFILESPATHS := "${THISDIR}:${THISDIR}/files:"
13
14# Arm platforms kmeta
15SRC_URI_KMETA = "file://arm-platforms-kmeta;type=kmeta;name=arm-platforms-kmeta;destsuffix=arm-platforms-kmeta"
16SRC_URI:append:fvp-base = " ${SRC_URI_KMETA}"
17SRC_URI:append:juno = " ${SRC_URI_KMETA}"
18SRC_URI:append:n1sdp = " ${SRC_URI_KMETA}"
19SRCREV:arm-platforms-kmeta = "6147e82375aa9df8f2a162d42ea6406c79c854c5"
20
21#
22# Corstone1000 KMACHINE
23#
24FILESEXTRAPATHS:prepend:corstone1000 := "${ARMBSPFILESPATHS}"
25COMPATIBLE_MACHINE:corstone1000 = "${MACHINE}"
26KCONFIG_MODE:corstone1000 = "--alldefconfig"
27KMACHINE:corstone1000 = "corstone1000"
28LINUX_KERNEL_TYPE:corstone1000 = "standard"
29#disabling the rootfs cpio file compression so it is not compressed twice when bundled with the kernel
30KERNEL_EXTRA_ARGS:corstone1000 += "CONFIG_INITRAMFS_COMPRESSION_NONE=y"
31SRC_URI:append:corstone1000 = " \
32           file://defconfig  \
33        "
34
35SRC_URI:append:corstone1000 = " ${@bb.utils.contains('MACHINE_FEATURES', \
36                                                            'corstone1000_kernel_debug', \
37                                                            'file://corstone1000_kernel_debug.cfg', \
38                                                            '', \
39                                                             d)}"
40
41# Default kernel features not needed for corstone1000
42# otherwise the extra kernel modules will increase the rootfs size
43# corstone1000 has limited flash memory constraints
44KERNEL_EXTRA_FEATURES:corstone1000 = ""
45KERNEL_FEATURES:corstone1000 = ""
46
47#
48# FVP BASE KMACHINE
49#
50COMPATIBLE_MACHINE:fvp-base = "fvp-base"
51KMACHINE:fvp-base = "fvp"
52FILESEXTRAPATHS:prepend:fvp-base := "${ARMBSPFILESPATHS}"
53SRC_URI:append:fvp-base = " file://0001-arm64-dts-fvp-Enable-virtio-rng-support.patch"
54
55#
56# Juno KMACHINE
57#
58COMPATIBLE_MACHINE:juno = "juno"
59FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}"
60
61#
62# Musca B1/S2 can't run Linux
63#
64COMPATIBLE_MACHINE:musca-b1 = "(^$)"
65COMPATIBLE_MACHINE:musca-s1 = "(^$)"
66
67#
68# N1SDP KMACHINE
69#
70FILESEXTRAPATHS:prepend:n1sdp := "${THISDIR}/linux-yocto-6.6/n1sdp:"
71COMPATIBLE_MACHINE:n1sdp = "n1sdp"
72KBUILD_DEFCONFIG:n1sdp = "defconfig"
73KCONFIG_MODE:n1sdp = "--alldefconfig"
74FILESEXTRAPATHS:prepend:n1sdp := "${ARMBSPFILESPATHS}"
75SRC_URI:append:n1sdp = " \
76    file://0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch \
77    file://0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch \
78    file://0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch \
79    file://0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch \
80    file://0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch \
81    file://0006-arm64-defconfig-disable-config-options-that-does-not.patch \
82    file://enable-nvme.cfg \
83    file://enable-realtek-R8169.cfg \
84    file://enable-usb_conn_gpio.cfg \
85    file://usb_xhci_pci_renesas.cfg \
86    "
87# Since we use the intree defconfig and the preempt-rt turns off some configs
88# do_kernel_configcheck will display warnings. So, lets disable it.
89KCONF_AUDIT_LEVEL:n1sdp:pn-linux-yocto-rt = "0"
90
91#
92# SGI575 KMACHINE
93#
94COMPATIBLE_MACHINE:sgi575 = "sgi575"
95KBUILD_DEFCONFIG:sgi575 = "defconfig"
96KCONFIG_MODE:sgi575 = "--alldefconfig"
97
98#
99# Total Compute (TC0/TC1) KMACHINE
100#
101COMPATIBLE_MACHINE:tc = "(tc0|tc1)"
102KBUILD_DEFCONFIG:tc = "defconfig"
103KCONFIG_MODE:tc = "--alldefconfig"
104