[PATCH] bsp/raspberry: Add a bsp_fdt_map_intr().

Gedare Bloom gedare at rtems.org
Sat Apr 4 15:04:51 UTC 2020


On Sat, Apr 4, 2020 at 4:57 AM Christian Mauderer <oss at c-mauderer.de> wrote:
>
> From: Christian Mauderer <christian.mauderer at embedded-brains.de>
>
> Fixes #3903
> ---
>  bsps/arm/raspberrypi/include/bsp/irq.h |  2 ++
>  bsps/arm/raspberrypi/start/bspstart.c  | 23 +++++++++++++++++++++++
>  2 files changed, 25 insertions(+)
>
> diff --git a/bsps/arm/raspberrypi/include/bsp/irq.h b/bsps/arm/raspberrypi/include/bsp/irq.h
> index 6a9d05cba6..6758094519 100644
> --- a/bsps/arm/raspberrypi/include/bsp/irq.h
> +++ b/bsps/arm/raspberrypi/include/bsp/irq.h
> @@ -35,6 +35,8 @@
>
>  #define BCM2835_INTC_TOTAL_IRQ       64 + 8
>
> +#define BCM2835_IRQ_SET1_MIN         0
> +#define BCM2835_IRQ_SET2_MIN         32
>
>  #define BCM2835_IRQ_ID_GPU_TIMER_M0  0
>  #define BCM2835_IRQ_ID_GPU_TIMER_M1  1
> diff --git a/bsps/arm/raspberrypi/start/bspstart.c b/bsps/arm/raspberrypi/start/bspstart.c
> index 49896e4d47..89fe8707f1 100644
> --- a/bsps/arm/raspberrypi/start/bspstart.c
> +++ b/bsps/arm/raspberrypi/start/bspstart.c
> @@ -101,6 +101,29 @@ void *raspberrypi_get_reg_of_node(const void *fdt, int node)
>    return (BUS_TO_PHY((void *) fdt32_to_cpu(val[0])));
>  }
>
> +#ifdef BSP_FDT_IS_SUPPORTED
> +uint32_t bsp_fdt_map_intr(const uint32_t *intr, size_t icells)
> +{
> +  uint32_t controller = intr[0];
> +  uint32_t source = intr[1];
> +
> +  switch(controller) {
should have spaces here:
  switch ( controller ) {

> +    case 0:
> +        return source + BCM2835_IRQ_ID_BASIC_BASE_ID;
> +        break;
> +    case 1:
> +        return source + BCM2835_IRQ_SET1_MIN;
> +        break;
> +    case 2:
> +        return source + BCM2835_IRQ_SET2_MIN;
> +        break;
> +    default:
> +        return (uint32_t)(-1);
Not my favorite thing to see. Is 0 an ok error condition?

It can be pushed either way

> +        break;
> +  }
> +}
> +#endif /* BSP_FDT_IS_SUPPORTED */
> +
>  void bsp_start(void)
>  {
>      bcm2835_get_board_spec_entries spec = { 0 };
> --
> 2.25.1
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list