lkml.org 
[lkml]   [2020]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 00/13] MIPS: Convert Ingenic to a generic board
From
Date
Hi Paul,

在 2020/8/8 上午12:45, Paul Cercueil 写道:
> Hi Zhou,
>
> Le sam. 8 août 2020 à 0:23, Zhou Yanjie <zhouyanjie@wanyeetech.com> a
> écrit :
>> Hi Paul,
>>
>> I'm not too sure if remove "cpu-feature-overrides.h" will cause some
>> problems for X2000, because according to my current test on X2000, I
>> found that it is somewhat different from the SoCs using XBurst1 CPU
>> core, with the kernel source code provided by Ingenic, for example,
>> we must configure "#define cpu_has_tlbinv 1" in
>> "cpu-feature-overrides.h" to make the X2000 work normally, otherwise
>> the kernel will get stuck. And X2000's interrupt controller has also
>> been redesigned. If these differences make it impossible to share
>> code, should we set a subdirectory of "xburst" and "xburst2" in
>> "arch/mips/ingenic"? (I am just worried about this situation, so far
>> I have not been able to successfully run the mainline kernel on X2000).
>
> The <cpu-feature-overrides.h> is kind of a hack, to hardcode settings
> in case the CPU is not properly detected. The cpu-probe.c should be
> able to auto-detect these settings, including the inverted TLB that
> the X2000 has, reading from the CPU config registers ("TLB INV" info
> should be in config4). Right now cpu_probe_ingenic() doesn't read
> config4 (not present on older SoCs) but that's trivial to add.
>
> As for your other question, I don't see any reason why we wouldn't be
> able to support the X2000 aside the others in a generic kernel, so
> don't worry :)
>
OK, this is good news for me.


> Cheers,
> -Paul
>
>>
>> I have added some related engineers from Ingenic to CC
>>
>> Thanks and best regards!
>>
>> 在 2020/8/4 上午1:01, Paul Cercueil 写道:
>>> Hi Thomas & list,
>>>
>>> Here is a set of patches for 5.10 (no rush) to move Ingenic support
>>> from
>>> arch/mips/jz4740/ to arch/mips/generic/.
>>>
>>> There are some Kconfig changes that I think should be reviewed in
>>> detail
>>> to avoid breakages elsewhere. The idea behind these changes is to allow
>>> the Ingenic "generic" code to be built in a non-generic kernel, since
>>> generic kernels bring lots of dependencies which result in a +7% size
>>> increase.
>>>
>>> Support for booting the generic kernel with a built-in and/or appended
>>> devicetree, as well as support for compressed (vmlinuz) kernels, has
>>> been added as well.
>>>
>>> Cheers,
>>> -Paul
>>>
>>> Paul Cercueil (13):
>>>    MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
>>>    MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
>>>    MIPS: cpu-probe: ingenic: Fix broken BUG_ON
>>>    MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
>>>    MIPS: machine: Add get_system_type callback
>>>    MIPS: generic: Call the machine's .get_system_type callback if
>>>      provided
>>>    MIPS: generic: Support booting with built-in or appended DTB
>>>    MIPS: generic: Add support for zboot
>>>    MIPS: generic: Increase NR_IRQS to 256
>>>    MIPS: generic: Add support for Ingenic SoCs
>>>    MIPS: jz4740: Drop folder
>>>    MIPS: configs: Regenerate configs of Ingenic boards
>>>    MAINTAINERS: Update paths to Ingenic platform code
>>>
>>>   MAINTAINERS                                   |   4 +-
>>>   arch/mips/Kbuild.platforms                    |   1 -
>>>   arch/mips/Kconfig                             |  43 ++++--
>>>   arch/mips/configs/ci20_defconfig              |   4 +-
>>>   arch/mips/configs/cu1000-neo_defconfig        |  16 +-
>>>   arch/mips/configs/gcw0_defconfig              |   2 +-
>>>   arch/mips/configs/qi_lb60_defconfig           |   5 +-
>>>   arch/mips/configs/rs90_defconfig              |   4 +-
>>>   arch/mips/generic/Kconfig                     |   8 +-
>>>   arch/mips/generic/Makefile                    |   2 +-
>>>   arch/mips/generic/Platform                    |   1 +
>>>   arch/mips/generic/board-ingenic.c             | 108 +++++++++++++
>>>   arch/mips/generic/init.c                      |  28 +++-
>>>   arch/mips/generic/proc.c                      |  25 ---
>>>   arch/mips/include/asm/mach-generic/irq.h      |   2 +-
>>>   .../asm/mach-jz4740/cpu-feature-overrides.h   |  50 ------
>>>   arch/mips/include/asm/mach-jz4740/irq.h       |  13 --
>>>   arch/mips/include/asm/machine.h               |   1 +
>>>   arch/mips/include/asm/pgtable-bits.h          |   5 -
>>>   arch/mips/{jz4740 => ingenic}/Kconfig         |  16 +-
>>>   arch/mips/jz4740/Makefile                     |   9 --
>>>   arch/mips/jz4740/Platform                     |   3 -
>>>   arch/mips/jz4740/setup.c                      | 145
>>> ------------------
>>>   arch/mips/kernel/cpu-probe.c                  |   8 +-
>>>   24 files changed, 198 insertions(+), 305 deletions(-)
>>>   create mode 100644 arch/mips/generic/board-ingenic.c
>>>   delete mode 100644 arch/mips/generic/proc.c
>>>   delete mode 100644
>>> arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
>>>   delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
>>>   rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
>>>   delete mode 100644 arch/mips/jz4740/Makefile
>>>   delete mode 100644 arch/mips/jz4740/Platform
>>>   delete mode 100644 arch/mips/jz4740/setup.c
>>>
>

\
 
 \ /
  Last update: 2020-08-07 19:21    [W:0.079 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site