diff --git a/README.md b/README.md
index ddc5dfca60dac1a71a778bd8b95b299c96205830..2621394f5b2ea159a9b64f07b8ae8c252041e331 100644
--- a/README.md
+++ b/README.md
@@ -52,10 +52,10 @@ $ git clone https://gitedu.hesge.ch/soma/scalp_firmware.git
 $ cd scalp_firmware
 ```
 
-#### Checkout the SCALP-SAFEv-X.Y tag
+Then checkout the **SCALP-SAFE-v0.5** tag.
 
 ```
-$ git checkout SCALP-SAFE-v0.01
+$ git checkout SCALP-SAFE-v0.5
 ```
 
 ## PetaLinux safe firmware
@@ -99,13 +99,13 @@ $ git clone https://gitedu.hesge.ch/soma/scalp_petalinux.git
 $ cd scalp_petalinux
 ```
 
-Then checkout the **SCALP-SAFE-v0.4.3** tag.
+Then checkout the **SCALP-SAFE-v0.5** tag.
 
 ```
-$ git checkout SCALP-SAFE-v0.4.3
+$ git checkout SCALP-SAFE-v0.5
 ```
 
-**Use version 0.4.3 only for the GIT scalp_petalinux repository and not for the GIT scalp_firmware repository. The version difference is not an error.**
+**Use version 0.5 for the GIT scalp_petalinux repository and version 0.5 for the GIT scalp_firmware repository. Be careful, sometimes the versions are identical, but depending on the evolution of the FPGA firmware and the PetaLinux firmware, the versions may be different.**
 
 ### Create a new Scalp Safe Petalinux project from a BSP
 
@@ -117,7 +117,7 @@ $ petalinux-create --type project -s <path-to-bsp> --name <PROJECT NAME>
 $ cd <PROJECT NAME>
 ```
 
-In my case **\<path-to-bsp\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_petalinux/bsp/SCALP-SAFE-FIRMWARE-BSP-V0.4.3.bsp
+In my case **\<path-to-bsp\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_petalinux/bsp/SCALP-SAFE-FIRMWARE-BSP-V0.5.bsp
 
 ### Importing hardware configuration
 
@@ -125,10 +125,11 @@ In my case **\<path-to-bsp\>** corresponds to /home/jo/Documents/Projets/Hepia/s
 
 ```
 $ export SCALP_FIRMWARE_PATH="\<PATH_TO_SCALP_FIRMWARE_PROJECT\>"
-$ petalinux-config --get-hw-description=$(find ${SCALP_FIRMWARE_PATH} -name scalp_safe_firmware.xsa) --silentconfig
+$ export SCALP_SAFE_FIRMWARE="\<SCALP_SAFE_FIRMWARE\>"
+$ petalinux-config --get-hw-description=$(find ${SCALP_FIRMWARE_PATH} -name ${SCALP_SAFE_FIRMWARE}.xsa) --silentconfig
 ```
 
-In my case **\<PATH_TO_SCALP_FIRMWARE_PROJECT\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_firmware/
+In my case **\<PATH_TO_SCALP_FIRMWARE_PROJECT\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_firmware/ and  **\<SCALP_SAFE_FIRMWARE\>** corresponds to **scalp_safe_firmware**.
 
 #### Directory tree
 
@@ -346,25 +347,40 @@ $ cp image.ub datafs-vol/
 Creating the U-Boot script
 
 ```
-$ echo -e "echo ===== Scalp board boot settings =====;
-echo ===== Check if the file /\${KERNEL_FIT_IMAGE_NAME} exists =====;
+$ echo -e "echo [INFO] ===== Scalp board boot settings =====;
+echo [INFO] Setup MAC address and IP address;
+run setup_eth;
+setenv boot_from_qspi \"ubi part \${UBI_PART_NAME} && ubifsmount \${UBI_PART_ID}:\${UBI_DATAFS_VOL_NAME} && ubifsload \${UBI_VOL_LOAD_ADDR} /\${KERNEL_FIT_IMAGE_NAME} && ubifsumount && ubi detach && iminfo \${UBI_VOL_LOAD_ADDR} && bootm \${UBI_VOL_LOAD_ADDR}\";
+setenv boot_from_mmc \"bootm \${loadaddr}\"
+setenv bootargs_ubifs \"\${mtdparts} ubi.mtd=1 root=ubi0:rootfs-vol rootfstype=ubifs rw earlyprintk cpuidle.off=1 crashkernel=256M ip=\${ipaddr}:::::eth0\"
+setenv bootargs_ext4 \"\${mtdparts} root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait earlyprintk cpuidle.off=1 crashkernel=256M ip=\${ipaddr}:::::eth0\"
+setenv custom_autoboot \"echo Scalp board autoboot from QSPI && run boot_from_qspi\"
+setenv bootcmd \"run spi_init && run uenv_scr_load\";
+echo [INFO] Check if the file /\${KERNEL_FIT_IMAGE_NAME} exists;
 if ext4load mmc 0:1 \${loadaddr} /\${KERNEL_FIT_IMAGE_NAME} ; then
-echo \${KERNEL_FIT_IMAGE_NAME} found;
-echo ===== Check if the file /init exists =====;
+echo [INFO] \${KERNEL_FIT_IMAGE_NAME} found;
+echo [INFO] Check if the file /init exists;
 if ext4load mmc 0:2 \${initloadaddr} /init ; then
-echo /init found;
-setenv bootargs \${bootargs_ext4};
-setenv custom_autoboot echo Scalp board autoboot from MMC && run boot_from_mmc
+echo [INFO] /init found;
+echo [INFO] Config bootargs for MMC EXT4;
+setenv bootargs \"\${mtdparts} root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait earlyprintk cpuidle.off=1 crashkernel=256M ip=\${ipaddr}:::::eth0\";
+echo [INFO] Config boot mode from MMC;
+setenv custom_autoboot \"echo Scalp board autoboot from MMC && run boot_from_mmc\";
 else
