Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jetson start #209

Draft
wants to merge 172 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
172 commits
Select commit Hold shift + click to select a range
c6ad5be
boards/riscv/mpfs/icicle/configs/standalone: Add a standalone target
jlaitine Nov 22, 2021
ffd0ae5
Fix the check workflow for tiiuae repo
jlaitine Nov 24, 2021
477df1a
arch/risc-v/src/opensbi/Make.defs: Switch opensbi to the nuttx/size o…
jlaitine Jul 21, 2022
c9f3f90
[REVERTME] arch/risc-v/src/mpfs/mpfs_ethernet.c: Hack the ethernet dr…
jlaitine Aug 17, 2022
902c21a
[HACK] Set SD-card speed to 50MHz
jlaitine Sep 14, 2022
c03e56b
opensbi: Take SBI version that removes console into use
pussuw Sep 20, 2022
f10e650
Fix standalone defconfig for CI
jlaitine Sep 28, 2022
adfe82a
arch/risc-v/src/mpfs/mpfs_clockconfig.c: Flag out code only used in b…
jlaitine Sep 28, 2022
dd3fe0b
arch/risc-v/src/mpfs: Add mpfs canfd socket can driver
haitomatic May 26, 2022
b4414cb
boards/risc-v/mpfs/icicle: add new target for testing mpfs canfd driver
haitomatic Jun 15, 2022
75cbc77
mpfs/emmcsd: Set same base clock for SDR/DDR modes
pussuw Nov 30, 2022
a4e0296
mpfs/emmcsd: [HACK] Set 8-bit data width and DDR HS mode for eMMC
pussuw Nov 30, 2022
5158a1a
mpfs/emmcsd: Fix build issue with 8-bit HS mode
pussuw Nov 30, 2022
51991d6
Fix build.yml
jpaali Dec 12, 2022
95b4d63
risc-v/mpfs: ihc: Make IHC HSS workaround configurable
jpaali Sep 9, 2022
526ae42
drivers/net/rpmsgdrv.c: Take netdev_register() return value into account
jpaali Sep 27, 2022
3ce90e5
drivers/net/rpmsgdrv.c: Support only TRANSFER commands
jpaali Dec 13, 2022
5da097c
arch/risc-v/src/mpfs/mpfs_ihc.c: Increase RPMSG buffer size
jpaali Nov 30, 2022
8c5745b
mpfs_ihc: Make Vring addresses configurable
jpaali Dec 2, 2022
fcb4f6f
arch/risc-v/src/mpfs/mpfs_fpga_canfd.c: Fix CONFIG_DEBUG_CAN_INFO ifd…
jlaitine Jan 19, 2023
e66ee29
boards/risc-v/mpfs/icicle/configs/canfd/defconfig: Normalize
jlaitine Jan 19, 2023
d5b4484
remove devif_loopback in canfd driver since it is now devif_poll func…
haitomatic Jan 19, 2023
a9855a5
arch/risc-v/src/mpfs/mpfs_ihc.c: Minor fixes
jpaali Jan 27, 2023
9200709
Remove MPFS_IHC_LINUX_ON_HART4 from default configurations
jpaali Jan 27, 2023
da7fcae
arch/arm/src/stm32f7/stm32_ethernet.c: Fix "unused variable" warning
jlaitine Feb 3, 2023
62d55b7
arch/risc-v/src/mpfs/mpfs_userspace.c: Map MTIME into userspace reser…
jlaitine Feb 9, 2023
26f28ec
boards/risc-v/mpfs/icicle: Add USRIO area for userspace IO mappings
jlaitine Feb 10, 2023
765313f
Add mpfs crypto driver into nuttx build
jlaitine Feb 13, 2023
7661ca1
mpfs/Kconfig: fix typo on config file
pussuw Feb 14, 2023
a8c0f1e
mpfs/mpfs_mm_init: Add the MTIME user mapping for kernel mode as well
pussuw Feb 14, 2023
669e6e2
arch/risc-v/src/mpfs/Kconfig: Don't source crypto/Kconfig
jlaitine Feb 23, 2023
9c96ac4
DP-4881: The latest NuttX OpenAMP version does not work with Saluki H…
sthirvela Feb 22, 2023
1fa7923
arch/risc-v/src/mpfs: symlink pf_crypto submodule
jnippula Mar 6, 2023
ccfeb55
arch/riscv/src/mpfs/mpfs_ethernet.c: discard err rxframe in int work
jnippula Mar 9, 2023
080730a
arch/risc-v/src/mpfs/crypto.defs: Update to include mpfs_systemservice.c
jlaitine Mar 16, 2023
17c79ab
arch/risc-v/src/mpfs: Generate an unique locally administrated MAC ad…
jlaitine Apr 3, 2023
f7c0a2d
emmc interrupt blackout issue fix
jnippula Apr 14, 2023
9e10f64
mpfs/mpfs_userspace: Increase user space size to 8MB
pussuw Apr 18, 2023
dd0851b
test: bootloader: apply ihc flow control
eenurkka Apr 3, 2023
0855101
risc-v/mpfs: apply ihc software flow control
eenurkka Mar 29, 2023
69a3ed7
risc-v/mpfs: ihc: use work queue instead of thread
eenurkka Apr 17, 2023
9049acb
canfd: fix hw filter
haitomatic Apr 27, 2023
4b40846
risc-v/mpfs: serial: add fpga uarts
eenurkka May 9, 2023
e278e43
Add CONFIG_MPFS_SPI flag to define using SOC hard-ip SPI block
jlaitine May 12, 2023
a4c60b8
arch/risc-v/src/mpfs: Remove CONFIG_MPFS_COREPWMx_PWMCLK configs
jlaitine May 12, 2023
64351a1
risc-v/mpfs: serial: fix uart closing
eenurkka May 12, 2023
6afcf21
Change MPFS_FPGA_UARTx_BASE addresses to 4k aligned as per new FPGA i…
jlaitine May 15, 2023
f5b0d4b
[REVERTME] arch/risc-v/src/mpfs/mpfs_corespi.c: Hack around a bug in …
jlaitine May 17, 2023
e67f54a
Add support for 2xCAN
haitomatic May 10, 2023
b9fa478
canfd : add missing configs for 2xCAN support
haitomatic May 16, 2023
f83649c
canfd : use board peripheral clock
haitomatic May 16, 2023
71c4864
canfd : normalize defconfig
haitomatic May 17, 2023
6429084
arch/risc-v/src/mpfs/mpfs_timerisr.c: Partially revert common mtime d…
jlaitine May 19, 2023
f34ce01
arch/risc-v/src/mpfs: Make mpfs_hart_index2id table modifiable by boo…
jlaitine May 24, 2023
b400e7a
Revert "[REVERTME] arch/risc-v/src/mpfs/mpfs_corespi.c: Hack around a…
jlaitine May 24, 2023
d9c7276
mpfs_timerisr: Add patch to make the code work in CONFIG_BUILD_KERNEL
pussuw May 24, 2023
c312a3b
arch/risc-v/src/mpfs/mpfs_opensbi.c: Fix conflicting datatypes define…
jlaitine May 25, 2023
c688040
net/can, net/devif: fix CAN RX/TX iob free semcount runaway issue
haitomatic May 22, 2023
226dbd9
arch/risc-v/src/mpfs/mpfs_dsn: Correct serial number reading routine
jlaitine Jun 16, 2023
96cc3b4
risc-v/mpfs: clean up ihc for rpmsg
eenurkka Jun 21, 2023
a5d1e67
mpfs_opensbi_utils.S: relocate OpenSBI into l2zerodevice
eenurkka Jun 22, 2023
b1c7173
opensbi: update to contain shrinked version
eenurkka Jun 27, 2023
ef92a6c
Revert "opensbi: update to contain shrinked version"
jnippula Jun 28, 2023
a505113
opensbi: update to contain shrinked version
jnippula Jun 28, 2023
6f2db08
risc-v/mpfs: ihc: don't wait for a remote ack
eenurkka Aug 9, 2023
dd9fee0
Disable linker relaxed addressing when loading gp
jnippula Aug 9, 2023
ec68b3d
risc-v/mpfs: clear L2 before use
eenurkka Aug 15, 2023
1fc7d2b
arch/risc-v/src/mpfs/mpfs_ddr.c: Correct the DDR training dq/dqs stat…
jlaitine Aug 24, 2023
c524902
arch/risc-v/src/mpfs/mpfs_ddr.c: Don't auto-determine the write latency
jlaitine Aug 24, 2023
1f9b2ba
arch/risc-v/src/mpfs/mpfs_ddr.c: Correct memory test timeouts
jlaitine Aug 24, 2023
2602afd
arch/risc-v/src/mpfs/mpfs_ddr.c: Make sure that DDRC is in reset when…
jlaitine Aug 24, 2023
ee58b2e
arch/risc-v/src/mpfs/mpfs_ddr.c: Add a simple prng for memory trainin…
jlaitine Aug 24, 2023
66eec9d
Revert "drivers/mmcsd: fix style issues"
pussuw Aug 28, 2023
9d3b9fa
Revert "Add eMMC driver support"
pussuw Aug 28, 2023
c356bfb
arch/risc-v/src/mpfs: Sync some of the libero config macros with HSS …
jlaitine Aug 29, 2023
3ce090e
arch/risc-v/src/mpfs/mpfs_ddr.c: Re-write write calibration
jlaitine Aug 27, 2023
2563e16
arch/risc-v/src/mpfs: Set USB DMA upper addr offset
jpaali Aug 30, 2023
25d9216
drivers/timers/pcf85263.c: Fix compilation
jlaitine Sep 5, 2023
19be1d8
drivers/net: Add a management driver for ksz9477 ethernet switch
jlaitine Aug 31, 2023
537e3ff
arch/risc-v/src/mpfs: Add ksz9477 initialization
jlaitine Aug 31, 2023
3472e29
arch/risc-v/src/mpfs/mpfs_i2c.c: Clean up using priv->status and STOP…
jlaitine Sep 11, 2023
393f37e
riscv/riscv_pmp.c: Improve NAPOT area validity checks
pussuw Aug 30, 2023
3b6acfa
mpfs/mpfs_i2c.c: Replace 1 second timeout with Time-on-Air based timeout
pussuw Aug 28, 2023
cd343a7
libs/libc: Fix a fatal bug in fread
SPRESENSE Sep 7, 2023
364a80a
stdio/lib_libfread: Fix buffer overflow issue
pussuw Sep 13, 2023
4093598
binfmt/binfmt_execmodule: Copy filename if CONFIG_BUILD_KERNEL and ar…
pussuw Sep 14, 2023
65cf286
risc-v/mpfs: Add DMA buffer allocator for eMMC access
pussuw Sep 15, 2023
1fe72b8
tools/ci: ensure removing python and openssl related commands
pkarashchenko Aug 29, 2023
67a45e7
tools/ci: Unify the version print: command xxx --version
xiaoxiang781216 Sep 13, 2023
feea81b
tools/ci: Fix "flock: Command not found" on macOS
xiaoxiang781216 Sep 13, 2023
0faa890
tools: Use GCC 13.2 from xPack for risc-v
no1wudi Sep 18, 2023
1ac9fb5
tools: Switch riscv GCC to 12.3
no1wudi Sep 19, 2023
8e7ec22
cibuild.sh: Using GCC from xPack for riscv
no1wudi Sep 19, 2023
6925383
rv32m1: Fix compile error
no1wudi Sep 20, 2023
5c02633
espressif: Force cast param in libc stubs
no1wudi Sep 20, 2023
3157f9d
boards/riscv: Fix module linker target
no1wudi Sep 20, 2023
b12c01c
boards/riscv: Add -melf64lriscv to 64bit USER_LDFLAGS/LDELFFLAGS
xiaoxiang781216 Aug 22, 2023
a4ee2da
arch/riscv: Move -mcmodel=medany from Make.defs to Toolchain.defs
xiaoxiang781216 Aug 22, 2023
1e8a8f3
risc-v/mpfs: ihc: don't wait for master if it's already up
eenurkka Sep 18, 2023
23a6163
risc-v/mpfs: emmcsd: deny unaligned access
eenurkka Sep 26, 2023
1f40a92
mpfs/mpfs_corespi: Several speed optimizations to the FPGA driver
pussuw Sep 22, 2023
16e2f09
risc-v/pgalloc.h: Add SHM area to riscv_uservaddr query
pussuw Sep 27, 2023
46ec2ab
risc-v/riscv_addrenv.c: Fix bug where SHM area page tables are not freed
pussuw Sep 27, 2023
ccbcb79
mm/kmap: Change kmm_user_map to kmm_map_user
pussuw Sep 29, 2023
5844fae
mm/kmap: Fix bug in kmm_unmap
pussuw Sep 29, 2023
62897c4
riscv/addrenv: Fix the user VMA end address
pussuw Sep 29, 2023
5c45123
[REVERTME] riscv_addrenc.c: Add more heap, if TLS_ALIGNED is set
pussuw Oct 4, 2023
8c04b71
riscv_addrenv_utils.c: Determine page table flags by type of vaddr
pussuw Oct 4, 2023
7d4fbfb
riscv-v/pgalloc.h: Return kernel vaddr for kernel RAM paddr
pussuw Oct 4, 2023
2a966a4
sched/assert.c: Print process name in assert dump
pussuw Oct 2, 2023
040d109
kmm_map.c: Fix call to gran_alloc
pussuw Oct 3, 2023
759228c
kmm_map.c: Fix user page mapping
pussuw Oct 3, 2023
28b00d3
kmm_map: Fix incorrect function name field
pussuw Oct 3, 2023
163398d
kmm_map.c: Add way to test if addr is within kmap area or not
pussuw Oct 3, 2023
054ebd1
kmm_map.c: Remember to free the temporary 'pages' variable
pussuw Oct 4, 2023
24b31cc
kmm_map: Add function to map a single page of kernel memory
pussuw Oct 5, 2023
a3ceafc
risc-v/mpfs/opensbi: update opensbi to version 1.3.1
eenurkka Oct 12, 2023
df1d24c
mpfs/mpfs_entrypoints.c: Fix potential R_RISCV_JAL linker error
pussuw Oct 11, 2023
b53ad83
mpfs_ethernet.c: Fix possible NULL de-reference
pussuw Oct 16, 2023
7e80998
mpfs_ethernet.c: Release tx descriptor and rx buffer properly
pussuw Oct 16, 2023
3866634
mpfs_head.S: Simplify clearing PMP
pussuw Oct 11, 2023
a96473f
arch/risc-v/src/mpfs/mpfs_ddr.c: Add read dq/dqs eye centering test
jlaitine Oct 10, 2023
38a04e3
arch/risc-v/src/mpfs/mpfs_ddr.c: Clean up the TXDLY verify step
jlaitine Oct 11, 2023
c266572
arch/risc-v/src/mpfs/mpfs_ddr.c: Fix CA training verify step
jlaitine Oct 11, 2023
4e4a88e
riscv/riscv_pmp.c: fix broken TOR checks
eenurkka Sep 20, 2023
76d2bd6
arch/risc-v: Remove unnecessary PMP kconfig options
pussuw Oct 23, 2023
076f358
arch/risc-v: Simplify pmp_check_region_attrs sanity-checks
pussuw Oct 23, 2023
cb8392f
mpfs_opensbi: Remove mpfs_opensbi_pmp_setup
pussuw Oct 10, 2023
d2c09b2
mpfs_entrypoints.c: Open all memory from PMP for hart before booting
pussuw Oct 17, 2023
5722d68
arch/mpfs: Add CONFIG_MPFS_BOARD_PMP option for PMP configuration
pussuw Oct 17, 2023
9b3a69a
Exec: Support run exec in current task
Sep 19, 2023
da552ca
sched/task_[posix]spawn: Simplify how spawn attributes are handled
pussuw Oct 25, 2023
3e8ead3
arch/risc-v/src/mpfs/mpfs_serial.c: Allow switching uart output to co…
jlaitine Oct 31, 2023
c74cd10
arch/risc-v/src/mpfs: Add hardware/mpfs_wdog.h
jnippula Nov 3, 2023
a18cb51
risc-v/mpfs: i2c: prevent out of bounds read access
eenurkka Nov 6, 2023
8d70256
risc-v/mpfs: add tamper detection support
eenurkka Nov 9, 2023
bc9dd58
risc-v/mpfs: tamper: refine tests
eenurkka Nov 13, 2023
4c460ae
risc-v/mpfs: ihc: cleanup DEBUGASSERTs and reboot
eenurkka Nov 14, 2023
cbfd4dc
sched/sem_holder.c: When accessing SEM_WAITLIST, use holder's addrenv
pussuw Nov 15, 2023
e5cefa9
mpfs/mpfs_corespi.c: Round up divider to prevent overlock of SPI
pussuw Nov 28, 2023
531a32d
risc-v/mpfs: tamper: fix a typo
eenurkka Nov 28, 2023
daef2e4
risc-v/mpfs: usb: fix fierce cpu polling if remote closes
eenurkka Nov 28, 2023
19b862a
risc-v/mpfs: usb: don't try nonexistent ep int flags
eenurkka Nov 30, 2023
b1d7e41
net: rpmsgdrv.c: prevent potential danger
eenurkka Dec 4, 2023
8e170d2
mm/kmap: Finalize kmap implementation for RISC-V
pussuw Nov 23, 2023
2476ffa
riscv_pmp.c: Revert LOG2_CEIL back to run-time log2ceil function
pussuw Dec 12, 2023
bc2e551
[REVERTME] riscv/arch_elf.c: Handle PCREL_HI20/LO12_I/S relocations c…
pussuw Dec 13, 2023
12c4549
fix MPFS_ETHMAC_LP/HPWORK flags
jnippula Dec 12, 2023
71764e1
risc-v/mpfs: emmcsd: enforce HS DDR mode
eenurkka Apr 13, 2023
0c5fb78
risc-v/mpfs: ddr: lock segmentation registers
eenurkka Dec 18, 2023
870bf22
risc-v/mpfs: i2c: perform sanity checks
eenurkka Dec 5, 2023
96b2c79
drivers/net/ksz9477: Add simple port-based static VLAN configuration
jlaitine Dec 19, 2023
ff7ecd3
mpfs_pmpcfg: Move PMPCFG registers to common location
pussuw Dec 15, 2023
dbe73a3
libs/log2ceil: Move implementation of log2ceil to a common place
pussuw Dec 13, 2023
61710ca
mpfs_usb.c: Use kernel memory instead of user memory for DMA
pussuw Dec 15, 2023
082e76f
mpfs_ethernet.c: Remove DMA_ENABLE hack
pussuw Dec 15, 2023
664567c
fs/fat: Fix number of data clusters usable for fat driver
jlaitine Dec 21, 2023
e642a04
[REVERTME] Fix arm12 target (armv7m) build error
pussuw Dec 19, 2023
4d65272
build.yml: Modify the build config
pussuw Dec 21, 2023
9f1e309
build.yml: Add ssrc board matrix for arm and risc-v
pussuw Jan 3, 2024
9d9098b
mpfs_mpu: Add driver to set MPUCFG registers
pussuw Jan 5, 2024
d779866
mpfs_usb.c: Remove PMPCFG configuration from the driver
pussuw Jan 11, 2024
fdca8e9
mpfs_mpucfg.c: Add mpfs_mpu_lock()
pussuw Jan 11, 2024
16b240e
arch/risc-v/src/mpfs/mpfs_i2c.c: Clear I2C_CTRL bits when initializin…
jlaitine Jan 10, 2024
11fccac
arch/risc-v/src/mpfs/mpfs_i2c.c: Add more error status codes
jlaitine Jan 10, 2024
e257915
arch/risc-v/src/mpfs/mpfs_i2c.c: Correct i2c reset / error recovery
jlaitine Jan 11, 2024
5bc75c2
arch/risc-v/src/mpfs/mpfs_i2c.c: Add more i2cerr traces
jlaitine Jan 10, 2024
15391f4
arch/risc-v/src/mpfs/mpfs_i2c.c: Recover i2c from pending transaction…
jlaitine Jan 12, 2024
53e0cf5
arch/risc-v/src/mpfs/mpfs_irq.c: Fix up_irqinitialize for warm reboot
jlaitine Jan 16, 2024
acf47d0
DRAFT: Add a new arm64 family of boards, jetson
jlaitine Jan 23, 2024
fe86515
Add ARCH_CHIP_JETSON, ARCH_BOARD_JETSON_NANO and ARCH_CORTEX_A78AE to…
jlaitine Jan 23, 2024
226128f
Make a draft board configuration for Orin NX / Jetson
jlaitine Jan 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 11 additions & 102 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,13 @@
name: Build

