aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>2018-05-27 22:35:22 -0700
committerManjukumar Matha <manjukumar.harthikote-matha@xilinx.com>2018-06-11 23:56:26 -0700
commitc0768c241a012f8e549f4bf55ab2ce4c5258c487 (patch)
treee7505b9759dd148c979ef85020052d2c6ca46be9
parent394edb22b4019c93cd468b58009a8194fe5dc633 (diff)
downloadmeta-xilinx-c0768c241a012f8e549f4bf55ab2ce4c5258c487.tar.gz
meta-xilinx-c0768c241a012f8e549f4bf55ab2ce4c5258c487.tar.bz2
meta-xilinx-c0768c241a012f8e549f4bf55ab2ce4c5258c487.zip
machine-xilinx-overrides.inc: Provide override mechanism depending on SoC features
This patch enables to add overrides depending on the SoC capabilities. UltraScale+ FPGA has different variants of silicon to support different features like MALI400, VCU. Categorically there are three variants: cg devices, eg devices(MALI 400) and ev devices (MALI 400+ VCU) See: https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html#productTable dr devices are based for UltraScale+ RFSoC This patch allows machineoverides to be extended as zynqmp(cg|eg|ev|dr) and mali400/vcu (based on functionality). This helps in grouping of settings for similar SoC This patch also adds packages to be a part of the feed based on SOC_FAMILY and SOC_VARIANT Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Vineeth Chowdary Karumanchi <vineethchowz.chowdary@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-rw-r--r--meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc21
1 files changed, 21 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc b/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc
new file mode 100644
index 0000000..30049bc
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc
@@ -0,0 +1,21 @@
+SOC_VARIANT ??= ""
+MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}"
+
+# Here we can extend overrides for the corresponding family and variant
+def get_soc_overrides(fam, var, d):
+ extender = ''
+ if (fam == 'zynqmp'):
+ if (var == 'eg'):
+ extender = 'mali400:'
+ elif (var == 'ev'):
+ extender = 'mali400:vcu:'
+ return extender
+
+# Gets OVERRIDES extender depending on the board
+SOC_OVERRIDES = "${@get_soc_overrides(d.getVar('SOC_FAMILY'),d.getVar('SOC_VARIANT'), d)}"
+
+MACHINEOVERRIDES =. "${SOC_OVERRIDES}"
+
+PACKAGE_EXTRA_ARCHS_append = " ${SOC_FAMILY}"
+PACKAGE_EXTRA_ARCHS_append = "${@['', ' ${SOC_FAMILY}${SOC_VARIANT}']['${SOC_VARIANT}' != '']}"
+