[U-Boot] [PATCH 1/2] mxc_ocotp: Do not disable the OCOTP clock after every access

Stefano Babic sbabic at denx.de
Mon Dec 1 10:36:57 CET 2014


On 25/11/2014 16:11, Fabio Estevam wrote:
> Leave the OCOTP turned on, so that we subsequent access do not fail.
> 
> After enabling the thermal driver on a mx6sxsabresd board:
> 
> U-Boot 2015.01-rc1-18267-g99d4189-dirty (Nov 24 2014 - 12:59:01)               
>                                                                                
> CPU:   Freescale i.MX6SX rev1.0 at 792 MHz                                     
> CPU:   Temperature 48 C                                                        
> Reset cause: POR                                                               
> Board: MX6SX SABRE SDB                                                         
> I2C:   ready                                                                   
> DRAM:  1 GiB                                                                   
> PMIC:  PFUZE100 ID=0x10                                                        
> MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2                                   
>   00:01.0     - 16c3:abcd - Bridge device                                      
>    01:00.0    - 8086:08b1 - Network controller                                 
> In:    serial                                                                  
> Out:   serial                                                                  
> Err:   serial                                                                  
> Net:  
> (hang)
> 
> As the thermal driver accesses the ocotp registers, its clock will be disabled
> afterwards.
> 
> Then when the MAC address is read (also from ocotp registers) it will cause a
> hang.
> 
> Do not disable the ocotp clock to prevent this problem.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
>  drivers/misc/mxc_ocotp.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/misc/mxc_ocotp.c b/drivers/misc/mxc_ocotp.c
> index 3de1245..67f9429 100644
> --- a/drivers/misc/mxc_ocotp.c
> +++ b/drivers/misc/mxc_ocotp.c
> @@ -81,8 +81,6 @@ static int finish_access(struct ocotp_regs *regs, const char *caller)
>  	err = !!(readl(&regs->ctrl) & BM_CTRL_ERROR);
>  	clear_error(regs);
>  
> -	enable_ocotp_clk(0);
> -
>  	if (err) {
>  		printf("mxc_ocotp %s(): Access protect error\n", caller);
>  		return -EIO;
> 

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list