You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
491 lines
21 KiB
491 lines
21 KiB
#ifndef __MTP_DEFINE_H__
|
|
#define __MTP_DEFINE_H__
|
|
//-----------------------------------------------------------------------------
|
|
// mtp registers definition
|
|
//-----------------------------------------------------------------------------
|
|
#pragma anon_unions
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// registers structures
|
|
typedef struct
|
|
{
|
|
//0 : normal mode, mcu read through ahb
|
|
//1 : test mode, control otp use reg pin directly
|
|
uint32_t en:1;
|
|
uint32_t reserved_31_1:31;
|
|
} REG_mtp_test_mode_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_test_mode_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_test_mode_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//tap = 2+tap, step is 41ns,(min 50ns)
|
|
uint32_t tap:3;
|
|
//tpa,step is 1us,default:20+ tpa,(12 as worst osc fast60%)
|
|
uint32_t tpa:5;
|
|
uint32_t reserved_31_8:24;
|
|
} REG_mtp_deep_sleep_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_deep_sleep_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_deep_sleep_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//word address bus
|
|
uint32_t ad:12;
|
|
uint32_t reserved_15_12:4;
|
|
//memory block select:
|
|
//1'b0: select main block
|
|
//1'b1: select infromation block
|
|
uint32_t bks:1;
|
|
//read control signal, high active (min 20/50ns)
|
|
uint32_t re:1;
|
|
//program control signal, high active
|
|
uint32_t pg:1;
|
|
//sector erase(2k bits), high active,only address[12:6] is valid
|
|
uint32_t er:1;
|
|
//page erase(16k bits), high active,only address[12:9] is valid
|
|
uint32_t per:1;
|
|
//chip erase, high active, when activated, whole chip is eerased
|
|
uint32_t cer:1;
|
|
//pgh is used to control programming from 1st phase to 2nd phase, high active
|
|
uint32_t pgh:1;
|
|
//program and erase timing control, high active
|
|
uint32_t pep:1;
|
|
//pg_mode function is user to accelerate testing during cp &ft
|
|
//1'b0: 8 i/os will be programmed by 4time and vddh could vary within spec;
|
|
//1'b1: 32 i/os will be programmed by 1time and vddh is limited to >=5v;
|
|
uint32_t pg_mode:1;
|
|
//this signal is used for internal reference calibration. it shoule stay as low unless calibration is needed
|
|
uint32_t trf:1;
|
|
//power down analog circuits inside the memory macro,low active
|
|
uint32_t pdn:1;
|
|
//read mode description:
|
|
//1'b0: default
|
|
//1'b1: don't care duty cycle
|
|
//
|
|
uint32_t re_mode:1;
|
|
uint32_t reserved_31_28:4;
|
|
} REG_mtp_pin0_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_pin0_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_pin0_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//whole chip lock
|
|
//1'b0: whole chip is locked, and can‘t be program/erase
|
|
//1'b1:normal function
|
|
uint32_t lckn:1;
|
|
//sector lock
|
|
//1'b0:sector 127(ad[12:6]=(7f h) is locked and can not sector erase, page erase or chip erase. program and read still work as normal
|
|
//1'b1:normal function
|
|
uint32_t locksn:1;
|
|
//these are static signals which should be stabilized at least 100ns before memory is accessed, these signals control the pump voltages:
|
|
//2'b00: pump voltages 3% higher than nominal
|
|
//2'b01:pump voltages 6% higher than nominal
|
|
//2'b10: nominal pump voltages (default setting)
|
|
//2'b11:pump voltages 3% lower than nominal
|
|
uint32_t trim:2;
|
|
//control gate bias voltage during read
|
|
//1'b0:read mode bias 0v
|
|
//1'b1:read mode bias 1.2v(default)
|
|
uint32_t vrdcg_sel:1;
|
|
//these are static signals. value in this signals set the sensing current during read. iref is cell current on reference cell.
|
|
//2'b00: 2*iref/3
|
|
//2'b01 - 2*iref/4
|
|
//2'b10 - 2*iref/6(default)
|
|
//2'b11 - 2*iref/8
|
|
uint32_t marrd:2;
|
|
uint32_t reserved_12_7:6;
|
|
//enable ecc correct when read,high active
|
|
uint32_t eccon:1;
|
|
//these are static signals which should be stabilized at least 100ns before memory is accessed, these signals control the vbb pump voltages:
|
|
//2'b11 - pump voltages 3% lower than nominal
|
|
//2'b10 - nominal pump voltages (default setting)
|
|
// 2'b00 - pump voltages 3% higher than nominal
|
|
// 2'b01 - pump voltages 6% higher than nominal
|
|
uint32_t vbb_sel:2;
|
|
//mtp din parity byte for mtp test
|
|
uint32_t din_parity:8;
|
|
//mtp dout parity byte for mtp test
|
|
uint32_t dout_parity:8;
|
|
} REG_mtp_pin1_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_pin1_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_pin1_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//icell measurement enable,high active,it need work with pin trf:
|
|
//trf set high, measure cell current;
|
|
//trf set low, measure reference cell current
|
|
//1'b0: normal mode
|
|
//1'b1:allow icell measurement from "icell_q"pin
|
|
uint32_t icell:1;
|
|
//io selected in icell mode
|
|
uint32_t icell_ad:6;
|
|
//test mode option for sector erase. all memory block erase stress
|
|
//test mode select:
|
|
//stress_er=0, normal operation
|
|
//stress_er=1, memory block entry erase stress mode
|
|
uint32_t stress_er:1;
|
|
//control input and output of bandgap
|
|
//1'b0 build-in bandgap.(default)
|
|
//1'b1 external 1.2v reference voltage input from vbg pin.
|
|
uint32_t en_exbgr:1;
|
|
//control build-in bandgap testing
|
|
//1'b0 disable build-in bandgap voltage test .(default)
|
|
//1'b1 enable build-in bandgap voltage test.
|
|
uint32_t en_vbg_test:1;
|
|
uint32_t reserved_31_10:22;
|
|
} REG_mtp_pin2_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_pin2_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_pin2_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//mtp ip program data input
|
|
uint32_t value:32;
|
|
} REG_mtp_pin_pdin_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_pin_pdin_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_pin_pdin_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//mtp ip data output
|
|
uint32_t value:32;
|
|
} REG_mtp_pin_pdout_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_pin_pdout_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_pin_pdout_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//1 : disable swd read otp data area except the trim data area(higher 128byte)
|
|
uint32_t data:1;
|
|
uint32_t reserved_31_1:31;
|
|
} REG_mtp_read_disable_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_read_disable_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_read_disable_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//debug source select
|
|
uint32_t value:2;
|
|
uint32_t reserved_31_2:30;
|
|
} REG_mtp_debug_sel_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_debug_sel_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_debug_sel_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//mtp vddh control for analog
|
|
uint32_t value:1;
|
|
uint32_t reserved_31_1:31;
|
|
} REG_mtp_vddh_en_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_vddh_en_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_vddh_en_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//analog vddh ready flag
|
|
uint32_t value:1;
|
|
uint32_t reserved_31_1:31;
|
|
} REG_mtp_vddh_rdy_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_vddh_rdy_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_vddh_rdy_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//mtp deep stand by req flag
|
|
uint32_t value:1;
|
|
uint32_t reserved_31_1:31;
|
|
} REG_mtp_sleep_req_st_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_sleep_req_st_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_sleep_req_st_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//mtp mode control state for debug
|
|
uint32_t mtp_cst:3;
|
|
uint32_t reserved_31_3:29;
|
|
} REG_mtp_fsm_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_fsm_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_fsm_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//ecc active flag
|
|
uint32_t act_flag:1;
|
|
//ecc error flag
|
|
uint32_t err_flag:1;
|
|
uint32_t reserved_31_2:30;
|
|
} REG_mtp_ecc_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_ecc_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_ecc_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
//write 16'h8e9f to 0x4001204c to enable this module password hit register
|
|
uint32_t pw_hit:1;
|
|
uint32_t reserved_31_1:31;
|
|
} REG_mtp_trim_bitfiled_TypeDef;
|
|
|
|
typedef struct
|
|
{
|
|
union {
|
|
__IO REG_mtp_trim_bitfiled_TypeDef bf;//bitfiled
|
|
__IO uint32_t word;
|
|
};
|
|
} REG_mtp_trim_TypeDef;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// memory map
|
|
#define REG_MTP_TEST_MODE_BASE 0x40012000
|
|
#define REG_MTP_DEEP_SLEEP_BASE 0x40012008
|
|
#define REG_MTP_PIN0_BASE 0x4001200C
|
|
#define REG_MTP_PIN1_BASE 0x40012010
|
|
#define REG_MTP_PIN2_BASE 0x40012014
|
|
#define REG_MTP_PIN_PDIN_BASE 0x40012018
|
|
#define REG_MTP_PIN_PDOUT_BASE 0x4001201C
|
|
#define REG_MTP_READ_DISABLE_BASE 0x40012020
|
|
#define REG_MTP_DEBUG_SEL_BASE 0x40012024
|
|
#define REG_MTP_VDDH_EN_BASE 0x40012028
|
|
#define REG_MTP_VDDH_RDY_BASE 0x4001202C
|
|
#define REG_MTP_SLEEP_REQ_ST_BASE 0x40012030
|
|
#define REG_MTP_FSM_BASE 0x40012034
|
|
#define REG_MTP_ECC_BASE 0x40012038
|
|
#define REG_MTP_TRIM_BASE 0x4001204C
|
|
//-----------------------------------------------------------------------------
|
|
// declaration
|
|
#define REG_MTP_TEST_MODE ((REG_mtp_test_mode_TypeDef *) REG_MTP_TEST_MODE_BASE )
|
|
#define REG_MTP_DEEP_SLEEP ((REG_mtp_deep_sleep_TypeDef *) REG_MTP_DEEP_SLEEP_BASE )
|
|
#define REG_MTP_PIN0 ((REG_mtp_pin0_TypeDef *) REG_MTP_PIN0_BASE )
|
|
#define REG_MTP_PIN1 ((REG_mtp_pin1_TypeDef *) REG_MTP_PIN1_BASE )
|
|
#define REG_MTP_PIN2 ((REG_mtp_pin2_TypeDef *) REG_MTP_PIN2_BASE )
|
|
#define REG_MTP_PIN_PDIN ((REG_mtp_pin_pdin_TypeDef *) REG_MTP_PIN_PDIN_BASE )
|
|
#define REG_MTP_PIN_PDOUT ((REG_mtp_pin_pdout_TypeDef *) REG_MTP_PIN_PDOUT_BASE )
|
|
#define REG_MTP_READ_DISABLE ((REG_mtp_read_disable_TypeDef *) REG_MTP_READ_DISABLE_BASE )
|
|
#define REG_MTP_DEBUG_SEL ((REG_mtp_debug_sel_TypeDef *) REG_MTP_DEBUG_SEL_BASE )
|
|
#define REG_MTP_VDDH_EN ((REG_mtp_vddh_en_TypeDef *) REG_MTP_VDDH_EN_BASE )
|
|
#define REG_MTP_VDDH_RDY ((REG_mtp_vddh_rdy_TypeDef *) REG_MTP_VDDH_RDY_BASE )
|
|
#define REG_MTP_SLEEP_REQ_ST ((REG_mtp_sleep_req_st_TypeDef *) REG_MTP_SLEEP_REQ_ST_BASE )
|
|
#define REG_MTP_FSM ((REG_mtp_fsm_TypeDef *) REG_MTP_FSM_BASE )
|
|
#define REG_MTP_ECC ((REG_mtp_ecc_TypeDef *) REG_MTP_ECC_BASE )
|
|
#define REG_MTP_TRIM ((REG_mtp_trim_TypeDef *) REG_MTP_TRIM_BASE )
|
|
//-----------------------------------------------------------------------------
|
|
// set
|
|
#define REG_MTP_TEST_MODE_EN_POS 0
|
|
#define REG_MTP_TEST_MODE_EN_MSK (0x1ul << REG_MTP_TEST_MODE_EN_POS)
|
|
#define REG_MTP_TEST_MODE_EN_SET(num) (((num) << REG_MTP_TEST_MODE_EN_POS ) & REG_MTP_TEST_MODE_EN_MSK)
|
|
|
|
#define REG_MTP_DEEP_SLEEP_TAP_POS 0
|
|
#define REG_MTP_DEEP_SLEEP_TAP_MSK (0x7ul << REG_MTP_DEEP_SLEEP_TAP_POS)
|
|
#define REG_MTP_DEEP_SLEEP_TAP_SET(num) (((num) << REG_MTP_DEEP_SLEEP_TAP_POS ) & REG_MTP_DEEP_SLEEP_TAP_MSK)
|
|
|
|
#define REG_MTP_DEEP_SLEEP_TPA_POS 3
|
|
#define REG_MTP_DEEP_SLEEP_TPA_MSK (0x1Ful << REG_MTP_DEEP_SLEEP_TPA_POS)
|
|
#define REG_MTP_DEEP_SLEEP_TPA_SET(num) (((num) << REG_MTP_DEEP_SLEEP_TPA_POS ) & REG_MTP_DEEP_SLEEP_TPA_MSK)
|
|
|
|
#define REG_MTP_PIN0_AD_POS 0
|
|
#define REG_MTP_PIN0_AD_MSK (0xFFFul << REG_MTP_PIN0_AD_POS)
|
|
#define REG_MTP_PIN0_AD_SET(num) (((num) << REG_MTP_PIN0_AD_POS ) & REG_MTP_PIN0_AD_MSK)
|
|
|
|
#define REG_MTP_PIN0_BKS_POS 16
|
|
#define REG_MTP_PIN0_BKS_MSK (0x1ul << REG_MTP_PIN0_BKS_POS)
|
|
#define REG_MTP_PIN0_BKS_SET(num) (((num) << REG_MTP_PIN0_BKS_POS ) & REG_MTP_PIN0_BKS_MSK)
|
|
|
|
#define REG_MTP_PIN0_RE_POS 17
|
|
#define REG_MTP_PIN0_RE_MSK (0x1ul << REG_MTP_PIN0_RE_POS)
|
|
#define REG_MTP_PIN0_RE_SET(num) (((num) << REG_MTP_PIN0_RE_POS ) & REG_MTP_PIN0_RE_MSK)
|
|
|
|
#define REG_MTP_PIN0_PG_POS 18
|
|
#define REG_MTP_PIN0_PG_MSK (0x1ul << REG_MTP_PIN0_PG_POS)
|
|
#define REG_MTP_PIN0_PG_SET(num) (((num) << REG_MTP_PIN0_PG_POS ) & REG_MTP_PIN0_PG_MSK)
|
|
|
|
#define REG_MTP_PIN0_ER_POS 19
|
|
#define REG_MTP_PIN0_ER_MSK (0x1ul << REG_MTP_PIN0_ER_POS)
|
|
#define REG_MTP_PIN0_ER_SET(num) (((num) << REG_MTP_PIN0_ER_POS ) & REG_MTP_PIN0_ER_MSK)
|
|
|
|
#define REG_MTP_PIN0_PER_POS 20
|
|
#define REG_MTP_PIN0_PER_MSK (0x1ul << REG_MTP_PIN0_PER_POS)
|
|
#define REG_MTP_PIN0_PER_SET(num) (((num) << REG_MTP_PIN0_PER_POS ) & REG_MTP_PIN0_PER_MSK)
|
|
|
|
#define REG_MTP_PIN0_CER_POS 21
|
|
#define REG_MTP_PIN0_CER_MSK (0x1ul << REG_MTP_PIN0_CER_POS)
|
|
#define REG_MTP_PIN0_CER_SET(num) (((num) << REG_MTP_PIN0_CER_POS ) & REG_MTP_PIN0_CER_MSK)
|
|
|
|
#define REG_MTP_PIN0_PGH_POS 22
|
|
#define REG_MTP_PIN0_PGH_MSK (0x1ul << REG_MTP_PIN0_PGH_POS)
|
|
#define REG_MTP_PIN0_PGH_SET(num) (((num) << REG_MTP_PIN0_PGH_POS ) & REG_MTP_PIN0_PGH_MSK)
|
|
|
|
#define REG_MTP_PIN0_PEP_POS 23
|
|
#define REG_MTP_PIN0_PEP_MSK (0x1ul << REG_MTP_PIN0_PEP_POS)
|
|
#define REG_MTP_PIN0_PEP_SET(num) (((num) << REG_MTP_PIN0_PEP_POS ) & REG_MTP_PIN0_PEP_MSK)
|
|
|
|
#define REG_MTP_PIN0_PG_MODE_POS 24
|
|
#define REG_MTP_PIN0_PG_MODE_MSK (0x1ul << REG_MTP_PIN0_PG_MODE_POS)
|
|
#define REG_MTP_PIN0_PG_MODE_SET(num) (((num) << REG_MTP_PIN0_PG_MODE_POS ) & REG_MTP_PIN0_PG_MODE_MSK)
|
|
|
|
#define REG_MTP_PIN0_TRF_POS 25
|
|
#define REG_MTP_PIN0_TRF_MSK (0x1ul << REG_MTP_PIN0_TRF_POS)
|
|
#define REG_MTP_PIN0_TRF_SET(num) (((num) << REG_MTP_PIN0_TRF_POS ) & REG_MTP_PIN0_TRF_MSK)
|
|
|
|
#define REG_MTP_PIN0_PDN_POS 26
|
|
#define REG_MTP_PIN0_PDN_MSK (0x1ul << REG_MTP_PIN0_PDN_POS)
|
|
#define REG_MTP_PIN0_PDN_SET(num) (((num) << REG_MTP_PIN0_PDN_POS ) & REG_MTP_PIN0_PDN_MSK)
|
|
|
|
#define REG_MTP_PIN0_RE_MODE_POS 27
|
|
#define REG_MTP_PIN0_RE_MODE_MSK (0x1ul << REG_MTP_PIN0_RE_MODE_POS)
|
|
#define REG_MTP_PIN0_RE_MODE_SET(num) (((num) << REG_MTP_PIN0_RE_MODE_POS ) & REG_MTP_PIN0_RE_MODE_MSK)
|
|
|
|
#define REG_MTP_PIN1_LCKN_POS 0
|
|
#define REG_MTP_PIN1_LCKN_MSK (0x1ul << REG_MTP_PIN1_LCKN_POS)
|
|
#define REG_MTP_PIN1_LCKN_SET(num) (((num) << REG_MTP_PIN1_LCKN_POS ) & REG_MTP_PIN1_LCKN_MSK)
|
|
|
|
#define REG_MTP_PIN1_LOCKSN_POS 1
|
|
#define REG_MTP_PIN1_LOCKSN_MSK (0x1ul << REG_MTP_PIN1_LOCKSN_POS)
|
|
#define REG_MTP_PIN1_LOCKSN_SET(num) (((num) << REG_MTP_PIN1_LOCKSN_POS ) & REG_MTP_PIN1_LOCKSN_MSK)
|
|
|
|
#define REG_MTP_PIN1_TRIM_POS 2
|
|
#define REG_MTP_PIN1_TRIM_MSK (0x3ul << REG_MTP_PIN1_TRIM_POS)
|
|
#define REG_MTP_PIN1_TRIM_SET(num) (((num) << REG_MTP_PIN1_TRIM_POS ) & REG_MTP_PIN1_TRIM_MSK)
|
|
|
|
#define REG_MTP_PIN1_VRDCG_SEL_POS 4
|
|
#define REG_MTP_PIN1_VRDCG_SEL_MSK (0x1ul << REG_MTP_PIN1_VRDCG_SEL_POS)
|
|
#define REG_MTP_PIN1_VRDCG_SEL_SET(num) (((num) << REG_MTP_PIN1_VRDCG_SEL_POS ) & REG_MTP_PIN1_VRDCG_SEL_MSK)
|
|
|
|
#define REG_MTP_PIN1_MARRD_POS 5
|
|
#define REG_MTP_PIN1_MARRD_MSK (0x3ul << REG_MTP_PIN1_MARRD_POS)
|
|
#define REG_MTP_PIN1_MARRD_SET(num) (((num) << REG_MTP_PIN1_MARRD_POS ) & REG_MTP_PIN1_MARRD_MSK)
|
|
|
|
#define REG_MTP_PIN1_ECCON_POS 13
|
|
#define REG_MTP_PIN1_ECCON_MSK (0x1ul << REG_MTP_PIN1_ECCON_POS)
|
|
#define REG_MTP_PIN1_ECCON_SET(num) (((num) << REG_MTP_PIN1_ECCON_POS ) & REG_MTP_PIN1_ECCON_MSK)
|
|
|
|
#define REG_MTP_PIN1_VBB_SEL_POS 14
|
|
#define REG_MTP_PIN1_VBB_SEL_MSK (0x3ul << REG_MTP_PIN1_VBB_SEL_POS)
|
|
#define REG_MTP_PIN1_VBB_SEL_SET(num) (((num) << REG_MTP_PIN1_VBB_SEL_POS ) & REG_MTP_PIN1_VBB_SEL_MSK)
|
|
|
|
#define REG_MTP_PIN1_DIN_PARITY_POS 16
|
|
#define REG_MTP_PIN1_DIN_PARITY_MSK (0xFFul << REG_MTP_PIN1_DIN_PARITY_POS)
|
|
#define REG_MTP_PIN1_DIN_PARITY_SET(num) (((num) << REG_MTP_PIN1_DIN_PARITY_POS ) & REG_MTP_PIN1_DIN_PARITY_MSK)
|
|
|
|
#define REG_MTP_PIN2_ICELL_POS 0
|
|
#define REG_MTP_PIN2_ICELL_MSK (0x1ul << REG_MTP_PIN2_ICELL_POS)
|
|
#define REG_MTP_PIN2_ICELL_SET(num) (((num) << REG_MTP_PIN2_ICELL_POS ) & REG_MTP_PIN2_ICELL_MSK)
|
|
|
|
#define REG_MTP_PIN2_ICELL_AD_POS 1
|
|
#define REG_MTP_PIN2_ICELL_AD_MSK (0x3Ful << REG_MTP_PIN2_ICELL_AD_POS)
|
|
#define REG_MTP_PIN2_ICELL_AD_SET(num) (((num) << REG_MTP_PIN2_ICELL_AD_POS ) & REG_MTP_PIN2_ICELL_AD_MSK)
|
|
|
|
#define REG_MTP_PIN2_STRESS_ER_POS 7
|
|
#define REG_MTP_PIN2_STRESS_ER_MSK (0x1ul << REG_MTP_PIN2_STRESS_ER_POS)
|
|
#define REG_MTP_PIN2_STRESS_ER_SET(num) (((num) << REG_MTP_PIN2_STRESS_ER_POS ) & REG_MTP_PIN2_STRESS_ER_MSK)
|
|
|
|
#define REG_MTP_PIN2_EN_EXBGR_POS 8
|
|
#define REG_MTP_PIN2_EN_EXBGR_MSK (0x1ul << REG_MTP_PIN2_EN_EXBGR_POS)
|
|
#define REG_MTP_PIN2_EN_EXBGR_SET(num) (((num) << REG_MTP_PIN2_EN_EXBGR_POS ) & REG_MTP_PIN2_EN_EXBGR_MSK)
|
|
|
|
#define REG_MTP_PIN2_EN_VBG_TEST_POS 9
|
|
#define REG_MTP_PIN2_EN_VBG_TEST_MSK (0x1ul << REG_MTP_PIN2_EN_VBG_TEST_POS)
|
|
#define REG_MTP_PIN2_EN_VBG_TEST_SET(num) (((num) << REG_MTP_PIN2_EN_VBG_TEST_POS ) & REG_MTP_PIN2_EN_VBG_TEST_MSK)
|
|
|
|
#define REG_MTP_PIN_PDIN_POS 0
|
|
#define REG_MTP_PIN_PDIN_MSK (0xFFFFFFFFul << REG_MTP_PIN_PDIN_POS)
|
|
#define REG_MTP_PIN_PDIN_SET(num) (((num) << REG_MTP_PIN_PDIN_POS ) & REG_MTP_PIN_PDIN_MSK)
|
|
|
|
#define REG_MTP_READ_DISABLE_DATA_POS 0
|
|
#define REG_MTP_READ_DISABLE_DATA_MSK (0x1ul << REG_MTP_READ_DISABLE_DATA_POS)
|
|
#define REG_MTP_READ_DISABLE_DATA_SET(num) (((num) << REG_MTP_READ_DISABLE_DATA_POS ) & REG_MTP_READ_DISABLE_DATA_MSK)
|
|
|
|
#define REG_MTP_DEBUG_SEL_POS 0
|
|
#define REG_MTP_DEBUG_SEL_MSK (0x3ul << REG_MTP_DEBUG_SEL_POS)
|
|
#define REG_MTP_DEBUG_SEL_SET(num) (((num) << REG_MTP_DEBUG_SEL_POS ) & REG_MTP_DEBUG_SEL_MSK)
|
|
|
|
#define REG_MTP_VDDH_EN_POS 0
|
|
#define REG_MTP_VDDH_EN_MSK (0x1ul << REG_MTP_VDDH_EN_POS)
|
|
#define REG_MTP_VDDH_EN_SET(num) (((num) << REG_MTP_VDDH_EN_POS ) & REG_MTP_VDDH_EN_MSK)
|
|
|
|
#endif /*__MTP_DEFINE_H__*/
|
|
|