diff options
Diffstat (limited to 'meta-xilinx-core/conf/machine/microblaze-generic.conf')
-rw-r--r-- | meta-xilinx-core/conf/machine/microblaze-generic.conf | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf new file mode 100644 index 00000000..8fb40070 --- /dev/null +++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf @@ -0,0 +1,111 @@ +#@TYPE: Machine +#@NAME: microblaze-generic +#@DESCRIPTION: Machine configuration for the microblaze-generic devices + +# Deprecated board config +USE_BOARD = "${@"conf/machine/include/xilinx-board-pre.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}" +require ${USE_BOARD} +unset USE_BOARD + +#### Preamble +MACHINEOVERRIDES =. "${@['', 'microblaze-generic:']['microblaze-generic' != '${MACHINE}']}" +#### Regular settings follow + +# Set the default for a modern full feature microblaze... +TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 pattern-compare barrel-shift divide-hard multiply-high fpu-hard reorder" +DEFAULTTUNE ?= "microblaze" + +# Variables that changes based on hw design or board specific requirement must be +# defined before calling the required inclusion file else pre-expansion value +# defined in local.conf without machine override will not be reflected. + +# Yocto Microblaze device-tree variables +YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0" +YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0" +DT_PADDING_SIZE:pn-device-tree ?= "0x1000" +DTC_FLAGS:pn-device-tree ?= "" +XSCTH_PROC:pn-device-tree ?= "microblaze_0" +YAML_DT_BOARD_FLAGS ?= "{BOARD kcu105}" + +# Yocto Microblaze FS-Boot variables +YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0" +YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0" +YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0" +YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0" +XSCTH_PROC:pn-fs-boot ?= "microblaze_0" + +# Yocto Microblaze u-boot-xlnx variables +UBOOT_MACHINE ?= "microblaze-generic_defconfig" +UBOOT_INITIAL_ENV = "" +BOOTMODE ?= "generic.root" + +# Yocto Microblaze KERNEL Variables +UBOOT_ENTRYPOINT ?= "0x80000000" +UBOOT_LOADADDRESS ?= "0x80000000" +KERNEL_EXTRA_ARGS += "UIMAGE_LOADADDR=${UBOOT_ENTRYPOINT}" + +# Microblaze Serial Console settings +SERIAL_CONSOLES ?= "115200;ttyUL0" +YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" + +require conf/machine/include/soc-tune-include.inc +require conf/machine/include/machine-xilinx-default.inc +require conf/machine/include/machine-xilinx-qemu.inc + +# The default MACHINE_ARCH is dynmic for microblaze, since the architecture is not fixed +# Based on core bitbake.conf +DEF_MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH'), d.getVar('MACHINE')][bool(d.getVar('MACHINE'))].replace('-', '_')}" +# Enable a dynamic machine_arch +MB_MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH'), d.getVar('TUNE_PKGARCH') + '-generic'][bool(d.getVar('MACHINE'))].replace('-', '_')}" + +MACHINE_ARCH = "${@['${MB_MACHINE_ARCH}', '${DEF_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" + +# microblaze-generic.conf uses kcu105-microblazeel xsa as reference input. +# User can override with custom xsa using HDF_BASE and HDF_PATH variables from +# local.conf. +HDF_MACHINE = "kcu105-microblazeel" + +MACHINE_FEATURES = "" + +KERNEL_IMAGETYPE ?= "linux.bin.ub" +KERNEL_IMAGETYPES = "" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" + +IMAGE_BOOT_FILES += " \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + " + +EXTRA_IMAGEDEPENDS += " \ + libyaml-native \ + python3-cython-native \ + python3-pyyaml-native \ + virtual/bitstream \ + virtual/bootloader \ + virtual/elfrealloc \ + u-boot-xlnx-scr \ + " + +IMAGE_FSTYPES += "cpio.gz" + +# Microblaze QEMU Configurations +QB_MEM = "-m 2G" +QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0,115200 root=/dev/ram0 rw" +QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" + +# This will work with the default runqemu, as the first serial port is the +# correct console +# +# One total serial port defined in this model (according to the generated dts) +# +# hw serial0 axi_uartlite_0 (40600000) - linux serial0 (ttyUL0) +QB_XILINX_SERIAL = "" + +#### No additional settings should be after the Postamble +#### Postamble +PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" + +# Deprecated board config +USE_BOARD = "${@"conf/machine/include/xilinx-board-post.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}" +require ${USE_BOARD} +unset USE_BOARD |