################################################################################
# setup device defaults
################################################################################

  # The TARGET_CPU variable controls which processor should be targeted for
  # generated code.
   case $TARGET_ARCH in
      aarch64)
        TARGET_KERNEL_ARCH="arm64"
        TARGET_PATCH_ARCH="aarch64"
        TARGET_FLOAT="hard"
        TARGET_CPU="generic"
        TARGET_CPU_FLAGS="+crc+fp+simd+crypto"
        TARGET_FPU="fp-armv8"
        TARGET_FEATURES="64bit"
        ;;
      arm)
        TARGET_KERNEL_ARCH="arm64"
        TARGET_PATCH_ARCH="aarch64"
        TARGET_FLOAT="hard"
        # Couldn't get generic to work, maybe try again on gcc13
        TARGET_CPU="cortex-a35"
        TARGET_CPU_FLAGS="+crc"
        TARGET_FPU="crypto-neon-fp-armv8"
        TARGET_FEATURES="32bit"
        ;;
    esac

  # Kernel target
    DEVICE_NAME="RK-ARMV8-a"
    KERNEL_TARGET="Image"
    BOOTLOADER=""
    TRUST_LABEL=""
    PARTITION_TABLE=""
    DEVICE_DTB=()
    UBOOT_DTB=""
    UBOOT_CONFIG=""
    PKG_SOC=""
    PKG_DATAFILE=""
    PKG_LOADER=""
    PKG_BL31=""
    PKG_LOAD_ADDR=""
    BOOT_INI=false
    BOOT_PART=""
    EXT_LINUX_CONF=false

  # Define the CPU
    HW_CPU="Generic armv8-a"

  # Display Resolution
    SPLASH_RESOLUTION=""
 
  # Mali GPU family
    MALI_FAMILY="N/A"
    GRAPHIC_DRIVERS="panfrost"

  # OpenGL(X) implementation to use (mesa / no)
    OPENGL="mesa"

  # OpenGL-ES implementation to use (mesa / no)
    OPENGLES="mesa"

  # Displayserver to use (weston / x11 / no)
    DISPLAYSERVER="wl"

  # Windowmanager to use (fluxbox / weston / no)
    WINDOWMANAGER="weston"
  
  # additional packages to install
    ADDITIONAL_PACKAGES=""

  # additional Firmware to use ( )
  # Space separated list is supported,
  # e.g. FIRMWARE=""
    FIRMWARE=""

  # additional drivers to install:
  # for a list of additional drivers see packages/linux-drivers
  # Space separated list is supported,
  # e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
    ADDITIONAL_DRIVERS=""

  # build and install driver addons (yes / no)
    DRIVER_ADDONS_SUPPORT="no"
  
  # driver addons to install:
  # for a list of additinoal drivers see packages/linux-driver-addons
  # Space separated list is supported,
    DRIVER_ADDONS=""

  # debug tty path
    DEBUG_TTY=""
   
  # Disable 32BIT support
    ENABLE_32BIT="true"

  # build and install bluetooth support (yes / no)
    BLUETOOTH_SUPPORT="yes"

  # build and install Avahi (Zeroconf) daemon (yes / no)
    AVAHI_DAEMON="no"

  # build with NFS support (mounting nfs shares via the OS) (yes / no)
    NFS_SUPPORT="no"

  # build with Samba Client support (mounting samba shares via the OS) (yes / no)
    SAMBA_SUPPORT="no"

  # build and install Samba Server (yes / no)
    SAMBA_SERVER="yes"

  # build and install SFTP Server (yes / no)
    SFTP_SERVER="yes"

  # build and install Simple HTTP Server (yes / no)
    SIMPLE_HTTP_SERVER="yes"

  # build and install OpenVPN support (yes / no)
    OPENVPN_SUPPORT="no"

  # build and install diskmounter support (udevil)
  # this service provide auto mounting support for external drives in the
  # mediacenter also automount internally drives at boottime via udev (yes / no)
    UDEVIL="yes"

  # build and install exFAT fuse support (yes / no)
    EXFAT="yes"

  # build and install NTFS-3G fuse support (yes / no)
    NTFS3G="no"

  # build and install hfs filesystem utilities (yes / no)
    HFSTOOLS="no"

  # Support for partitioning and formating disks in initramfs (yes / no)
  # This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
    INITRAMFS_PARTED_SUPPORT="no"

  # build with swap support (yes / no)
    SWAP_SUPPORT="yes"

  # swap support enabled per default (yes / no)
    SWAP_ENABLED_DEFAULT="yes"

  # swapfile size if SWAP_SUPPORT=yes in MB
    SWAPFILESIZE="384"

  # cron support (yes / no)
    CRON_SUPPORT="no"

  # Settings package name - blank if not required
    DISTRO_PKG_SETTINGS=""

  # htop tool (yes / no)
    HTOP_TOOL="yes"

  # Exclude packages that are device specific, etc.
    EXCLUDE_PKGS="retroarch parallel-n64-lr yabasanshiro-lr duckstation-sa "
    EXCLUDE_PKGS+="flycast-sa flycast2021-lr mednafen drastic-sa"

    NO_IMAGE="yes"
