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