[PATCH v4 00/14] Add Andes AE350 fdt driver support
Yu-Chien Peter Lin
peterlin at andestech.com
Mon Oct 24 08:10:48 PDT 2022
On Sun, Oct 23, 2022 at 10:42:52AM +0530, Anup Patel wrote:
> On Fri, Oct 14, 2022 at 6:03 AM Yu Chien Peter Lin
> <peterlin at andestech.com> wrote:
> >
> > We move the devices used by AE350 to fdt driver framework, reuse
> > existing driver and add timer, ipi and reset drivers.
> > The OpenSBI domain support is also enabled. As of now, we can use
> > Kconfig to manage these configurations that can support variants of
> > Andes platform and SoC like Kendryte K510.
> >
> > Changes v1 -> v2
> > - Rename Andes-specific devices (PLMT, PLICSW) compatible string
> > - Update ISA string in CPU nodes
> > Changes v2 -> v3
> > - Add PATCH1 and PATCH2 to fix typos
> > - Add PATCH3 which factors out a function for adding mtimer and ipi
> > device regions to root domain
> > - Remove unused variable "num_src" and "riscv,ndev" property of ipi
> > device node
> > Changes v3 -> v4
> > - Add PATCH3 to fix grammar
> > - Move plmt_{cold,warm}_timer_init() to andes_plmt.c and define
> > fdt_plmt_cold_timer_init() which adds PLMT region and sets
> > timer device
> > - Move plicsw_{cold,warm}_ipi_init() to andes_plicsw.c and define
> > fdt_plicsw_cold_ipi_init() which adds PLICSW region and sets
> > ipi device
> >
> >
> > Yu Chien Peter Lin (14):
> > include: sbi: Fix typo in comment
> > lib: sbi: Fix typo in comment
> > include: sbi: Fix grammar in comment
> > lib: sbi: Add sbi_domain_root_add_memrange() API
> > platform: andes/ae350: Remove enabling cache from an350_final_init
> > platform: andes/ae350: Use kconfig to set platform version and default
> > name
> > platform: andes/ae350: Use fdt serial driver
> > lib: utils/timer: Add Andes fdt timer support
> > lib: utils/reset: Add Andes fdt reset driver support
> > platform: andes/ae350: Use fdt irqchip driver
> > platform: andes/ae350: Add fw_platform_init for platform
> > initialization
> > lib: utils/ipi: Add Andes fdt ipi driver support
> > platform: andes/ae350: Add AE350 domain support
> > docs: andes-ae350.md: Update ae350 documentation for fdt driver
> > support
>
> Applied this series to the riscv/opensbi repo.
>
> Any thoughts on using the generic platform ?
>
> Thanks,
> Anup
Hi Anup,
The FW_TEXT_START on AE350 is different from generic platform.
Will it become a configuration?
I think we would keep the platform specific files in andes/ae350
until we have to refactor the duplicate code.
Thanks,
Peter Lin
>
> >
> > docs/platform/andes-ae350.md | 184 +++++++++++++++++++++++-
> > include/sbi/sbi_domain.h | 16 ++-
> > include/sbi/sbi_scratch.h | 2 +-
> > include/sbi_utils/fdt/fdt_helper.h | 6 +
> > include/sbi_utils/ipi/andes_plicsw.h | 46 ++++++
> > include/sbi_utils/timer/aclint_mtimer.h | 2 +
> > include/sbi_utils/timer/andes_plmt.h | 29 ++++
> > lib/sbi/sbi_domain.c | 27 ++++
> > lib/sbi/sbi_expected_trap.S | 2 +-
> > lib/utils/fdt/fdt_helper.c | 108 ++++++++++++++
> > lib/utils/ipi/Kconfig | 9 ++
> > lib/utils/ipi/andes_plicsw.c | 137 ++++++++++++++++++
> > lib/utils/ipi/fdt_ipi_plicsw.c | 47 ++++++
> > lib/utils/ipi/objects.mk | 4 +
> > lib/utils/reset/Kconfig | 4 +
> > lib/utils/reset/fdt_reset_atcwdt200.c | 122 ++++++++++++++++
> > lib/utils/reset/objects.mk | 3 +
> > lib/utils/timer/Kconfig | 9 ++
> > lib/utils/timer/aclint_mtimer.c | 50 ++-----
> > lib/utils/timer/andes_plmt.c | 104 ++++++++++++++
> > lib/utils/timer/fdt_timer_plmt.c | 51 +++++++
> > lib/utils/timer/objects.mk | 4 +
> > platform/andes/ae350/Kconfig | 30 +++-
> > platform/andes/ae350/objects.mk | 2 +-
> > platform/andes/ae350/platform.c | 165 +++++++++------------
> > platform/andes/ae350/platform.h | 17 ---
> > platform/andes/ae350/plicsw.c | 139 ------------------
> > platform/andes/ae350/plicsw.h | 44 ------
> > platform/andes/ae350/plmt.c | 107 --------------
> > platform/andes/ae350/plmt.h | 17 ---
> > 30 files changed, 1021 insertions(+), 466 deletions(-)
> > create mode 100644 include/sbi_utils/ipi/andes_plicsw.h
> > create mode 100644 include/sbi_utils/timer/andes_plmt.h
> > create mode 100644 lib/utils/ipi/andes_plicsw.c
> > create mode 100644 lib/utils/ipi/fdt_ipi_plicsw.c
> > create mode 100644 lib/utils/reset/fdt_reset_atcwdt200.c
> > create mode 100644 lib/utils/timer/andes_plmt.c
> > create mode 100644 lib/utils/timer/fdt_timer_plmt.c
> > delete mode 100644 platform/andes/ae350/plicsw.c
> > delete mode 100644 platform/andes/ae350/plicsw.h
> > delete mode 100644 platform/andes/ae350/plmt.c
> > delete mode 100644 platform/andes/ae350/plmt.h
> >
> > --
> > 2.34.1
> >
> >
> > --
> > opensbi mailing list
> > opensbi at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/opensbi
More information about the opensbi
mailing list