From 0e7b5268375637acd23fe78262379bd301a60116 Mon Sep 17 00:00:00 2001 From: Matteo Concas Date: Thu, 10 Sep 2026 16:33:12 +0200 Subject: [PATCH] bsps/sparc: Add GR765 BSP --- bsps/sparc/leon3/start/linkcmds.gr765 | 25 +++++++++++++++++++ spec/build/bsps/sparc/leon3/abi.yml | 3 +++ spec/build/bsps/sparc/leon3/bspgr765.yml | 19 ++++++++++++++ spec/build/bsps/sparc/leon3/obj.yml | 1 + .../build/bsps/sparc/leon3/optapbuartbase.yml | 4 ++- spec/build/bsps/sparc/leon3/optasrupcnt.yml | 4 ++- .../bsps/sparc/leon3/optasrupcntprobe.yml | 1 + .../build/bsps/sparc/leon3/optgptimerbase.yml | 4 ++- spec/build/bsps/sparc/leon3/optirqampbase.yml | 4 ++- .../bsps/sparc/leon3/optirqampextirq.yml | 4 ++- .../bsps/sparc/leon3/optirqampirqmap.yml | 4 ++- spec/build/bsps/sparc/leon3/optirqampts.yml | 1 + .../build/bsps/sparc/leon3/optl2cachebase.yml | 2 ++ spec/build/bsps/sparc/leon3/optplbfreq.yml | 1 + spec/build/cpukit/optmpci.yml | 1 + spec/build/cpukit/optsmp.yml | 1 + .../validation/bsps/objsparcleon3extirq.yml | 1 + 17 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 bsps/sparc/leon3/start/linkcmds.gr765 create mode 100644 spec/build/bsps/sparc/leon3/bspgr765.yml diff --git a/bsps/sparc/leon3/start/linkcmds.gr765 b/bsps/sparc/leon3/start/linkcmds.gr765 new file mode 100644 index 0000000000..3e4734878e --- /dev/null +++ b/bsps/sparc/leon3/start/linkcmds.gr765 @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* Copyright (C) 2026 Frontgrade Gaisler AB */ + +/* Default values, can be overridden */ + +_PROM_SIZE = DEFINED (_PROM_SIZE) ? _PROM_SIZE : 0; + +_RAM_SIZE = DEFINED (_RAM_SIZE) ? _RAM_SIZE : 64M; + +/* these are the maximum values */ + +MEMORY +{ + rom : ORIGIN = 0xC0000000, LENGTH = 256M + ram : ORIGIN = 0x00000000, LENGTH = 2048M + sram : ORIGIN = 0xF5000000, LENGTH = 2M +} + +_PROM_START = ORIGIN (rom); +_RAM_START = ORIGIN (ram); + +ENTRY(start) + +INCLUDE linkcmds.base diff --git a/spec/build/bsps/sparc/leon3/abi.yml b/spec/build/bsps/sparc/leon3/abi.yml index f4f1628093..af39a4cc1d 100644 --- a/spec/build/bsps/sparc/leon3/abi.yml +++ b/spec/build/bsps/sparc/leon3/abi.yml @@ -19,6 +19,9 @@ default: value: - -mcpu=leon3 - -mfix-gr712rc +- enabled-by: sparc/gr765 + value: + - -mcpu=leon5 - enabled-by: true value: - -mcpu=leon3 diff --git a/spec/build/bsps/sparc/leon3/bspgr765.yml b/spec/build/bsps/sparc/leon3/bspgr765.yml new file mode 100644 index 0000000000..b05386fd5c --- /dev/null +++ b/spec/build/bsps/sparc/leon3/bspgr765.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +arch: sparc +bsp: gr765 +build-type: bsp +cflags: [] +copyrights: +- Copyright (C) 2026 Frontgrade Gaisler AB +cppflags: [] +enabled-by: true +family: leon3 +includes: [] +install: [] +links: +- role: build-dependency + uid: ../../opto2 +- role: build-dependency + uid: grp +source: [] +type: build diff --git a/spec/build/bsps/sparc/leon3/obj.yml b/spec/build/bsps/sparc/leon3/obj.yml index 6afc55eb79..611fb4a24e 100644 --- a/spec/build/bsps/sparc/leon3/obj.yml +++ b/spec/build/bsps/sparc/leon3/obj.yml @@ -26,6 +26,7 @@ install: source: - bsps/sparc/leon3/start/linkcmds.gr712rc - bsps/sparc/leon3/start/linkcmds.gr740 + - bsps/sparc/leon3/start/linkcmds.gr765 - bsps/sparc/leon3/start/linkcmds.leon3 - bsps/sparc/leon3/start/linkcmds.ut699 - bsps/sparc/leon3/start/linkcmds.ut700 diff --git a/spec/build/bsps/sparc/leon3/optapbuartbase.yml b/spec/build/bsps/sparc/leon3/optapbuartbase.yml index 2986fc6324..bf67cfd0b7 100644 --- a/spec/build/bsps/sparc/leon3/optapbuartbase.yml +++ b/spec/build/bsps/sparc/leon3/optapbuartbase.yml @@ -8,7 +8,9 @@ build-type: option default: - enabled-by: sparc/gr712rc value: 0x80000100 -- enabled-by: sparc/gr740 +- enabled-by: + - sparc/gr740 + - sparc/gr765 value: 0xff900000 enabled-by: true format: '{:#010x}' diff --git a/spec/build/bsps/sparc/leon3/optasrupcnt.yml b/spec/build/bsps/sparc/leon3/optasrupcnt.yml index 470944006e..49cc313c06 100644 --- a/spec/build/bsps/sparc/leon3/optasrupcnt.yml +++ b/spec/build/bsps/sparc/leon3/optasrupcnt.yml @@ -6,7 +6,9 @@ actions: - define-condition: null build-type: option default: -- enabled-by: sparc/gr740 +- enabled-by: + - sparc/gr740 + - sparc/gr765 value: true - enabled-by: true value: false diff --git a/spec/build/bsps/sparc/leon3/optasrupcntprobe.yml b/spec/build/bsps/sparc/leon3/optasrupcntprobe.yml index c32c909f3e..f2029eda34 100644 --- a/spec/build/bsps/sparc/leon3/optasrupcntprobe.yml +++ b/spec/build/bsps/sparc/leon3/optasrupcntprobe.yml @@ -9,6 +9,7 @@ default: - enabled-by: - sparc/gr712rc - sparc/gr740 + - sparc/gr765 value: false - enabled-by: true value: true diff --git a/spec/build/bsps/sparc/leon3/optgptimerbase.yml b/spec/build/bsps/sparc/leon3/optgptimerbase.yml index b2158208a0..ed860cf929 100644 --- a/spec/build/bsps/sparc/leon3/optgptimerbase.yml +++ b/spec/build/bsps/sparc/leon3/optgptimerbase.yml @@ -8,7 +8,9 @@ build-type: option default: - enabled-by: sparc/gr712rc value: 0x80000300 -- enabled-by: sparc/gr740 +- enabled-by: + - sparc/gr740 + - sparc/gr765 value: 0xff908000 enabled-by: true format: '{:#010x}' diff --git a/spec/build/bsps/sparc/leon3/optirqampbase.yml b/spec/build/bsps/sparc/leon3/optirqampbase.yml index aad978406b..d506275c0b 100644 --- a/spec/build/bsps/sparc/leon3/optirqampbase.yml +++ b/spec/build/bsps/sparc/leon3/optirqampbase.yml @@ -8,7 +8,9 @@ build-type: option default: - enabled-by: sparc/gr712rc value: 0x80000200 -- enabled-by: sparc/gr740 +- enabled-by: + - sparc/gr740 + - sparc/gr765 value: 0xff904000 enabled-by: true format: '{:#010x}' diff --git a/spec/build/bsps/sparc/leon3/optirqampextirq.yml b/spec/build/bsps/sparc/leon3/optirqampextirq.yml index 61e077de5d..a8defbf606 100644 --- a/spec/build/bsps/sparc/leon3/optirqampextirq.yml +++ b/spec/build/bsps/sparc/leon3/optirqampextirq.yml @@ -6,7 +6,9 @@ actions: - format-and-define: null build-type: option default: -- enabled-by: sparc/gr712rc +- enabled-by: + - sparc/gr712rc + - sparc/gr765 value: 12 - enabled-by: sparc/gr740 value: 10 diff --git a/spec/build/bsps/sparc/leon3/optirqampirqmap.yml b/spec/build/bsps/sparc/leon3/optirqampirqmap.yml index b0e2556396..855b8f1702 100644 --- a/spec/build/bsps/sparc/leon3/optirqampirqmap.yml +++ b/spec/build/bsps/sparc/leon3/optirqampirqmap.yml @@ -6,7 +6,9 @@ actions: - define-condition: null build-type: option default: -- enabled-by: sparc/gr740 +- enabled-by: + - sparc/gr740 + - sparc/gr765 value: true - enabled-by: true value: false diff --git a/spec/build/bsps/sparc/leon3/optirqampts.yml b/spec/build/bsps/sparc/leon3/optirqampts.yml index adcfeaf850..574877c18d 100644 --- a/spec/build/bsps/sparc/leon3/optirqampts.yml +++ b/spec/build/bsps/sparc/leon3/optirqampts.yml @@ -9,6 +9,7 @@ default: - enabled-by: - sparc/gr712rc - sparc/gr740 + - sparc/gr765 - sparc/ut699 - sparc/ut700 value: false diff --git a/spec/build/bsps/sparc/leon3/optl2cachebase.yml b/spec/build/bsps/sparc/leon3/optl2cachebase.yml index 759198f827..9a9c44c875 100644 --- a/spec/build/bsps/sparc/leon3/optl2cachebase.yml +++ b/spec/build/bsps/sparc/leon3/optl2cachebase.yml @@ -10,6 +10,8 @@ default: value: 0x00000000 - enabled-by: sparc/gr740 value: 0xf0000000 +- enabled-by: sparc/gr765 + value: 0xb1000000 enabled-by: true format: '{:#010x}' links: [] diff --git a/spec/build/bsps/sparc/leon3/optplbfreq.yml b/spec/build/bsps/sparc/leon3/optplbfreq.yml index 9dbc39a789..f3dc91b1ff 100644 --- a/spec/build/bsps/sparc/leon3/optplbfreq.yml +++ b/spec/build/bsps/sparc/leon3/optplbfreq.yml @@ -9,6 +9,7 @@ default: - enabled-by: - sparc/gr712rc - sparc/gr740 + - sparc/gr765 value: true - enabled-by: true value: false diff --git a/spec/build/cpukit/optmpci.yml b/spec/build/cpukit/optmpci.yml index 1e47142dd2..e733d8a856 100644 --- a/spec/build/cpukit/optmpci.yml +++ b/spec/build/cpukit/optmpci.yml @@ -20,6 +20,7 @@ enabled-by: - powerpc/qoriq_core_1 - sparc/gr712rc - sparc/gr740 +- sparc/gr765 - sparc/leon3 - sparc/ut699 - sparc/ut700 diff --git a/spec/build/cpukit/optsmp.yml b/spec/build/cpukit/optsmp.yml index 4653bda0f8..06714cbab8 100644 --- a/spec/build/cpukit/optsmp.yml +++ b/spec/build/cpukit/optsmp.yml @@ -50,6 +50,7 @@ enabled-by: - riscv/kendrytek210 - sparc/gr712rc - sparc/gr740 +- sparc/gr765 - sparc/leon3 - x86_64/amd64 links: [] diff --git a/spec/build/testsuites/validation/bsps/objsparcleon3extirq.yml b/spec/build/testsuites/validation/bsps/objsparcleon3extirq.yml index 60c07fedf2..4fb8c22f04 100644 --- a/spec/build/testsuites/validation/bsps/objsparcleon3extirq.yml +++ b/spec/build/testsuites/validation/bsps/objsparcleon3extirq.yml @@ -8,6 +8,7 @@ cxxflags: [] enabled-by: - sparc/gr712rc - sparc/gr740 +- sparc/gr765 includes: [] install: [] links: []