on:
pull_request:
paths-ignore:
- 'Documentation/**'
- 'tools/ci/docker/linux/**'
push:
paths-ignore:
- 'Documentation/**'
branches:
- master
- 'releases/*'
tags:
branches: [master]
pull_request:

permissions:
contents: read

concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
Fetch-Source:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -67,13 +55,13 @@ jobs:
# Determine the repo and leave that unset to use the normal checkout behavior
# of using the merge commit instead of HEAD
case $GITHUB_REPOSITORY in
"apache/nuttx")
"tiiuae/nuttx")
# OS
echo "Triggered by change in OS"
APPS_REF=$REF_NAME
;;

"apache/nuttx-apps" )
"tiiuae/incubator-nuttx-apps" )
# APPS
OS_REF=$REF_NAME
echo "Triggered by change in APPS"
Expand All @@ -91,7 +79,7 @@ jobs:
- name: Checkout nuttx repo
uses: actions/checkout@v3
with:
repository: apache/nuttx
repository: tiiuae/nuttx
ref: ${{ steps.gittargets.outputs.os_ref }}
path: sources/nuttx
fetch-depth: 1
Expand All @@ -101,7 +89,7 @@ jobs:
- name: Checkout apps repo
uses: actions/checkout@v3
with:
repository: apache/nuttx-apps
repository: tiiuae/incubator-nuttx-apps
ref: ${{ steps.gittargets.outputs.apps_ref }}
path: sources/apps
fetch-depth: 1
Expand All @@ -115,71 +103,13 @@ jobs:
name: source-bundle
path: sources.tar.gz

