Add a package .DEC description for Synquacer with an [Includes]
section, and add header files containing descriptions of the
platform's memory map and PCIe configuration. No code yet.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h | 65 ++++++++++++++++++++
Silicon/Socionext/Synquacer/Include/Platform/Pcie.h | 63 +++++++++++++++++++
Silicon/Socionext/Synquacer/Synquacer.dec | 22 +++++++
3 files changed, 150 insertions(+)
diff --git a/Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h b/Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h
new file mode 100644
index 000000000000..1b5393c32f1d
--- /dev/null
+++ b/Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h
@@ -0,0 +1,65 @@
+/** @file
+ PCI memory configuration for Synquacer
+
+ Copyright (c) 2017, 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 which accompanies this
+ distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php.
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
+ WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _SYNQUACER_PLATFORM_MEMORYMAP_H_
+#define _SYNQUACER_PLATFORM_MEMORYMAP_H_
+
+// Memory mapped SPI NOR
+#define SYNQUACER_SPI_NOR_BASE 0x08000000
+#define SYNQUACER_SPI_NOR_SIZE SIZE_128MB
+
+// On-Chip non-secure ROM
+#define SYNQUACER_NON_SECURE_ROM_BASE 0x1F000000
+#define SYNQUACER_NON_SECURE_ROM_SZ SIZE_512KB
+
+// On-Chip Peripherals
+#define SYNQUACER_PERIPHERALS_BASE 0x20000000
+#define SYNQUACER_PERIPHERALS_SZ 0x0E000000
+
+// On-Chip non-secure SRAM
+#define SYNQUACER_NON_SECURE_SRAM_BASE 0x2E000000
+#define SYNQUACER_NON_SECURE_SRAM_SZ SIZE_32KB
+
+// GIC-500
+#define SYNQUACER_GIC500_DIST_BASE FixedPcdGet64 (PcdGicDistributorBase)
+#define SYNQUACER_GIC500_DIST_SIZE SIZE_256KB
+#define SYNQUACER_GIC500_RDIST_BASE FixedPcdGet64 (PcdGicRedistributorsBase)
+#define SYNQUACER_GIC500_RDIST_SIZE SIZE_8MB
+
+// eMMC(SDH30)
+#define SYNQUACER_EMMC_BASE 0x52300000
+#define SYNQUACER_EMMC_BASE_SZ SIZE_4KB
+
+#define SYNQUACER_EEPROM_BASE 0x10000000
+#define SYNQUACER_EEPROM_BASE_SZ SIZE_64KB
+
+// NETSEC
+#define SYNQUACER_NETSEC_BASE 0x522D0000
+#define SYNQUACER_NETSEC_BASE_SZ SIZE_64KB
+
+#define SYNQUACER_SYSTEM_MEMORY_1_BASE 0x80000000
+#define SYNQUACER_SYSTEM_MEMORY_1_SZ (SIZE_2GB - SIZE_16MB)
+
+#define SYNQUACER_SYSTEM_MEMORY_2_BASE 0x0880000000ULL
+#define SYNQUACER_SYSTEM_MEMORY_2_SZ (SIZE_32GB - SIZE_2GB)
+
+#define SYNQUACER_SYSTEM_MEMORY_3_BASE 0x8800000000ULL
+#define SYNQUACER_SYSTEM_MEMORY_3_SZ SIZE_32GB
+
+// PCI
+#define SYNQUACER_PCIE_BASE 0x58200000
+#define SYNQUACER_PCIE_SIZE 0x00200000
+
+#endif
diff --git a/Silicon/Socionext/Synquacer/Include/Platform/Pcie.h b/Silicon/Socionext/Synquacer/Include/Platform/Pcie.h
new file mode 100644
index 000000000000..f7bdc13ad915
--- /dev/null
+++ b/Silicon/Socionext/Synquacer/Include/Platform/Pcie.h
@@ -0,0 +1,63 @@
+/** @file
+ PCI memory configuration for Synquacer
+
+ Copyright (c) 2017, 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 which accompanies this
+ distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php.
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
+ WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _SYNQUACER_PLATFORM_PCI_H_
+#define _SYNQUACER_PLATFORM_PCI_H_
+
+#define SYNQUACER_PCI_SEG0_CONFIG_BASE 0x60000000
+#define SYNQUACER_PCI_SEG0_CONFIG_SIZE 0x07f00000
+#define SYNQUACER_PCI_SEG0_DBI_BASE 0x583d0000
+#define SYNQUACER_PCI_SEG0_EXS_BASE 0x58390000
+
+#define SYNQUACER_PCI_SEG0_BUSNUM_MIN 0x0
+#define SYNQUACER_PCI_SEG0_BUSNUM_MAX 0x7e
+
+#define SYNQUACER_PCI_SEG0_PORTIO_MIN 0x0
+#define SYNQUACER_PCI_SEG0_PORTIO_MAX 0xffff
+#define SYNQUACER_PCI_SEG0_PORTIO_SIZE 0x10000
+#define SYNQUACER_PCI_SEG0_PORTIO_MEMBASE 0x67f00000
+#define SYNQUACER_PCI_SEG0_PORTIO_MEMSIZE SYNQUACER_PCI_SEG0_PORTIO_SIZE
+
+#define SYNQUACER_PCI_SEG0_MMIO32_MIN 0x68000000
+#define SYNQUACER_PCI_SEG0_MMIO32_MAX 0x6fffffff
+#define SYNQUACER_PCI_SEG0_MMIO32_SIZE 0x08000000
+
+#define SYNQUACER_PCI_SEG0_MMIO64_MIN 0x3e00000000
+#define SYNQUACER_PCI_SEG0_MMIO64_MAX 0x3effffffff
+#define SYNQUACER_PCI_SEG0_MMIO64_SIZE 0x100000000
+
+#define SYNQUACER_PCI_SEG1_CONFIG_BASE 0x70000000
+#define SYNQUACER_PCI_SEG1_CONFIG_SIZE 0x07f00000
+#define SYNQUACER_PCI_SEG1_DBI_BASE 0x583c0000
+#define SYNQUACER_PCI_SEG1_EXS_BASE 0x58380000
+
+#define SYNQUACER_PCI_SEG1_BUSNUM_MIN 0x0
+#define SYNQUACER_PCI_SEG1_BUSNUM_MAX 0x7e
+
+#define SYNQUACER_PCI_SEG1_PORTIO_MIN 0x10000
+#define SYNQUACER_PCI_SEG1_PORTIO_MAX 0x1ffff
+#define SYNQUACER_PCI_SEG1_PORTIO_SIZE 0x10000
+#define SYNQUACER_PCI_SEG1_PORTIO_MEMBASE 0x77f00000
+#define SYNQUACER_PCI_SEG1_PORTIO_MEMSIZE SYNQUACER_PCI_SEG1_PORTIO_SIZE
+
+#define SYNQUACER_PCI_SEG1_MMIO32_MIN 0x78000000
+#define SYNQUACER_PCI_SEG1_MMIO32_MAX 0x7fffffff
+#define SYNQUACER_PCI_SEG1_MMIO32_SIZE 0x08000000
+
+#define SYNQUACER_PCI_SEG1_MMIO64_MIN 0x3f00000000
+#define SYNQUACER_PCI_SEG1_MMIO64_MAX 0x3fffffffff
+#define SYNQUACER_PCI_SEG1_MMIO64_SIZE 0x100000000
+
+#endif
diff --git a/Silicon/Socionext/Synquacer/Synquacer.dec b/Silicon/Socionext/Synquacer/Synquacer.dec
new file mode 100644
index 000000000000..955a056a8d59
--- /dev/null
+++ b/Silicon/Socionext/Synquacer/Synquacer.dec
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2017, 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
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
+[Defines]
+ DEC_SPECIFICATION = 0x00010005
+ PACKAGE_NAME = Synquacer
+ PACKAGE_GUID = 9c782fd2-7db1-438d-b51c-2155cee2c5cc
+ PACKAGE_VERSION = 0.1
+
+[Includes]
+ Include
+
+
--
2.11.0
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
On Fri, Sep 08, 2017 at 07:23:02PM +0100, Ard Biesheuvel wrote: > Add a package .DEC description for Synquacer with an [Includes] > section, and add header files containing descriptions of the > platform's memory map and PCIe configuration. No code yet. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h | 65 ++++++++++++++++++++ > Silicon/Socionext/Synquacer/Include/Platform/Pcie.h | 63 +++++++++++++++++++ > Silicon/Socionext/Synquacer/Synquacer.dec | 22 +++++++ I'll start with the bikeshedding (questions for consideration): - SynQuacer is written that (<-) way in all public information I can find. - Does SynQuacer refer to the SC2A11, or is SC2A11 the first member of a SynQuacer family of products? > 3 files changed, 150 insertions(+) > > diff --git a/Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h b/Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h > new file mode 100644 > index 000000000000..1b5393c32f1d > --- /dev/null > +++ b/Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h > @@ -0,0 +1,65 @@ > +/** @file > + PCI memory configuration for Synquacer Not just PCI? > + > + Copyright (c) 2017, 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 which accompanies this > + distribution. The full text of the license may be found at > + http://opensource.org/licenses/bsd-license.php. > + > + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT > + WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > + > +**/ > + > +#ifndef _SYNQUACER_PLATFORM_MEMORYMAP_H_ > +#define _SYNQUACER_PLATFORM_MEMORYMAP_H_ > + > +// Memory mapped SPI NOR > +#define SYNQUACER_SPI_NOR_BASE 0x08000000 > +#define SYNQUACER_SPI_NOR_SIZE SIZE_128MB > + > +// On-Chip non-secure ROM > +#define SYNQUACER_NON_SECURE_ROM_BASE 0x1F000000 > +#define SYNQUACER_NON_SECURE_ROM_SZ SIZE_512KB > + > +// On-Chip Peripherals > +#define SYNQUACER_PERIPHERALS_BASE 0x20000000 > +#define SYNQUACER_PERIPHERALS_SZ 0x0E000000 > + > +// On-Chip non-secure SRAM > +#define SYNQUACER_NON_SECURE_SRAM_BASE 0x2E000000 > +#define SYNQUACER_NON_SECURE_SRAM_SZ SIZE_32KB > + > +// GIC-500 > +#define SYNQUACER_GIC500_DIST_BASE FixedPcdGet64 (PcdGicDistributorBase) > +#define SYNQUACER_GIC500_DIST_SIZE SIZE_256KB > +#define SYNQUACER_GIC500_RDIST_BASE FixedPcdGet64 (PcdGicRedistributorsBase) > +#define SYNQUACER_GIC500_RDIST_SIZE SIZE_8MB > + > +// eMMC(SDH30) > +#define SYNQUACER_EMMC_BASE 0x52300000 > +#define SYNQUACER_EMMC_BASE_SZ SIZE_4KB > + > +#define SYNQUACER_EEPROM_BASE 0x10000000 > +#define SYNQUACER_EEPROM_BASE_SZ SIZE_64KB > + > +// NETSEC > +#define SYNQUACER_NETSEC_BASE 0x522D0000 > +#define SYNQUACER_NETSEC_BASE_SZ SIZE_64KB > + > +#define SYNQUACER_SYSTEM_MEMORY_1_BASE 0x80000000 > +#define SYNQUACER_SYSTEM_MEMORY_1_SZ (SIZE_2GB - SIZE_16MB) > + > +#define SYNQUACER_SYSTEM_MEMORY_2_BASE 0x0880000000ULL > +#define SYNQUACER_SYSTEM_MEMORY_2_SZ (SIZE_32GB - SIZE_2GB) > + > +#define SYNQUACER_SYSTEM_MEMORY_3_BASE 0x8800000000ULL > +#define SYNQUACER_SYSTEM_MEMORY_3_SZ SIZE_32GB > + > +// PCI > +#define SYNQUACER_PCIE_BASE 0x58200000 > +#define SYNQUACER_PCIE_SIZE 0x00200000 > + > +#endif > diff --git a/Silicon/Socionext/Synquacer/Include/Platform/Pcie.h b/Silicon/Socionext/Synquacer/Include/Platform/Pcie.h > new file mode 100644 > index 000000000000..f7bdc13ad915 > --- /dev/null > +++ b/Silicon/Socionext/Synquacer/Include/Platform/Pcie.h > @@ -0,0 +1,63 @@ > +/** @file > + PCI memory configuration for Synquacer Not just memory configuration. > + > + Copyright (c) 2017, 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 which accompanies this > + distribution. The full text of the license may be found at > + http://opensource.org/licenses/bsd-license.php. > + > + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT > + WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > + > +**/ > + > +#ifndef _SYNQUACER_PLATFORM_PCI_H_ > +#define _SYNQUACER_PLATFORM_PCI_H_ > + > +#define SYNQUACER_PCI_SEG0_CONFIG_BASE 0x60000000 > +#define SYNQUACER_PCI_SEG0_CONFIG_SIZE 0x07f00000 > +#define SYNQUACER_PCI_SEG0_DBI_BASE 0x583d0000 > +#define SYNQUACER_PCI_SEG0_EXS_BASE 0x58390000 > + > +#define SYNQUACER_PCI_SEG0_BUSNUM_MIN 0x0 > +#define SYNQUACER_PCI_SEG0_BUSNUM_MAX 0x7e > + > +#define SYNQUACER_PCI_SEG0_PORTIO_MIN 0x0 > +#define SYNQUACER_PCI_SEG0_PORTIO_MAX 0xffff > +#define SYNQUACER_PCI_SEG0_PORTIO_SIZE 0x10000 > +#define SYNQUACER_PCI_SEG0_PORTIO_MEMBASE 0x67f00000 > +#define SYNQUACER_PCI_SEG0_PORTIO_MEMSIZE SYNQUACER_PCI_SEG0_PORTIO_SIZE > + > +#define SYNQUACER_PCI_SEG0_MMIO32_MIN 0x68000000 > +#define SYNQUACER_PCI_SEG0_MMIO32_MAX 0x6fffffff > +#define SYNQUACER_PCI_SEG0_MMIO32_SIZE 0x08000000 > + > +#define SYNQUACER_PCI_SEG0_MMIO64_MIN 0x3e00000000 > +#define SYNQUACER_PCI_SEG0_MMIO64_MAX 0x3effffffff > +#define SYNQUACER_PCI_SEG0_MMIO64_SIZE 0x100000000 > + > +#define SYNQUACER_PCI_SEG1_CONFIG_BASE 0x70000000 > +#define SYNQUACER_PCI_SEG1_CONFIG_SIZE 0x07f00000 > +#define SYNQUACER_PCI_SEG1_DBI_BASE 0x583c0000 > +#define SYNQUACER_PCI_SEG1_EXS_BASE 0x58380000 > + > +#define SYNQUACER_PCI_SEG1_BUSNUM_MIN 0x0 > +#define SYNQUACER_PCI_SEG1_BUSNUM_MAX 0x7e > + > +#define SYNQUACER_PCI_SEG1_PORTIO_MIN 0x10000 > +#define SYNQUACER_PCI_SEG1_PORTIO_MAX 0x1ffff > +#define SYNQUACER_PCI_SEG1_PORTIO_SIZE 0x10000 > +#define SYNQUACER_PCI_SEG1_PORTIO_MEMBASE 0x77f00000 > +#define SYNQUACER_PCI_SEG1_PORTIO_MEMSIZE SYNQUACER_PCI_SEG1_PORTIO_SIZE > + > +#define SYNQUACER_PCI_SEG1_MMIO32_MIN 0x78000000 > +#define SYNQUACER_PCI_SEG1_MMIO32_MAX 0x7fffffff > +#define SYNQUACER_PCI_SEG1_MMIO32_SIZE 0x08000000 > + > +#define SYNQUACER_PCI_SEG1_MMIO64_MIN 0x3f00000000 > +#define SYNQUACER_PCI_SEG1_MMIO64_MAX 0x3fffffffff > +#define SYNQUACER_PCI_SEG1_MMIO64_SIZE 0x100000000 > + > +#endif > diff --git a/Silicon/Socionext/Synquacer/Synquacer.dec b/Silicon/Socionext/Synquacer/Synquacer.dec > new file mode 100644 > index 000000000000..955a056a8d59 > --- /dev/null > +++ b/Silicon/Socionext/Synquacer/Synquacer.dec > @@ -0,0 +1,22 @@ > +# > +# Copyright (c) 2017, 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 > +# which accompanies this distribution. The full text of the license may be found at > +# http://opensource.org/licenses/bsd-license.php > +# > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > +# > + > +[Defines] > + DEC_SPECIFICATION = 0x00010005 I think we're at 0x0001001a (1.26) now? > + PACKAGE_NAME = Synquacer > + PACKAGE_GUID = 9c782fd2-7db1-438d-b51c-2155cee2c5cc > + PACKAGE_VERSION = 0.1 > + > +[Includes] > + Include > + > + Drop trailing blanks? / Leif > -- > 2.11.0 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2024 Red Hat, Inc.