Re: [RFC PATCH V4 6/6] riscv: soc: Add Allwinner SoC kconfig option

From: Anup Patel
Date: Tue Sep 14 2021 - 01:17:14 EST


On Tue, Sep 14, 2021 at 8:36 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> On 9/13/21 7:34 PM, Guo Ren wrote:
> > On Tue, Sep 14, 2021 at 2:49 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> >>
> >> On 9/13/21 2:20 AM, Guo Ren wrote:
> >>> On Mon, Sep 13, 2021 at 4:45 PM Maxime Ripard <maxime@xxxxxxxxxx> wrote:
> >>>>
> >>>> Hi,
> >>>>
> >>>> On Sat, Sep 11, 2021 at 05:21:39PM +0800, guoren@xxxxxxxxxx wrote:
> >>>>> From: Liu Shaohua <liush@xxxxxxxxxxxxxxxxx>
> >>>>>
> >>>>> 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 <liush@xxxxxxxxxxxxxxxxx>
> >>>>> Signed-off-by: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
> >>>>> Signed-off-by: Wei Fu <wefu@xxxxxxxxxx>
> >>>>> Cc: Anup Patel <anup.patel@xxxxxxx>
> >>>>> Cc: Atish Patra <atish.patra@xxxxxxx>
> >>>>> Cc: Christoph Hellwig <hch@xxxxxx>
> >>>>> Cc: Chen-Yu Tsai <wens@xxxxxxxx>
> >>>>> Cc: Drew Fustini <drew@xxxxxxxxxxxxxxx>
> >>>>> Cc: Maxime Ripard <maxime@xxxxxxxxxx>
> >>>>> Cc: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx>
> >>>>> Cc: Wei Wu <lazyparser@xxxxxxxxx>
> >>>>> ---
> >>>>> 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.
> >>>
> >>>
> >>>>
> >>>> 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
>