Linux:
needs: Fetch-Source
Build:
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: 1

strategy:
matrix:
boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, risc-v, sim-01, sim-02, xtensa, codechecker]

steps:
- name: Download Source Artifact
uses: actions/download-artifact@v3
with:
name: source-bundle
path: .

- name: Extract sources
run: tar zxf sources.tar.gz

- name: Docker Login
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Docker Pull
run: docker pull ghcr.io/apache/nuttx/apache-nuttx-ci-linux

- name: Export NuttX Repo SHA
run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV

- name: Run builds
uses: ./sources/nuttx/.github/actions/ci-container
env:
BLOBDIR: /tools/blobs
with:
run: |
echo "::add-matcher::sources/nuttx/.github/gcc.json"
export ARTIFACTDIR=`pwd`/buildartifacts
git config --global --add safe.directory /github/workspace/sources/nuttx
git config --global --add safe.directory /github/workspace/sources/apps
cd sources/nuttx/tools/ci
if [ "X${{matrix.boards}}" = "Xcodechecker" ]; then
./cibuild.sh -c -A -R --codechecker testlist/${{matrix.boards}}.dat
else
./cibuild.sh -c -A -R testlist/${{matrix.boards}}.dat
fi

- uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: linux-builds
path: buildartifacts/
continue-on-error: true

