Re: [RFC PATCH V4 6/6] riscv: soc: Add Allwinner SoC kconfig option
From: Anup Patel <anup@brainfault.org>
Date: 2021-09-14 05:17:14
Also in:
lkml
On Tue, Sep 14, 2021 at 8:36 AM Randy Dunlap [off-list ref] wrote:
On 9/13/21 7:34 PM, Guo Ren wrote:quoted
On Tue, Sep 14, 2021 at 2:49 AM Randy Dunlap [off-list ref] wrote:quoted
On 9/13/21 2:20 AM, Guo Ren wrote:quoted
On Mon, Sep 13, 2021 at 4:45 PM Maxime Ripard [off-list ref] wrote:quoted
Hi, On Sat, Sep 11, 2021 at 05:21:39PM +0800, guoren@kernel.org wrote:quoted
From: Liu Shaohua <redacted> Add Allwinner kconfig option which selects SoC specific and common drivers that is required for this SoC. Allwinner D1 uses custom PTE attributes to solve non-coherency SOC interconnect issues for dma synchronization, so we set the default value when SOC_SUNXI selected. Signed-off-by: Liu Shaohua <redacted> Signed-off-by: Guo Ren <redacted> Signed-off-by: Wei Fu <wefu@redhat.com> Cc: Anup Patel <redacted> Cc: Atish Patra <redacted> Cc: Christoph Hellwig <hch@lst.de> Cc: Chen-Yu Tsai <redacted> Cc: Drew Fustini <redacted> Cc: Maxime Ripard <redacted> Cc: Palmer Dabbelt <redacted> Cc: Wei Wu <redacted> --- arch/riscv/Kconfig.socs | 15 +++++++++++++++ arch/riscv/configs/defconfig | 1 + 2 files changed, 16 insertions(+)diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs index 30676ebb16eb..8721c000ef23 100644 --- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs@@ -70,4 +70,19 @@ config SOC_CANAAN_K210_DTB_SOURCE endif +config SOC_SUNXI + bool "Allwinner SoCs" + depends on MMU + select DWMAC_GENERIC + select ERRATA_THEAD + select RISCV_DMA_NONCOHERENT + select RISCV_ERRATA_ALTERNATIVE + select SERIAL_8250 + select SERIAL_8250_CONSOLE + select SERIAL_8250_DW + select SIFIVE_PLIC + select STMMAC_ETH + help + This enables support for Allwinner SoC platforms like the D1. +I'm not sure we should select the drivers there. We could very well imagine a board without UART, or even more so without ethernet.We just want people could bring D1 up easier, 8250 is the basic component.quoted
These options should be in the defconfig.Agreed, using a defconfig is the right way to do this.Put 8250 related configs into arch/riscv/configs/defconfig? @Palmer Dabbelt @Arnd Bergmann, How do you think about that? (defconfig or Kconfig.soc) My purpose is when people make the Image from riscv/defconfig, then the Image could run on all platforms include D1.Hi, I certainly did not understand your purpose with the patch being able to build a kernel that would run on multiple platforms. Still, I would not expect to see one platform cause unnecessary drivers to be built for platforms that don't need them. Kconfig.socs in arch/riscv/ is a bit of an unusual Kconfig file IMO -- I suppose what you want to do fits into its style. AFAIK the suggestion to use a defconfig (at least my suggestion) was expecting to have a defconfig for each platform, but that would not give you a boot image that could run on all platforms.
AFAIK, having a separate defconfig for each platform is not going to fly with distros (AFAIK). We can't expect dirstros to release separate RISC-V kernel image for each platform. In fact, ARM64 kernel has just one defconfig whereas ARM32 kernel has consolidated and minimized number of defconfigs. The long term goal for Linux RISC-V is to support single kernel image booting on multiple-platforms. Of course, users can always strip down the kernel using their custom defconfigs. Regards, Anup
Anyway, it's Palmer's choice. thanks. -- ~Randy
_______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv