diff --git a/meta-digi-arm/classes/image_types_digi.bbclass b/meta-digi-arm/classes/image_types_digi.bbclass index bdc4f8382..48b3c2590 100644 --- a/meta-digi-arm/classes/image_types_digi.bbclass +++ b/meta-digi-arm/classes/image_types_digi.bbclass @@ -1,69 +1,5 @@ inherit image_types_fsl -# Dynamically calculate max LEB count for UBIFS images -FLASH_MLC = "${@max_leb_count(d)}" -def max_leb_count(d): - _mlc = [] - _flash_peb = d.getVar('FLASH_PEB', True) - _flash_psz = d.getVar('FLASH_PSZ', True) - for i in _flash_peb.split(','): - _mlc.append(str(next_power_of_2(int(_flash_psz)/int(i)) - 1)) - return ','.join(_mlc) - -# Return next power_of_2 bigger than passed argument -def next_power_of_2(n): - i = 1 - while (n > i): - i <<= 1 - return i - -# Return TRUE if jffs2 is not in IMAGE_FSTYPES -JFFS2_NOT_IN_FSTYPES = "${@jffs2_not_in_fstypes(d)}" -def jffs2_not_in_fstypes(d): - return str('jffs2' not in d.getVar('IMAGE_FSTYPES', True).split()).lower() - -IMAGE_CMD_jffs2() { - nimg="$(echo ${FLASH_PEB} | awk -F, '{print NF}')" - for i in $(seq 1 ${nimg}); do - peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})" - # Do not use '-p (padding)' option. It breaks 'ccardimx28js' flash images [JIRA:DEL-218] - mkfs.jffs2 -n -e ${peb_it} -d ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.jffs2 - ln -sf ${IMAGE_NAME}.${peb_it}.rootfs.jffs2 ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${peb_it}.jffs2 - done -} - -# The CWD for this set of commads is DEPLOY_DIR_IMAGE so the paths are relative to it. -COMPRESS_CMD_sum() { - # 'nimg' is set in IMAGE_CMD_jffs2 (which is executed just before) - for i in $(seq 1 ${nimg}); do - peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})" - sumtool -e ${peb_it} -i ${IMAGE_NAME}.${peb_it}.rootfs.jffs2 -o ${IMAGE_NAME}.${peb_it}.rootfs.jffs2.sum - ln -sf ${IMAGE_NAME}.${peb_it}.rootfs.jffs2.sum ${IMAGE_LINK_NAME}.${peb_it}.jffs2.sum - - # If 'jffs2' is not in IMAGE_FSTYPES remove the images and symlinks - if ${JFFS2_NOT_IN_FSTYPES}; then - rm -f ${IMAGE_NAME}.${peb_it}.rootfs.jffs2 ${IMAGE_LINK_NAME}.${peb_it}.jffs2 - fi - done - - # Create dummy file so the final script can remove it and not fail - if ${JFFS2_NOT_IN_FSTYPES}; then - touch ${IMAGE_NAME}.rootfs.jffs2 - fi -} - -IMAGE_CMD_ubifs() { - nimg="$(echo ${FLASH_PEB} | awk -F, '{print NF}')" - for i in $(seq 1 ${nimg}); do - mlc_it="$(echo ${FLASH_MLC} | cut -d',' -f${i})" - peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})" - leb_it="$(echo ${FLASH_LEB} | cut -d',' -f${i})" - mio_it="$(echo ${FLASH_MIO} | cut -d',' -f${i})" - mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.ubifs -m ${mio_it} -e ${leb_it} -c ${mlc_it} ${MKUBIFS_ARGS} - ln -sf ${IMAGE_NAME}.${peb_it}.rootfs.ubifs ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${peb_it}.ubifs - done -} - IMAGE_CMD_boot.vfat() { # # Image generation code for image type 'boot.vfat' diff --git a/meta-digi-arm/conf/machine/ccardimx28js.conf b/meta-digi-arm/conf/machine/ccardimx28js.conf index bcba80745..5b2a4a4e3 100644 --- a/meta-digi-arm/conf/machine/ccardimx28js.conf +++ b/meta-digi-arm/conf/machine/ccardimx28js.conf @@ -12,19 +12,7 @@ KERNEL_DEVICETREE = "imx28-${MACHINE}.dtb" # create a symlink to the correct device. SERIAL_CONSOLES = "115200;ttyS0" -################################################# -## Flash parameters for JFFS2 and UBIFS images ## -################################################# -# partition size (KiB) -# physical eraseblock size (KiB) -# logical eraseblock size (bytes) -# minimum input/output size (bytes) -# sub-page size (bytes) -# -# PEB, LEB, MIO and SUB might be a list of comma-separated values -# -FLASH_PSZ = "262144" -FLASH_PEB = "128" -FLASH_LEB = "126976" -FLASH_MIO = "2048" -FLASH_SUB = "-" +# FLASH parameters +MKUBIFS_ARGS ?= "-m 2048 -e 126976 -c 2047" +EXTRA_IMAGECMD_jffs2 ?= "-l -e 128 -n" +JFFS2_SUM_EXTRA_ARGS ?= "${EXTRA_IMAGECMD_jffs2}" diff --git a/meta-digi-arm/conf/machine/ccimx51js.conf b/meta-digi-arm/conf/machine/ccimx51js.conf index a750ea455..dd823fa28 100644 --- a/meta-digi-arm/conf/machine/ccimx51js.conf +++ b/meta-digi-arm/conf/machine/ccimx51js.conf @@ -6,19 +6,11 @@ include conf/machine/include/ccimx51.inc SERIAL_CONSOLES = "38400;ttymxc1" -################################################# -## Flash parameters for JFFS2 and UBIFS images ## -################################################# -# partition size (KiB) -# physical eraseblock size (KiB) -# logical eraseblock size (bytes) -# minimum input/output size (bytes) -# sub-page size (bytes) -# -# PEB, LEB, MIO and SUB might be a list of comma-separated values -# -FLASH_PSZ = "524288" -FLASH_PEB = "128,512" -FLASH_LEB = "129024,520192" -FLASH_MIO = "2048,4096" -FLASH_SUB = "512,1024" +# Per-variant FLASH parameters +MKUBIFS_ARGS ?= "-m 2048 -e 129024 -c 4095" +MKUBIFS_ARGS_agv4k ?= "-m 4096 -e 520192 -c 1023" +MKUBIFS_ARGS_eagv4k ?= "-m 4096 -e 520192 -c 1023" +EXTRA_IMAGECMD_jffs2 ?= "-l -e 128 -n" +EXTRA_IMAGECMD_jffs2_agv4k ?= "-l -e 512 -n" +EXTRA_IMAGECMD_jffs2_eagv4k ?= "-l -e 512 -n" +JFFS2_SUM_EXTRA_ARGS ?= "${EXTRA_IMAGECMD_jffs2}" diff --git a/meta-digi-arm/conf/machine/ccimx53js.conf b/meta-digi-arm/conf/machine/ccimx53js.conf index 11f2ceee8..e5cd575b6 100644 --- a/meta-digi-arm/conf/machine/ccimx53js.conf +++ b/meta-digi-arm/conf/machine/ccimx53js.conf @@ -7,19 +7,11 @@ include conf/machine/include/ccimx53.inc SERIAL_CONSOLES = "115200;ttymxc0" -################################################# -## Flash parameters for JFFS2 and UBIFS images ## -################################################# -# partition size (KiB) -# physical eraseblock size (KiB) -# logical eraseblock size (bytes) -# minimum input/output size (bytes) -# sub-page size (bytes) -# -# PEB, LEB, MIO and SUB might be a list of comma-separated values -# -FLASH_PSZ = "524288" -FLASH_PEB = "128,512" -FLASH_LEB = "129024,520192" -FLASH_MIO = "2048,4096" -FLASH_SUB = "512,1024" +# Per-variant FLASH parameters +MKUBIFS_ARGS ?= "-m 2048 -e 129024 -c 4095" +MKUBIFS_ARGS_4k ?= "-m 4096 -e 520192 -c 1023" +MKUBIFS_ARGS_e4k ?= "-m 4096 -e 520192 -c 1023" +EXTRA_IMAGECMD_jffs2 ?= "-l -e 128 -n" +EXTRA_IMAGECMD_jffs2_4k ?= "-l -e 512 -n" +EXTRA_IMAGECMD_jffs2_e4k ?= "-l -e 512 -n" +JFFS2_SUM_EXTRA_ARGS ?= "${EXTRA_IMAGECMD_jffs2}" diff --git a/meta-digi-arm/conf/machine/include/ccimx51.inc b/meta-digi-arm/conf/machine/include/ccimx51.inc index cf3d143fe..468bf8c08 100644 --- a/meta-digi-arm/conf/machine/include/ccimx51.inc +++ b/meta-digi-arm/conf/machine/include/ccimx51.inc @@ -37,24 +37,28 @@ module_autoload_pmic_battery = "pmic_battery" # To build any of these variants configure MACHINE_VARIANT on the project's # local.conf to the variant name. # -# Name WiFi Eth2 RAM Accel GPU VPU -# --------------------------------------------------------- -# 128 N N 128 N N N -# 128a N N 128 Y N N -# 128agv N N 128 Y Y Y -# agv N N 256 Y Y Y -# eagv N Y 512 Y Y Y -# w Y N 512 N N N -# w128a Y N 128 Y N N -# w128agv Y N 128 Y Y Y -# wagv Y N 256 Y Y Y -# weagv Y Y 512 Y Y Y +# Name WiFi Eth2 RAM=128MB NAND=2GB Accel GPU VPU +# --------------------------------------------------------------------------- +# 128 N N Y N N N N +# 128a N N Y N Y N N +# 128agv N N Y N Y Y Y +# agv N N N N Y Y Y +# agv4k N N N Y Y Y Y +# eagv N Y N N Y Y Y +# eagv4k N Y N Y Y Y Y +# w Y N N N N N N +# w128a Y N Y N Y N N +# w128agv Y N Y N Y Y Y +# wagv Y N N N Y Y Y +# weagv Y Y N N Y Y Y # Per-variant machine features MACHINE_FEATURES_append_128a = " accelerometer" MACHINE_FEATURES_append_128agv = " accelerometer accel-video accel-graphics" MACHINE_FEATURES_append_agv = " accelerometer accel-video accel-graphics" +MACHINE_FEATURES_append_agv4k = " accelerometer accel-video accel-graphics" MACHINE_FEATURES_append_eagv = " ext-eth accelerometer accel-video accel-graphics" +MACHINE_FEATURES_append_eagv4k = " ext-eth accelerometer accel-video accel-graphics" MACHINE_FEATURES_append_w = " wifi" MACHINE_FEATURES_append_w128a = " wifi accelerometer" MACHINE_FEATURES_append_w128agv = " wifi accelerometer accel-video accel-graphics"