Skip to content
Snippets Groups Projects
Commit 17370c98 authored by joachim.schmidt's avatar joachim.schmidt
Browse files

Transitional version of PetaLinux for the scalp_safe_petalinux firmware with...

Transitional version of PetaLinux for the scalp_safe_petalinux firmware with UBI/UBIFS support for rootfs, datafs and U-Boot env.
parent 0c756ab7
No related branches found
No related tags found
No related merge requests found
......@@ -388,10 +388,10 @@ From old U-Boot source files.
}
```
From U-Boot ...
From U-Boot ... **but only if you already have a properly configured and working UBI/UBIFS file system. Otherwise, just hope that the engineers who chose the QSPI memory will find out if it is used on other boards and if the geometry configuration is already documented. Otherwise pray... ;D**
```
ScalpZynq> ubi part ubi
ScalpZynq> ubi part ubi
ubi0: detaching mtd2
ubi0: mtd2 is detached
ubi0: attaching mtd2
......@@ -686,6 +686,85 @@ Unmounting UBIFS volume datafs-vol!
Other U-Boot commands for the UBI/UBIFS file system are also available. Please refer to the related documentation.
### How to use the U-Boot environment in a UBI/UBIFS file system
```
ScalpZynq> sf probe 0 0 0
SF: Detected s25fl256s1 with page size 256 Bytes, erase size 64 KiB, total 32 MiB
```
```
ScalpZynq> ubi part ubi
ubi0: attaching mtd2
ubi0: scanning is finished
ubi0: attached mtd2 (name "ubi", size 27 MiB)
ubi0: PEB size: 65536 bytes (64 KiB), LEB size: 65408 bytes
ubi0: min./max. I/O unit sizes: 1/256, sub-page size 1
ubi0: VID header offset: 64 (aligned 64), data offset: 128
ubi0: good PEBs: 432, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 4/0, WL threshold: 4096, image sequence number: 1995518755
ubi0: available PEBs: 0, total reserved PEBs: 432, PEBs reserved for bad PEB handling: 0
```
```
ScalpZynq> env default -f -a
## Resetting to default environment
```
```
ScalpZynq> setenv envtest "UBI env. test"
ScalpZynq> printenv envtest
envtest=UBI env. test
```
```
ScalpZynq> saveenv
Saving Environment to UBI... ubi0: detaching mtd2
ubi0: mtd2 is detached
ubi0: attaching mtd2
ubi0: scanning is finished
ubi0: attached mtd2 (name "ubi", size 27 MiB)
ubi0: PEB size: 65536 bytes (64 KiB), LEB size: 65408 bytes
ubi0: min./max. I/O unit sizes: 1/256, sub-page size 1
ubi0: VID header offset: 64 (aligned 64), data offset: 128
ubi0: good PEBs: 432, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 4/0, WL threshold: 4096, image sequence number: 1995518755
ubi0: available PEBs: 0, total reserved PEBs: 432, PEBs reserved for bad PEB handling: 0
done
OK
```
```
ScalpZynq> env default -f -a
## Resetting to default environment
```
```
ScalpZynq> printenv envtest
## Error: "envtest" not defined
```
```
ScalpZynq> ubi read 0x10000000 uenv-vol 0x100000
Read 1048576 bytes from volume uenv-vol to 10000000
```
```
ScalpZynq> md.b 0x10000000 10
10000000: f2 22 9c eb 53 43 41 4c 50 5f 42 4f 4f 54 5f 50 ."..SCALP_BOOT_P
```
```
ScalpZynq> env import -b 0x10000004 0xffffc
```
```
ScalpZynq> printenv envtest
envtest=UBI env. test
```
### Howto create a patch for U-Boot
Retrieve the desired version of the U-Boot GIT deposit.
......
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=c0e54849f94ffc5aaa53e1cad4e1235f
HARDWARE_CHECKSUM=e4c86ebb7157c318baafe6ea2691035e
YOCTO_SDK=5ff8fc5f85d1566b314bb73eaa378212
RFSCONFIG_CHKSUM=098862acb0a15bbc6a0d0999eb493baa
......@@ -98,35 +98,14 @@ CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART0_FLAGS="boot"
#
# partition 1
#
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART1_NAME="bootenv"
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART1_SIZE=0x20000
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART1_FLAGS="bootenv"
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART1_NAME="ubi"
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART1_SIZE=0x1B00000
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART1_FLAGS="ubi"
#
# partition 2
#
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART2_NAME="dtb"
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART2_SIZE=0x20000
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART2_FLAGS="dtb"
#
# partition 3
#
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART3_NAME="fitimage"
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART3_SIZE=0x800000
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART3_FLAGS="fitimage"
#
# partition 4
#
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART4_NAME="ubifs"
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART4_SIZE=0x12C000
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART4_FLAGS="ubifs"
#
# partition 5
#
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART5_NAME=""
CONFIG_SUBSYSTEM_FLASH_PS7_QSPI_0_BANKLESS_PART2_NAME=""
CONFIG_SUBSYSTEM_FLASH_IP_NAME="ps7_qspi_0"
#
......@@ -156,19 +135,17 @@ CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_BOOT_IMAGE_NAME="BOOT.BIN"
#
# u-boot env partition settings
#
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_BOOTENV_MEDIA_FLASH_SELECT=y
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_BOOTENV_MEDIA_FLASH_SELECT is not set
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_BOOTENV_MEDIA_SD_SELECT is not set
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_BOOTENV_MEDIA_MANUAL_SELECT is not set
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_BOOTENV_PART_NAME="bootenv"
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_BOOTENV_MEDIA_MANUAL_SELECT=y
#
# kernel image settings
#
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_MEDIA_FLASH_SELECT=y
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_MEDIA_SD_SELECT is not set
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_MEDIA_FLASH_SELECT is not set
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_MEDIA_SD_SELECT=y
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_MEDIA_ETHERNET_SELECT is not set
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_MEDIA_MANUAL_SELECT is not set
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_PART_NAME="fitimage"
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_KERNEL_IMAGE_NAME="image.ub"
#
......@@ -181,11 +158,10 @@ CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_JFFS2_MEDIA_MANUAL_SELECT=y
# dtb image settings
#
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_MEDIA_BOOTIMAGE_SELECT is not set
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_MEDIA_FLASH_SELECT=y
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_MEDIA_SD_SELECT is not set
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_MEDIA_FLASH_SELECT is not set
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_MEDIA_SD_SELECT=y
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_MEDIA_ETHERNET_SELECT is not set
# CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_MEDIA_MANUAL_SELECT is not set
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_PART_NAME="dtb"
CONFIG_SUBSYSTEM_IMAGES_ADVANCED_AUTOCONFIG_DTB_IMAGE_NAME="system.dtb"
CONFIG_SUBSYSTEM_ENDIAN_LITTLE=y
......
......@@ -35,7 +35,7 @@
#define CONFIG_MII
#define CONFIG_NET_MULTI
#define CONFIG_NETCONSOLE 1
#define CONFIG_SERVERIP 10.136.135.67
#define CONFIG_SERVERIP 192.168.1.153
#define CONFIG_IPADDR 192.168.0.10
#define CONFIG_GATEWAYIP 192.168.0.1
#define CONFIG_NETMASK 255.255.255.0
......
No preview for this file type
No preview for this file type
......@@ -34,7 +34,12 @@ CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES=y
CONFIG_CMD_SETEXPR=y
CONFIG_CMD_UBI=y
CONFIG_CMD_UBIFS=y
# CONFIG_ENV_IS_IN_UBI is not set
CONFIG_ENV_SIZE=0x100000
# CONFIG_ENV_IS_IN_SPI_FLASH is not set
CONFIG_ENV_IS_IN_UBI=y
CONFIG_ENV_UBI_PART="ubi"
CONFIG_ENV_UBI_VOLUME="uenv-vol"
CONFIG_ENV_UBI_VID_OFFSET=0
CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET=0xfa
CONFIG_SYS_I2C_EEPROM_ADDR=0x53
CONFIG_MTD_PARTITIONS=y
......@@ -52,9 +57,9 @@ CONFIG_RGMII=y
CONFIG_FS_JFFS2=y
CONFIG_RBTREE=y
CONFIG_LZO=y
CONFIG_ENV_OFFSET=0x0
CONFIG_ENV_ADDR=0x500000
CONFIG_XILINX_OF_BOARD_DTB_ADDR=0x520000
#CONFIG_ENV_OFFSET=0x0
#CONFIG_ENV_ADDR=0x500000
#CONFIG_XILINX_OF_BOARD_DTB_ADDR=0x520000
CONFIG_PACKING=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_FULL=y
......
......@@ -7,19 +7,17 @@
"custom_board_version=\"RevB 2008\"\0" \
"custom_board_vendor=\"Hepia CoRES - LSN\"\0" \
"SCALP_BOOT_PARTITION_OFFSET=0x0\0" \
"SCALP_BOOT_PARTITION_SIZE=0x500000\0" \
"SCALP_BOOTENV_PARTITION_OFFSET=0x500000\0" \
"SCALP_BOOTENV_PARTITION_SIZE=0x20000\0" \
"SCALP_FITIMAGE_PARTITION_OFFSET=0x540000\0" \
"SCALP_FITIMAGE_PARTITION_SIZE=0x7AD300\0" \
"SCALP_FITIMAGE_LOAD_OFFSET=0x2000000\0" \
"SCALP_DTB_PARTITION_OFFSET=0x520000\0" \
"SCALP_DTB_PARTITION_SIZE=0x20000\0" \
"SCALP_UBIFS_PARTITION_OFFSET=0xCED300\0" \
"SCALP_UBIFS_PARTITION_SIZE=0x1312D00\0" \
"SCALP_UBIFS_LOAD_OFFSET=0x3000000\0" \
"load_scalp_fitimage=sf probe 0 0 0 && sf read ${SCALP_FITIMAGE_LOAD_OFFSET} ${SCALP_FITIMAGE_PARTITION_OFFSET} ${SCALP_FITIMAGE_PARTITION_SIZE}\0" \
"load_scalp_ubifs=sf probe 0 0 0 && sf read ${SCALP_UBIFS_LOAD_OFFSET} ${SCALP_UBIFS_PARTITION_OFFSET} ${SCALP_UBIFS_PARTITION_SIZE}\0" \
"SCALP_BOOT_PARTITION_SIZE=0x500000\0" \
"SCALP_UBI_PARTITION_OFFSET=0x500000\0" \
"SCALP_UBI_PARTITION_SIZE=0x1B00000\0" \
"UBI_PART_NAME=ubi\0" \
"UBI_PART_ID=ubi0\0" \
"UBI_UENV_VOL_NAME=uenv-vol\0" \
"UBI_DATAFS_VOL_NAME=datafs-vol\0" \
"UBI_ROOTFS_VOL_NAME=rootfs-vol\0" \
"spi_init=sf probe 0 0 0\0" \
"mount_ubi_rootfs_vol=run spi_init && ubi part ${UBI_PART_NAME} && ubifsmount ${UBI_PART_ID}:${UBI_ROOTFS_VOL_NAME}\0" \
"mount_ubi_datafs_vol=run spi_init && ubi part ${UBI_PART_NAME} && ubifsmount ${UBI_PART_ID}:${UBI_DATAFS_VOL_NAME}\0" \
"macmemaddr=0x1000000\0" \
"readmac=i2c dev 0; i2c read 0x53 0xfa.1 6 ${macmemaddr}\0" \
"buildmac=\n" \
......@@ -55,8 +53,5 @@
"ethact=eth0\0" \
"ethprime=eth0\0" \
// "mtdids=\"mtdids=nor0=nor_flash\"\0" \
// "mtdparts=\"mtdparts=nor_flash:5m(boot)ro,128k(bootenv)ro,128k(dtb)ro,8m(fitimage)or,-(ubifs)\"\0" \
#define MTDIDS_DEFAULT "nor0=nor_flash"
#define MTDPARTS_DEFAULT "mtdparts=nor_flash:5m(boot)ro,128k(bootenv)ro,128k(dtb)ro,8m(fitimage)ro,-(ubifs)"
#define MTDPARTS_DEFAULT "mtdparts=nor_flash:5m(boot)ro,-(ubi)"
diff --git a/arch/arm/dts/zynq-scalp.dts b/arch/arm/dts/zynq-scalp.dts
new file mode 100644
index 0000000000..197e776b4b
index 0000000000..2e1ab071e6
--- /dev/null
+++ b/arch/arm/dts/zynq-scalp.dts
@@ -0,0 +1,283 @@
@@ -0,0 +1,270 @@
+/*
+ * Scalp Board DTS
+ *
......@@ -97,29 +97,16 @@ index 0000000000..197e776b4b
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /* 5242880 Bytes */
+ partition@boot {
+ label = "boot";
+ reg = <0x0 0x500000>;
+ };
+
+ partition@bootenv {
+ label = "bootenv";
+ reg = <0x500000 0x20000>;
+ };
+
+ partition@dtb {
+ label = "dtb";
+ reg = <0x520000 0x20000>;
+ };
+
+ partition@fitimage {
+ label = "fitimage";
+ reg = <0x540000 0x800000>;
+ };
+
+ partition@ubifs {
+ label = "ubifs";
+ reg = <0xD40000 0x12C0000>;
+ /* 28311552 Bytes */
+ partition@ubi {
+ label = "ubi";
+ reg = <0x500000 0x1B00000>;
+ };
+ };
+};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment