[Letux-kernel] [Lenny400] JZ4730/Minibook framebuffer driver updates
H. Nikolaus Schaller
hns at goldelico.com
Wed Sep 13 08:14:26 CEST 2017
Hi Paul,
> Am 13.09.2017 um 07:43 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>
> Why are CPU and board connected by Kconfig at all?
>
> On ARM I am used to that we can configure the kernel to support OMAP3, OMAP4 and
> OMAP5 in parallel. During runtime the DT will choose which code path for CPU
> initialization is running.
>
> And independently of that we can configure to build a DT for different OMAP3,
> OMAP4 and OMAP5 boards and again only the right DTB is loaded by U-Boot.
>
> So the Kconfigs are independent and the Board-DT config does not automatically
> choose a CPU config (select MACH_JZ4730).
>
> Maybe this is historic for MIPS.
I have studied the Kconfig and wasn't fully aware that there is just a single
Kconfig file for Board and CPU type...
choice
prompt "Machine type"
depends on MACH_INGENIC
default JZ4740_QI_LB60
config JZ4730_MIPSBOOK_400
bool "JZ4730 based small Netbook (e.g. Skytone Alpha 400, Razorbook 400, Letux 400)"
select MACH_JZ4730
config JZ4740_QI_LB60
bool "Qi Hardware Ben NanoNote"
select MACH_JZ4740
config JZ4780_CI20
bool "MIPS Creator CI20"
select MACH_JZ4780
endchoice
config MACH_JZ4730
bool
select SYS_HAS_CPU_MIPS32_R1
config MACH_JZ4740
bool
select SYS_HAS_CPU_MIPS32_R1
config MACH_JZ4780
bool
select MIPS_CPU_SCACHE
select SYS_HAS_CPU_MIPS32_R2
select SYS_SUPPORTS_HIGHMEM
So the MACH_JZ4* configs are hidden and not user-visible.
Maybe MACH_JZ4730 and MACH_JZ4740 and MACH_JZ4780 are mutually exclusive and
this is done indirectly by the "choice Machine type".
This does not allow for the "single uImage, multiple DTB" principle for supporting
multiple boards by a single distribution. It seems as there is work in progress:
config MIPS_GENERIC
bool "Generic board-agnostic MIPS kernel"
help
Select this to build a kernel which aims to support multiple boards,
generally using a flattened device tree passed from the bootloader
using the boot protocol defined in the UHI (Unified Hosting
Interface) specification.
...
config MACH_INGENIC
bool "Ingenic SoC based machines"
but does not yet support Ingenic SoC based systems.
In this situation it is probably the best to live with a single Kconfig and defconfig
patch in one feature branch.
BR,
Nikolaus
More information about the Letux-kernel
mailing list