Hi Ahmad, On 23-10-02, Ahmad Fatoum wrote: > From: Rouven Czerwinski <r.czerwinski@xxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxx> > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > 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 > > >