[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