diff --git a/projects/RPi/devices/RPi/options b/projects/RPi/devices/RPi/options index 3ee3c69ab0..104107c0d7 100644 --- a/projects/RPi/devices/RPi/options +++ b/projects/RPi/devices/RPi/options @@ -2,6 +2,16 @@ # Device defaults ################################################################################ + # The TARGET_CPU variable controls which processor should be targeted for + # generated code. + case $TARGET_ARCH in + arm) + TARGET_FLOAT="hard" + TARGET_CPU="arm1176jzf-s" + TARGET_FPU="vfp" + ;; + esac + # NOOBS supported hex versions (legacy) NOOBS_HEX="2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,0092,0093" diff --git a/projects/RPi/devices/RPi2/options b/projects/RPi/devices/RPi2/options index 16e5a24e57..92ecdaab6f 100644 --- a/projects/RPi/devices/RPi2/options +++ b/projects/RPi/devices/RPi2/options @@ -2,6 +2,16 @@ # Device defaults ################################################################################ + # The TARGET_CPU variable controls which processor should be targeted for + # generated code. + case $TARGET_ARCH in + arm) + TARGET_CPU="cortex-a7" + TARGET_FPU="neon-vfpv4" + TARGET_FLOAT="hard" + ;; + esac + # NOOBS supported hex versions (legacy) NOOBS_HEX="1040,1041,2082" diff --git a/projects/RPi/devices/RPi4/options b/projects/RPi/devices/RPi4/options index b608cec2c7..088410730d 100644 --- a/projects/RPi/devices/RPi4/options +++ b/projects/RPi/devices/RPi4/options @@ -14,11 +14,21 @@ # set the addon project ADDON_PROJECT="ARMv8" - # build 64bit kernel + # The TARGET_CPU variable controls which processor should be targeted for + # generated code. case $TARGET_ARCH in + aarch64) + TARGET_CPU="cortex-a72" + TARGET_CPU_FLAGS="+crc" + ;; arm) TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_PATCH_ARCH="aarch64" + TARGET_FLOAT="hard" + # cortex-a72 caused issues in the past, so use a53 + TARGET_CPU="cortex-a53" + TARGET_CPU_FLAGS="+crc" + TARGET_FPU="neon-fp-armv8" ;; esac diff --git a/projects/RPi/options b/projects/RPi/options index 1f0041f90f..50b60fdc11 100644 --- a/projects/RPi/options +++ b/projects/RPi/options @@ -2,40 +2,6 @@ # setup system defaults ################################################################################ - # The TARGET_CPU variable controls which processor should be targeted for - # generated code. - case $TARGET_ARCH in - arm) - # Valid TARGET_CPU for Raspberry Pi based devices are: - # arm1176jzf-s cortex-a7 cortex-a53 - if [ "$DEVICE" = "RPi" ]; then - TARGET_CPU="arm1176jzf-s" - elif [ "$DEVICE" = "RPi2" ]; then - TARGET_CPU="cortex-a7" - elif [ "$DEVICE" = "RPi4" ]; then - TARGET_CPU="cortex-a53" - TARGET_CPU_FLAGS="+crc" - fi - - # TARGET_FLOAT: - # Specifies which floating-point ABI to use. Permissible values are: - # soft hard - TARGET_FLOAT="hard" - - # Valid TARGET_FPU for Raspberry Pi based devices: - # This specifies what floating point hardware (or hardware emulation) is - # available on the target. Permissible names are: - # vfp neon-vfpv4 neon-fp-armv8 - if [ "$DEVICE" = "RPi" ]; then - TARGET_FPU="vfp" - elif [ "$DEVICE" = "RPi2" ]; then - TARGET_FPU="neon-vfpv4" - elif [ "$DEVICE" = "RPi4" ]; then - TARGET_FPU="neon-fp-armv8" - fi - ;; - esac - # Bootloader to use (bcm2835-bootloader) BOOTLOADER="bcm2835-bootloader"