diff mbox series

[v3,08/15] board: ns3: program GIC LPI tables

Message ID 20200610104120.30668-9-rayagonda.kokatanur@broadcom.com
State Superseded
Headers show
Series add initial support for broadcom NS3 soc | expand

Commit Message

Rayagonda Kokatanur June 10, 2020, 10:41 a.m. UTC
U-boot programs the GIC LPI configuration tables and enables
the LPI table.

Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty at broadcom.com>
Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>
---
 board/broadcom/bcmns3/ns3.c | 12 ++++++++++++
 include/configs/bcm_ns3.h   |  6 ++++++
 2 files changed, 18 insertions(+)

Comments

Simon Glass June 26, 2020, 1:11 a.m. UTC | #1
Hi Rayagonda,

On Wed, 10 Jun 2020 at 04:42, Rayagonda Kokatanur
<rayagonda.kokatanur at broadcom.com> wrote:
>
> U-boot programs the GIC LPI configuration tables and enables
> the LPI table.
>
> Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty at broadcom.com>
> Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>
> ---
>  board/broadcom/bcmns3/ns3.c | 12 ++++++++++++
>  include/configs/bcm_ns3.h   |  6 ++++++
>  2 files changed, 18 insertions(+)
>
> diff --git a/board/broadcom/bcmns3/ns3.c b/board/broadcom/bcmns3/ns3.c
> index 1221f26ddc..d4f374a7c6 100644
> --- a/board/broadcom/bcmns3/ns3.c
> +++ b/board/broadcom/bcmns3/ns3.c
> @@ -6,9 +6,12 @@
>
>  #include <common.h>
>  #include <asm/io.h>
> +#include <asm/gic.h>
> +#include <asm/gic-v3.h>
>  #include <asm/system.h>
>  #include <asm/armv8/mmu.h>
>  #include <asm/arch-bcmns3/bl33_info.h>
> +#include <dt-bindings/memory/bcm-ns3-mc.h>
>
>  static struct mm_region ns3_mem_map[] = {
>         {
> @@ -88,3 +91,12 @@ void reset_cpu(ulong level)
>                 psci_system_reset();
>         }
>  }
> +
> +#ifdef CONFIG_OF_BOARD_SETUP
> +int ft_board_setup(void *fdt, bd_t *bd)
> +{
> +       gic_lpi_tables_init(BCM_NS3_GIC_LPI_BASE, MAX_GIC_REDISTRIBUTORS);
> +
> +       return 0;
> +}
> +#endif /* CONFIG_OF_BOARD_SETUP */
> diff --git a/include/configs/bcm_ns3.h b/include/configs/bcm_ns3.h
> index 02a736456a..a17b9d51c0 100644
> --- a/include/configs/bcm_ns3.h
> +++ b/include/configs/bcm_ns3.h
> @@ -37,4 +37,10 @@
>  #define CONFIG_SYS_MAXARGS             64
>  #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE
>
> +/* Generic Interrupt Controller Definitions */
> +#define GICD_BASE                      0x63C00000
> +#define GICR_BASE                      0x63E00000

Please use device tree and a UCLASS_IRQ driver

> +/* Number of GIC re-distributors */
> +#define MAX_GIC_REDISTRIBUTORS         8
> +
>  #endif /* __BCM_NS3_H */
> --
> 2.17.1
>

Regards,
Simon
diff mbox series

Patch

diff --git a/board/broadcom/bcmns3/ns3.c b/board/broadcom/bcmns3/ns3.c
index 1221f26ddc..d4f374a7c6 100644
--- a/board/broadcom/bcmns3/ns3.c
+++ b/board/broadcom/bcmns3/ns3.c
@@ -6,9 +6,12 @@ 
 
 #include <common.h>
 #include <asm/io.h>
+#include <asm/gic.h>
+#include <asm/gic-v3.h>
 #include <asm/system.h>
 #include <asm/armv8/mmu.h>
 #include <asm/arch-bcmns3/bl33_info.h>
+#include <dt-bindings/memory/bcm-ns3-mc.h>
 
 static struct mm_region ns3_mem_map[] = {
 	{
@@ -88,3 +91,12 @@  void reset_cpu(ulong level)
 		psci_system_reset();
 	}
 }
+
+#ifdef CONFIG_OF_BOARD_SETUP
+int ft_board_setup(void *fdt, bd_t *bd)
+{
+	gic_lpi_tables_init(BCM_NS3_GIC_LPI_BASE, MAX_GIC_REDISTRIBUTORS);
+
+	return 0;
+}
+#endif /* CONFIG_OF_BOARD_SETUP */
diff --git a/include/configs/bcm_ns3.h b/include/configs/bcm_ns3.h
index 02a736456a..a17b9d51c0 100644
--- a/include/configs/bcm_ns3.h
+++ b/include/configs/bcm_ns3.h
@@ -37,4 +37,10 @@ 
 #define CONFIG_SYS_MAXARGS		64
 #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
 
+/* Generic Interrupt Controller Definitions */
+#define GICD_BASE			0x63C00000
+#define GICR_BASE			0x63E00000
+/* Number of GIC re-distributors */
+#define MAX_GIC_REDISTRIBUTORS		8
+
 #endif /* __BCM_NS3_H */