[PATCH 2/2] HAB: extend fuse information with i.MX8M
Marco Felsch
m.felsch at pengutronix.de
Tue Oct 3 21:56:00 PDT 2023
Hi Ahmad,
On 23-10-02, 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) {
> + if (cpu_is_mx6()) {
> + return OCOTP_SEC_CONFIG_1;
> + } else {
> + return MX8M_OCOTP_SEC_CONFIG_1;
> + }
Small nit: remove the {} from the one-liner if-else, same...
> +}
> +
> 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()) {
> + if (cpu_is_mx6()) {
> + dis_fuse = OCOTP_DIR_BT_DIS;
> + } else {
> + dis_fuse = MX8MQ_OCOTP_DIR_BT_DIS;
> + }
here.
Regards,
Marco
> + ret = imx_ocotp_write_field(dis_fuse, 1);
> + if (ret < 0)
> + return ret;
> + }
>
> - return imx_ocotp_write_field(OCOTP_SEC_CONFIG_1, 1);
> + sec_fuse = get_sec_config_fuse();
> +
> + return imx_ocotp_write_field(sec_fuse, 1);
> }
>
> static int imx_hab_device_locked_down_ocotp(void)
> {
> int ret;
> + uint32_t fuse;
> unsigned int v;
>
> - ret = imx_ocotp_read_field(OCOTP_SEC_CONFIG_1, &v);
> + fuse = get_sec_config_fuse();
> +
> + ret = imx_ocotp_read_field(fuse, &v);
> if (ret < 0)
> return ret;
>
> --
> 2.39.2
>
>
>
More information about the barebox
mailing list