summaryrefslogtreecommitdiffstats
path: root/spec/build/bsps/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'spec/build/bsps/sparc')
-rw-r--r--spec/build/bsps/sparc/erc32/bsperc32.yml6
-rw-r--r--spec/build/bsps/sparc/leon2/grp.yml2
-rw-r--r--spec/build/bsps/sparc/leon2/obj.yml4
-rw-r--r--spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml16
-rw-r--r--spec/build/bsps/sparc/leon3/grp.yml20
-rw-r--r--spec/build/bsps/sparc/leon3/obj.yml9
-rw-r--r--spec/build/bsps/sparc/leon3/optapbuartbase.yml20
-rw-r--r--spec/build/bsps/sparc/leon3/optasrupcnt.yml (renamed from spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml)13
-rw-r--r--spec/build/bsps/sparc/leon3/optasrupcntprobe.yml21
-rw-r--r--spec/build/bsps/sparc/leon3/optdsubase.yml24
-rw-r--r--spec/build/bsps/sparc/leon3/optgptimerbase.yml20
-rw-r--r--spec/build/bsps/sparc/leon3/optirqampbase.yml19
-rw-r--r--spec/build/bsps/sparc/leon3/optirqampextirq.yml19
-rw-r--r--spec/build/bsps/sparc/leon3/optirqampts.yml24
-rw-r--r--spec/build/bsps/sparc/leon3/optl2cachebase.yml19
-rw-r--r--spec/build/bsps/sparc/leon3/optplbfreq.yml23
-rw-r--r--spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml16
17 files changed, 228 insertions, 47 deletions
diff --git a/spec/build/bsps/sparc/erc32/bsperc32.yml b/spec/build/bsps/sparc/erc32/bsperc32.yml
index d082feb5f7..4d57e5902d 100644
--- a/spec/build/bsps/sparc/erc32/bsperc32.yml
+++ b/spec/build/bsps/sparc/erc32/bsperc32.yml
@@ -17,6 +17,8 @@ install:
- destination: ${BSP_INCLUDEDIR}/bsp
source:
- bsps/sparc/erc32/include/bsp/irq.h
+ - bsps/sparc/erc32/include/bsp/irqimpl.h
+ - bsps/sparc/include/bsp/sparc-counter.h
- destination: ${BSP_LIBDIR}
source:
- bsps/sparc/erc32/start/linkcmds
@@ -37,8 +39,6 @@ links:
- role: build-dependency
uid: optconirq
- role: build-dependency
- uid: optpwrdwnhlt
-- role: build-dependency
uid: ../grp
- role: build-dependency
uid: ../start
@@ -70,5 +70,5 @@ source:
- bsps/sparc/shared/irq/bsp_isr_handler.c
- bsps/sparc/shared/irq/irq-shared.c
- bsps/sparc/shared/start/bsp_fatal_exit.c
-- bsps/sparc/shared/start/bsp_fatal_halt.c
+- bsps/sparc/shared/start/sparc-counter-asm.S
type: build
diff --git a/spec/build/bsps/sparc/leon2/grp.yml b/spec/build/bsps/sparc/leon2/grp.yml
index 3d357d816c..6a62cf00ae 100644
--- a/spec/build/bsps/sparc/leon2/grp.yml
+++ b/spec/build/bsps/sparc/leon2/grp.yml
@@ -31,8 +31,6 @@ links:
- role: build-dependency
uid: optconirq
- role: build-dependency
- uid: optpwrdwnhlt
-- role: build-dependency
uid: ../start
- role: build-dependency
uid: ../../bspopts
diff --git a/spec/build/bsps/sparc/leon2/obj.yml b/spec/build/bsps/sparc/leon2/obj.yml
index 50ee715af2..5a68f896ed 100644
--- a/spec/build/bsps/sparc/leon2/obj.yml
+++ b/spec/build/bsps/sparc/leon2/obj.yml
@@ -14,8 +14,10 @@ install:
- bsps/sparc/leon2/include/leon.h
- destination: ${BSP_INCLUDEDIR}/bsp
source:
+ - bsps/sparc/include/bsp/sparc-counter.h
- bsps/sparc/leon2/include/bsp/at697_pci.h
- bsps/sparc/leon2/include/bsp/irq.h
+ - bsps/sparc/leon2/include/bsp/irqimpl.h
- destination: ${BSP_LIBDIR}
source:
- bsps/sparc/leon2/start/linkcmds.at697f
@@ -46,5 +48,5 @@ source:
- bsps/sparc/shared/irq/bsp_isr_handler.c
- bsps/sparc/shared/irq/irq-shared.c
- bsps/sparc/shared/start/bsp_fatal_exit.c
-- bsps/sparc/shared/start/bsp_fatal_halt.c
+- bsps/sparc/shared/start/sparc-counter-asm.S
type: build
diff --git a/spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml b/spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml
deleted file mode 100644
index d35c800e09..0000000000
--- a/spec/build/bsps/sparc/leon2/optpwrdwnhlt.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-actions:
-- get-boolean: null
-- define-condition: null
-build-type: option
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH & Co. KG
-default:
-- enabled-by: true
- value: false
-description: |
- If defined, CPU is spinning on fatal exit. Otherwise generate system error which will hand over to debugger, simulator, etc.
-enabled-by: true
-links: []
-name: BSP_POWER_DOWN_AT_FATAL_HALT
-type: build
diff --git a/spec/build/bsps/sparc/leon3/grp.yml b/spec/build/bsps/sparc/leon3/grp.yml
index ab72d911c5..a995ccc60a 100644
--- a/spec/build/bsps/sparc/leon3/grp.yml
+++ b/spec/build/bsps/sparc/leon3/grp.yml
@@ -33,11 +33,29 @@ links:
- role: build-dependency
uid: objsmp
- role: build-dependency
+ uid: optapbuartbase
+- role: build-dependency
+ uid: optasrupcnt
+- role: build-dependency
+ uid: optasrupcntprobe
+- role: build-dependency
+ uid: optdsubase
+- role: build-dependency
+ uid: optgptimerbase
+- role: build-dependency
+ uid: optirqampbase
+- role: build-dependency
+ uid: optirqampextirq
+- role: build-dependency
+ uid: optirqampts
+- role: build-dependency
uid: optconirq
- role: build-dependency
+ uid: optl2cachebase
+- role: build-dependency
uid: optleon3smp
- role: build-dependency
- uid: optpwrdwnhlt
+ uid: optplbfreq
- role: build-dependency
uid: ../start
- role: build-dependency
diff --git a/spec/build/bsps/sparc/leon3/obj.yml b/spec/build/bsps/sparc/leon3/obj.yml
index 752ab9e149..f8feab3b3b 100644
--- a/spec/build/bsps/sparc/leon3/obj.yml
+++ b/spec/build/bsps/sparc/leon3/obj.yml
@@ -15,7 +15,12 @@ install:
- bsps/sparc/leon3/include/leon.h
- destination: ${BSP_INCLUDEDIR}/bsp
source:
+ - bsps/sparc/leon3/include/bsp/gr740-bootstrap-regs.h
+ - bsps/sparc/leon3/include/bsp/gr740-iopll-regs.h
+ - bsps/sparc/leon3/include/bsp/gr740-thsens-regs.h
- bsps/sparc/leon3/include/bsp/irq.h
+ - bsps/sparc/leon3/include/bsp/irqimpl.h
+ - bsps/sparc/leon3/include/bsp/leon3.h
- bsps/sparc/leon3/include/bsp/watchdog.h
- destination: ${BSP_LIBDIR}
source:
@@ -31,7 +36,6 @@ source:
- bsps/shared/dev/serial/console-termios.c
- bsps/shared/irq/irq-default-handler.c
- bsps/shared/start/bspreset-empty.c
-- bsps/shared/start/gettargethash-default.c
- bsps/shared/start/sbrk.c
- bsps/sparc/leon3/btimer/btimer.c
- bsps/sparc/leon3/btimer/watchdog.c
@@ -40,7 +44,6 @@ source:
- bsps/sparc/leon3/console/printk_support.c
- bsps/sparc/leon3/gnatsupp/gnatsupp.c
- bsps/sparc/leon3/start/amba.c
-- bsps/sparc/leon3/start/bsp_fatal_halt.c
- bsps/sparc/leon3/start/bspclean.c
- bsps/sparc/leon3/start/bspdelay.c
- bsps/sparc/leon3/start/bspidle.S
@@ -49,10 +52,10 @@ source:
- bsps/sparc/leon3/start/cpucounter.c
- bsps/sparc/leon3/start/drvmgr_def_drivers.c
- bsps/sparc/leon3/start/eirq.c
+- bsps/sparc/leon3/start/gettargethash.c
- bsps/sparc/leon3/start/setvec.c
- bsps/sparc/shared/gnatcommon.c
- bsps/sparc/shared/irq/bsp_isr_handler.c
-- bsps/sparc/shared/irq/irq-shared.c
- bsps/sparc/shared/pci/gr_cpci_gr740.c
- bsps/sparc/shared/pci/gr_leon4_n2x.c
- bsps/sparc/shared/pci/pci_memreg_sparc_be.c
diff --git a/spec/build/bsps/sparc/leon3/optapbuartbase.yml b/spec/build/bsps/sparc/leon3/optapbuartbase.yml
new file mode 100644
index 0000000000..2986fc6324
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optapbuartbase.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+default:
+- enabled-by: sparc/gr712rc
+ value: 0x80000100
+- enabled-by: sparc/gr740
+ value: 0xff900000
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: LEON3_APBUART_BASE
+description: |
+ This option defines the base address of the debug/console APBUART register
+ block.
+type: build
diff --git a/spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml b/spec/build/bsps/sparc/leon3/optasrupcnt.yml
index d35c800e09..470944006e 100644
--- a/spec/build/bsps/sparc/erc32/optpwrdwnhlt.yml
+++ b/spec/build/bsps/sparc/leon3/optasrupcnt.yml
@@ -1,16 +1,19 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
actions:
- get-boolean: null
- define-condition: null
build-type: option
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH & Co. KG
default:
+- enabled-by: sparc/gr740
+ value: true
- enabled-by: true
value: false
-description: |
- If defined, CPU is spinning on fatal exit. Otherwise generate system error which will hand over to debugger, simulator, etc.
enabled-by: true
links: []
-name: BSP_POWER_DOWN_AT_FATAL_HALT
+name: LEON3_HAS_ASR_22_23_UP_COUNTER
+description: |
+ If this option is set to true, then the processor has the %asr22 and %asr23
+ up-counter.
type: build
diff --git a/spec/build/bsps/sparc/leon3/optasrupcntprobe.yml b/spec/build/bsps/sparc/leon3/optasrupcntprobe.yml
new file mode 100644
index 0000000000..c32c909f3e
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optasrupcntprobe.yml
@@ -0,0 +1,21 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-boolean: null
+- define-condition: null
+build-type: option
+default:
+- enabled-by:
+ - sparc/gr712rc
+ - sparc/gr740
+ value: false
+- enabled-by: true
+ value: true
+enabled-by: true
+links: []
+name: LEON3_PROBE_ASR_22_23_UP_COUNTER
+description: |
+ If this option is set to true, then it will be probed if the %asr22 and
+ %asr23 up-counter is available.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optdsubase.yml b/spec/build/bsps/sparc/leon3/optdsubase.yml
new file mode 100644
index 0000000000..5fd0b9bfb7
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optdsubase.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+default:
+- enabled-by: sparc/gr712rc
+ value: 0x90000000
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: LEON3_DSU_BASE
+description: |
+ This option defines the base address of the DSU register block used by
+ the clock driver and CPU counter implementation.
+
+ In general, using the Debug Support Unit (DSU) is not recommended for the
+ clock driver and CPU counter implementation. Before you use it, check that
+ it is available in flight models and that the time tag register is
+ implemented in radiation hardened flip-flops. For the GR712RC, this is the
+ case.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optgptimerbase.yml b/spec/build/bsps/sparc/leon3/optgptimerbase.yml
new file mode 100644
index 0000000000..b2158208a0
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optgptimerbase.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+default:
+- enabled-by: sparc/gr712rc
+ value: 0x80000300
+- enabled-by: sparc/gr740
+ value: 0xff908000
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: LEON3_GPTIMER_BASE
+description: |
+ This option defines the base address of the GPTIMER register block used by
+ the clock driver.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optirqampbase.yml b/spec/build/bsps/sparc/leon3/optirqampbase.yml
new file mode 100644
index 0000000000..aad978406b
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optirqampbase.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+default:
+- enabled-by: sparc/gr712rc
+ value: 0x80000200
+- enabled-by: sparc/gr740
+ value: 0xff904000
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: LEON3_IRQAMP_BASE
+description: |
+ This option defines the base address of the IRQ(A)MP register block.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optirqampextirq.yml b/spec/build/bsps/sparc/leon3/optirqampextirq.yml
new file mode 100644
index 0000000000..61e077de5d
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optirqampextirq.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+default:
+- enabled-by: sparc/gr712rc
+ value: 12
+- enabled-by: sparc/gr740
+ value: 10
+enabled-by: true
+format: '{}'
+links: []
+name: LEON3_IRQAMP_EXTENDED_INTERRUPT
+description: |
+ This option specifies the interrupt line of the IRQ(A)MP extended interrupt.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optirqampts.yml b/spec/build/bsps/sparc/leon3/optirqampts.yml
new file mode 100644
index 0000000000..adcfeaf850
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optirqampts.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-boolean: null
+- define-condition: null
+build-type: option
+default:
+- enabled-by:
+ - sparc/gr712rc
+ - sparc/gr740
+ - sparc/ut699
+ - sparc/ut700
+ value: false
+- enabled-by: true
+ value: true
+enabled-by: true
+links: []
+name: LEON3_IRQAMP_PROBE_TIMESTAMP
+description: |
+ If this option is set to true, then the interrupt timestamping feature of the
+ IRQ(A)MP is probed. If it is available, then it may be used for the CPU
+ counter and interrupt profiling.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optl2cachebase.yml b/spec/build/bsps/sparc/leon3/optl2cachebase.yml
new file mode 100644
index 0000000000..759198f827
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optl2cachebase.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+default:
+- enabled-by: sparc/gr712rc
+ value: 0x00000000
+- enabled-by: sparc/gr740
+ value: 0xf0000000
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: LEON3_L2CACHE_BASE
+description: |
+ This option defines the base address of the L2CACHE register block.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optplbfreq.yml b/spec/build/bsps/sparc/leon3/optplbfreq.yml
new file mode 100644
index 0000000000..9dbc39a789
--- /dev/null
+++ b/spec/build/bsps/sparc/leon3/optplbfreq.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH & Co. KG
+actions:
+- get-boolean: null
+- define-condition: null
+build-type: option
+default:
+- enabled-by:
+ - sparc/gr712rc
+ - sparc/gr740
+ value: true
+- enabled-by: true
+ value: false
+enabled-by: true
+links: []
+name: LEON3_PLB_FREQUENCY_DEFINED_BY_GPTIMER
+description: |
+ If this option is set to true, then the processor local bus (PLB) frequency
+ is directly defined by the first GPTIMER frequency neglecting the actual bus
+ topology. It is assumed that the boot loader configured the first GPTIMER to
+ have a frequency of LEON3_GPTIMER_0_FREQUENCY_SET_BY_BOOT_LOADER.
+type: build
diff --git a/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml b/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml
deleted file mode 100644
index 4ef0aed429..0000000000
--- a/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-actions:
-- get-boolean: null
-- define-condition: null
-build-type: option
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH & Co. KG
-default:
-- enabled-by: true
- value: false
-description: |
- If defined, CPU is powered down on fatal exit. Otherwise generate system error which will hand over to debugger, simulator, etc.
-enabled-by: true
-links: []
-name: BSP_POWER_DOWN_AT_FATAL_HALT
-type: build