Messages in this thread | | | Subject | Re: [RFC PATCH V4 6/6] riscv: soc: Add Allwinner SoC kconfig option | From | Heinrich Schuchardt <> | Date | Tue, 14 Sep 2021 05:49:52 +0200 |
| |
On 9/13/21 10:45 AM, Maxime Ripard wrote: > Hi, > > On Sat, Sep 11, 2021 at 05:21:39PM +0800, guoren@kernel.org wrote: >> From: Liu Shaohua <liush@allwinnertech.com> >> >> 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@allwinnertech.com> >> Signed-off-by: Guo Ren <guoren@linux.alibaba.com> >> Signed-off-by: Wei Fu <wefu@redhat.com> >> Cc: Anup Patel <anup.patel@wdc.com> >> Cc: Atish Patra <atish.patra@wdc.com> >> Cc: Christoph Hellwig <hch@lst.de> >> Cc: Chen-Yu Tsai <wens@csie.org> >> Cc: Drew Fustini <drew@beagleboard.org> >> Cc: Maxime Ripard <maxime@cerno.tech> >> Cc: Palmer Dabbelt <palmerdabbelt@google.com> >> Cc: Wei Wu <lazyparser@gmail.com> >> --- >> 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.
The draft of the RISC-V platform specification is available here: https://github.com/riscv/riscv-platform-specs/blob/main/riscv-platform-spec.adoc#uartserial-console
The specification requires in section "2.1.5.1. UART/Serial Console" that on platforms with a rich operating system (e.g. Linux) you have a serial console. Hence requiring 8250 support for the D1 CPU is justified.
In the riscv defconfig as of v5.14 we have:
CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y # CONFIG_SERIAL_8250_DW is not set (Support for Synopsys DesignWare 8250 quirks)
CONFIG_SERIAL_8250_DW should be enabled (=y) in the defconfig.
As the specification requires a 16550 UART and marks 8250 as deprecated I expect that future Allwinner SoCs will move to 16550. Calling a Kconfig menu item "Allwinner SoCs" which includes all future Allwinner SoCs irritates me. How about CONFIG_SOC_SUNXI_D1 instead?
Why does the patch use 'depends on MMU' and does not 'select MMU'?
Best regards
Heinrich
> > These options should be in the defconfig. > > Maxime >
| |