[G720] How is UFS LUN provisioning implemented in IoT Yocto, and how to customize it?

Hi,

We are working on a Genio 720 project with IoT Yocto and have questions about UFS LUN (Logical Unit) provisioning:

  1. Where is the default LUN provisioning implemented? When flashing the default IoT Yocto firmware, it seems that the storage is always partitioned into LUN0, LUN1, and LUN2 by default. Which component in the boot chain handles this provisioning?

  2. Where should we add custom LUN provisioning logic? If we want to customize the LUN layout for our product, is it more feasible to implement this in U-Boot or in lk.bin? Is there a UFS provisioning library built-in in U-Boot or lk.bin ?

  3. Are there recommended third-party UFS provisioning tools?
    If we prefer to use an external tool for LUN provisioning (outside of the boot flow), are there any tools recommended or validated for use with Genio platforms?

Any guidance or pointers to relevant documentation would be appreciated. Thanks!

Hi,

The ufs provisioning is within LK(DA) under Yocto. Please refer to ufs_configure_new_ufs() in ufs_hcd.c for the provisioning details.

We don’t have specific third-party tool to recommend regarding ufs provisioning. However, the default design of ufs device usage is LUN0 for boot1, LUN1 for boot2 and LUn2 for user.