Btw, JetPack 3 is the most recent release…I don’t know if docs changed or not from R2.1 to R3, but possibly there is a difference.
The ARM Cortex-A57 is ARMv8, and on the Jetson is little endian. ARMv8 normal operating mode (el1) is 64-bit. In compatibility mode it supports the older instruction set of ARMv7 (including NEON). When in 64-bit mode this is referred to as aarch64 or arm64; in 32-bit mode it is referred to as armhf or arm32 or just arm. One has to specify a specific architecture for matching things…ARMv8 would be ambiguous and you could get one vendor supplying 64-bit code which wouldn’t work with another vendor’s 32-bit armhf. By specifying aarch64 you specify not only ARMv8, you also specify 64-bit mode.
The normal installation of Linux on ARMv8 is to supply linkers and libraries for the full performance 64-bit mode (the native architecture). You could install linker support and libraries to also run armhf/arm (a foreign architecture), but very few people are interested in adding the complexity to support a degraded performance. However, if you did add armhf as foreign architecture, then you could freely run ARMv7 with NEON in addition to ARMv8 64-bit.