[PATCH 2/2] HAB: extend fuse information with i.MX8M

Sascha Hauer sha at pengutronix.de
Wed Oct 4 00:35:25 PDT 2023


On Mon, Oct 02, 2023 at 11:20:43AM +0200, Ahmad Fatoum wrote:
> From: Rouven Czerwinski <r.czerwinski at pengutronix.de>
> 
> The i.MX8M family of processors moved the SEC_CONFIG_1 fuse to a
> different location. Extend the hab driver with the new location and take
> care of the DIR_BT_DIS fuse which only needs to be burned on i.MX8MQ.
> 
> Signed-off-by: Rouven Czerwinski <r.czerwinski at pengutronix.de>
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
>  drivers/hab/hab.c | 32 +++++++++++++++++++++++++++-----
>  1 file changed, 27 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/hab/hab.c b/drivers/hab/hab.c
> index aa848979b467..ee402352f243 100644
> --- a/drivers/hab/hab.c
> +++ b/drivers/hab/hab.c
> @@ -150,23 +150,45 @@ static int imx_hab_permanent_write_enable_ocotp(int enable)
>  	return imx_ocotp_permanent_write(enable);
>  }
>  
> +static uint32_t get_sec_config_fuse(void) {

The opening brace should be on the next line.

> +	if (cpu_is_mx6()) {
> +		return OCOTP_SEC_CONFIG_1;
> +	} else {
> +		return MX8M_OCOTP_SEC_CONFIG_1;
> +	}
> +}

Given that the i.MX8M defines have a SoC prefix I would find it more
natural to test with if (cpu_is_mx8m()) instead of if (cpu_is_mx6()).

> +
>  static int imx_hab_lockdown_device_ocotp(void)
>  {
>  	int ret;
> +	uint32_t dis_fuse;
> +	uint32_t sec_fuse;
>  
> -	ret = imx_ocotp_write_field(OCOTP_DIR_BT_DIS, 1);
> -	if (ret < 0)
> -		return ret;
> +	if (cpu_is_mx6() || cpu_is_mx8mq()) {

Right now we only support i.MX6 and i.MX8MQ, so this is always true.

Have you considered creating a i.MX8MQ and a i.MX6 specific struct
imx_hab_ops {} entry? Given the amount of if(cpu_is_*()) expressions the
result may look cleaner.

BTW struct imx_hab_ops has a init() function pointer which seems unused.
Could you remove it along the way?

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list