diff mbox

[edk2] Omap35xxPkg, BeagleBoardPkg: Use Pcd for INTERRUPT_BASE

Message ID 20161127232606.21364-1-leif.lindholm@linaro.org
State Accepted
Commit 209b8f3c2710ee215daf6a044b5346743cbc05df
Headers show

Commit Message

Leif Lindholm Nov. 27, 2016, 11:26 p.m. UTC
The base address for the interrupt controller is hard-coded in
Omap3530Interrupt.h, although Omap35xxPkg/InterruptDxe appears to
have initially intended to make use of PcdInterruptBaseAddress from
EmbeddedPkg. Move it to use said Pcd, and also declare use of it in
BeagleBoardLib, which makes a direct access.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>

---

Linux uses the same driver for OMAP2/OMAP3 and the AM3xxx variants,
so this tweak should make it possible to reuse across different
platforms.

 BeagleBoardPkg/BeagleBoardPkg.dsc                        | 4 ++++
 BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf | 3 +++
 Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h         | 5 ++++-
 Omap35xxPkg/Omap35xxPkg.dsc                              | 4 ++++
 4 files changed, 15 insertions(+), 1 deletion(-)

-- 
2.10.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Ard Biesheuvel Dec. 5, 2016, 4:40 p.m. UTC | #1
On 27 November 2016 at 23:26, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> The base address for the interrupt controller is hard-coded in

> Omap3530Interrupt.h, although Omap35xxPkg/InterruptDxe appears to

> have initially intended to make use of PcdInterruptBaseAddress from

> EmbeddedPkg. Move it to use said Pcd, and also declare use of it in

> BeagleBoardLib, which makes a direct access.

>

> Contributed-under: TianoCore Contribution Agreement 1.0

> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>


Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


> ---

>

> Linux uses the same driver for OMAP2/OMAP3 and the AM3xxx variants,

> so this tweak should make it possible to reuse across different

> platforms.

>

>  BeagleBoardPkg/BeagleBoardPkg.dsc                        | 4 ++++

>  BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf | 3 +++

>  Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h         | 5 ++++-

>  Omap35xxPkg/Omap35xxPkg.dsc                              | 4 ++++

>  4 files changed, 15 insertions(+), 1 deletion(-)

>

> diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc

> index f40095a..9b4142f 100644

> --- a/BeagleBoardPkg/BeagleBoardPkg.dsc

> +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc

> @@ -3,6 +3,7 @@

>  #

>  # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>

>  # Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>

> +# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>

>  #

>  #    This program and the accompanying materials

>  #    are licensed and made available under the terms and conditions of the BSD License

> @@ -359,6 +360,9 @@

>    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77

>    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000

>

> +  # OMAP Interrupt Controller

> +  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress|0x48200000

> +

>    # We want to use the Shell Libraries but don't want it to initialise

>    # automatically. We initialise the libraries when the command is called by the

>    # Shell.

> diff --git a/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf b/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf

> index b1139a4..e004d6f 100644

> --- a/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf

> +++ b/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf

> @@ -1,5 +1,6 @@

>  #/* @file

>  #  Copyright (c) 2011-2013, ARM Limited. All rights reserved.

> +#  Copyright (c) 2016, Linaro Ltd. All rights reserved.

>  #

>  #  This program and the accompanying materials

>  #  are licensed and made available under the terms and conditions of the BSD License

> @@ -52,3 +53,5 @@

>

>    gArmTokenSpaceGuid.PcdSystemMemoryBase

>    gArmTokenSpaceGuid.PcdSystemMemorySize

> +

> +  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress

> diff --git a/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h b/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h

> index 774d873..d8d727e 100644

> --- a/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h

> +++ b/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h

> @@ -1,6 +1,7 @@

