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

From: H. Nikolaus Schaller

Date: Thu Nov 12 2026 - 11:55:25 EST




> Am 12.11.2026 um 15:16 schrieb Paul Cercueil <paul@xxxxxxxxxxxxxxx>:
>
> 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)

I have to check what he really has developed. I think we did take this from
his github tree (https://github.com/Ingenic-community/linux/tree/v6.1.y) but
were never in contact with him. So I am not sure if we can get a 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.

Ok, that may be from taking the Reimu NotMoe patch without cross-checking.

Will be removed in V3.

>
>> + 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.

That should be clearly checked. If I find a little time I can add it
or it can be done later.

BR and thanks,
Nikolaus

>
> 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