[RTEMS][PATCH v2 0/2] riscv: add freedom E310 Arty A7

Hesham Almatary heshamelmatary at gmail.com
Tue Sep 10 10:43:05 UTC 2019


Hi Pragnesh,

Thanks for the v2 update. I guess our question/comment on the previous
v1 patch was about the addition of bsps/riscv/frdme310arty/ directory
at all. That is, you might be able to just use  bsps/riscv/riscv
already. Are there any significant changes that prevent you from just
using "bsps/riscv/riscv"? For example, griscv doesn't have FDT, and
has its own way of managing (external) interrupts, so a new gricv bsp
is added. On the other hand, it looks to me that frdme310arty has FDT
and the same PLIC/CLINT drivers that riscv/riscv already uses, which
doesn't really need any special handling or additions. I managed, for
example, to get bsps/riscv/riscv running on Piccolo [1] on a Xilinx
FPGA (with FDT, PLIC, CLINT and 16550 Xilinx UART IP) without having
to do anything (except for just two lines of FDT handling code that I
submitted patches for).

[1] https://github.com/bluespec/Piccolo

Cheers,
Hesham

On Tue, 10 Sep 2019 at 07:34, Pragnesh Patel <pragnesh.patel at sifive.com> wrote:
>
> This series added a support for RISCV freedom E310 Arty A7 bsp
> and add bsps/riscv/shared code for reusability
>
> Changes in v2:
>
>   bsps/riscv/frdme310arty/btimer/btimer.c
>     - Remove the read_csr() function from btimer.c
>     - Remove CONFIG_BTIMER_RISCV_GET_MCYCLES macro to get time in
>       microseconds
>
>   bsps/riscv/frdme310arty/clock/clockdrv.c
>   bsps/riscv/riscv/clock/clockdrv.c
>     - Delete both files and Add bsps/riscv/shared/clock/clockdrv.c
>     - riscv_clock_get_timebase_frequency(): Get timebase-frequency from
>       cpus or cpu at 0 devicetree node because riscv uses "cpus" node and
>       frdme310arty uses "cpu at 0" node to look for timebase-frequency
>     - Remove rtems_counter_initialize_converter() and
>       rtems_timecounter_simple_install() functions
>
>   bsps/riscv/frdme310arty/include/bsp/riscv.h
>     - Remove unused frdme310arty_l2c_base;
>
>   bsps/riscv/frdme310arty/start/bsp_fatal_halt.c
>   bsps/riscv/riscv/start/bsp_fatal_halt.c
>     - Delete this file and Add bsps/riscv/shared/start/bsp_fatal_halt.c
>
>   bsps/riscv/frdme310arty/start/bspstart.c
>     - Remove unused function riscv_get_node_byname()
>
>   bsps/riscv/frdme310arty/start/linkcmds.in
>     - Use @RISCV_RAM_REGION_BEGIN@ and @RISCV_RAM_REGION_SIZE@ instead of
>       hard coded values
>
>   c/src/lib/libbsp/riscv/frdme310arty/Makefile.am
>     - librtemsbsp_a_SOURCES -> bsps/riscv/shared/start/bsp_fatal_halt.c
>     - librtemsbsp_a_SOURCES -> bsps/riscv/shared/clock/clockdrv.c
>
>   c/src/lib/libbsp/riscv/frdme310arty/configure.ac
>     - change RISCV_RAM_REGION_SIZE to default 256MiB
>
>   bsps/riscv/riscv/irq/irq.c
>     - Delete this irq.c and it will now use bsps/riscv/shared/irq/irq.c
>
>   c/src/lib/libbsp/riscv/riscv/Makefile.am
>     - librtemsbsp_a_SOURCES -> bsps/riscv/shared/start/bsp_fatal_halt.c
>     - librtemsbsp_a_SOURCES -> bsps/riscv/shared/clock/clockdrv.c
>     - librtemsbsp_a_SOURCES -> bsps/riscv/shared/irq/irq.c
>
> Pragnesh Patel (2):
>   riscv: add freedom E310 Arty A7 bsp
>   bsp/riscv:  Remove duplicate files
>
>  bsps/include/bsp/fatal.h                           |   6 +-
>  bsps/riscv/frdme310arty/btimer/btimer.c            | 104 ++++++
>  bsps/riscv/frdme310arty/config/frdme310arty.cfg    |  11 +
>  bsps/riscv/frdme310arty/console/console-config.c   | 146 ++++++++
>  bsps/riscv/frdme310arty/console/uart.c             | 100 ++++++
>  bsps/riscv/frdme310arty/dts/frdme310arty.dts       | 130 +++++++
>  .../frdme310arty/dts/frdme310arty_dtb_array.c      | 259 ++++++++++++++
>  bsps/riscv/frdme310arty/headers.am                 |  15 +
>  bsps/riscv/frdme310arty/include/bsp.h              |  57 ++++
>  bsps/riscv/frdme310arty/include/bsp/fe310_uart.h   |  42 +++
>  bsps/riscv/frdme310arty/include/bsp/irq.h          |  73 ++++
>  bsps/riscv/frdme310arty/include/bsp/riscv.h        |  59 ++++
>  bsps/riscv/frdme310arty/include/tm27.h             | 334 ++++++++++++++++++
>  bsps/riscv/frdme310arty/start/bsp_specs            |   9 +
>  bsps/riscv/frdme310arty/start/bspstart.c           | 204 +++++++++++
>  bsps/riscv/frdme310arty/start/linkcmds.in          |  49 +++
>  bsps/riscv/frdme310arty/start/start.S              | 147 ++++++++
>  bsps/riscv/riscv/clock/clockdrv.c                  | 212 ------------
>  bsps/riscv/riscv/irq/irq.c                         | 379 ---------------------
>  bsps/riscv/riscv/start/bsp_fatal_halt.c            |  53 ---
>  bsps/riscv/shared/clock/clockdrv.c                 | 231 +++++++++++++
>  bsps/riscv/shared/irq/irq.c                        | 379 +++++++++++++++++++++
>  bsps/riscv/shared/start/bsp_fatal_halt.c           |  53 +++
>  c/src/lib/libbsp/riscv/acinclude.m4                |   2 +
>  c/src/lib/libbsp/riscv/frdme310arty/Makefile.am    |  75 ++++
>  c/src/lib/libbsp/riscv/frdme310arty/configure.ac   |  68 ++++
>  c/src/lib/libbsp/riscv/riscv/Makefile.am           |   6 +-
>  27 files changed, 2555 insertions(+), 648 deletions(-)
>  create mode 100644 bsps/riscv/frdme310arty/btimer/btimer.c
>  create mode 100644 bsps/riscv/frdme310arty/config/frdme310arty.cfg
>  create mode 100644 bsps/riscv/frdme310arty/console/console-config.c
>  create mode 100644 bsps/riscv/frdme310arty/console/uart.c
>  create mode 100644 bsps/riscv/frdme310arty/dts/frdme310arty.dts
>  create mode 100644 bsps/riscv/frdme310arty/dts/frdme310arty_dtb_array.c
>  create mode 100644 bsps/riscv/frdme310arty/headers.am
>  create mode 100644 bsps/riscv/frdme310arty/include/bsp.h
>  create mode 100644 bsps/riscv/frdme310arty/include/bsp/fe310_uart.h
>  create mode 100644 bsps/riscv/frdme310arty/include/bsp/irq.h
>  create mode 100644 bsps/riscv/frdme310arty/include/bsp/riscv.h
>  create mode 100644 bsps/riscv/frdme310arty/include/tm27.h
>  create mode 100644 bsps/riscv/frdme310arty/start/bsp_specs
>  create mode 100644 bsps/riscv/frdme310arty/start/bspstart.c
>  create mode 100644 bsps/riscv/frdme310arty/start/linkcmds.in
>  create mode 100644 bsps/riscv/frdme310arty/start/start.S
>  delete mode 100644 bsps/riscv/riscv/clock/clockdrv.c
>  delete mode 100644 bsps/riscv/riscv/irq/irq.c
>  delete mode 100644 bsps/riscv/riscv/start/bsp_fatal_halt.c
>  create mode 100644 bsps/riscv/shared/clock/clockdrv.c
>  create mode 100644 bsps/riscv/shared/irq/irq.c
>  create mode 100644 bsps/riscv/shared/start/bsp_fatal_halt.c
>  create mode 100644 c/src/lib/libbsp/riscv/frdme310arty/Makefile.am
>  create mode 100644 c/src/lib/libbsp/riscv/frdme310arty/configure.ac
>
> --
> 2.7.4
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel

-- 
Hesham


More information about the devel mailing list