>  /** @file

>

>    Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>

> +  Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>

>

>    This program and the accompanying materials

>    are licensed and made available under the terms and conditions of the BSD License

> @@ -15,7 +16,9 @@

>  #ifndef __OMAP3530INTERRUPT_H__

>  #define __OMAP3530INTERRUPT_H__

>

> -#define INTERRUPT_BASE (0x48200000)

> +#include <Library/PcdLib.h>

> +

> +#define INTERRUPT_BASE        (PcdGet32 (PcdInterruptBaseAddress))

>

>  #define INT_NROF_VECTORS      (96)

>  #define MAX_VECTOR            (INT_NROF_VECTORS - 1)

> diff --git a/Omap35xxPkg/Omap35xxPkg.dsc b/Omap35xxPkg/Omap35xxPkg.dsc

> index 4a3317f..436c10b 100644

> --- a/Omap35xxPkg/Omap35xxPkg.dsc

> +++ b/Omap35xxPkg/Omap35xxPkg.dsc

> @@ -2,6 +2,7 @@

>  # Omap35xx SoC package.

>  #

>  # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>

> +# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>

>  #

>  #    This program and the accompanying materials

>  #    are licensed and made available under the terms and conditions of the BSD License

> @@ -159,6 +160,9 @@

>    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77

>    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000

>

> +  # OMAP Interrupt Controller

> +  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress|0x48200000

> +

>    #

>    # ARM Pcds

>    #

> --

> 2.10.2

>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Dec. 5, 2016, 5:24 p.m. UTC | #2
On Mon, Dec 05, 2016 at 04:40:44PM +0000, Ard Biesheuvel wrote:
> On 27 November 2016 at 23:26, Leif Lindholm <leif.lindholm@linaro.org> wrote:

> > The base address for the interrupt controller is hard-coded in

> > Omap3530Interrupt.h, although Omap35xxPkg/InterruptDxe appears to

> > have initially intended to make use of PcdInterruptBaseAddress from

> > EmbeddedPkg. Move it to use said Pcd, and also declare use of it in

> > BeagleBoardLib, which makes a direct access.

> >

> > Contributed-under: TianoCore Contribution Agreement 1.0

> > Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>

> 

> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


Thanks!
Pushed as 209b8f3.

/
    Leif

> > ---

> >

> > Linux uses the same driver for OMAP2/OMAP3 and the AM3xxx variants,

> > so this tweak should make it possible to reuse across different

> > platforms.

> >

> >  BeagleBoardPkg/BeagleBoardPkg.dsc                        | 4 ++++

> >  BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf | 3 +++

> >  Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h         | 5 ++++-

> >  Omap35xxPkg/Omap35xxPkg.dsc                              | 4 ++++

> >  4 files changed, 15 insertions(+), 1 deletion(-)

> >

> > diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc

> > index f40095a..9b4142f 100644

> > --- a/BeagleBoardPkg/BeagleBoardPkg.dsc

> > +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc

> > @@ -3,6 +3,7 @@

> >  #

> >  # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>

> >  # Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>

> > +# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>

> >  #

> >  #    This program and the accompanying materials

> >  #    are licensed and made available under the terms and conditions of the BSD License

> > @@ -359,6 +360,9 @@

> >    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77

> >    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000

> >

> > +  # OMAP Interrupt Controller

> > +  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress|0x48200000

> > +

> >    # We want to use the Shell Libraries but don't want it to initialise

> >    # automatically. We initialise the libraries when the command is called by the

> >    # Shell.

> > diff --git a/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf b/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf

> > index b1139a4..e004d6f 100644

> > --- a/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf

> > +++ b/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf

> > @@ -1,5 +1,6 @@

> >  #/* @file

> >  #  Copyright (c) 2011-2013, ARM Limited. All rights reserved.

> > +#  Copyright (c) 2016, Linaro Ltd. All rights reserved.

> >  #

> >  #  This program and the accompanying materials

> >  #  are licensed and made available under the terms and conditions of the BSD License

> > @@ -52,3 +53,5 @@

> >

> >    gArmTokenSpaceGuid.PcdSystemMemoryBase

> >    gArmTokenSpaceGuid.PcdSystemMemorySize

> > +

> > +  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress

> > diff --git a/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h b/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h

> > index 774d873..d8d727e 100644

> > --- a/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h

> > +++ b/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h

> > @@ -1,6 +1,7 @@

> >  /** @file

> >

> >    Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>

> > +  Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>

> >

> >    This program and the accompanying materials

> >    are licensed and made available under the terms and conditions of the BSD License

> > @@ -15,7 +16,9 @@

> >  #ifndef __OMAP3530INTERRUPT_H__

> >  #define __OMAP3530INTERRUPT_H__

> >

> > -#define INTERRUPT_BASE (0x48200000)

> > +#include <Library/PcdLib.h>

> > +

> > +#define INTERRUPT_BASE        (PcdGet32 (PcdInterruptBaseAddress))

> >

> >  #define INT_NROF_VECTORS      (96)

> >  #define MAX_VECTOR            (INT_NROF_VECTORS - 1)

> > diff --git a/Omap35xxPkg/Omap35xxPkg.dsc b/Omap35xxPkg/Omap35xxPkg.dsc

> > index 4a3317f..436c10b 100644

> > --- a/Omap35xxPkg/Omap35xxPkg.dsc

> > +++ b/Omap35xxPkg/Omap35xxPkg.dsc

> > @@ -2,6 +2,7 @@

> >  # Omap35xx SoC package.

> >  #

> >  # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>

> > +# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>

> >  #

> >  #    This program and the accompanying materials

> >  #    are licensed and made available under the terms and conditions of the BSD License

> > @@ -159,6 +160,9 @@

> >    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77

> >    gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000

> >

> > +  # OMAP Interrupt Controller

> > +  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress|0x48200000

> > +

> >    #

> >    # ARM Pcds

> >    #

> > --

> > 2.10.2

> >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
diff mbox

Patch

diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc
index f40095a..9b4142f 100644
--- a/BeagleBoardPkg/BeagleBoardPkg.dsc
+++ b/BeagleBoardPkg/BeagleBoardPkg.dsc
@@ -3,6 +3,7 @@ 
 #
 # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
 # Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
 #
 #    This program and the accompanying materials
 #    are licensed and made available under the terms and conditions of the BSD License
@@ -359,6 +360,9 @@ 
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
 
+  # OMAP Interrupt Controller
+  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress|0x48200000
+
   # We want to use the Shell Libraries but don't want it to initialise
   # automatically. We initialise the libraries when the command is called by the
   # Shell.
diff --git a/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf b/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf
index b1139a4..e004d6f 100644
--- a/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf
+++ b/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf
@@ -1,5 +1,6 @@ 
 #/* @file
 #  Copyright (c) 2011-2013, ARM Limited. All rights reserved.
+#  Copyright (c) 2016, Linaro Ltd. All rights reserved.
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -52,3 +53,5 @@ 
 
   gArmTokenSpaceGuid.PcdSystemMemoryBase
   gArmTokenSpaceGuid.PcdSystemMemorySize
+
+  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress
diff --git a/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h b/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h
index 774d873..d8d727e 100644
--- a/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h
+++ b/Omap35xxPkg/Include/Omap3530/Omap3530Interrupt.h
@@ -1,6 +1,7 @@ 
 /** @file
 
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+  Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -15,7 +16,9 @@ 
 #ifndef __OMAP3530INTERRUPT_H__
 #define __OMAP3530INTERRUPT_H__
 
-#define INTERRUPT_BASE (0x48200000)
+#include <Library/PcdLib.h>
+
+#define INTERRUPT_BASE        (PcdGet32 (PcdInterruptBaseAddress))
 
 #define INT_NROF_VECTORS      (96)
 #define MAX_VECTOR            (INT_NROF_VECTORS - 1)
diff --git a/Omap35xxPkg/Omap35xxPkg.dsc b/Omap35xxPkg/Omap35xxPkg.dsc
index 4a3317f..436c10b 100644
--- a/Omap35xxPkg/Omap35xxPkg.dsc
+++ b/Omap35xxPkg/Omap35xxPkg.dsc
@@ -2,6 +2,7 @@ 
 # Omap35xx SoC package.
 #
 # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
+# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
 #
 #    This program and the accompanying materials
 #    are licensed and made available under the terms and conditions of the BSD License
@@ -159,6 +160,9 @@ 
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
 
+  # OMAP Interrupt Controller
+  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress|0x48200000
+
   #
   # ARM Pcds
   #