Hi Patrick

On 9/15/22 18:11, Patrick Delaunay wrote:
> Add defines for value used in stm32key for BSEC permanent lock status
> and error.
> 
> This patch is a preliminary step to support more lock status in BSEC
> driver.
> 
> Signed-off-by: Patrick Delaunay <[email protected]>
> ---
> 
>  arch/arm/mach-stm32mp/cmd_stm32key.c | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/mach-stm32mp/cmd_stm32key.c 
> b/arch/arm/mach-stm32mp/cmd_stm32key.c
> index 68f28922d1e..1899d91ecb5 100644
> --- a/arch/arm/mach-stm32mp/cmd_stm32key.c
> +++ b/arch/arm/mach-stm32mp/cmd_stm32key.c
> @@ -19,6 +19,9 @@
>  #define STM32_OTP_HASH_KEY_START     24
>  #define STM32_OTP_HASH_KEY_SIZE              8
>  
> +#define BSEC_LOCK_ERROR                      (-1)
> +#define BSEC_LOCK_PERM                       BIT(0)
> +
>  static int get_misc_dev(struct udevice **dev)
>  {
>       int ret;
> @@ -60,14 +63,14 @@ static int read_hash_otp(bool print, bool *locked, bool 
> *closed)
>                       val = ~0x0;
>               ret = misc_read(dev, STM32_BSEC_LOCK(word), &lock, 4);
>               if (ret != 4)
> -                     lock = -1;
> +                     lock = BSEC_LOCK_ERROR;
>               if (print)
> -                     printf("OTP HASH %i: %x lock : %d\n", word, val, lock);
> +                     printf("OTP HASH %i: %x lock : %x\n", word, val, lock);
>               if (val == ~0x0)
>                       nb_invalid++;
>               else if (val == 0x0)
>                       nb_zero++;
> -             if (lock == 1)
> +             if (lock & BSEC_LOCK_PERM)
>                       nb_lock++;
>       }
>  
> @@ -77,13 +80,13 @@ static int read_hash_otp(bool print, bool *locked, bool 
> *closed)
>               val = 0x0;
>       ret = misc_read(dev, STM32_BSEC_LOCK(word), &lock, 4);
>       if (ret != 4)
> -             lock = -1;
> +             lock = BSEC_LOCK_ERROR;
>  
>       status = (val & STM32_OTP_CLOSE_MASK) == STM32_OTP_CLOSE_MASK;
>       if (closed)
>               *closed = status;
>       if (print)
> -             printf("OTP %d: closed status: %d lock : %d\n", word, status, 
> lock);
> +             printf("OTP %d: closed status: %d lock : %x\n", word, status, 
> lock);
>  
>       status = (nb_lock == STM32_OTP_HASH_KEY_SIZE);
>       if (locked)
> @@ -128,7 +131,7 @@ static int fuse_hash_value(u32 addr, bool print)
>                       return ret;
>               }
>               /* on success, lock the OTP for HASH key */
> -             val = 1;
> +             val = BSEC_LOCK_PERM;
>               ret = misc_write(dev, STM32_BSEC_LOCK(word), &val, 4);
>               if (ret != 4) {
>                       log_err("Lock OTP %i failed\n", word);
Reviewed-by: Patrice Chotard <[email protected]>

Thanks
Patrice

Reply via email to