diff options
author | Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> | 2018-05-27 22:35:22 -0700 |
---|---|---|
committer | Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> | 2018-06-11 23:56:26 -0700 |
commit | c0768c241a012f8e549f4bf55ab2ce4c5258c487 (patch) | |
tree | e7505b9759dd148c979ef85020052d2c6ca46be9 /meta-xilinx-bsp | |
parent | 394edb22b4019c93cd468b58009a8194fe5dc633 (diff) | |
download | meta-xilinx-c0768c241a012f8e549f4bf55ab2ce4c5258c487.tar.gz |
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>
Diffstat (limited to 'meta-xilinx-bsp')
-rw-r--r-- | meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc | 21 |
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 00000000..30049bc0 --- /dev/null +++ b/meta-xilinx-bsp/conf/machine/include/machine-xilinx-overrides.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | SOC_VARIANT ??= "" | ||
2 | MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}" | ||
3 | |||
4 | # Here we can extend overrides for the corresponding family and variant | ||
5 | def get_soc_overrides(fam, var, d): | ||
6 | extender = '' | ||
7 | if (fam == 'zynqmp'): | ||
8 | if (var == 'eg'): | ||
9 | extender = 'mali400:' | ||
10 | elif (var == 'ev'): | ||
11 | extender = 'mali400:vcu:' | ||
12 | return extender | ||
13 | |||
14 | # Gets OVERRIDES extender depending on the board | ||
15 | SOC_OVERRIDES = "${@get_soc_overrides(d.getVar('SOC_FAMILY'),d.getVar('SOC_VARIANT'), d)}" | ||
16 | |||
17 | MACHINEOVERRIDES =. "${SOC_OVERRIDES}" | ||
18 | |||
19 | PACKAGE_EXTRA_ARCHS_append = " ${SOC_FAMILY}" | ||
20 | PACKAGE_EXTRA_ARCHS_append = "${@['', ' ${SOC_FAMILY}${SOC_VARIANT}']['${SOC_VARIANT}' != '']}" | ||
21 | |||