macOS:
permissions:
contents: none
runs-on: macos-13
needs: Fetch-Source
strategy:
fail-fast: false
matrix:
boards: [macos, sim-01, sim-02]
boards: [ssrc-arm, ssrc-riscv]
steps:
- name: Download Source Artifact
uses: actions/download-artifact@v3
Expand All @@ -190,32 +120,11 @@ jobs:
- name: Extract sources
run: tar zxf sources.tar.gz

- name: Restore Tools Cache
id: cache-tools
uses: actions/cache@v3
env:
cache-name: ${{ runner.os }}-cache-tools
with:
path: ./sources/tools
key: ${{ runner.os }}-tools-${{ hashFiles('./sources/nuttx/tools/ci/cibuild.sh') }}

- name: Export NuttX Repo SHA
run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV

# Released version of Cython has issues with Python 11. Set runner to use Python 3.10
# https://github.com/cython/cython/issues/4500
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Run Builds
# cibuild.sh -i installs the tools for us
- name: Run builds
run: |
echo "::add-matcher::sources/nuttx/.github/gcc.json"
export ARTIFACTDIR=`pwd`/buildartifacts
cd sources/nuttx/tools/ci
./cibuild.sh -i -c -A -R testlist/${{matrix.boards}}.dat

- uses: actions/upload-artifact@v3
with:
name: macos-builds
path: buildartifacts/
continue-on-error: true
2 changes: 1 addition & 1 deletion .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Checkout nuttx repo
uses: actions/checkout@v3
with:
repository: apache/nuttx
repository: tiiuae/nuttx
path: nuttx
fetch-depth: 0

