aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/conf
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/conf')
-rw-r--r--meta-amd-bsp/conf/layer.conf17
-rw-r--r--meta-amd-bsp/conf/machine/e3000.conf11
-rw-r--r--meta-amd-bsp/conf/machine/genoa.conf7
-rw-r--r--meta-amd-bsp/conf/machine/include/amd-common-configurations.inc40
-rw-r--r--meta-amd-bsp/conf/machine/include/amd-features.inc77
-rw-r--r--meta-amd-bsp/conf/machine/include/amdx86.inc23
-rw-r--r--meta-amd-bsp/conf/machine/include/ethanolx.inc9
-rw-r--r--meta-amd-bsp/conf/machine/include/fox.inc9
-rw-r--r--meta-amd-bsp/conf/machine/include/quartz.inc7
-rw-r--r--meta-amd-bsp/conf/machine/include/tune-amd64.inc15
-rw-r--r--meta-amd-bsp/conf/machine/include/tune-zen1.inc18
-rw-r--r--meta-amd-bsp/conf/machine/include/tune-zen2.inc19
-rw-r--r--meta-amd-bsp/conf/machine/include/tune-zen3.inc19
-rw-r--r--meta-amd-bsp/conf/machine/include/wallaby.inc7
-rw-r--r--meta-amd-bsp/conf/machine/milan.conf7
-rw-r--r--meta-amd-bsp/conf/machine/rome.conf7
-rw-r--r--meta-amd-bsp/conf/machine/v3000.conf7
17 files changed, 299 insertions, 0 deletions
diff --git a/meta-amd-bsp/conf/layer.conf b/meta-amd-bsp/conf/layer.conf
new file mode 100644
index 00000000..877c3550
--- /dev/null
+++ b/meta-amd-bsp/conf/layer.conf
@@ -0,0 +1,17 @@
+BBPATH .= ":${LAYERDIR}"
+BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
+ ${LAYERDIR}/recipes*/*/*.bbappend"
+
+# Let us add layer-specific bbs & bbappends which are only applied
+# when that layer is included in our configuration
+BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bb' % layer \
+ for layer in BBFILE_COLLECTIONS.split())} \
+ ${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+
+BBFILE_COLLECTIONS += "amd-bsp"
+BBFILE_PRIORITY_amd-bsp = "13"
+BBFILE_PATTERN_amd-bsp = "^${LAYERDIR}/"
+LAYERSERIES_COMPAT_amd-bsp = "kirkstone"
+
+LAYERDEPENDS_amd-bsp = "core openembedded-layer meta-python networking-layer"
diff --git a/meta-amd-bsp/conf/machine/e3000.conf b/meta-amd-bsp/conf/machine/e3000.conf
new file mode 100644
index 00000000..9e4bdd8e
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/e3000.conf
@@ -0,0 +1,11 @@
+#@TYPE: Machine
+#@NAME: e3000
+
+#@DESCRIPTION: Machine configuration for e3000 systems
+
+require conf/machine/include/tune-zen1.inc
+require conf/machine/include/wallaby.inc
+
+# Enable AMD Cryptographic Co-processor Encryption Controller drivers
+MACHINE_FEATURES:append = " ccp"
+
diff --git a/meta-amd-bsp/conf/machine/genoa.conf b/meta-amd-bsp/conf/machine/genoa.conf
new file mode 100644
index 00000000..937632e9
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/genoa.conf
@@ -0,0 +1,7 @@
+#@TYPE: Machine
+#@NAME: Genoa
+
+#@DESCRIPTION: Machine configuration for Genoa systems
+
+require conf/machine/include/tune-zen3.inc
+require conf/machine/include/quartz.inc
diff --git a/meta-amd-bsp/conf/machine/include/amd-common-configurations.inc b/meta-amd-bsp/conf/machine/include/amd-common-configurations.inc
new file mode 100644
index 00000000..0d216749
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/amd-common-configurations.inc
@@ -0,0 +1,40 @@
+require conf/machine/include/amd-features.inc
+
+POKY_DEFAULT_DISTRO_FEATURES:remove = "wayland"
+
+PREFERRED_PROVIDER_jpeg ?= "jpeg"
+PREFERRED_PROVIDER_jpeg-native ?= "jpeg-native"
+
+MULTILIBS ?= ""
+require conf/multilib.conf
+
+MACHINE_FEATURES += "wifi efi alsa"
+
+# QEMU does not support some of the enhanced instructions available
+# on the AMD chips which causes some build time failures.
+MACHINE_FEATURES:remove = "qemu-usermode"
+
+MACHINE_EXTRA_RRECOMMENDS += "kernel-modules alsa-utils"
+MACHINE_EXTRA_RRECOMMENDS += "grub parted util-linux-blkid"
+MACHINE_EXTRA_RRECOMMENDS += "rtc-test watchdog-test smbus-test gpio-test"
+
+# Add serial consoles to kernel commandline, these should occur before the tty0
+KERNEL_SERIAL_CONSOLE ??= ""
+APPEND += "${KERNEL_SERIAL_CONSOLE}"
+
+# Make sure the kernel messages go to the VGA console
+APPEND += "console=tty0"
+
+# Set a generic video mode, use gfxpayload=wxh for grub2
+GRUB_OPTS:append = ";set gfxpayload=1024x768"
+
+# We use ext4 rootfs normally so give it priority rather than trying other FS first
+APPEND += "rootfstype=ext4,ext3,ext2"
+
+APPEND_ADDITIONAL ??= ""
+APPEND += "${APPEND_ADDITIONAL}"
+
+EXTRA_OECONF:append:pn-matchbox-panel-2 = " --with-battery=acpi"
+
+# Add common feartures to be supported for all machines here
+EXTRA_IMAGE_FEATURES += "amd-misc-pkgs"
diff --git a/meta-amd-bsp/conf/machine/include/amd-features.inc b/meta-amd-bsp/conf/machine/include/amd-features.inc
new file mode 100644
index 00000000..61ad06a4
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/amd-features.inc
@@ -0,0 +1,77 @@
+# This file defines AMD Features that can be added as EXTRA_IMAGE_FEATURES to
+# different machines based on what is supported on a machine (MACHINE_FEATURES)
+# and which additional features a user is requesting through EXTRA_IMAGE_FEATURES.
+# This gives a broad flexibility and control over packages being installed on a
+# machine for any image without needing to create bbappends for all the images
+# that are to be supported.
+#
+# > Each feature can contain packages and packagegroups as its components.
+# > Feature components can be dependent on DISTRO, EXTRA_IMAGE_FEATURES, or any
+# variable in general other than a particular image's related variable so most
+# things should be based on global configs rather than image configs.
+# e.g.: Components of "amd-feature-graphics" may be dependent on "x11-base" as
+# an IMAGE_FEATURE. Some packages may only be included for a specific
+# DISTRO. Some packages may only be installed if user allows them in local.conf etc.
+# > Each machine must add the requested features to EXTRA_IMAGE_FEATURES in its
+# own machine config file regardless of the image being built, if that particular
+# feature is not handled in the common fragments.
+# > Each machine can also override feature components in its own machine config
+# when adding the feature to EXTRA_IMAGE_FEATURES. e.g.: A feature may be added
+# to a specific machine with minimal (or extended) packages based on requirement.
+#
+# Features are classified as:
+#
+# * amd-misc-pkgs : Intended for Platform Specific Packages, Common Packages to be added to all machines, etc.
+# * amd-feature-multimedia : Multimedia packages (it does not depend on graphics because a machine may not have a GUI but could play videos and sounds from console)
+# * amd-feature-graphics : Graphics packages
+# * amd-feature-networking : Networking packages
+# * amd-feature-debug-profile : Debugging and Profiling tools
+# * <add more features here> : <feature summary>
+
+GSTREAMER_PKGS ?= " \
+ ${@bb.utils.contains("IMAGE_FEATURES", "x11-base", "gstreamer1.0-meta-x11-base", "", d)} \
+ ${@bb.utils.contains("COMBINED_FEATURES", "alsa", "gstreamer1.0-meta-audio", "", d)} \
+ gstreamer1.0-meta-debug \
+ gstreamer1.0-meta-video \
+ ${@bb.utils.contains("IMAGE_FEATURES", "x11-base", "gstreamer1.0-omx", "", d)} \
+ ${@bb.utils.contains("IMAGE_FEATURES", "x11-base", "gstreamer1.0-vaapi", "", d)} \
+"
+VULKAN_PKGS ?= ""
+CODEXL_PKGS ?= ""
+DPDK_PKGS ?= ""
+
+# Additional packages can be added to the following feature specific
+# variables from each machine's config file
+AMD_PLATFORM_SPECIFIC_PKGS ?= ""
+AMD_FEATURE_MULTIMEDIA_PKGS ?= ""
+AMD_FEATURE_GRAPHICS_PKGS ?= ""
+AMD_FEATURE_NETWORKING_PKGS ?= ""
+AMD_FEATURE_DEBUG_PROFILE_PKGS ?= ""
+
+FEATURE_PACKAGES_amd-misc-pkgs = "\
+ bc \
+ ${AMD_PLATFORM_SPECIFIC_PKGS} \
+"
+
+FEATURE_PACKAGES_amd-feature-multimedia = "\
+ ${GSTREAMER_PKGS} \
+ ${@bb.utils.contains("IMAGE_FEATURES", "x11-base", "vdpauinfo", "", d)} \
+ ${AMD_FEATURE_MULTIMEDIA_PKGS} \
+"
+
+FEATURE_PACKAGES_amd-feature-graphics = "\
+ ${@bb.utils.contains("INCLUDE_VULKAN", "yes", "${VULKAN_PKGS}", "", d)} \
+ ${AMD_FEATURE_GRAPHICS_PKGS} \
+"
+FEATURE_PACKAGES_amd-feature-graphics:append:radeon = " ${@bb.utils.contains("IMAGE_FEATURES", "x11-base", "mesa-demos", "", d)}"
+
+FEATURE_PACKAGES_amd-feature-networking = "\
+ ${DPDK_PKGS} \
+ strongswan \
+ ${AMD_FEATURE_NETWORKING_PKGS} \
+"
+
+FEATURE_PACKAGES_amd-feature-debug-profile = "\
+ ${@bb.utils.contains("INCLUDE_CODEXL", "yes", "${CODEXL_PKGS}", "", d)} \
+ ${AMD_FEATURE_DEBUG_PROFILE_PKGS} \
+"
diff --git a/meta-amd-bsp/conf/machine/include/amdx86.inc b/meta-amd-bsp/conf/machine/include/amdx86.inc
new file mode 100644
index 00000000..db824e36
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/amdx86.inc
@@ -0,0 +1,23 @@
+PREFERRED_PROVIDER_virtual/kernel ?= "${@bb.utils.contains('RT_KERNEL_AMD', 'yes', "linux-yocto-rt", "linux-yocto", d)}"
+
+require conf/machine/include/amd-common-configurations.inc
+include conf/machine/include/amd-customer-configurations.inc
+
+# Add machine specific AMD features and feature pkgs here
+DPDK_PKGS = "${@bb.utils.contains("BBFILE_COLLECTIONS", "dpdk", "dpdk dpdk-examples dpdk-tools dpdk-module", "", d)}"
+
+MACHINE_FEATURES:remove = "screen alsa"
+MACHINE_EXTRA_RRECOMMENDS:remove = " rtc-test alsa-utils"
+
+# Disable the graphical console when machine does not have a screen.
+# This allows the serial console to be used for installation.
+APPEND:remove="${@bb.utils.contains('MACHINE_FEATURES', 'screen-console', '', 'console=tty0', d)}"
+
+MACHINEOVERRIDES =. "amd:amdx86:"
+
+# Mask out recipes for packages we do not support for
+# amdx86 but may be required by others. Use '|' sign
+# between the patterns.
+BBMASK = "\
+.*/meta-amd/common/recipes-support/libtinyxml\
+"
diff --git a/meta-amd-bsp/conf/machine/include/ethanolx.inc b/meta-amd-bsp/conf/machine/include/ethanolx.inc
new file mode 100644
index 00000000..1e174c72
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/ethanolx.inc
@@ -0,0 +1,9 @@
+require conf/machine/include/x86/x86-base.inc
+
+# Setup a getty on all serial ports
+SERIAL_CONSOLES = "115200;ttyS0"
+
+# Enable the kernel console on ttyS0
+APPEND += "console=tty0 console=ttyS0,115200n8"
+
+MACHINE_FEATURES += "efi"
diff --git a/meta-amd-bsp/conf/machine/include/fox.inc b/meta-amd-bsp/conf/machine/include/fox.inc
new file mode 100644
index 00000000..a108c399
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/fox.inc
@@ -0,0 +1,9 @@
+require conf/machine/include/x86/x86-base.inc
+
+# ttyS4 is J39 on the board
+SERIAL_CONSOLES = "115200;ttyS4"
+
+# Enable the kernel console on ttyS4
+APPEND += "console=tty0 console=ttyS4,115200n8"
+
+MACHINE_FEATURES += "efi"
diff --git a/meta-amd-bsp/conf/machine/include/quartz.inc b/meta-amd-bsp/conf/machine/include/quartz.inc
new file mode 100644
index 00000000..231aeb2f
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/quartz.inc
@@ -0,0 +1,7 @@
+require conf/machine/include/x86/x86-base.inc
+
+SERIAL_CONSOLES = "115200;ttyS0"
+
+APPEND += "console=tty0 console=ttyS0,115200n8"
+
+MACHINE_FEATURES += "efi"
diff --git a/meta-amd-bsp/conf/machine/include/tune-amd64.inc b/meta-amd-bsp/conf/machine/include/tune-amd64.inc
new file mode 100644
index 00000000..4debbf2a
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/tune-amd64.inc
@@ -0,0 +1,15 @@
+DEFAULTTUNE ?= "amd64"
+
+require conf/machine/include/x86/arch-x86.inc
+require conf/machine/include/x86/x86-base.inc
+
+# AMD x86 64-bit
+TUNEVALID[amd64] = "Enable AMD x86 (64 bit) specific processor optimizations"
+TUNECONFLICTS[amd64] = "m32 mx32"
+
+# Extra tune selections
+AVAILTUNES += "amd64"
+TUNE_FEATURES:tune-amd64 = "m64"
+BASE_LIB:tune-amd64 = "lib64"
+TUNE_PKGARCH:tune-amd64 = "amd64"
+PACKAGE_EXTRA_ARCHS:tune-amd64 = "${TUNE_PKGARCH:tune-amd64}"
diff --git a/meta-amd-bsp/conf/machine/include/tune-zen1.inc b/meta-amd-bsp/conf/machine/include/tune-zen1.inc
new file mode 100644
index 00000000..3dd48f7b
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/tune-zen1.inc
@@ -0,0 +1,18 @@
+DEFAULTTUNE ?= "zen1"
+
+require conf/machine/include/x86/arch-x86.inc
+
+TUNEVALID[zen1] = "Enable AMD x86 (64 bit) Zen 1 Core Architecture specific optimizations"
+TUNECONFLICTS[zen1] = "m32 mx32"
+
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'zen1', ' -march=znver1', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'zen1', 'zen1:', '', d)}"
+
+AVAILTUNES += "zen1"
+TUNE_FEATURES:tune-zen1 = "${TUNE_FEATURES:tune-x86-64} zen1"
+TUNE_PKGARCH:tune-zen1 = "zen1"
+PACKAGE_EXTRA_ARCHS:tune-zen1 = "${PACKAGE_EXTRA_ARCHS:tune-x86-64} zen1"
+BASE_LIB:tune-zen1 = "lib64"
+
+# user mode qemu doesn't support zen1
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'zen1', 'qemu-usermode', '', d)}"
diff --git a/meta-amd-bsp/conf/machine/include/tune-zen2.inc b/meta-amd-bsp/conf/machine/include/tune-zen2.inc
new file mode 100644
index 00000000..64666204
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/tune-zen2.inc
@@ -0,0 +1,19 @@
+DEFAULTTUNE ?= "zen2"
+
+require conf/machine/include/tune-zen1.inc
+
+TUNEVALID[zen2] = "Enable AMD x86 (64 bit) Zen 2 Core Architecture specific optimizations"
+TUNECONFLICTS[zen2] = "m32 mx32"
+
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'zen2', ' -march=znver2', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'zen2', 'zen2:', '', d)}"
+
+AVAILTUNES += "zen2"
+TUNE_FEATURES:tune-zen2 = "${TUNE_FEATURES:tune-x86-64} zen2"
+TUNE_PKGARCH:tune-zen2 = "zen2"
+PACKAGE_EXTRA_ARCHS:tune-zen2 = "${PACKAGE_EXTRA_ARCHS:tune-zen1} zen2"
+BASE_LIB:tune-zen2 = "lib64"
+
+# user mode qemu doesn't support zen2
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'zen2', 'qemu-usermode', '', d)}"
+
diff --git a/meta-amd-bsp/conf/machine/include/tune-zen3.inc b/meta-amd-bsp/conf/machine/include/tune-zen3.inc
new file mode 100644
index 00000000..81f6b507
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/tune-zen3.inc
@@ -0,0 +1,19 @@
+DEFAULTTUNE ?= "zen3"
+
+require conf/machine/include/tune-zen2.inc
+
+TUNEVALID[zen3] = "Enable AMD x86 (64 bit) Zen 3 Core Architecture specific optimizations"
+TUNECONFLICTS[zen3] = "m32 mx32"
+
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'zen3', ' -march=znver3', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'zen3', 'zen3:', '', d)}"
+
+AVAILTUNES += "zen3"
+TUNE_FEATURES:tune-zen3 = "${TUNE_FEATURES:tune-x86-64} zen3"
+TUNE_PKGARCH:tune-zen3 = "zen3"
+PACKAGE_EXTRA_ARCHS:tune-zen3 = "${PACKAGE_EXTRA_ARCHS:tune-zen2} zen3"
+BASE_LIB:tune-zen3 = "lib64"
+
+# user mode qemu doesn't support zen3
+MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'zen3', 'qemu-usermode', '', d)}"
+
diff --git a/meta-amd-bsp/conf/machine/include/wallaby.inc b/meta-amd-bsp/conf/machine/include/wallaby.inc
new file mode 100644
index 00000000..8f8da791
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/include/wallaby.inc
@@ -0,0 +1,7 @@
+require conf/machine/include/x86/x86-base.inc
+
+SERIAL_CONSOLES = "115200;ttyS4 115200;ttyS5"
+
+APPEND += "console=tty0 console=ttyS4,115200n8"
+
+MACHINE_FEATURES += "efi"
diff --git a/meta-amd-bsp/conf/machine/milan.conf b/meta-amd-bsp/conf/machine/milan.conf
new file mode 100644
index 00000000..f073fbb0
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/milan.conf
@@ -0,0 +1,7 @@
+#@TYPE: Machine
+#@NAME: milan
+
+#@DESCRIPTION: Machine configuration for milan systems
+
+require conf/machine/include/tune-zen3.inc
+require conf/machine/include/ethanolx.inc
diff --git a/meta-amd-bsp/conf/machine/rome.conf b/meta-amd-bsp/conf/machine/rome.conf
new file mode 100644
index 00000000..09678e08
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/rome.conf
@@ -0,0 +1,7 @@
+#@TYPE: Machine
+#@NAME: rome
+
+#@DESCRIPTION: Machine configuration for rome systems
+
+require conf/machine/include/tune-zen2.inc
+require conf/machine/include/ethanolx.inc
diff --git a/meta-amd-bsp/conf/machine/v3000.conf b/meta-amd-bsp/conf/machine/v3000.conf
new file mode 100644
index 00000000..0f079267
--- /dev/null
+++ b/meta-amd-bsp/conf/machine/v3000.conf
@@ -0,0 +1,7 @@
+#@TYPE: Machine
+#@NAME: v3000
+
+#@DESCRIPTION: Machine configuration for v3000 systems
+
+require conf/machine/include/tune-zen3.inc
+require conf/machine/include/fox.inc