imx6ull thermal value ANA_MISC0_REFTOP_VBGADJ

cancel
Showing results for 
Search instead for 
Did you mean: 

imx6ull thermal value ANA_MISC0_REFTOP_VBGADJ

108 Views
michaelnazzaren
Contributor I

According to this change the MISC0_REFTOP_VBGADJ is set take in account the fuse value. This is one of the commit of nxp in uboot. Now we have a lot of cpus (not say all of them) where the value of the fuse is always 000. The old setting was 110 and reduce the value around 2.5% from reference 1.2v.

This is really a big problem because the temperature read by Tjuction just change and we don't know if this change make sense.  The change just say

imx: mx6ull: update the REFTOP_VBGADJ setting

According to design team, we need to set REFTOP_VBGADJ
in PMU MISC0 according to the REFTOP_TRIM[2:0] fuse. the
actually table is as below:

'000" - set REFTOP_VBGADJ[2:0] to 3'b000
'001" - set REFTOP_VBGADJ[2:0] to 3'b001
'010" - set REFTOP_VBGADJ[2:0] to 3'b010
'011" - set REFTOP_VBGADJ[2:0] to 3'b011
'100" - set REFTOP_VBGADJ[2:0] to 3'b100
'101" - set REFTOP_VBGADJ[2:0] to 3'b101
'110" - set REFTOP_VBGADJ[2:0] to 3'b110
'111" - set REFTOP_VBGADJ[2:0] to 3'b111

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>

Now we need to understand if we can replace the old solutions cpu with a new one  based on imx6ull but the environment is very hot inside the device so we need to be sure what is the right value. The difference using the fuse and using the default value that was before is around 9 degree that is quite a lot in our case.

 

/*
* For best noise performance of the analog blocks using the
* outputs of the bandgap, the reftop_selfbiasoff bit should
* be set.
*/
writel(BM_ANADIG_ANA_MISC0_REFTOP_SELBIASOFF, &anatop->ana_misc0_set);
/*
* On i.MX6ULL,we need to set VBGADJ bits according to the
* REFTOP_TRIM[3:0] in fuse table
* 000 - set REFTOP_VBGADJ[2:0] to 3b'110,
* 110 - set REFTOP_VBGADJ[2:0] to 3b'000,
* 001 - set REFTOP_VBGADJ[2:0] to 3b'001,
* 010 - set REFTOP_VBGADJ[2:0] to 3b'010,
* 011 - set REFTOP_VBGADJ[2:0] to 3b'011,
* 100 - set REFTOP_VBGADJ[2:0] to 3b'100,
* 101 - set REFTOP_VBGADJ[2:0] to 3b'101,
* 111 - set REFTOP_VBGADJ[2:0] to 3b'111,
*/
if (is_mx6ull()) {
val = readl(&fuse->mem0);
val >>= OCOTP_MEM0_REFTOP_TRIM_SHIFT;
val &= 0x7;

writel(val << BM_ANADIG_ANA_MISC0_REFTOP_VBGADJ_SHIFT,
&anatop->ana_misc0_set);
}

 

Labels (3)
0 Kudos
1 Reply

92 Views
jamesbone
NXP TechSupport
NXP TechSupport

General recommendation is that the bit should  be set in early uboot. And needs to be cleared

when the system is going into STOP mode and will be set again on resume.

 

ENGR00327364-2 ARM:imx6x: Ensure that the bandgap self-bias circuit is disabled after boot. (516bf00... 

 

0 Kudos