-echo init not found;
-setenv bootargs \${bootargs_ubifs};
-setenv custom_autoboot echo Scalp board autoboot from QSPI && run boot_from_qspi
+echo [INFO] init not found;
+echo [INFO] Config bootargs for UBI/UBIFS;
+setenv bootargs \"\${mtdparts} ubi.mtd=1 root=ubi0:rootfs-vol rootfstype=ubifs rw earlyprintk cpuidle.off=1 crashkernel=256M ip=\${ipaddr}:::::eth0\";
+echo [INFO] Config boot mode from SPI NOR;
+setenv custom_autoboot \"echo Scalp board autoboot from QSPI && run boot_from_qspi\";
 fi
 else
-echo /\${KERNEL_FIT_IMAGE_NAME} not found;
-setenv bootargs \${bootargs_ubifs};
-setenv custom_autoboot echo Scalp board autoboot from QSPI && run boot_from_qspi
-fi" > uenv.scr.txt
+echo [INFO] /\${KERNEL_FIT_IMAGE_NAME} not found;
+echo [INFO] Config bootargs for UBI/UBIFS;
+setenv bootargs \"\${mtdparts} ubi.mtd=1 root=ubi0:rootfs-vol rootfstype=ubifs rw earlyprintk cpuidle.off=1 crashkernel=256M ip=\${ipaddr}:::::eth0\";
+echo [INFO] Config boot mode from SPI NOR;
+setenv custom_autoboot \"echo Scalp board autoboot from QSPI && run boot_from_qspi\";
+fi
+run custom_autoboot" > uenv.scr.txt
 ```
 
 ```
