Re: [PATCH v2 7/9] MIPS: Ingenic: Expand Kconfig for X1600, X2000, and X2600 SoCs

From: Paul Cercueil

Date: Thu Nov 12 2026 - 09:55:17 EST


Le jeudi 12 novembre 2026 à 09:10 +0100, H. Nikolaus Schaller a écrit :
> Expand MACH_INGENIC_GENERIC to select all existing and newly added
> machine variants (including JZ4750/55/60/75, X1500, X1600, X2000,
> X2100, and X2600).
>
> Introduce individual Kconfig blocks for the following SoCs:
> - MACH_X1600: Selects MIPS32_R2 and HIGHMEM.
> - MACH_X2000 / MACH_X2600: Selects MIPS32_R5, SMP support, broadcast
>   clockevents, O32 FP64 support, and weak ordering optimizations.
>
> In parts developed by Reimu NotMoe <reimu@xxxxxxxxxxxxx>

Co-developed-by? (+ his Sob)

> Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>
> ---
>  arch/mips/ingenic/Kconfig | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>
> diff --git a/arch/mips/ingenic/Kconfig b/arch/mips/ingenic/Kconfig
> index f595b339a4b84..5d351b42bbc9b 100644
> --- a/arch/mips/ingenic/Kconfig
> +++ b/arch/mips/ingenic/Kconfig
> @@ -5,10 +5,19 @@ config MACH_INGENIC_GENERIC
>   select MACH_INGENIC
>   select MACH_JZ4740
>   select MACH_JZ4725B
> + select MACH_JZ4750
> + select MACH_JZ4755
> + select MACH_JZ4760
>   select MACH_JZ4770
> + select MACH_JZ4775
>   select MACH_JZ4780
>   select MACH_X1000
> + select MACH_X1500

You select MACH_X1500 but there's no CONFIG_MACH_X1500 symbol. No entry in enum
ingenic_machine_type either, or compatible string for it.

Your patch didn't add a CONFIG_MACH_X2100 either.

> + select MACH_X1600
>   select MACH_X1830
> + select MACH_X2000
> + select MACH_X2100
> + select MACH_X2600
>  
>  choice
>   prompt "Machine type"
> @@ -62,8 +71,10 @@ config MACH_JZ4770
>  config MACH_JZ4780
>   bool
>   select MIPS_CPU_SCACHE
> + select GENERIC_CLOCKEVENTS_BROADCAST if SMP
>   select SYS_HAS_CPU_MIPS32_R2
>   select SYS_SUPPORTS_HIGHMEM
> + select SYS_SUPPORTS_SMP
>  
>  config MACH_X1000
>   bool
> @@ -71,8 +82,35 @@ config MACH_X1000
>   select SYS_HAS_CPU_MIPS32_R2
>   select SYS_SUPPORTS_HIGHMEM
>  
> +config MACH_X1600
> + bool
> + select SYS_HAS_CPU_MIPS32_R2
> + select SYS_SUPPORTS_HIGHMEM
> +
>  config MACH_X1830
>   bool
>   select MIPS_CPU_SCACHE
>   select SYS_HAS_CPU_MIPS32_R2
>   select SYS_SUPPORTS_HIGHMEM
> +
> +config MACH_X2000
> + bool
> + select MIPS_CPU_SCACHE
> + select GENERIC_CLOCKEVENTS_BROADCAST if SMP
> + select SYS_HAS_CPU_MIPS32_R5
> + select SYS_SUPPORTS_HIGHMEM
> + select SYS_SUPPORTS_SMP
> + select MIPS_O32_FP64_SUPPORT

I know MIPS_O32_FP64_SUPPORT was supported on the JZ4770, and most likely on the
JZ4760 too (the first one with a FPU AFAIK). So this could probably be moved to
CONFIG_MACH_INGENIC.

Cheers,
-Paul

> + select WEAK_ORDERING
> + select WEAK_REORDERING_BEYOND_LLSC
> +
> +config MACH_X2600
> + bool
> + select MIPS_CPU_SCACHE
> + select GENERIC_CLOCKEVENTS_BROADCAST if SMP
> + select SYS_HAS_CPU_MIPS32_R5
> + select SYS_SUPPORTS_HIGHMEM
> + select SYS_SUPPORTS_SMP
> + select MIPS_O32_FP64_SUPPORT
> + select WEAK_ORDERING
> + select WEAK_REORDERING_BEYOND_LLSC