/* The Stop operation removes all key material from PUF flipflops and PUF SRAM, and sets PUF to the Stopped state. */
status_t PUF_Stop(PUF_Type *base)
/* The Stop operation removes all key material from PUF flipflops and PUF SRAM, and sets PUF to the Stopped state. */
status_t PUF_Stop(PUF_Type *base)
{
    status_t status = kStatus_Fail;
    if (0x0u == (base->AR & PUF_AR_ALLOW_STOP_MASK))
    {
        return kStatus_PUF_OperationNotAllowed;
    }
    base->CR = PUF_CR_STOP_MASK;
    while (0u != (base->CR & PUF_CR_STOP_MASK))
    {
    }
    while (0u != (base->SR & PUF_SR_BUSY_MASK))
    {
    }
    status = puf_makeStatus(base, kPUF_Stop);
    return status;
}