It wasn’t until 2018 that support for Andes’ NDS32 CPU architecture was added with the Linux 4.17 kernel. But now, with Linux 5.18, the AndesCore NDS32 architecture is being phased out due to a lack of active maintenance.
The NDS32 Linux kernel port was designed to support older Andes Technology N13/N15/D15/N10/D10 processor cores. These processor cores use a 16/32 bit AndeStar RISC type architecture. This architecture is designed to perform well with a small footprint for embedded use cases ranging from IoT to digital signal controls and various other use cases.
While AndesCore NDS32 processors are still in use around the world today, the lack of active upstream maintenance on the CPU architecture port led to its removal. Generic asm pull request for Linux 5.18 drops NDS32. Arnd Bermann summarizes the situation as follows:The nds32 architecture ends its tenure in the Linux kernel. The hardware is still in use and the code is in reasonable form, but the main port is no longer actively maintained, as all remaining users are expected to run vendor kernels that would never be updated to a future release.“
Andes N10 is one of the CPU designs affected by the removal of NDS32.
The new AndesCore processors are 32-bit and 64-bit designs based on RISC-V, which further erodes the viability of this port. Andes Tech’s AndesStar V5 ISA is now based on RISC-V and this is the way the company is going and therefore has no incentive to continue maintaining this NDS32 code for its older processors.
Since AndeStar V3 era hardware only appeared in deeply embedded systems, it’s unlikely that any of you will use NDS32, especially with modern kernels. Off-tree kernel ports, as with Andes Tech’s SDK, still exist, as does NDS32 support still present in the existing Linux LTS kernel series.