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:
Put 8250 related configs into arch/riscv/configs/defconfig?
On 9/13/21 2:20 AM, Guo Ren wrote:
On Mon, Sep 13, 2021 at 4:45 PM Maxime Ripard <maxime@xxxxxxxxxx> wrote:
We just want people could bring D1 up easier, 8250 is the basic component.
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.
These options should be in the defconfig.
Agreed, using a defconfig is the right way to do this.
@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.