Expand Down
2 changes: 2 additions & 0 deletions arch/arm/src/stm32f7/stm32_ethernet.c
Original file line number Diff line number Diff line change
Expand Up @@ -3136,7 +3136,9 @@ static inline int stm32_dm9161(struct stm32_ethmac_s *priv)

static int stm32_phyinit(struct stm32_ethmac_s *priv)
{
#ifdef CONFIG_STM32F7_AUTONEG
volatile uint32_t timeout;
#endif
uint32_t regval;
uint16_t phyval;
int ret;
Expand Down
22 changes: 22 additions & 0 deletions arch/arm64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ config ARCH_CHIP_A64
---help---
Allwinner A64 SoC

config ARCH_CHIP_JETSON
bool "NVidia Jetson system"
select ARCH_CORTEX_A78AE
select ARCH_HAVE_ADDRENV
select ARCH_HAVE_RESET
select ARCH_NEED_ADDRENV_MAPPING
---help---
NVidia Jetson SoC

config ARCH_CHIP_RK3399
bool "Rockchip RK3399"
select ARCH_CORTEX_A53
Expand Down Expand Up @@ -181,6 +190,18 @@ config ARCH_CORTEX_A72
select ARCH_HAVE_TESTSET
select ARM_HAVE_NEON

config ARCH_CORTEX_A78AE
bool
default n
select ARCH_ARMV8A
select ARCH_HAVE_TRUSTZONE
select ARCH_DCACHE
select ARCH_ICACHE
select ARCH_HAVE_MMU
select ARCH_HAVE_FPU
select ARCH_HAVE_TESTSET
select ARM_HAVE_NEON

config ARCH_CORTEX_R82
bool
default n
Expand All @@ -204,6 +225,7 @@ config ARCH_CHIP
default "qemu" if ARCH_CHIP_QEMU
default "fvp-v8r" if ARCH_CHIP_FVP_ARMV8R
default "imx8" if ARCH_CHIP_IMX8
default "jetson" if ARCH_CHIP_JETSON

config ARM_HAVE_NEON
bool
Expand Down
72 changes: 72 additions & 0 deletions arch/arm64/include/jetson/chip.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/****************************************************************************
* arch/arm64/include/jetson/chip.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/

#ifndef __ARCH_ARM64_INCLUDE_JETSON_CHIP_H__
#define __ARCH_ARM64_INCLUDE_JETSON_CHIP_H__

/****************************************************************************
* Included Files
****************************************************************************/

#include <nuttx/config.h>

/****************************************************************************
* Pre-processor Definitions
****************************************************************************/

/* Number of bytes in @p x kibibytes/mebibytes/gibibytes */

#define KB(x) ((x) << 10)
#define MB(x) (KB(x) << 10)
#define GB(x) (MB(UINT64_C(x)) << 10)

/* TODO !! All these addresses are nonsense */

#if CONFIG_ARM_GIC_VERSION == 3 || CONFIG_ARM_GIC_VERSION == 4

#define CONFIG_GICD_BASE 0x51a00000
#define CONFIG_GICR_BASE 0x51b00000
#define CONFIG_GICR_OFFSET 0x20000

#else

#error CONFIG_ARM_GIC_VERSION should be 3 or 4

#endif /* CONFIG_ARM_GIC_VERSION */

#define CONFIG_RAMBANK1_ADDR 0x80000000
#define CONFIG_DEVICEIO_BASEADDR 0x40000000

#define MPID_TO_CLUSTER_ID(mpid) ((mpid) & ~0xff)

/****************************************************************************
* Assembly Macros
****************************************************************************/

#ifdef __ASSEMBLY__

.macro get_cpu_id xreg0
mrs \xreg0, mpidr_el1
ubfx \xreg0, \xreg0, #0, #8
.endm

#endif /* __ASSEMBLY__ */

#endif /* __ARCH_ARM64_INCLUDE_JETSON_CHIP_H */
34 changes: 34 additions & 0 deletions arch/arm64/include/jetson/irq.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/****************************************************************************
* arch/arm64/include/jetson/irq.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/

/* This file should never be included directly but, rather,
* only indirectly through nuttx/irq.h
*/

#ifndef __ARCH_ARM64_INCLUDE_JETSON_IRQ_H__
#define __ARCH_ARM64_INCLUDE_JETSON_IRQ_H__

/****************************************************************************
* Pre-processor Definitions
****************************************************************************/

#define NR_IRQS 512 /* Total number of interrupts */

#endif /* __ARCH_ARM64_INCLUDE_JETSON_IRQ_H__ */
24 changes: 24 additions & 0 deletions arch/arm64/src/jetson/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

if ARCH_CHIP_JETSON

menu "Jetson Board Selection"

choice
prompt "Jetson Core Configuration"
default ARCH_CHIP_JETSON_NANO

config ARCH_CHIP_JETSON_NANO
bool "Jetson Orin Nano Application Processor"
select ARCH_HAVE_MULTICPU
select ARMV8A_HAVE_GICv3
select ARCH_CORTEX_A78AE

endchoice

endmenu

endif # ARCH_CHIP_JETSON
25 changes: 25 additions & 0 deletions arch/arm64/src/jetson/Make.defs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
############################################################################
# arch/arm64/src/jetson/Make.defs
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################

include common/Make.defs

# NVidia Jetson-specific C source files

CHIP_CSRCS = jetson_boot.c jetson_serial.c
Loading
Loading