// ufs.h
typedef struct {
UCHAR bLength;
UCHAR bDescriptorIDN;
UCHAR bConfDescContinue;
UCHAR bBootEnable;
UCHAR bDescrAccessEn;
UCHAR bInitPowerMode;
UCHAR bHighPriorityLUN;
UCHAR bSecureRemovalType;
UCHAR bInitActiveICCLevel;
UCHAR wPeriodicRTCUpdate[2];
UCHAR Reserved2[1];
UCHAR bRPMBRegionEnable;
UCHAR bRPMBRegion1Size;
UCHAR bRPMBRegion2Size;
UCHAR bRPMBRegion3Size;
UCHAR bWriteBoosterBufferPreserveUserSpaceEn;
UCHAR bWriteBoosterBufferType;
ULONG dNumSharedWriteBoosterBufferAllocUnits;
UFS_UNIT_CONFIG_DESCRIPTOR_V3_1 UnitConfig[UFS_MAX_NUM_LU];
} UFS_CONFIG_DESCRIPTOR_V3_1, *PUFS_CONFIG_DESCRIPTOR_V3_1;
View the official Windows Driver Kit DDI referenceNo description available.
bLengthSpecifies the size, in bytes, of this descriptor.
bDescriptorIDNSpecifies the configuration descriptor type identifier. This descriptor will have a value of UFS_DESC_CONFIGURATION_IDN.
bConfDescContinueSpecifies if a device's configuration descriptor continue feature is enabled.
bBootEnableSpecifies if a device's boot feature is enabled.
bDescrAccessEnEnables access to the device descriptor after the partial initialization phase of the boot sequence.
bInitPowerModeSpecifies the power mode after device initialization or hardware reset.
bHighPriorityLUNbHighPriorityLUN configures the high priority logical unit.
bSecureRemovalTypeConfigures the secure removal type.
bInitActiveICCLevelConfigures the ICC level in Active mode after device initialization or hardware reset.
wPeriodicRTCUpdate[2]Specifies the frequency and method of real-time clock updates.
Reserved2[1]Reserved for future use.
bRPMBRegionEnableSpecifies if Replay Protected Memory Blocks (RPMB) are enabled.
bRPMBRegion1SizeSpecifies the size of RPMB region 1.
bRPMBRegion2SizeSpecifies the size of RPMB region 2.
bRPMBRegion3SizeSpecifies the size of RPMB region 3.
bWriteBoosterBufferPreserveUserSpaceEnSetting bWriteBoosterBufferPreserveUserSpaceEn to 0x01 avoids the reduction of the total user space that can be configured during provisioning, but might result in lower performance. If bWriteBoosterBufferPreserveUserSpaceEn is set to 0x00, the write booster buffer reduces the total user space that can be configured during provisioning.
bWriteBoosterBufferTypebWriteBoosterBufferType configures the the write booster buffer type. A value of 0x00 specifies logical unit dedicated buffer mode. A value of 0x01 specifies shared buffer mode.
dNumSharedWriteBoosterBufferAllocUnitsdNumSharedWriteBoosterBufferAllocUnits specifies the write booster buffer size for a shared write booster buffer configuration.
UnitConfig[UFS_MAX_NUM_LU]Contains the configurable parameters of the unit descriptor.
If bBootEnable is set to zero or if the Boot Well Known Logical Unit is not mapped to an enabled logical unit, then the Boot Well Known Logical Unit shall terminate.
UFS_DEVICE_DESCRIPTOR is read only, some of its parameters may be changed by changing the corresponding parameter in UFS_UNIT_CONFIG_DESCRIPTOR_V3_1.