//PF5200 - OTP Editor
//file generated on Fri Sep 16 11:09:15 2022
//Device Type : PF5200-QM
//OTP ID : G2
//OTP Revision : A
//Part Marking : MPF5200AMMG2ES
//Customer : NXP

SET_DPIN:PF5200:PWRON:low
SET_DPIN:PF5200:TBBEN:high

//MAIN_OTP
SET_REG:PF5200:M_OTP:OTP_I2C:0x01
SET_REG:PF5200:M_OTP:OTP_CTRL1:0x02
SET_REG:PF5200:M_OTP:OTP_CTRL2:0x8c
SET_REG:PF5200:M_OTP:OTP_CTRL3:0x01
SET_REG:PF5200:M_OTP:OTP_FREQ_CTRL:0x89
SET_REG:PF5200:M_OTP:OTP_PWRON:0x00
SET_REG:PF5200:M_OTP:OTP_WD_CONFIG:0x00
SET_REG:PF5200:M_OTP:OTP_WD_EXPIRE:0x00
SET_REG:PF5200:M_OTP:OTP_WD_COUNTER:0x00
SET_REG:PF5200:M_OTP:OTP_FAULT_COUNTERS:0x00
SET_REG:PF5200:M_OTP:OTP_FAULT_TIMERS:0x0f
SET_REG:PF5200:M_OTP:OTP_PWRDN_DLY1:0x00
SET_REG:PF5200:M_OTP:OTP_PWRDN_DLY2:0x00
SET_REG:PF5200:M_OTP:OTP_PWRUP_CTRL:0x02
SET_REG:PF5200:M_OTP:OTP_RESETBMCU_PWRUP:0x04
SET_REG:PF5200:M_OTP:OTP_PGOOD_PWRUP:0x04
SET_REG:PF5200:M_OTP:OTP_SW1_VOLT:0x28
SET_REG:PF5200:M_OTP:OTP_SW1_PWRUP:0x01
SET_REG:PF5200:M_OTP:OTP_SW1_CONFIG1:0xf2
SET_REG:PF5200:M_OTP:OTP_SW1_CONFIG2:0x3a
SET_REG:PF5200:M_OTP:OTP_SW2_VOLT:0x28
SET_REG:PF5200:M_OTP:OTP_SW2_PWRUP:0x01
SET_REG:PF5200:M_OTP:OTP_SW2_CONFIG1:0xf2
SET_REG:PF5200:M_OTP:OTP_SW2_CONFIG2:0x1a
SET_REG:PF5200:M_OTP:OTP_OV_BYPASS1:0x00
SET_REG:PF5200:M_OTP:OTP_UV_BYPASS1:0x00
SET_REG:PF5200:M_OTP:OTP_ILIM_BYPASS1:0x00
SET_REG:PF5200:M_OTP:OTP_PROG_IDH:0x06
SET_REG:PF5200:M_OTP:OTP_PROG_IDL:0x02
SET_REG:PF5200:M_OTP:OTP_DEBUG1:0x00
SET_REG:PF5200:M_OTP:OTP_SW_COMP1:0x1b
SET_REG:PF5200:M_OTP:OTP_SW_RAMP:0x0f

//---------Configure Controller----------
SET_REG:PF5200:OTP_PAGE2:MAX_PGM_TRIES:0x08
SET_REG:PF5200:OTP_PAGE2:MRR_SVDR_IN:0x13

SET_REG:PF5200:OTP_PAGE2:MR_TEST_H:0x00
SET_REG:PF5200:OTP_PAGE2:MR_TEST_L:0x02

SET_REG:PF5200:OTP_PAGE2:MREF_TEST_H:0x00
SET_REG:PF5200:OTP_PAGE2:MREF_TEST_L:0x00

SET_REG:PF5200:OTP_PAGE2:PULSE_DUR_1:0xBB
SET_REG:PF5200:OTP_PAGE2:PULSE_DUR_2:0x08

SET_REG:PF5200:OTP_PAGE2:FADDR_START:0x00
SET_REG:PF5200:OTP_PAGE2:FADDR_STOP:0x23

//---------SET CRC Values----------
SET_REG:PF5200:OTP_PAGE2:FCMD:0xA5
DELAY:100
SET_REG:PF5200:OTP_PAGE2:FCMD:0xA4
DELAY:100

// Apply VDDOTP = 8 V

//---------Program OTP Fuses----------
SET_REG:PF5200:OTP_PAGE2:FCMD:0x96
DELAY:100

//---------BURN WP and BE bits----------
SET_REG:PF5200:OTP_PAGE2:FADDR_STOP:0xFF
SET_REG:PF5200:OTP_PAGE2:FADDR_START:0xFC
SET_REG:PF5200:OTP_PAGE2:FDATA:0xAA
SET_REG:PF5200:OTP_PAGE2:FCMD:0x87
DELAY:100

SET_REG:PF5200:OTP_PAGE2:FADDR_START:0xFD
SET_REG:PF5200:OTP_PAGE2:FDATA:0x55
SET_REG:PF5200:OTP_PAGE2:FCMD:0x87
DELAY:100

SET_REG:PF5200:OTP_PAGE2:FADDR_START:0xFE
SET_REG:PF5200:OTP_PAGE2:FDATA:0xAA
SET_REG:PF5200:OTP_PAGE2:FCMD:0x87
DELAY:100

SET_REG:PF5200:OTP_PAGE2:FADDR_START:0xFF
SET_REG:PF5200:OTP_PAGE2:FDATA:0x55
SET_REG:PF5200:OTP_PAGE2:FCMD:0x87
DELAY:100

// Release VDDOTP to GND

// Readd WP and BE status bits. Expected result : 0x3F
// If 0x3F is read, then OTP_Functional is correctly burnt
SET_REG:PF5200:OTP_PAGE2:FCMD:0xA1
GET_REG:PF5200:OTP_PAGE2:SECT_STATUS

SET_DPIN:PF5200:TBBEN:low

//Rev,A