Hello,
The imx8mp has 2 bootcontainers mmcblk2boot0 and mmcblk2boot1. The bootenv is completely independent from the containers. There is just a one copy by default, but the redundancy and location/storage type could be changed in u-boot.
Selection between containers (boot partitions) could be done in u-boot as well as in use-space:
# u-boot
# select between partitions
mmc partconf 2 1 <1 or 2> 0
# user-space
mmc bootpart enable <1 or 2> 1 /dev/mmcblk2
Andy