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

	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


config MACH_JZ4730
	select SYS_HAS_CPU_MIPS32_R1

config MACH_JZ4740
	select SYS_HAS_CPU_MIPS32_R1

config MACH_JZ4780
	select SYS_HAS_CPU_MIPS32_R2

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:

	bool "Generic board-agnostic MIPS kernel"
	  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.

	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.


More information about the Letux-kernel mailing list