@@ -706,14 +722,14 @@ The user firmware must be installed on an MMC card with an EXT4 file system. The
 
 **If you have not gone through the Clone of the GIT Scalp Firmware repository section, please go to section [Clone of the GIT Scalp Firmware repository](#clone-of-the-git-scalp-firmware-repository).**
 
-#### Checkout the SCALP-USERv-X.Y tag
+#### Checkout the current tag
+
+Then checkout the **SCALP-SAFE-v0.5** tag.
 
 ```
-$ git checkout SCALP-SAFE-v0.01
+$ git checkout SCALP-USER-v0.5
 ```
 
-**Currently it is the same tag as for the safe firmware.**
-
 **If you have not gone through the scalp\_safe\_petalinux firmware creation section, please go to section [Copy Scalp board files](#copy-scalp-board-files).**
 
 #### Build the user bitstream file.
@@ -731,23 +747,25 @@ $ open_gui
 and File -> Export -> Export Hardware -> include bitstream
 ```
 
-In my case **\<SCALP_USER_FIRMWARE\>** corresponds to "scalp_firmware".
+In my case **\<SCALP_USER_FIRMWARE\>** corresponds to "scalp\_user\_firmware".
 
 **If you have not gone through the scalp\_safe\_petalinux firmware creation process, please follow the instructions below to clone the scalp\_petalinux GIT repository.**
 
+**ONLY IF YOU HAVEN'T DONE IT YET.**
+
 ```
 $ cd <SCALP_PROJECT_FOLDER>
 $ git clone https://gitedu.hesge.ch/soma/scalp_petalinux.git
 $ cd scalp_petalinux
 ```
 
-Then checkout the **SCALP-USER-v0.1** tag.
+Then checkout the **SCALP-USER-v0.5** tag.
 
 ```
-$ git checkout SCALP-USER-v0.1
+$ git checkout SCALP-USER-v0.5
 ```
 
-**Use version 0.1 only for the GIT scalp_petalinux repository and not for the GIT scalp_firmware repository. The version difference is not an error.**
+**Use version 0.5 for the GIT scalp_petalinux repository and version 0.5 for the GIT scalp_firmware repository. Be careful, sometimes the versions are identical, but depending on the evolution of the FPGA firmware and the PetaLinux firmware, the versions may be different.**
 
 ### Create a new Scalp User Petalinux project from a BSP
 
@@ -759,7 +777,7 @@ $ petalinux-create --type project -s <path-to-bsp> --name <PROJECT NAME>
 $ cd <PROJECT NAME>
 ```
 
-In my case **\<path-to-bsp\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_petalinux/bsp/SCALP-USER-FIRMWARE-BSP-V0.1.bsp
+In my case **\<path-to-bsp\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_petalinux/bsp/SCALP-USER-FIRMWARE-BSP-V0.5.bsp
 
 ### Importing hardware configuration
 
@@ -768,10 +786,10 @@ In my case **\<path-to-bsp\>** corresponds to /home/jo/Documents/Projets/Hepia/s
 ```
 $ export SCALP_FIRMWARE_PATH="\<PATH_TO_SCALP_FIRMWARE_PROJECT\>"
 $ export SCALP_USER_FIRMWARE="\<SCALP_USER_FIRMWARE\>"
-$ petalinux-config --get-hw-description=$(find ${SCALP_FIRMWARE_PATH} -name ${SCALP_USER_FIRMWARE=}.xsa) --silentconfig
+$ petalinux-config --get-hw-description=$(find ${SCALP_FIRMWARE_PATH} -name ${SCALP_USER_FIRMWARE}.xsa) --silentconfig
 ```
 
-In my case **\<PATH_TO_SCALP_FIRMWARE_PROJECT\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_firmware/ and  **\<SCALP_USER_FIRMWARE\>** corresponds to **scalp_firmware**.
+In my case **\<PATH_TO_SCALP_FIRMWARE_PROJECT\>** corresponds to /home/jo/Documents/Projets/Hepia/scalp_project/scalp_firmware/ and  **\<SCALP_USER_FIRMWARE\>** corresponds to **scalp_user_firmware**.
 
 **In the case of user firmware, it is not necessary to configure U-Boot. It is not used.**
 
@@ -780,6 +798,7 @@ In my case **\<PATH_TO_SCALP_FIRMWARE_PROJECT\>** corresponds to /home/jo/Docume
 If they are not already present, we will start by adding some network utilities and support for Python.
 
 ```
+$ petalinux-build -x mrproper -f
 $ petalinux-config -c rootfs
 ```
 
@@ -794,12 +813,29 @@ Configuration
             [*] packagegroup-petalinux-networking-stack
         packagegroup-petalinux-python-modules   --->
             [*] packagegroup-petalinux-python-modules
+        packagegroup-petalinux-utils   --->
+            [*] packagegroup-petalinux-utils
 ```
 
 Then select 3 times EXIT...
 
 And save the configuration.
 
+### Automatic loading of the bitstream configuration file
+
+Open the main script file of the bitstream-conf application and check the following variable :
+
+```
+$ cat project-spec/meta-user/recipes-apps/bitstream-conf/files/bitstream-conf | grep "export BITSTREAM_FILE_NAME"
+> export BITSTREAM_FILE_NAME="scalp_user_firmware.bit.bin"
+```
+
+The name of the bitstream file before the .bit.bin extension must be the same as the firmware name defined in the export environment variable SCALP\_USER\_FIRMWARE="\<SCALP\_USER\_FIRMWARE>" described in the section [Importing hardware configuration](#importing-hardware-configuration).
+
+In my case, the environment variable **BITSTREAM\_FILE\_NAME** corresponds to **scalp\_user\_firmware.bit.bin**.
+
+Otherwise, the bitstream configuration file will not be automatically taken into account.
+
 ### Build the PetaLinux project
 
 ```
@@ -822,7 +858,7 @@ $ sudo ./virtfs.sh
 $ cd ../..
 $ lsblk              <----- With the SD card inserted.
 $ lsblk              <----- Without the SD card inserted.
-$ sudo dd if=./virtualfs-ext4.img of=/dev/\<MMC_DEV_NODE\> status=progress  <----- Beware of danger, be sure.
+$ sudo dd if=./images/linux/virtualfs-ext4.img of=/dev/\<MMC_DEV_NODE\> status=progress        <----- Beware of danger, be sure.
 ```
 
 **P.S. We cannot be held responsible if your computer does not start and you have lost all your data that you did not backup. Too bad for you ;D**
@@ -831,6 +867,8 @@ $ sudo dd if=./virtualfs-ext4.img of=/dev/\<MMC_DEV_NODE\> status=progress  <---
 
 ## HOWTO
 
+**This section contains HOWTO documentation. It is not necessary to follow them to produce firmware.**
+
 ### Howto access UBIFS partitions from U-Boot.
 
 The SPI NOR memory is activated.
diff --git a/bsp/SCALP-SAFE-FIRMWARE-BSP-V0.5.bsp b/bsp/SCALP-SAFE-FIRMWARE-BSP-V0.5.bsp
new file mode 100644
index 0000000000000000000000000000000000000000..f95b1d447be5e1bef08021287be9d16fad53d540
Binary files /dev/null and b/bsp/SCALP-SAFE-FIRMWARE-BSP-V0.5.bsp differ
diff --git a/bsp/SCALP-USER-FIRMWARE-BSP-V0.5.bsp b/bsp/SCALP-USER-FIRMWARE-BSP-V0.5.bsp
new file mode 100644
index 0000000000000000000000000000000000000000..c5edf5475aa1084655c3fdc72802d04f4238dde3
Binary files /dev/null and b/bsp/SCALP-USER-FIRMWARE-BSP-V0.5.bsp differ
diff --git a/scalp_safe_petalinux/.petalinux/metadata b/scalp_safe_petalinux/.petalinux/metadata
index d84a63bb72df3200f3f3ed45487078bcc0828a95..a156097bfb49072597eb217932587c0bd9539389 100644
--- a/scalp_safe_petalinux/.petalinux/metadata
+++ b/scalp_safe_petalinux/.petalinux/metadata
@@ -1,6 +1,6 @@
 PETALINUX_VER=2020.2
 VALIDATE_HW_CHKSUM=1
 HARDWARE_PATH=/home/jo/Documents/Projets/Hepia/scalp_project/scalp_firmware/designs/vivado/scalp_safe_firmware/2020.2/lin64/scalp_safe_firmware/scalp_safe_firmware.xsa
-HARDWARE_CHECKSUM=72f49d0d33b4551d3f8f8137e35bae48
+HARDWARE_CHECKSUM=22057c831a5da395a402d5607574725d
 YOCTO_SDK=5ff8fc5f85d1566b314bb73eaa378212
 RFSCONFIG_CHKSUM=cbbefadac8312a93a2731682ecb50ade
diff --git a/scalp_safe_petalinux/SCALP-SAFE-FIRMWARE-BSP-V0.5.bsp b/scalp_safe_petalinux/SCALP-SAFE-FIRMWARE-BSP-V0.5.bsp
new file mode 100644
index 0000000000000000000000000000000000000000..f95b1d447be5e1bef08021287be9d16fad53d540
Binary files /dev/null and b/scalp_safe_petalinux/SCALP-SAFE-FIRMWARE-BSP-V0.5.bsp differ
diff --git a/scalp_safe_petalinux/project-spec/configs/config b/scalp_safe_petalinux/project-spec/configs/config
index 601c6ea1cdba5328ac14eb4bc2ef061a947ba49f..7c2c70627239b6251eb61e12c3d98997760e9806 100644
--- a/scalp_safe_petalinux/project-spec/configs/config
+++ b/scalp_safe_petalinux/project-spec/configs/config
@@ -176,7 +176,7 @@ CONFIG_SUBSYSTEM_EXTRA_DT_FILES=""
 #
 CONFIG_SUBSYSTEM_BOOTARGS_AUTO=y
 CONFIG_SUBSYSTEM_BOOTARGS_EARLYPRINTK=y
-CONFIG_SUBSYSTEM_BOOTARGS_GENERATED="console=ttyPS0,115200 earlycon"
+
 CONFIG_SUBSYSTEM_DEVICETREE_COMPILER_FLAGS="-@"
 # CONFIG_SUBSYSTEM_DTB_OVERLAY is not set
 # CONFIG_SUBSYSTEM_REMOVE_PL_DTB is not set
@@ -270,3 +270,4 @@ CONFIG_YOCTO_NETWORK_SSTATE_FEEDS_URL="http://petalinux.xilinx.com/sswreleases/r
 # User Layers
 #
 CONFIG_USER_LAYER_0=""
+CONFIG_SUBSYSTEM_BOOTARGS_GENERATED="console=ttyPS0,115200 earlycon"
diff --git a/scalp_safe_petalinux/project-spec/hw-description/scalp_safe_firmware.bit b/scalp_safe_petalinux/project-spec/hw-description/scalp_safe_firmware.bit
index 23eb74d76dece145f45538952c942a7f8de9eec0..738ba71a3a5e32e05d359c4541c80dd7737559f0 100644
Binary files a/scalp_safe_petalinux/project-spec/hw-description/scalp_safe_firmware.bit and b/scalp_safe_petalinux/project-spec/hw-description/scalp_safe_firmware.bit differ
diff --git a/scalp_safe_petalinux/project-spec/hw-description/system.xsa b/scalp_safe_petalinux/project-spec/hw-description/system.xsa
index 5d18795d6fe6b33532d6e4287580d2f70772f40f..561d925b9ad188674f9925dc1f8e63da23e7dd54 100644
Binary files a/scalp_safe_petalinux/project-spec/hw-description/system.xsa and b/scalp_safe_petalinux/project-spec/hw-description/system.xsa differ
diff --git a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/devtool-fragment.cfg b/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/devtool-fragment.cfg
index cd45b916992512d834e1d5e5470fb2f936ab2ac0..515b4ebf737703376a9234a463b08df3216c021e 100644
--- a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/devtool-fragment.cfg
+++ b/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/devtool-fragment.cfg
@@ -89,3 +89,14 @@ CONFIG_NOP_PHY=y
 #CONFIG_SCALP_SJA1105=y
 CONFIG_PHY_XILINX=y
 CONFIG_PHY_FIXED=y
+CONFIG_CMD_UBI=y
+CONFIG_CMD_UBIFS=y
+CONFIG_ENV_IS_IN_UBI=y
+# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set
+CONFIG_ENV_UBI_PART="ubi"
+CONFIG_ENV_UBI_VOLUME="uenv-vol"
+CONFIG_ENV_UBI_VID_OFFSET=0
+CONFIG_PHY_XILINX=y
+CONFIG_PHY_FIXED=y
+CONFIG_ZYNQ_SPI=y
+CONFIG_LZO=y
diff --git a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/platform-top.h b/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/platform-top.h
index 4eea2507409f05b8e0c850798bb1dc5332400690..aad0ddbe1a6673144264bab2603cfe6cdcd663a5 100644
--- a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/platform-top.h
+++ b/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/platform-top.h
@@ -6,6 +6,20 @@
     "custom_board_name=\"Zynq Scalp Board\"\0"                          \
     "custom_board_version=\"RevB 2008\"\0"                              \
     "custom_board_vendor=\"Hepia CoRES - LSN\"\0"                       \
+    "baudrate=115200\0"                                                 \
+    "bootargs=ip=${ipaddr}:::::eth0\0"                                  \
+    "bootdelay=2\0"                                                     \    
+    "distro_bootcmd=run bootcmd\0"                                      \
+    "serverip=10.197.10.10\0"                                           \
+    "netmask=255.0.0.0\0"                                               \
+    "gatewayip=10.197.10.1\0"                                           \
+    "ethact=eth0\0"                                                     \
+    "ethprime=eth0\0"                                                   \
+    "loadaddr=0x2000000\0"                                              \
+    "initloadaddr=0x1000000\0"                                          \
+    "macmemaddr=0x1000000\0"                                            \
+    "mtdids=nor0=nor_flash\0"                                           \
+    "mtdparts=mtdparts=nor_flash:5m(boot)ro,-(ubi)\0"                   \    
     "SCALP_BOOT_PARTITION_OFFSET=0x0\0"                                 \
     "SCALP_BOOT_PARTITION_SIZE=0x500000\0"                              \   
     "SCALP_UBI_PARTITION_OFFSET=0x500000\0"                             \
@@ -17,10 +31,10 @@
     "UBI_ROOTFS_VOL_NAME=rootfs-vol\0"                                  \
     "UBI_VOL_LOAD_ADDR=0x2000000\0"                                     \
     "UENV_SCR_NAME=uenv.scr\0"                                          \
-    "UENV_LD_ADDR=0x1100000\0"                                          \
+    "UENV_LOAD_ADDR=0x1F00000\0"                                        \
     "KERNEL_FIT_IMAGE_NAME=image.ub\0"                                  \
     "spi_init=sf probe 0 0 0\0"                                         \
-    "macmemaddr=0x1000000\0"                                            \
+    "uenv_scr_load=ubi part ${UBI_PART_NAME} && ubifsmount ${UBI_PART_ID}:${UBI_DATAFS_VOL_NAME} && if ubifsload ${UENV_LOAD_ADDR} /${UENV_SCR_NAME}; then echo ${UENV_SCR_NAME} found; else echo ${UENV_SCR_NAME} notfound;fi && ubifsumount && ubi detach\0" \
     "readmac=i2c dev 0; i2c read 0x53 0xfa.1 6 ${macmemaddr}\0"         \
     "buildmac=\n"                                                       \
     "e=\" 02:00:00\"; sep=\":\"\n"                                      \
@@ -39,30 +53,11 @@
     "e=\"$e$sep${b_ulong}\"\n"                                          \
     "sep=\".\"\n"                                                       \
     "done &&\n"                                                         \
-    "setenv ipaddr $e &&\n"                                             \
-    "setenv bootargs \"${mtdparts} ubi.mtd=1 root=${UBI_PART_ID}:${UBI_ROOTFS_VOL_NAME} rootfstype=ubifs rw earlyprintk cpuidle.off=1 crashkernel=256M ip=${ipaddr}:::::eth0\"\0" \
+    "setenv ipaddr $e &&\n"                                             \    
+    "setenv bootargs \"\0"                                              \
     "setup_eth=run readmac buildmac buildip\0"                          \
-    "boot_from_qspi=ubi part ${UBI_PART_NAME} && ubifsmount ${UBI_PART_ID}:${UBI_DATAFS_VOL_NAME} && ubifsload ${UBI_VOL_LOAD_ADDR} /${KERNEL_FIT_IMAGE_NAME} && ubifsumount && ubi detach && iminfo ${UBI_VOL_LOAD_ADDR} && bootm ${UBI_VOL_LOAD_ADDR}\0" \
-    "boot_from_mmc=bootm ${loadaddr}\0"                                 \
-    "uenv_scr_load=ubi part ${UBI_PART_NAME} && ubifsmount ${UBI_PART_ID}:${UBI_DATAFS_VOL_NAME} && if ubifsload ${UENV_LD_ADDR} /${UENV_SCR_NAME}; then echo ${UENV_SCR_NAME} found; else echo ${UENV_SCR_NAME} notfound;fi && ubifsumount && ubi detach\0" \
-    "custom_autoboot=echo Scalp board autoboot from QSPI && run boot_from_qspi\0" \
-    "baudrate=115200\0"                                                 \
-    "bootargs=ip=${ipaddr}:::::eth0\0"                                  \
-    "bootdelay=2\0"                                                     \
-    "bootcmd=run spi_init && run setup_eth && run uenv_scr_load && source ${UENV_LD_ADDR} && run custom_autoboot\0" \
-    "distro_bootcmd=run bootcmd\0"                                      \
-    "serverip=10.197.10.10\0"                                           \
-    "netmask=255.0.0.0\0"                                               \
-    "gatewayip=10.197.10.1\0"                                           \
-    "ethact=eth0\0"                                                     \
-    "ethprime=eth0\0"                                                   \
-    "load_ext4_fit_image=ext4load mmc 0:1 /${KERNEL_FIT_IMAGE_NAME}\0"  \
-    "load_ext4_init=ext4load mmc 0:2 /init\0"                           \
-    "bootargs_ext4=${mtdparts} root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait earlyprintk cpuidle.off=1 crashkernel=256M ip=${ipaddr}:::::eth0\0" \
-    "bootargs_ubifs=${mtdparts} ubi.mtd=1 root=ubi0:rootfs-vol rootfstype=ubifs rw earlyprintk cpuidle.off=1 crashkernel=256M ip=${ipaddr}:::::eth0\0" \
-    "loadaddr=0x2000000\0"                                              \
-    "initloadaddr=0x1000000\0"                                          \    
-
+    "bootcmd=echo [INFO] SPI init && run spi_init && run uenv_scr_load && source ${UENV_LOAD_ADDR}\0" \
+    
     //#define CONFIG_IPADDR      "10.197.100.100"
     //#define CONFIG_ETHADDR     "02:00:00:c5:64:64"
 #define MTDIDS_DEFAULT     "nor0=nor_flash"
diff --git a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/u-boot-zynq-scalp-dts-sja1105-official.patch b/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/u-boot-zynq-scalp-dts-sja1105-official.patch
deleted file mode 100644
index 9ed6eda5500abed132840951bc1bea5e684bf9ce..0000000000000000000000000000000000000000
--- a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/files/u-boot-zynq-scalp-dts-sja1105-official.patch
+++ /dev/null
@@ -1,276 +0,0 @@
-diff --git a/arch/arm/dts/zynq-scalp.dts b/arch/arm/dts/zynq-scalp.dts
-new file mode 100644
-index 0000000000..2e1ab071e6
---- /dev/null
-+++ b/arch/arm/dts/zynq-scalp.dts
-@@ -0,0 +1,270 @@
-+/*
-+ * Scalp Board DTS
-+ *
-+ * Copyright (c) 2018-2021 Hepia
-+ * Joachim Schmidt <joachim.schmidt@hesge.ch>
-+ *
-+ */
-+
-+/dts-v1/;
-+#include "zynq-7000.dtsi"
-+#include <dt-bindings/gpio/gpio.h>
-+
-+/ {
-+    model = "Zynq Scalp Board";
-+    compatible = "xlnx,zynq-scalp", "xlnx,zynq-7000";
-+
-+	aliases {
-+        serial0   = &uart0;                      /* Bottom : MIO  46 - 47 (Switch on schematic) */
-+		serial1   = &uart1;                      /* Top    : MIO  48 - 49                       */
-+        ethernet0 = &gem0;                       /*          MIO  16 - 27                       */
-+        /* Switch the name. QSPI first */
-+		spi0      = &qspi;                       /*          MIO  1 - 6                        */
-+        spi1      = &spi0;                       /*          MIO  40 - 41, 45                  */
-+        spi2      = &spi1;                       /*          EMIO                              */
-+		mmc0      = &sdhci1;                     /*          MIO  10 - 15, 9 (card detect)     */
-+        usb0      = &usb0;                       /*          MIO  28 - 39                      */
-+        i2c0      = &i2c0;                       /*          MIO  50 - 51                      */
-+        can0      = &can1;                       /*          MIO  52 - 53                      */
-+        //gpio0     = &gpio0;                    /*          MIO  0, 7, 8, 43, 44              */
-+	};
-+
-+    /* 256 MB DDR3 */
-+	memory@0 {
-+		device_type = "memory";
-+		reg = <0 0x10000000>;
-+	};
-+
-+    chosen {
-+           bootargs = "earlyprintk cpuidle.off=1 crashkernel=256M rw";
-+           stdout-path = "serial0:115200n8";
-+           xlnx,eeprom = &eeprom;
-+    };
-+};
-+
-+/* PS_Clk50M_i */
-+&clkc {
-+      fclk-enable = <0x1>;
-+      ps-clk-frequency = <50000000>;
-+};
-+
-+&intc {
-+	num_cpus = <2>;
-+	num_interrupts = <96>;
-+};
-+
-+/* serial0 */
-+&uart0 {
-+	u-boot,dm-pre-reloc;
-+    cts-override ;
-+	device_type = "serial";
-+	port-number = <0>;
-+	status = "okay";
-+};
-+
-+/* serial1 */
-+&uart1 {
-+	u-boot,dm-pre-reloc;
-+    cts-override ;
-+	device_type = "serial";
-+	port-number = <1>;
-+	status = "okay";
-+};
-+
-+&qspi {
-+    u-boot,dm-pre-reloc;
-+    status = "okay";
-+    is-dual = <0>;
-+    num-cs = <1>;
-+
-+    /* Erase sector size of 64KB */
-+    flash@0 {
-+        /* compatible = "s25fl256s_64k"; drivers/mtd/spi/spi_flash_ids.c */
-+        /* compatible = "spansion,s25fl256s1", "jedec,spi-nor"; */
-+        /* compatible = "spansion,S25FL256S_64K", "spi-flash"; */
-+        compatible = "spansion,s25fl256s", "jedec,spi-nor";
-+        reg = <0x0>;
-+        spi-tx-bus-width = <1>;
-+        spi-rx-bus-width = <4>;
-+        spi-max-frequency = <50000000>;
-+        /* m25p,fast-read; */
-+        #address-cells = <1>;
-+        #size-cells = <1>;
-+
-+        /* 5242880 Bytes */
-+        partition@boot {
-+            label = "boot";
-+            reg = <0x0 0x500000>;
-+        };
-+
-+        /* 28311552 Bytes */
-+        partition@ubi {
-+            label = "ubi";
-+            reg = <0x500000 0x1B00000>;
-+        };
-+    };
-+};
-+
-+/* Switch Ethernet 5 ports - SPI0 - MIO 40, 41, 42, 45 */
-+
-+/*
-+ * Port 0 => East
-+ * Port 1 => Local
-+ * Port 2 => Bottom
-+ * Port 3 => Top
-+ * Port 4 => West
-+ */
-+
-+/*            (PYH + Delay)
-+ *                Top 3
-+ *
-+ * 4 (MAC) West          East (PHY + Delay) 0
-+ *
-+ *               Bottom 2
-+ *               (MAC)
-+ *
-+ */
-+
-+&spi0 {
-+    bus-num = <0>;
-+	status = "okay";
-+
-+    sja1105@0 {
-+        reg = <0>;
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		compatible = "nxp,sja1105t";
-+        reset-gpios = <&gpio0 44 GPIO_ACTIVE_LOW>;
-+		spi-max-frequency = <12000000>;
-+		spi-cpha;
-+
-+		ports {
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+
-+			swp0_east: port@0 {
-+				label = "swp0_east";
-+				phy-mode = "rgmii";
-+				reg = <0>;
-+                //sja1105,role-phy;
-+
-+                fixed-link {
-+					speed = <1000>;
-+					full-duplex;
-+				};
-+			};
-+
-+			port@1 {
-+				ethernet = <&gem0>;
-+				phy-mode = "rgmii";
-+				reg = <1>;
-+                //sja1105,role-phy;
-+
-+				fixed-link {
-+					speed = <1000>;
-+					full-duplex;
-+				};
-+			};
-+
-+			swp2_bottom: port@2 {
-+				label = "swp2_bottom";
-+				phy-mode = "rgmii";
-+				reg = <2>;
-+                //sja1105,role-mac;
-+
-+                fixed-link {
-+					speed = <1000>;
-+					full-duplex;
-+				};
-+			};
-+
-+			swp3_top: port@3 {
-+				label = "swp3_top";
-+				phy-mode = "rgmii";
-+				reg = <3>;
-+                //sja1105,role-phy;
-+
-+                fixed-link {
-+					speed = <1000>;
-+					full-duplex;
-+				};
-+			};
-+
-+            swp4_west: port@4 {
-+				label = "swp4_west";
-+				phy-mode = "rgmii";
-+				reg = <4>;
-+                //sja1105,role-mac;
-+
-+                fixed-link {
-+					speed = <1000>;
-+					full-duplex;
-+				};
-+			};
-+		};
-+	};
-+};
-+
-+/* ethernet0 */
-+&gem0 {
-+      status = "okay";
-+      phy-mode = "rgmii"; /* "rgmii_id" */
-+	  //phy-handle = <&ethernet_phy>;
-+      xlnx,ptp-enet-clock = <0x7735940>;
-+      //local-mac-address = [00 0a 35 00 00 00];
-+
-+      fixed-link {
-+		  speed = <1000>;
-+	      full-duplex;
-+	  };
-+
-+	  //ethernet_phy: ethernet-phy@0 {
-+      //    reg = <0>;
-+	  //};
-+};
-+
-+/* spi2 */
-+&spi1 {
-+    u-boot,dm-pre-reloc;
-+    is-decoded-cs = <0>;
-+	num-cs = <3>;
-+	status = "okay";
-+};
-+
-+&gpio0 {
-+	emio-gpio-width = <64>;
-+	gpio-mask-high = <0x0>;
-+	gpio-mask-low = <0x5600>;
-+};
-+
-+/* mmc0 */
-+&sdhci1 {
-+	u-boot,dm-pre-reloc;
-+    xlnx,has-cd = <0x1>;
-+	xlnx,has-power = <0x0>;
-+	xlnx,has-wp = <0x0>;
-+	status = "okay";
-+};
-+
-+/* usb0 */
-+/*&usb0 {
-+    u-boot,dm-pre-reloc;
-+    phy_type = "ulpi";
-+	status = "okay";
-+};*/
-+
-+/* i2c0 */
-+&i2c0 {
-+	status = "okay";
-+
-+    eeprom: eeprom@53 {
-+        compatible = "microchip,24aa02e48";
-+		reg = <0x53>;
-+    };
-+};
-+
-+/* can0 */
-+&can1 {
-+    u-boot,dm-pre-reloc;
-+	status = "okay";
-+};
diff --git a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/u-boot-xlnx_%.bbappend b/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/u-boot-xlnx_%.bbappend
index 991bd37a607f4ac34e651a85365d3e33e8f16fc6..01df19d88dd1cfadd3b797ef80aa12cfb498e66f 100644
--- a/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/u-boot-xlnx_%.bbappend
+++ b/scalp_safe_petalinux/project-spec/meta-user/recipes-bsp/u-boot/u-boot-xlnx_%.bbappend
@@ -5,7 +5,6 @@ SRC_URI += "file://platform-top.h \
             "
 SRC_URI += "file://u-boot-setexpt.patch"
 SRC_URI += "file://u-boot-scalp-sja1105-official.patch"
-SRC_URI += "file://u-boot-zynq-scalp-dts-sja1105-official.patch"
 
 do_configure_append () {
 	if [ "${U_BOOT_AUTO_CONFIG}" = "1" ]; then
diff --git a/scalp_user_petalinux/.petalinux/metadata b/scalp_user_petalinux/.petalinux/metadata
index 32b6d70ba4539914655048de7fbcb51e09df2d49..dc52f639dae39e814ca06019a3f283e82da74bae 100644
--- a/scalp_user_petalinux/.petalinux/metadata
+++ b/scalp_user_petalinux/.petalinux/metadata
@@ -1,6 +1,6 @@
 PETALINUX_VER=2020.2
 VALIDATE_HW_CHKSUM=1
-HARDWARE_CHECKSUM=8f048176f77066c123d156862240c01c
+HARDWARE_CHECKSUM=59c7f9b9ce074eccc39c685baf22b9c8
 YOCTO_SDK=5ff8fc5f85d1566b314bb73eaa378212
-RFSCONFIG_CHKSUM=f66a0c34b6f3834a24aa5ee5fd1bc12c
-HARDWARE_PATH=/home/jo/Documents/Projets/Hepia/scalp_project/scalp_firmware/designs/vivado/scalp_firmware/2020.2/lin64/scalp_firmware/scalp_firmware.xsa
+RFSCONFIG_CHKSUM=68e7a39ee8a3ea7b75a4d172a70a3a69
+HARDWARE_PATH=/home/jo/Documents/Projets/Hepia/scalp_project/scalp_firmware/designs/vivado/scalp_user_firmware/2020.2/lin64/scalp_user_firmware/scalp_user_firmware.xsa
diff --git a/scalp_user_petalinux/SCALP-USER-FIRMWARE-BSP-V0.5.bsp b/scalp_user_petalinux/SCALP-USER-FIRMWARE-BSP-V0.5.bsp
new file mode 100644
index 0000000000000000000000000000000000000000..c5edf5475aa1084655c3fdc72802d04f4238dde3
Binary files /dev/null and b/scalp_user_petalinux/SCALP-USER-FIRMWARE-BSP-V0.5.bsp differ
diff --git a/scalp_user_petalinux/project-spec/configs/rootfs_config b/scalp_user_petalinux/project-spec/configs/rootfs_config
index 87c5dd22e1ed4b387706aa80de362bf16548b4fb..310f14b90083ce4502f7d999a66a03a201aa6964 100644
--- a/scalp_user_petalinux/project-spec/configs/rootfs_config
+++ b/scalp_user_petalinux/project-spec/configs/rootfs_config
@@ -41,7 +41,7 @@ CONFIG_system-zynq=y
 #
 # bc 
 #
-# CONFIG_bc is not set
+CONFIG_bc=y
 # CONFIG_bc-dev is not set
 # CONFIG_bc-dbg is not set
 
@@ -128,12 +128,12 @@ CONFIG_system-zynq=y
 #
 # elfutils 
 #
-# CONFIG_elfutils is not set
-# CONFIG_libdw is not set
+CONFIG_elfutils=y
+CONFIG_libdw=y
 # CONFIG_elfutils-dev is not set
 # CONFIG_elfutils-binutils is not set
-# CONFIG_libelf is not set
-# CONFIG_libasm is not set
+CONFIG_libelf=y
+CONFIG_libasm=y
 # CONFIG_elfutils-dbg is not set
 
 #
@@ -227,7 +227,7 @@ CONFIG_mtd-utils=y
 #
 # netbase 
 #
-# CONFIG_netbase is not set
+CONFIG_netbase=y
 # CONFIG_netbase-dbg is not set
 # CONFIG_netbase-dev is not set
 
@@ -468,7 +468,7 @@ CONFIG_can-utils=y
 #
 # curl 
 #
-# CONFIG_curl is not set
+CONFIG_curl=y
 # CONFIG_curl-dev is not set
 # CONFIG_libcurl is not set
 # CONFIG_curl-dbg is not set
@@ -511,10 +511,10 @@ CONFIG_can-utils=y
 #
 # nfs-utils 
 #
-# CONFIG_nfs-utils is not set
+CONFIG_nfs-utils=y
 # CONFIG_nfs-utils-dev is not set
-# CONFIG_nfs-utils-client is not set
-# CONFIG_nfs-utils-stats is not set
+CONFIG_nfs-utils-client=y
+CONFIG_nfs-utils-stats=y
 # CONFIG_nfs-utils-dbg is not set
 
 #
@@ -556,7 +556,7 @@ CONFIG_openssh-sftp-server=y
 #
 # rsync 
 #
-# CONFIG_rsync is not set
+CONFIG_rsync=y
 # CONFIG_rsync-dev is not set
 # CONFIG_rsync-dbg is not set
 
@@ -585,7 +585,7 @@ CONFIG_openssh-sftp-server=y
 #
 # wget 
 #
-# CONFIG_wget is not set
+CONFIG_wget=y
 # CONFIG_wget-dev is not set
 # CONFIG_wget-dbg is not set
 
@@ -674,7 +674,7 @@ CONFIG_openssh-sftp-server=y
 #
 # grep 
 #
-# CONFIG_grep is not set
+CONFIG_grep=y
 # CONFIG_grep-dbg is not set
 # CONFIG_grep-dev is not set
 
@@ -703,7 +703,7 @@ CONFIG_openssh-sftp-server=y
 #
 # less 
 #
-# CONFIG_less is not set
+CONFIG_less=y
 # CONFIG_less-dev is not set
 # CONFIG_less-dbg is not set
 
@@ -729,7 +729,7 @@ CONFIG_openssh-sftp-server=y
 #
 # mc 
 #
-# CONFIG_mc is not set
+CONFIG_mc=y
 # CONFIG_mc-dev is not set
 # CONFIG_mc-helpers-perl is not set
 # CONFIG_mc-helpers is not set
@@ -762,7 +762,7 @@ CONFIG_pciutils=y
 #
 # sed 
 #
-# CONFIG_sed is not set
+CONFIG_sed=y
 # CONFIG_sed-dbg is not set
 # CONFIG_sed-dev is not set
 
@@ -783,14 +783,14 @@ CONFIG_pciutils=y
 #
 # strace 
 #
-# CONFIG_strace is not set
+CONFIG_strace=y
 # CONFIG_strace-dev is not set
 # CONFIG_strace-dbg is not set
 
 #
 # sysstat 
 #
-# CONFIG_sysstat is not set
+CONFIG_sysstat=y
 # CONFIG_sysstat-dev is not set
 # CONFIG_sysstat-dbg is not set
 
@@ -812,20 +812,20 @@ CONFIG_pciutils=y
 #
 # vim 
 #
-# CONFIG_vim is not set
-# CONFIG_vim-syntax is not set
+CONFIG_vim=y
+CONFIG_vim-syntax=y
 # CONFIG_vim-dev is not set
 # CONFIG_vim-help is not set
-# CONFIG_vim-common is not set
-# CONFIG_vim-vimrc is not set
+CONFIG_vim-common=y
+CONFIG_vim-vimrc=y
 # CONFIG_vim-tutor is not set
-# CONFIG_vim-tools is not set
+CONFIG_vim-tools=y
 # CONFIG_vim-dbg is not set
 
 #
 # zip 
 #
-# CONFIG_zip is not set
+CONFIG_zip=y
 # CONFIG_zip-dev is not set
 # CONFIG_zip-dbg is not set
 
@@ -3427,7 +3427,7 @@ CONFIG_bridge-utils=y
 #
 # netcat 
 #
-# CONFIG_netcat is not set
+CONFIG_netcat=y
 # CONFIG_netcat-dbg is not set
 # CONFIG_netcat-dev is not set
 
@@ -3984,7 +3984,7 @@ CONFIG_packagegroup-petalinux-python-modules=y
 #
 # packagegroup-petalinux-utils 
 #
-# CONFIG_packagegroup-petalinux-utils is not set
+CONFIG_packagegroup-petalinux-utils=y
 # CONFIG_packagegroup-petalinux-utils-dbg is not set
 # CONFIG_packagegroup-petalinux-utils-dev is not set
 
diff --git a/scalp_user_petalinux/project-spec/hw-description/scalp_firmware.bit b/scalp_user_petalinux/project-spec/hw-description/scalp_user_firmware.bit
similarity index 75%
rename from scalp_user_petalinux/project-spec/hw-description/scalp_firmware.bit
rename to scalp_user_petalinux/project-spec/hw-description/scalp_user_firmware.bit
index 003817476b7420f4b232ba0b4b2e91dbac445cff..518043dde86d47aa142f7138494d460a1af90109 100644
Binary files a/scalp_user_petalinux/project-spec/hw-description/scalp_firmware.bit and b/scalp_user_petalinux/project-spec/hw-description/scalp_user_firmware.bit differ
diff --git a/scalp_user_petalinux/project-spec/hw-description/system.xsa b/scalp_user_petalinux/project-spec/hw-description/system.xsa
index f07f9f960680f7949e708806074b448e117e3621..d461f7119ebc8bf932f04023de7d5e5fde89a922 100644
Binary files a/scalp_user_petalinux/project-spec/hw-description/system.xsa and b/scalp_user_petalinux/project-spec/hw-description/system.xsa differ
diff --git a/scalp_user_petalinux/project-spec/meta-user/recipes-apps/bitstream-conf/files/bitstream-conf b/scalp_user_petalinux/project-spec/meta-user/recipes-apps/bitstream-conf/files/bitstream-conf
index ff5414211067b726a895121928c86727c9d0931e..58493068002416eef318d024d21644083f5fa3bd 100644
--- a/scalp_user_petalinux/project-spec/meta-user/recipes-apps/bitstream-conf/files/bitstream-conf
+++ b/scalp_user_petalinux/project-spec/meta-user/recipes-apps/bitstream-conf/files/bitstream-conf
@@ -2,7 +2,7 @@
 
 export FIRMWARE_FOLDER_PATH="/lib/firmware/"
 export FIRMWARE_BASE_FOLDER_PATH=${FIRMWARE_FOLDER_PATH}"base/"
-export BITSTREAM_FILE_NAME="scalp_safe_firmware.bit.bin"
+export BITSTREAM_FILE_NAME="scalp_user_firmware.bit.bin"
 export BITSTREAM_PATH=${FIRMWARE_FOLDER_PATH}${BITSTREAM_FILE_NAME}
 export BITSTREAM_BASE_PATH=${FIRMWARE_BASE_FOLDER_PATH}${BITSTREAM_FILE_NAME}