diff options
Diffstat (limited to 'spec/build/bsps/sparc/leon3')
24 files changed, 276 insertions, 62 deletions
diff --git a/spec/build/bsps/sparc/leon3/abi.yml b/spec/build/bsps/sparc/leon3/abi.yml index b725d5de48..f4f1628093 100644 --- a/spec/build/bsps/sparc/leon3/abi.yml +++ b/spec/build/bsps/sparc/leon3/abi.yml @@ -5,25 +5,23 @@ actions: - env-append: null build-type: option copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG default: -- -mcpu=leon3 -default-by-variant: -- value: +- enabled-by: sparc/ut700 + value: - -mcpu=leon3 - -mfix-ut700 - variants: - - sparc/ut700 -- value: +- enabled-by: sparc/ut699 + value: - -mcpu=leon - -mfix-ut699 - variants: - - sparc/ut699 -- value: +- enabled-by: sparc/gr712rc + value: - -mcpu=leon3 - -mfix-gr712rc - variants: - - sparc/gr712rc +- enabled-by: true + value: + - -mcpu=leon3 description: | ABI flags enabled-by: diff --git a/spec/build/bsps/sparc/leon3/abiclang.yml b/spec/build/bsps/sparc/leon3/abiclang.yml index 6c9646e7cd..577129762c 100644 --- a/spec/build/bsps/sparc/leon3/abiclang.yml +++ b/spec/build/bsps/sparc/leon3/abiclang.yml @@ -7,26 +7,23 @@ build-type: option copyrights: - Copyright (C) 2020 Hesham Almatary <Hesham.Almatary@cl.cam.ac.uk> default: -- -mcpu=leon3 -default-by-variant: -- value: +- enabled-by: sparc/ut700 + value: - -mcpu=leon3 - -mfix-ut700 - variants: - - sparc/ut700 -- value: +- enabled-by: sparc/ut699 + value: - -mcpu=leon - -mfix-ut699 - variants: - - sparc/ut699 -- value: +- enabled-by: sparc/gr712rc + value: - -mcpu=gr712rc - variants: - - sparc/gr712rc -- value: +- enabled-by: sparc/gr740 + value: - -mcpu=gr740 - variants: - - sparc/gr740 +- enabled-by: true + value: + - -mcpu=leon3 description: | ABI flags enabled-by: diff --git a/spec/build/bsps/sparc/leon3/bspgr712rc.yml b/spec/build/bsps/sparc/leon3/bspgr712rc.yml index 8a065444ab..4edc57fba3 100644 --- a/spec/build/bsps/sparc/leon3/bspgr712rc.yml +++ b/spec/build/bsps/sparc/leon3/bspgr712rc.yml @@ -4,7 +4,7 @@ bsp: gr712rc build-type: bsp cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] enabled-by: true family: leon3 diff --git a/spec/build/bsps/sparc/leon3/bspgr740.yml b/spec/build/bsps/sparc/leon3/bspgr740.yml index a5f3cd30f6..e8a7fd1a30 100644 --- a/spec/build/bsps/sparc/leon3/bspgr740.yml +++ b/spec/build/bsps/sparc/leon3/bspgr740.yml @@ -4,7 +4,7 @@ bsp: gr740 build-type: bsp cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] enabled-by: true family: leon3 diff --git a/spec/build/bsps/sparc/leon3/bspleon3.yml b/spec/build/bsps/sparc/leon3/bspleon3.yml index 63b4e54f58..9c981df46b 100644 --- a/spec/build/bsps/sparc/leon3/bspleon3.yml +++ b/spec/build/bsps/sparc/leon3/bspleon3.yml @@ -4,7 +4,7 @@ bsp: leon3 build-type: bsp cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] enabled-by: true family: leon3 diff --git a/spec/build/bsps/sparc/leon3/bsput699.yml b/spec/build/bsps/sparc/leon3/bsput699.yml index 0a2f9ce596..74349a2eed 100644 --- a/spec/build/bsps/sparc/leon3/bsput699.yml +++ b/spec/build/bsps/sparc/leon3/bsput699.yml @@ -4,7 +4,7 @@ bsp: ut699 build-type: bsp cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] enabled-by: true family: leon3 diff --git a/spec/build/bsps/sparc/leon3/bsput700.yml b/spec/build/bsps/sparc/leon3/bsput700.yml index 52353fda7d..1e8a979190 100644 --- a/spec/build/bsps/sparc/leon3/bsput700.yml +++ b/spec/build/bsps/sparc/leon3/bsput700.yml @@ -4,7 +4,7 @@ bsp: ut700 build-type: bsp cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] enabled-by: true family: leon3 diff --git a/spec/build/bsps/sparc/leon3/grp.yml b/spec/build/bsps/sparc/leon3/grp.yml index 670fada8b9..a995ccc60a 100644 --- a/spec/build/bsps/sparc/leon3/grp.yml +++ b/spec/build/bsps/sparc/leon3/grp.yml @@ -1,7 +1,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause build-type: group +cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG +cppflags: [] +cxxflags: [] enabled-by: true includes: [] install: [] @@ -16,6 +19,8 @@ links: - role: build-dependency uid: ../../objirq - role: build-dependency + uid: ../objmem +- role: build-dependency uid: ../grp - role: build-dependency uid: abiclang @@ -28,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 19ce633a2a..f8feab3b3b 100644 --- a/spec/build/bsps/sparc/leon3/obj.yml +++ b/spec/build/bsps/sparc/leon3/obj.yml @@ -2,7 +2,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause build-type: objects cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] cxxflags: [] enabled-by: true @@ -13,10 +13,14 @@ install: - bsps/sparc/leon3/include/amba.h - bsps/sparc/leon3/include/bsp.h - bsps/sparc/leon3/include/leon.h - - bsps/sparc/leon3/include/tm27.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: @@ -32,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 @@ -41,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 @@ -50,14 +52,13 @@ 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 - bsps/sparc/shared/pci/pci_memreg_sparc_le.c - bsps/sparc/shared/start/bsp_fatal_exit.c -- bsps/sparc/shared/start/bspgetworkarea.c type: build diff --git a/spec/build/bsps/sparc/leon3/objmpci.yml b/spec/build/bsps/sparc/leon3/objmpci.yml index dee85a3cd1..1f338fad24 100644 --- a/spec/build/bsps/sparc/leon3/objmpci.yml +++ b/spec/build/bsps/sparc/leon3/objmpci.yml @@ -2,7 +2,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause build-type: objects cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] cxxflags: [] enabled-by: diff --git a/spec/build/bsps/sparc/leon3/objsmp.yml b/spec/build/bsps/sparc/leon3/objsmp.yml index 72a43f2a78..a339c12cb3 100644 --- a/spec/build/bsps/sparc/leon3/objsmp.yml +++ b/spec/build/bsps/sparc/leon3/objsmp.yml @@ -2,7 +2,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause build-type: objects cflags: [] copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2020 embedded brains GmbH & Co. KG cppflags: [] cxxflags: [] enabled-by: 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/leon3/optasrupcnt.yml b/spec/build/bsps/sparc/leon3/optasrupcnt.yml new file mode 100644 index 0000000000..470944006e --- /dev/null +++ b/spec/build/bsps/sparc/leon3/optasrupcnt.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-boolean: null +- define-condition: null +build-type: option +default: +- enabled-by: sparc/gr740 + value: true +- enabled-by: true + value: false +enabled-by: true +links: [] +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/optconirq.yml b/spec/build/bsps/sparc/leon3/optconirq.yml index 2278f00ef3..5a235c540c 100644 --- a/spec/build/bsps/sparc/leon3/optconirq.yml +++ b/spec/build/bsps/sparc/leon3/optconirq.yml @@ -4,9 +4,10 @@ actions: - define: null build-type: option copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default: 0 -default-by-variant: [] +- Copyright (C) 2020 embedded brains GmbH & Co. KG +default: +- enabled-by: true + value: 0 description: | The leon3 console driver can operate in either polled or interrupt mode. Under the simulator (especially when FAST_UART is defined), polled seems to operate better. enabled-by: true 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/optleon3smp.yml b/spec/build/bsps/sparc/leon3/optleon3smp.yml index c78929c198..9d3c3659c5 100644 --- a/spec/build/bsps/sparc/leon3/optleon3smp.yml +++ b/spec/build/bsps/sparc/leon3/optleon3smp.yml @@ -4,9 +4,10 @@ actions: - define-condition: null build-type: option copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default: true -default-by-variant: [] +- Copyright (C) 2020 embedded brains GmbH & Co. KG +default: +- enabled-by: true + value: true description: | Always defined when on a LEON3 to enable the LEON3 support for determining the CPU core number in an SMP configuration. enabled-by: true 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 8923870017..0000000000 --- a/spec/build/bsps/sparc/leon3/optpwrdwnhlt.yml +++ /dev/null @@ -1,15 +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 (http://www.embedded-brains.de) -default: false -default-by-variant: [] -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 |