software =
{
    version = "0.1.0";

    hardware-compatibility: [ "1.0"];
    stable:
    {
        normal: {
            images: (
            {
                filename = "splloader.bin";
                device = "/dev/splloader";
                type = "raw";
                sha256 = "@splloader.bin";
            },
            {
                filename = "boot.img";
                device = "/dev/boot";
                type = "raw";
                sha256 = "@boot.img";
            },
            {
                filename = "dtbo.img";
                device = "/dev/dtbo";
                type = "raw";
                sha256 = "@dtbo.img";
            },
            {
                filename = "dtb.img";
                device = "/dev/dtb";
                type = "raw";
                sha256 = "@dtb.img";
            },
            {
                filename = "system.img";
                device = "/dev/system";
                type = "raw";
                sha256 = "@system.img";
            },
            {
                filename = "teecfg.bin";
                device = "/dev/teecfg";
                type = "raw";
                sha256 = "@teecfg.bin";
            },
            {
                filename = "teecfgbak.bin";
                device = "/dev/teecfg_bak";
                type = "raw";
                sha256 = "@teecfgbak.bin";
            },
            {
                filename = "trustos.bin";
                device = "/dev/trustos";
                type = "raw";
                sha256 = "@trustos.bin";
            },
            {
                filename = "trustosbak.bin";
                device = "/dev/trustos_bak";
                type = "raw";
                sha256 = "@trustosbak.bin";
            },
            {
                filename = "sml.bin";
                device = "/dev/sml";
                type = "raw";
                sha256 = "@sml.bin";
            },
            {
                filename = "smlbak.bin";
                device = "/dev/sml_bak";
                type = "raw";
                sha256 = "@smlbak.bin";
            },
            {
                filename = "uboot.bin";
                device = "/dev/uboot";
                type = "raw";
                sha256 = "@uboot.bin";
            },
            {
                filename = "ubootbak.bin";
                device = "/dev/uboot_bak";
                type = "raw";
                sha256 = "@ubootbak.bin";
            },
            {
                filename = "nr_modem.dat";
                device = "/dev/nr_modem";
                type = "raw";
                sha256 = "@nr_modem.dat";
            },
            {
                filename = "nr_deltanv.bin";
                device = "/dev/nr_deltanv";
                type = "raw";
                sha256 = "@nr_deltanv.bin";
            },
            {
                filename = "pm_sys.bin";
                device = "/dev/pm_sys";
                type = "raw";
                sha256 = "@pm_sys.bin";
            },
            {
                filename = "l_agdsp.bin";
                device = "/dev/l_agdsp";
                type = "raw";
                sha256 = "@l_agdsp.bin";
            },
            {
                filename = "nr_phy.bin";
                device = "/dev/nr_phy";
                type = "raw";
                sha256 = "@nr_phy.bin";
            },
            {
                filename = "ch_sys.bin";
                device = "/dev/ch_sys";
                type = "raw";
                sha256 = "@ch_sys.bin";
            },
            {
                filename = "gnssmodem.bin";
                device = "/dev/gnssmodem";
                type = "raw";
                sha256 = "@gnssmodem.bin";
            },
            {
                filename = "wcnmodem.bin";
                device = "/dev/wcnmodem";
                type = "raw";
                sha256 = "@wcnmodem.bin";
            }
            );
            bootenv: (
            {
                name = "rootfs_file_update";
                value = "1";
            },
            {
                name = "rootfs_device";
                value = "/dev/system";
            },
            {
                name = "rootfs_dir";
                value = "/mnt/data/recovery/rootfs";
            },
            {
                name = "update_recovery";
                value = "1";
            },
            {
                name = "ab_support";
                value = "0";
            }
            );
            files: (
            {
                filename = "flash_ic_ocp8137.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/flash_ic_ocp8137.ko";
                properties = {create-destination = "true";}
                sha256 = "@flash_ic_ocp8137.ko";
            },
            {
                filename = "focaltech_ft8756_spi_ts.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/focaltech_ft8756_spi_ts.ko";
                properties = {create-destination = "true";}
                sha256 = "@focaltech_ft8756_spi_ts.ko";
            },
            {
                filename = "mali_kbase.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/mali_kbase.ko";
                properties = {create-destination = "true";}
                sha256 = "@mali_kbase.ko";
            },
            {
                filename = "npu_img_vha.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/npu_img_vha.ko";
                properties = {create-destination = "true";}
                sha256 = "@npu_img_vha.ko";
            },
            {
                filename = "sprd_camera.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/sprd_camera.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_camera.ko";
            },
            {
                filename = "sprd_camsys_pw_domain.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/sprd_camsys_pw_domain.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_camsys_pw_domain.ko";
            },
            {
                filename = "sprd_cpp.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/sprd_cpp.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_cpp.ko";
            },
            {
                filename = "sprd_flash_drv.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/sprd_flash_drv.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_flash_drv.ko";
            },
            {
                filename = "sprd_sensor.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/sprd_sensor.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_sensor.ko";
            },
            {
                filename = "sprd_vdsp.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/sprd_vdsp.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_vdsp.ko";
            },
            {
                filename = "sprd_wlan_combo.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/extra/sprd_wlan_combo.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_wlan_combo.ko";
            },
            {
                filename = "apsys-dvfs.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/devfreq/apsys/apsys-dvfs.ko";
                properties = {create-destination = "true";}
                sha256 = "@apsys-dvfs.ko";
            },
            {
                filename = "sprd-drm.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/gpu/drm/sprd/sprd-drm.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd-drm.ko";
            },
            {
                filename = "jpg.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/media/platform/sprd-jpg/jpg.ko";
                properties = {create-destination = "true";}
                sha256 = "@jpg.ko";
            },
            {
                filename = "vpu.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/media/platform/sprd-vpu/vpu.ko";
                properties = {create-destination = "true";}
                sha256 = "@vpu.ko";
            },
            {
                filename = "sprd_soc_id.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/misc/sprd_soc_id.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_soc_id.ko";
            },
            {
                filename = "sprd_vpu_pw_domain.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/soc/sprd/domain/sprd_vpu_pw_domain.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd_vpu_pw_domain.ko";
            },
            {
                filename = "sprd-ion.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/staging/android/ion/sprd/sprd-ion.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprd-ion.ko";
            },
            {
                filename = "unisoc-iommu.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/unisoc_platform/iommu/unisoc-iommu.ko";
                properties = {create-destination = "true";}
                sha256 = "@unisoc-iommu.ko";
            },
            {
                filename = "gnss_common_ctl_all.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/unisoc_platform/sprd_gnss/gnss_common_ctl/gnss_common_ctl_all.ko";
                properties = {create-destination = "true";}
                sha256 = "@gnss_common_ctl_all.ko";
            },
            {
                filename = "gnss_dbg.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/unisoc_platform/sprd_gnss/gnss_dbg/gnss_dbg.ko";
                properties = {create-destination = "true";}
                sha256 = "@gnss_dbg.ko";
            },
            {
                filename = "gnss_pmnotify_ctl.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/unisoc_platform/sprd_gnss/gnss_pmnotify_ctl/gnss_pmnotify_ctl.ko";
                properties = {create-destination = "true";}
                sha256 = "@gnss_pmnotify_ctl.ko";
            },
            {
                filename = "wcn_bsp.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/unisoc_platform/sprdwcn/wcn_bsp.ko";
                properties = {create-destination = "true";}
                sha256 = "@wcn_bsp.ko";
            },
            {
                filename = "sprdbt_tty.ko";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/kernel/drivers/unisoc_platform/tty-sdio/sprdbt_tty.ko";
                properties = {create-destination = "true";}
                sha256 = "@sprdbt_tty.ko";
            },
            {
                filename = "modules.alias";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.alias";
                properties = {create-destination = "true";}
                sha256 = "@modules.alias";
            },
            {
                filename = "modules.alias.bin";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.alias.bin";
                properties = {create-destination = "true";}
                sha256 = "@modules.alias.bin";
            },
            {
                filename = "modules.builtin";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.builtin";
                properties = {create-destination = "true";}
                sha256 = "@modules.builtin";
            },
            {
                filename = "modules.builtin.alias.bin";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.builtin.alias.bin";
                properties = {create-destination = "true";}
                sha256 = "@modules.builtin.alias.bin";
            },
            {
                filename = "modules.builtin.bin";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.builtin.bin";
                properties = {create-destination = "true";}
                sha256 = "@modules.builtin.bin";
            },
            {
                filename = "modules.builtin.modinfo";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.builtin.modinfo";
                properties = {create-destination = "true";}
                sha256 = "@modules.builtin.modinfo";
            },
            {
                filename = "modules.dep";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.dep";
                properties = {create-destination = "true";}
                sha256 = "@modules.dep";
            },
            {
                filename = "modules.dep.bin";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.dep.bin";
                properties = {create-destination = "true";}
                sha256 = "@modules.dep.bin";
            },
            {
                filename = "modules.devname";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.devname";
                properties = {create-destination = "true";}
                sha256 = "@modules.devname";
            },
            {
                filename = "modules.order";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.order";
                properties = {create-destination = "true";}
                sha256 = "@modules.order";
            },
            {
                filename = "modules.softdep";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.softdep";
                properties = {create-destination = "true";}
                sha256 = "@modules.softdep";
            },
            {
                filename = "modules.symbols";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.symbols";
                properties = {create-destination = "true";}
                sha256 = "@modules.symbols";
            },
            {
                filename = "modules.symbols.bin";
                path = "/mnt/data/recovery/rootfs/usr/lib/modules/5.4.180/modules.symbols.bin";
                properties = {create-destination = "true";}
                sha256 = "@modules.symbols.bin";
            },
            {
                filename = "nvmerge.cfg";
                path = "/mnt/data/recovery/tmp/nvmerge.cfg";
                properties = {create-destination = "true";}
                sha256 = "@nvmerge.cfg";
            },
            {
                filename = "nr_fixnv1.bin";
                path = "/mnt/data/recovery/tmp/nr_fixnv1.bin";
                properties = {create-destination = "true";}
                sha256 = "@nr_fixnv1.bin";
            }
            );
        }
        preextact: {
            files: (
            {
                filename = "swupdateext";
                path = "/mnt/data/recovery/tmp/swupdateext";
                properties = {create-destination = "true";}
                sha256 = "@swupdateext";
            },
            {
                filename = "libbspatch.so";
                path = "/mnt/data/recovery/tmp/libbspatch.so";
                properties = {create-destination = "true";}
                sha256 = "@libbspatch.so";
            },
            {
                filename = "libotaarith.so";
                path = "/mnt/data/recovery/tmp/libotaarith.so";
                properties = {create-destination = "true";}
                sha256 = "@libotaarith.so";
            },
            {
                filename = "update.sh";
                path = "/mnt/data/recovery/tmp/update.sh";
                properties = {create-destination = "true";}
                sha256 = "@update.sh";
            }
            );
        }
        recovery: {
            images: (
            {
                filename = "recovery.img";
                device = "/dev/recovery";
                type = "raw";
                sha256 = "@recovery.img";
            },
            {
                filename = "recovery_system.img";
                device = "/dev/recovery_system";
                type = "raw";
                sha256 = "@recovery_system.img";
            },
            {
                filename = "recovery_dtb.img";
                device = "/dev/recovery_dtb";
                type = "raw";
                sha256 = "@recovery_dtb.img";
            }
            );
        }

    }
}
