1*bec4ebc2SBrad Bishop# N1SDP Development Platform Support in meta-arm-bsp 2*bec4ebc2SBrad Bishop 3*bec4ebc2SBrad Bishop## Overview 4*bec4ebc2SBrad BishopThe N1SDP provides access to the Arm Neoverse N1 SoC. The N1SDP enables software development for key enterprise technology 5*bec4ebc2SBrad Bishopand general Arm software development. The N1SDP consists of the N1 board containing the N1 SoC. 6*bec4ebc2SBrad BishopThe N1 SoC contains two dual-core Arm Neoverse N1 processor clusters. 7*bec4ebc2SBrad Bishop 8*bec4ebc2SBrad BishopThe system demonstrates Arm technology in the context of Cache-Coherent Interconnect for Accelerators (CCIX) protocol by: 9*bec4ebc2SBrad Bishop 10*bec4ebc2SBrad Bishop- Running coherent traffic between the N1 SoC and an accelerator card. 11*bec4ebc2SBrad Bishop- Coherent communication between two N1 SoCs. 12*bec4ebc2SBrad Bishop- Enabling development of CCIX-enabled FPGA accelerators. 13*bec4ebc2SBrad Bishop 14*bec4ebc2SBrad BishopFurther information on N1SDP can be found at 15*bec4ebc2SBrad Bishophttps://community.arm.com/developer/tools-software/oss-platforms/w/docs/458/neoverse-n1-sdp 16*bec4ebc2SBrad Bishop 17*bec4ebc2SBrad Bishop## Configuration: 18*bec4ebc2SBrad BishopIn the local.conf file, MACHINE should be set as follow: 19*bec4ebc2SBrad BishopMACHINE ?= "n1sdp" 20*bec4ebc2SBrad Bishop 21*bec4ebc2SBrad Bishop## Building 22*bec4ebc2SBrad Bishop```bash$ bitbake core-image-minimal``` 23*bec4ebc2SBrad Bishop 24*bec4ebc2SBrad Bishop## Running 25*bec4ebc2SBrad Bishop 26*bec4ebc2SBrad Bishop# Update Firmware on SD card: 27*bec4ebc2SBrad Bishop 28*bec4ebc2SBrad Bishop(*) To use n1sdp board in single chip mode, flash: 29*bec4ebc2SBrad Bishop n1sdp-board-firmware_primary.tar.gz firmware. 30*bec4ebc2SBrad Bishop 31*bec4ebc2SBrad Bishop(*) To use n1sdp board in multi chip mode, flash: 32*bec4ebc2SBrad Bishop n1sdp-board-firmware_primary.tar.gz firmware to primary board, 33*bec4ebc2SBrad Bishop n1sdp-board-firmware_secondary.tar.gz firmware to secondary board. 34*bec4ebc2SBrad Bishop 35*bec4ebc2SBrad BishopThe SD card content is generated during the build here: 36*bec4ebc2SBrad Bishop tmp/deploy/images/n1sdp/n1sdp-board-firmware_primary.tar.gz 37*bec4ebc2SBrad Bishop tmp/deploy/images/n1sdp/n1sdp-board-firmware_secondary.tar.gz 38*bec4ebc2SBrad Bishop 39*bec4ebc2SBrad Bishop 40*bec4ebc2SBrad BishopIts content must be written on the N1SDP firmware SD card. 41*bec4ebc2SBrad BishopTo do this: 42*bec4ebc2SBrad Bishop- insert the sdcard of the N1SDP in an SD card reader and mount it: 43*bec4ebc2SBrad Bishop```bash$ sudo mount /dev/sdx1 /mnt``` 44*bec4ebc2SBrad Bishop(replace sdx by the device of the SD card) 45*bec4ebc2SBrad Bishop 46*bec4ebc2SBrad Bishop- erase its content and put the new one: 47*bec4ebc2SBrad Bishop```bash$ sudo rm -rf /mnt/*``` 48*bec4ebc2SBrad Bishop```bash$ sudo tar --no-same-owner -xzf tmp/deploy/images/n1sdp/n1sdp-board-firmware_primary.tar.gz -C /mnt/``` 49*bec4ebc2SBrad Bishop```bash$ sudo umount /mnt``` 50*bec4ebc2SBrad Bishop 51*bec4ebc2SBrad Bishop- reinsert the SD card in the N1SDP board 52*bec4ebc2SBrad Bishop 53*bec4ebc2SBrad BishopFirmware tarball contains iofpga configuration files, scp and uefi binaries. 54*bec4ebc2SBrad Bishop 55*bec4ebc2SBrad Bishop**NOTE**: 56*bec4ebc2SBrad BishopIf the N1SDP board was manufactured after November 2019 (Serial Number greater 57*bec4ebc2SBrad Bishopthan 36253xxx), a different PMIC firmware image must be used to prevent 58*bec4ebc2SBrad Bishoppotential damage to the board. More details can be found in [1]. 59*bec4ebc2SBrad BishopThe `MB/HBI0316A/io_v123f.txt` file located in the microSD needs to be updated. 60*bec4ebc2SBrad BishopTo update it, set the PMIC image (300k_8c2.bin) to be used in the newer models 61*bec4ebc2SBrad Bishopby running the following commands on your host PC: 62*bec4ebc2SBrad Bishop 63*bec4ebc2SBrad Bishop $ sudo umount /dev/sdx1 64*bec4ebc2SBrad Bishop $ sudo mount /dev/sdx1 /mnt 65*bec4ebc2SBrad Bishop $ sudo sed -i '/^MBPMIC: pms_0V85.bin/s/^/;/g' /mnt/MB/HBI0316A/io_v123f.txt 66*bec4ebc2SBrad Bishop $ sudo sed -i '/^;MBPMIC: 300k_8c2.bin/s/^;//g' /mnt/MB/HBI0316A/io_v123f.txt 67*bec4ebc2SBrad Bishop $ sudo umount /mnt 68*bec4ebc2SBrad Bishop 69*bec4ebc2SBrad Bishop# Prepare an USB hard drive: 70*bec4ebc2SBrad Bishop 71*bec4ebc2SBrad BishopGrub boot partition is placed on first partition of the *.wic image, 72*bec4ebc2SBrad BishopLinux root file system is placed on the second partition of the *.wic image: 73*bec4ebc2SBrad Bishop tmp/deploy/images/n1sdp/core-image-minimal-n1sdp.wic 74*bec4ebc2SBrad Bishop 75*bec4ebc2SBrad BishopThis *.wic image should be copied to USB stick with simple dd call. 76*bec4ebc2SBrad Bishop 77*bec4ebc2SBrad Bishop 78*bec4ebc2SBrad Bishop[1]: https://community.arm.com/developer/tools-software/oss-platforms/w/docs/604/notice-potential-damage-to-n1sdp-boards-if-using-latest-firmware-release 79