From 5012782237a21c054dac37e63966749999c60c06 Mon Sep 17 00:00:00 2001 From: hexkyz Date: Sat, 28 Nov 2020 21:09:21 +0000 Subject: [PATCH] fusee: implement mariko sdram params saving --- fusee/fusee-mtc/src/pmc.h | 1185 ++++++++-------- fusee/fusee-primary/src/hwinit.c | 23 +- fusee/fusee-primary/src/pmc.h | 1185 ++++++++-------- fusee/fusee-primary/src/sdram.c | 1265 ++++++++++++++++-- fusee/fusee-secondary/src/pmc.h | 1185 ++++++++-------- sept/sept-primary/src/pmc.h | 1185 ++++++++-------- sept/sept-secondary/key_derivation/src/pmc.h | 1185 ++++++++-------- sept/sept-secondary/src/hwinit.c | 23 +- sept/sept-secondary/src/pmc.h | 1185 ++++++++-------- sept/sept-secondary/src/sdram.c | 1265 ++++++++++++++++-- 10 files changed, 6218 insertions(+), 3468 deletions(-) diff --git a/fusee/fusee-mtc/src/pmc.h b/fusee/fusee-mtc/src/pmc.h index 6fc009ff6..a287d85e7 100644 --- a/fusee/fusee-mtc/src/pmc.h +++ b/fusee/fusee-mtc/src/pmc.h @@ -66,556 +66,643 @@ #define APBDEV_PMC_SCRATCH33_0 MAKE_PMC_REG(0x120) #define APBDEV_PMC_SCRATCH40_0 MAKE_PMC_REG(0x13C) +/* Power Management Controller (APBDEV_PMC_) regs */ typedef struct { - uint32_t cntrl; - uint32_t sec_disable; - uint32_t pmc_swrst; - uint32_t wake_mask; - uint32_t wake_lvl; - uint32_t wake_status; - uint32_t sw_wake_status; - uint32_t dpd_pads_oride; - uint32_t dpd_sample; - uint32_t dpd_enable; - uint32_t pwrgate_timer_off; - uint32_t clamp_status; - uint32_t pwrgate_toggle; - uint32_t remove_clamping; - uint32_t pwrgate_status; - uint32_t pwrgood_timer; - uint32_t blink_timer; - uint32_t no_iopower; - uint32_t pwr_det; - uint32_t pwr_det_latch; - uint32_t scratch0; - uint32_t scratch1; - uint32_t scratch2; - uint32_t scratch3; - uint32_t scratch4; - uint32_t scratch5; - uint32_t scratch6; - uint32_t scratch7; - uint32_t scratch8; - uint32_t scratch9; - uint32_t scratch10; - uint32_t scratch11; - uint32_t scratch12; - uint32_t scratch13; - uint32_t scratch14; - uint32_t scratch15; - uint32_t scratch16; - uint32_t scratch17; - uint32_t scratch18; - uint32_t scratch19; - uint32_t scratch20; - uint32_t scratch21; - uint32_t scratch22; - uint32_t scratch23; - uint32_t secure_scratch0; - uint32_t secure_scratch1; - uint32_t secure_scratch2; - uint32_t secure_scratch3; - uint32_t secure_scratch4; - uint32_t secure_scratch5; - uint32_t cpupwrgood_timer; - uint32_t cpupwroff_timer; - uint32_t pg_mask; - uint32_t pg_mask_1; - uint32_t auto_wake_lvl; - uint32_t auto_wake_lvl_mask; - uint32_t wake_delay; - uint32_t pwr_det_val; - uint32_t ddr_pwr; - uint32_t usb_debounce_del; - uint32_t usb_ao; - uint32_t crypto_op; - uint32_t pllp_wb0_override; - uint32_t scratch24; - uint32_t scratch25; - uint32_t scratch26; - uint32_t scratch27; - uint32_t scratch28; - uint32_t scratch29; - uint32_t scratch30; - uint32_t scratch31; - uint32_t scratch32; - uint32_t scratch33; - uint32_t scratch34; - uint32_t scratch35; - uint32_t scratch36; - uint32_t scratch37; - uint32_t scratch38; - uint32_t scratch39; - uint32_t scratch40; - uint32_t scratch41; - uint32_t scratch42; - uint32_t bo_mirror0; - uint32_t bo_mirror1; - uint32_t bo_mirror2; - uint32_t sys_33v_en; - uint32_t bo_mirror_access; - uint32_t gate; - uint32_t wake2_mask; - uint32_t wake2_lvl; - uint32_t wake2_stat; - uint32_t sw_wake2_stat; - uint32_t auto_wake2_lvl_mask; - uint32_t pg_mask2; - uint32_t pg_mask_ce1; - uint32_t pg_mask_ce2; - uint32_t pg_mask_ce3; - uint32_t pwrgate_timer_ce0; - uint32_t pwrgate_timer_ce1; - uint32_t pwrgate_timer_ce2; - uint32_t pwrgate_timer_ce3; - uint32_t pwrgate_timer_ce4; - uint32_t pwrgate_timer_ce5; - uint32_t pwrgate_timer_ce6; - uint32_t pcx_edpd_cntrl; - uint32_t osc_edpd_over; - uint32_t clk_out_cntrl; - uint32_t sata_pwrgate; - uint32_t sensor_ctrl; - uint32_t reset_status; - uint32_t io_dpd_req; - uint32_t io_dpd_stat; - uint32_t io_dpd2_req; - uint32_t io_dpd2_stat; - uint32_t sel_dpd_tim; - uint32_t vddp_sel; - uint32_t ddr_cfg; - uint32_t e_no_vttgen; - uint32_t _reserved0; - uint32_t pllm_wb0_ovrride_frq; - uint32_t test_pwrgate; - uint32_t pwrgate_timer_mult; - uint32_t dsi_sel_dpd; - uint32_t utmip_uhsic_triggers; - uint32_t utmip_uhsic_saved_st; - uint32_t utmip_pad_cfg; - uint32_t utmip_term_pad_cfg; - uint32_t utmip_uhsic_sleep_cfg; - uint32_t utmip_uhsic_sleepwalk_cfg; - uint32_t utmip_sleepwalk_p[3]; - uint32_t uhsic_sleepwalk_p0; - uint32_t utmip_uhsic_status; - uint32_t utmip_uhsic_fake; - uint32_t bo_mirror3[2]; - uint32_t secure_scratch6; - uint32_t secure_scratch7; - uint32_t scratch43; - uint32_t scratch44; - uint32_t scratch45; - uint32_t scratch46; - uint32_t scratch47; - uint32_t scratch48; - uint32_t scratch49; - uint32_t scratch50; - uint32_t scratch51; - uint32_t scratch52; - uint32_t scratch53; - uint32_t scratch54; - uint32_t scratch55; - uint32_t scratch0_eco; - uint32_t por_dpd_ctrl; - uint32_t scratch2_eco; - uint32_t utmip_uhsic_line_wakeup; - uint32_t utmip_bias_master_cntrl; - uint32_t utmip_master_config; - uint32_t td_pwrgate_inter_part_timer; - uint32_t utmip_uhsic2_triggers; - uint32_t utmip_uhsic2_saved_state; - uint32_t utmip_uhsic2_sleep_cfg; - uint32_t utmip_uhsic2_sleepwalk_cfg; - uint32_t uhsic2_sleepwalk_p1; - uint32_t utmip_uhsic2_status; - uint32_t utmip_uhsic2_fake; - uint32_t utmip_uhsic2_line_wakeup; - uint32_t utmip_master2_config; - uint32_t utmip_uhsic_rpd_cfg; - uint32_t pg_mask_ce0; - uint32_t pg_mask3[2]; - uint32_t pllm_wb0_override2; - uint32_t tsc_mult; - uint32_t cpu_vsense_override; - uint32_t glb_amap_cfg; - uint32_t sticky_bits; - uint32_t sec_disable2; - uint32_t weak_bias; - uint32_t reg_short; - uint32_t pg_mask_andor; - uint32_t _reserved1[11]; - uint32_t secure_scratch8; - uint32_t secure_scratch9; - uint32_t secure_scratch10; - uint32_t secure_scratch11; - uint32_t secure_scratch12; - uint32_t secure_scratch13; - uint32_t secure_scratch14; - uint32_t secure_scratch15; - uint32_t secure_scratch16; - uint32_t secure_scratch17; - uint32_t secure_scratch18; - uint32_t secure_scratch19; - uint32_t secure_scratch20; - uint32_t secure_scratch21; - uint32_t secure_scratch22; - uint32_t secure_scratch23; - uint32_t secure_scratch24; - uint32_t secure_scratch25; - uint32_t secure_scratch26; - uint32_t secure_scratch27; - uint32_t secure_scratch28; - uint32_t secure_scratch29; - uint32_t secure_scratch30; - uint32_t secure_scratch31; - uint32_t secure_scratch32; - uint32_t secure_scratch33; - uint32_t secure_scratch34; - uint32_t secure_scratch35; - uint32_t secure_scratch36; - uint32_t secure_scratch37; - uint32_t secure_scratch38; - uint32_t secure_scratch39; - uint32_t secure_scratch40; - uint32_t secure_scratch41; - uint32_t secure_scratch42; - uint32_t secure_scratch43; - uint32_t secure_scratch44; - uint32_t secure_scratch45; - uint32_t secure_scratch46; - uint32_t secure_scratch47; - uint32_t secure_scratch48; - uint32_t secure_scratch49; - uint32_t secure_scratch50; - uint32_t secure_scratch51; - uint32_t secure_scratch52; - uint32_t secure_scratch53; - uint32_t secure_scratch54; - uint32_t secure_scratch55; - uint32_t secure_scratch56; - uint32_t secure_scratch57; - uint32_t secure_scratch58; - uint32_t secure_scratch59; - uint32_t secure_scratch60; - uint32_t secure_scratch61; - uint32_t secure_scratch62; - uint32_t secure_scratch63; - uint32_t secure_scratch64; - uint32_t secure_scratch65; - uint32_t secure_scratch66; - uint32_t secure_scratch67; - uint32_t secure_scratch68; - uint32_t secure_scratch69; - uint32_t secure_scratch70; - uint32_t secure_scratch71; - uint32_t secure_scratch72; - uint32_t secure_scratch73; - uint32_t secure_scratch74; - uint32_t secure_scratch75; - uint32_t secure_scratch76; - uint32_t secure_scratch77; - uint32_t secure_scratch78; - uint32_t secure_scratch79; - uint32_t _reserved2[8]; - uint32_t cntrl2; - uint32_t _reserved3[2]; - uint32_t event_counter; - uint32_t fuse_control; - uint32_t scratch1_eco; - uint32_t _reserved4; - uint32_t io_dpd3_req; - uint32_t io_dpd3_status; - uint32_t io_dpd4_req; - uint32_t io_dpd4_status; - uint32_t _reserved5[30]; - uint32_t ddr_cntrl; - uint32_t _reserved6[70]; - uint32_t scratch56; - uint32_t scratch57; - uint32_t scratch58; - uint32_t scratch59; - uint32_t scratch60; - uint32_t scratch61; - uint32_t scratch62; - uint32_t scratch63; - uint32_t scratch64; - uint32_t scratch65; - uint32_t scratch66; - uint32_t scratch67; - uint32_t scratch68; - uint32_t scratch69; - uint32_t scratch70; - uint32_t scratch71; - uint32_t scratch72; - uint32_t scratch73; - uint32_t scratch74; - uint32_t scratch75; - uint32_t scratch76; - uint32_t scratch77; - uint32_t scratch78; - uint32_t scratch79; - uint32_t scratch80; - uint32_t scratch81; - uint32_t scratch82; - uint32_t scratch83; - uint32_t scratch84; - uint32_t scratch85; - uint32_t scratch86; - uint32_t scratch87; - uint32_t scratch88; - uint32_t scratch89; - uint32_t scratch90; - uint32_t scratch91; - uint32_t scratch92; - uint32_t scratch93; - uint32_t scratch94; - uint32_t scratch95; - uint32_t scratch96; - uint32_t scratch97; - uint32_t scratch98; - uint32_t scratch99; - uint32_t scratch100; - uint32_t scratch101; - uint32_t scratch102; - uint32_t scratch103; - uint32_t scratch104; - uint32_t scratch105; - uint32_t scratch106; - uint32_t scratch107; - uint32_t scratch108; - uint32_t scratch109; - uint32_t scratch110; - uint32_t scratch111; - uint32_t scratch112; - uint32_t scratch113; - uint32_t scratch114; - uint32_t scratch115; - uint32_t scratch116; - uint32_t scratch117; - uint32_t scratch118; - uint32_t scratch119; - uint32_t scratch120; - uint32_t scratch121; - uint32_t scratch122; - uint32_t scratch123; - uint32_t scratch124; - uint32_t scratch125; - uint32_t scratch126; - uint32_t scratch127; - uint32_t scratch128; - uint32_t scratch129; - uint32_t scratch130; - uint32_t scratch131; - uint32_t scratch132; - uint32_t scratch133; - uint32_t scratch134; - uint32_t scratch135; - uint32_t scratch136; - uint32_t scratch137; - uint32_t scratch138; - uint32_t scratch139; - uint32_t scratch140; - uint32_t scratch141; - uint32_t scratch142; - uint32_t scratch143; - uint32_t scratch144; - uint32_t scratch145; - uint32_t scratch146; - uint32_t scratch147; - uint32_t scratch148; - uint32_t scratch149; - uint32_t scratch150; - uint32_t scratch151; - uint32_t scratch152; - uint32_t scratch153; - uint32_t scratch154; - uint32_t scratch155; - uint32_t scratch156; - uint32_t scratch157; - uint32_t scratch158; - uint32_t scratch159; - uint32_t scratch160; - uint32_t scratch161; - uint32_t scratch162; - uint32_t scratch163; - uint32_t scratch164; - uint32_t scratch165; - uint32_t scratch166; - uint32_t scratch167; - uint32_t scratch168; - uint32_t scratch169; - uint32_t scratch170; - uint32_t scratch171; - uint32_t scratch172; - uint32_t scratch173; - uint32_t scratch174; - uint32_t scratch175; - uint32_t scratch176; - uint32_t scratch177; - uint32_t scratch178; - uint32_t scratch179; - uint32_t scratch180; - uint32_t scratch181; - uint32_t scratch182; - uint32_t scratch183; - uint32_t scratch184; - uint32_t scratch185; - uint32_t scratch186; - uint32_t scratch187; - uint32_t scratch188; - uint32_t scratch189; - uint32_t scratch190; - uint32_t scratch191; - uint32_t scratch192; - uint32_t scratch193; - uint32_t scratch194; - uint32_t scratch195; - uint32_t scratch196; - uint32_t scratch197; - uint32_t scratch198; - uint32_t scratch199; - uint32_t scratch200; - uint32_t scratch201; - uint32_t scratch202; - uint32_t scratch203; - uint32_t scratch204; - uint32_t scratch205; - uint32_t scratch206; - uint32_t scratch207; - uint32_t scratch208; - uint32_t scratch209; - uint32_t scratch210; - uint32_t scratch211; - uint32_t scratch212; - uint32_t scratch213; - uint32_t scratch214; - uint32_t scratch215; - uint32_t scratch216; - uint32_t scratch217; - uint32_t scratch218; - uint32_t scratch219; - uint32_t scratch220; - uint32_t scratch221; - uint32_t scratch222; - uint32_t scratch223; - uint32_t scratch224; - uint32_t scratch225; - uint32_t scratch226; - uint32_t scratch227; - uint32_t scratch228; - uint32_t scratch229; - uint32_t scratch230; - uint32_t scratch231; - uint32_t scratch232; - uint32_t scratch233; - uint32_t scratch234; - uint32_t scratch235; - uint32_t scratch236; - uint32_t scratch237; - uint32_t scratch238; - uint32_t scratch239; - uint32_t scratch240; - uint32_t scratch241; - uint32_t scratch242; - uint32_t scratch243; - uint32_t scratch244; - uint32_t scratch245; - uint32_t scratch246; - uint32_t scratch247; - uint32_t scratch248; - uint32_t scratch249; - uint32_t scratch250; - uint32_t scratch251; - uint32_t scratch252; - uint32_t scratch253; - uint32_t scratch254; - uint32_t scratch255; - uint32_t scratch256; - uint32_t scratch257; - uint32_t scratch258; - uint32_t scratch259; - uint32_t scratch260; - uint32_t scratch261; - uint32_t scratch262; - uint32_t scratch263; - uint32_t scratch264; - uint32_t scratch265; - uint32_t scratch266; - uint32_t scratch267; - uint32_t scratch268; - uint32_t scratch269; - uint32_t scratch270; - uint32_t scratch271; - uint32_t scratch272; - uint32_t scratch273; - uint32_t scratch274; - uint32_t scratch275; - uint32_t scratch276; - uint32_t scratch277; - uint32_t scratch278; - uint32_t scratch279; - uint32_t scratch280; - uint32_t scratch281; - uint32_t scratch282; - uint32_t scratch283; - uint32_t scratch284; - uint32_t scratch285; - uint32_t scratch286; - uint32_t scratch287; - uint32_t scratch288; - uint32_t scratch289; - uint32_t scratch290; - uint32_t scratch291; - uint32_t scratch292; - uint32_t scratch293; - uint32_t scratch294; - uint32_t scratch295; - uint32_t scratch296; - uint32_t scratch297; - uint32_t scratch298; - uint32_t scratch299; - uint32_t _reserved7[50]; - uint32_t secure_scratch80; - uint32_t secure_scratch81; - uint32_t secure_scratch82; - uint32_t secure_scratch83; - uint32_t secure_scratch84; - uint32_t secure_scratch85; - uint32_t secure_scratch86; - uint32_t secure_scratch87; - uint32_t secure_scratch88; - uint32_t secure_scratch89; - uint32_t secure_scratch90; - uint32_t secure_scratch91; - uint32_t secure_scratch92; - uint32_t secure_scratch93; - uint32_t secure_scratch94; - uint32_t secure_scratch95; - uint32_t secure_scratch96; - uint32_t secure_scratch97; - uint32_t secure_scratch98; - uint32_t secure_scratch99; - uint32_t secure_scratch100; - uint32_t secure_scratch101; - uint32_t secure_scratch102; - uint32_t secure_scratch103; - uint32_t secure_scratch104; - uint32_t secure_scratch105; - uint32_t secure_scratch106; - uint32_t secure_scratch107; - uint32_t secure_scratch108; - uint32_t secure_scratch109; - uint32_t secure_scratch110; - uint32_t secure_scratch111; - uint32_t secure_scratch112; - uint32_t secure_scratch113; - uint32_t secure_scratch114; - uint32_t secure_scratch115; - uint32_t secure_scratch116; - uint32_t secure_scratch117; - uint32_t secure_scratch118; - uint32_t secure_scratch119; + uint32_t cntrl; /* _CNTRL_0, 0x00 */ + uint32_t sec_disable; /* _SEC_DISABLE_0, 0x04 */ + uint32_t pmc_swrst; /* _PMC_SWRST_0, 0x08 */ + uint32_t wake_mask; /* _WAKE_MASK_0, 0x0c */ + uint32_t wake_lvl; /* _WAKE_LVL_0, 0x10 */ + uint32_t wake_status; /* _WAKE_STATUS_0, 0x14 */ + uint32_t sw_wake_status; /* _SW_WAKE_STATUS_0, 0x18 */ + uint32_t dpd_pads_oride; /* _DPD_PADS_ORIDE_0, 0x1c */ + uint32_t dpd_sample; /* _DPD_SAMPLE_0, 0x20 */ + uint32_t dpd_enable; /* _DPD_ENABLE_0, 0x24 */ + uint32_t pwrgate_timer_off; /* _PWRGATE_TIMER_OFF_0, 0x28 */ + uint32_t clamp_status; /* _CLAMP_STATUS_0, 0x2c */ + uint32_t pwrgate_toggle; /* _PWRGATE_TOGGLE_0, 0x30 */ + uint32_t remove_clamping; /* _REMOVE_CLAMPING_0, 0x34 */ + uint32_t pwrgate_status; /* _PWRGATE_STATUS_0, 0x38 */ + uint32_t pwrgood_timer; /* _PWRGOOD_TIMER_0, 0x3c */ + uint32_t blink_timer; /* _BLINK_TIMER_0, 0x40 */ + uint32_t no_iopower; /* _NO_IOPOWER_0, 0x44 */ + uint32_t pwr_det; /* _PWR_DET_0, 0x48 */ + uint32_t pwr_det_latch; /* _PWR_DET_LATCH_0, 0x4c */ + uint32_t scratch0; /* _SCRATCH0_0, 0x50 */ + uint32_t scratch1; /* _SCRATCH1_0, 0x54 */ + uint32_t scratch2; /* _SCRATCH2_0, 0x58 */ + uint32_t scratch3; /* _SCRATCH3_0, 0x5c */ + uint32_t scratch4; /* _SCRATCH4_0, 0x60 */ + uint32_t scratch5; /* _SCRATCH5_0, 0x64 */ + uint32_t scratch6; /* _SCRATCH6_0, 0x68 */ + uint32_t scratch7; /* _SCRATCH7_0, 0x6c */ + uint32_t scratch8; /* _SCRATCH8_0, 0x70 */ + uint32_t scratch9; /* _SCRATCH9_0, 0x74 */ + uint32_t scratch10; /* _SCRATCH10_0, 0x78 */ + uint32_t scratch11; /* _SCRATCH11_0, 0x7c */ + uint32_t scratch12; /* _SCRATCH12_0, 0x80 */ + uint32_t scratch13; /* _SCRATCH13_0, 0x84 */ + uint32_t scratch14; /* _SCRATCH14_0, 0x88 */ + uint32_t scratch15; /* _SCRATCH15_0, 0x8c */ + uint32_t scratch16; /* _SCRATCH16_0, 0x90 */ + uint32_t scratch17; /* _SCRATCH17_0, 0x94 */ + uint32_t scratch18; /* _SCRATCH18_0, 0x98 */ + uint32_t scratch19; /* _SCRATCH19_0, 0x9c */ + uint32_t scratch20; /* _SCRATCH20_0, 0xa0 */ + uint32_t scratch21; /* _SCRATCH21_0, 0xa4 */ + uint32_t scratch22; /* _SCRATCH22_0, 0xa8 */ + uint32_t scratch23; /* _SCRATCH23_0, 0xac */ + uint32_t secure_scratch0; /* _SECURE_SCRATCH0_0, 0xb0 */ + uint32_t secure_scratch1; /* _SECURE_SCRATCH1_0, 0xb4 */ + uint32_t secure_scratch2; /* _SECURE_SCRATCH2_0, 0xb8 */ + uint32_t secure_scratch3; /* _SECURE_SCRATCH3_0, 0xbc */ + uint32_t secure_scratch4; /* _SECURE_SCRATCH4_0, 0xc0 */ + uint32_t secure_scratch5; /* _SECURE_SCRATCH5_0, 0xc4 */ + uint32_t cpupwrgood_timer; /* _CPUPWRGOOD_TIMER_0, 0xc8 */ + uint32_t cpupwroff_timer; /* _CPUPWROFF_TIMER_0, 0xcc */ + uint32_t pg_mask; /* _PG_MASK_0, 0xd0 */ + uint32_t pg_mask_1; /* _PG_MASK_1_0, 0xd4 */ + uint32_t auto_wake_lvl; /* _AUTO_WAKE_LVL_0, 0xd8 */ + uint32_t auto_wake_lvl_mask; /* _AUTO_WAKE_LVL_MASK_0, 0xdc */ + uint32_t wake_delay; /* _WAKE_DELAY_0, 0xe0 */ + uint32_t pwr_det_val; /* _PWR_DET_VAL_0, 0xe4 */ + uint32_t ddr_pwr; /* _DDR_PWR_0, 0xe8 */ + uint32_t usb_debounce_del; /* _USB_DEBOUNCE_DEL_0, 0xec */ + uint32_t usb_ao; /* _USB_AO_0, 0xf0 */ + uint32_t crypto_op; /* _CRYPTO_OP_0, 0xf4 */ + uint32_t pllp_wb0_override; /* _PLLP_WB0_OVERRIDE_0, 0xf8 */ + uint32_t scratch24; /* _SCRATCH24_0, 0xfc */ + uint32_t scratch25; /* _SCRATCH25_0, 0x100 */ + uint32_t scratch26; /* _SCRATCH26_0, 0x104 */ + uint32_t scratch27; /* _SCRATCH27_0, 0x108 */ + uint32_t scratch28; /* _SCRATCH28_0, 0x10c */ + uint32_t scratch29; /* _SCRATCH29_0, 0x110 */ + uint32_t scratch30; /* _SCRATCH30_0, 0x114 */ + uint32_t scratch31; /* _SCRATCH31_0, 0x118 */ + uint32_t scratch32; /* _SCRATCH32_0, 0x11c */ + uint32_t scratch33; /* _SCRATCH33_0, 0x120 */ + uint32_t scratch34; /* _SCRATCH34_0, 0x124 */ + uint32_t scratch35; /* _SCRATCH35_0, 0x128 */ + uint32_t scratch36; /* _SCRATCH36_0, 0x12c */ + uint32_t scratch37; /* _SCRATCH37_0, 0x130 */ + uint32_t scratch38; /* _SCRATCH38_0, 0x134 */ + uint32_t scratch39; /* _SCRATCH39_0, 0x138 */ + uint32_t scratch40; /* _SCRATCH40_0, 0x13c */ + uint32_t scratch41; /* _SCRATCH41_0, 0x140 */ + uint32_t scratch42; /* _SCRATCH42_0, 0x144 */ + uint32_t bondout_mirror0; /* _BONDOUT_MIRROR0_0, 0x148 */ + uint32_t bondout_mirror1; /* _BONDOUT_MIRROR1_0, 0x14c */ + uint32_t bondout_mirror2; /* _BONDOUT_MIRROR2_0, 0x150 */ + uint32_t sys_33v_en; /* _SYS_33V_EN_0, 0x154 */ + uint32_t bondout_mirror_access; /* _BONDOUT_MIRROR_ACCESS_0, 0x158 */ + uint32_t gate; /* _GATE_0, 0x15c */ + uint32_t wake2_mask; /* _WAKE2_MASK_0, 0x160 */ + uint32_t wake2_lvl; /* _WAKE2_LVL_0, 0x164 */ + uint32_t wake2_status; /* _WAKE2_STATUS_0, 0x168 */ + uint32_t sw_wake2_status; /* _SW_WAKE2_STATUS_0, 0x16c */ + uint32_t auto_wake2_lvl_mask; /* _AUTO_WAKE2_LVL_MASK_0, 0x170 */ + uint32_t pg_mask_2; /* _PG_MASK_2_0, 0x174 */ + uint32_t pg_mask_ce1; /* _PG_MASK_CE1_0, 0x178 */ + uint32_t pg_mask_ce2; /* _PG_MASK_CE2_0, 0x17c */ + uint32_t pg_mask_ce3; /* _PG_MASK_CE3_0, 0x180 */ + uint32_t pwrgate_timer_ce_0; /* _PWRGATE_TIMER_CE_0_0, 0x184 */ + uint32_t pwrgate_timer_ce_1; /* _PWRGATE_TIMER_CE_1_0, 0x188 */ + uint32_t pwrgate_timer_ce_2; /* _PWRGATE_TIMER_CE_2_0, 0x18c */ + uint32_t pwrgate_timer_ce_3; /* _PWRGATE_TIMER_CE_3_0, 0x190 */ + uint32_t pwrgate_timer_ce_4; /* _PWRGATE_TIMER_CE_4_0, 0x194 */ + uint32_t pwrgate_timer_ce_5; /* _PWRGATE_TIMER_CE_5_0, 0x198 */ + uint32_t pwrgate_timer_ce_6; /* _PWRGATE_TIMER_CE_6_0, 0x19c */ + uint32_t pcx_edpd_cntrl; /* _PCX_EDPD_CNTRL_0, 0x1a0 */ + uint32_t osc_edpd_over; /* _OSC_EDPD_OVER_0, 0x1a4 */ + uint32_t clk_out_cntrl; /* _CLK_OUT_CNTRL_0, 0x1a8 */ + uint32_t sata_pwrgt; /* _SATA_PWRGT_0, 0x1ac */ + uint32_t sensor_ctrl; /* _SENSOR_CTRL_0, 0x1b0 */ + uint32_t rst_status; /* _RST_STATUS_0, 0x1b4 */ + uint32_t io_dpd_req; /* _IO_DPD_REQ_0, 0x1b8 */ + uint32_t io_dpd_status; /* _IO_DPD_STATUS_0, 0x1bc */ + uint32_t io_dpd2_req; /* _IO_DPD2_REQ_0, 0x1c0 */ + uint32_t io_dpd2_status; /* _IO_DPD2_STATUS_0, 0x1c4 */ + uint32_t sel_dpd_tim; /* _SEL_DPD_TIM_0, 0x1c8 */ + uint32_t vddp_sel; /* _VDDP_SEL_0, 0x1cc */ + uint32_t ddr_cfg; /* _DDR_CFG_0, 0x1d0 */ + uint32_t _0x1d4[2]; + uint32_t pllm_wb0_override_freq; /* _PLLM_WB0_OVERRIDE_FREQ_0, 0x1dc */ + uint32_t _0x1e0; + uint32_t pwrgate_timer_mult; /* _PWRGATE_TIMER_MULT_0, 0x1e4 */ + uint32_t dsi_sel_dpd; /* _DSI_SEL_DPD_0, 0x1e8 */ + uint32_t utmip_uhsic_triggers; /* _UTMIP_UHSIC_TRIGGERS_0, 0x1ec */ + uint32_t utmip_uhsic_saved_state; /* _UTMIP_UHSIC_SAVED_STATE_0, 0x1f0 */ + uint32_t _0x1f4; + uint32_t utmip_term_pad_cfg; /* _UTMIP_TERM_PAD_CFG_0, 0x1f8 */ + uint32_t utmip_uhsic_sleep_cfg; /* _UTMIP_UHSIC_SLEEP_CFG_0, 0x1fc */ + uint32_t utmip_uhsic_sleepwalk_cfg; /* _UTMIP_UHSIC_SLEEPWALK_CFG_0, 0x200 */ + uint32_t utmip_sleepwalk_p0; /* _UTMIP_SLEEPWALK_P0_0, 0x204 */ + uint32_t utmip_sleepwalk_p1; /* _UTMIP_SLEEPWALK_P1_0, 0x208 */ + uint32_t utmip_sleepwalk_p2; /* _UTMIP_SLEEPWALK_P2_0, 0x20c */ + uint32_t uhsic_sleepwalk_p0; /* _UHSIC_SLEEPWALK_P0_0, 0x210 */ + uint32_t utmip_uhsic_status; /* _UTMIP_UHSIC_STATUS_0, 0x214 */ + uint32_t utmip_uhsic_fake; /* _UTMIP_UHSIC_FAKE_0, 0x218 */ + uint32_t bondout_mirror3; /* _BONDOUT_MIRROR3_0, 0x21c */ + uint32_t bondout_mirror4; /* _BONDOUT_MIRROR4_0, 0x220 */ + uint32_t secure_scratch6; /* _SECURE_SCRATCH6_0, 0x224 */ + uint32_t secure_scratch7; /* _SECURE_SCRATCH7_0, 0x228 */ + uint32_t scratch43; /* _SCRATCH43_0, 0x22c */ + uint32_t scratch44; /* _SCRATCH44_0, 0x230 */ + uint32_t scratch45; /* _SCRATCH45_0, 0x234 */ + uint32_t scratch46; /* _SCRATCH46_0, 0x238 */ + uint32_t scratch47; /* _SCRATCH47_0, 0x23c */ + uint32_t scratch48; /* _SCRATCH48_0, 0x240 */ + uint32_t scratch49; /* _SCRATCH49_0, 0x244 */ + uint32_t scratch50; /* _SCRATCH50_0, 0x248 */ + uint32_t scratch51; /* _SCRATCH51_0, 0x24c */ + uint32_t scratch52; /* _SCRATCH52_0, 0x250 */ + uint32_t scratch53; /* _SCRATCH53_0, 0x254 */ + uint32_t scratch54; /* _SCRATCH54_0, 0x258 */ + uint32_t scratch55; /* _SCRATCH55_0, 0x25c */ + uint32_t scratch0_eco; /* _SCRATCH0_ECO_0, 0x260 */ + uint32_t por_dpd_ctrl; /* _POR_DPD_CTRL_0, 0x264 */ + uint32_t scratch2_eco; /* _SCRATCH2_ECO_0, 0x268 */ + uint32_t utmip_uhsic_line_wakeup; /* _UTMIP_UHSIC_LINE_WAKEUP_0, 0x26c */ + uint32_t utmip_bias_master_cntrl; /* _UTMIP_BIAS_MASTER_CNTRL_0, 0x270 */ + uint32_t utmip_master_config; /* _UTMIP_MASTER_CONFIG_0, 0x274 */ + uint32_t td_pwrgate_inter_part_timer; /* _TD_PWRGATE_INTER_PART_TIMER_0, 0x278 */ + uint32_t utmip_uhsic2_triggers; /* _UTMIP_UHSIC2_TRIGGERS_0, 0x27c */ + uint32_t utmip_uhsic2_saved_state; /* _UTMIP_UHSIC2_SAVED_STATE_0, 0x280 */ + uint32_t utmip_uhsic2_sleep_cfg; /* _UTMIP_UHSIC2_SLEEP_CFG_0, 0x284 */ + uint32_t utmip_uhsic2_sleepwalk_cfg; /* _UTMIP_UHSIC2_SLEEPWALK_CFG_0, 0x288 */ + uint32_t uhsic2_sleepwalk_p1; /* _UHSIC2_SLEEPWALK_P1_0, 0x28c */ + uint32_t utmip_uhsic2_status; /* _UTMIP_UHSIC2_STATUS_0, 0x290 */ + uint32_t utmip_uhsic2_fake; /* _UTMIP_UHSIC2_FAKE_0, 0x294 */ + uint32_t utmip_uhsic2_line_wakeup; /* _UTMIP_UHSIC2_LINE_WAKEUP_0, 0x298 */ + uint32_t utmip_master2_config; /* _UTMIP_MASTER2_CONFIG_0, 0x29c */ + uint32_t utmip_uhsic_rpd_cfg; /* _UTMIP_UHSIC_RPD_CFG_0, 0x2a0 */ + uint32_t pg_mask_ce0; /* _PG_MASK_CE0_0, 0x2a4 */ + uint32_t pg_mask_3; /* _PG_MASK_3_0, 0x2a8 */ + uint32_t pg_mask_4; /* _PG_MASK_4_0, 0x2ac */ + uint32_t pllm_wb0_override2; /* _PLLM_WB0_OVERRIDE2_0, 0x2b0 */ + uint32_t tsc_mult; /* _TSC_MULT_0, 0x2b4 */ + uint32_t cpu_vsense_override; /* _CPU_VSENSE_OVERRIDE_0, 0x2b8 */ + uint32_t glb_amap_cfg; /* _GLB_AMAP_CFG_0, 0x2bc */ + uint32_t sticky_bits; /* _STICKY_BITS_0, 0x2c0 */ + uint32_t sec_disable2; /* _SEC_DISABLE2_0, 0x2c4 */ + uint32_t weak_bias; /* _WEAK_BIAS_0, 0x2c8 */ + uint32_t reg_short; /* _REG_SHORT_0, 0x2cc */ + uint32_t pg_mask_andor; /* _PG_MASK_ANDOR_0, 0x2d0 */ + uint32_t gpu_rg_cntrl; /* _GPU_RG_CNTRL_0, 0x2d4 */ + uint32_t sec_disable3; /* _SEC_DISABLE3_0, 0x2d8 */ + uint32_t pg_mask_5; /* _PG_MASK_5_0, 0x2dc */ + uint32_t pg_mask_6; /* _PG_MASK_6_0, 0x2e0 */ + uint32_t _0x2e4[7]; + uint32_t secure_scratch8; /* _SECURE_SCRATCH8_0, 0x300 */ + uint32_t secure_scratch9; /* _SECURE_SCRATCH9_0, 0x304 */ + uint32_t secure_scratch10; /* _SECURE_SCRATCH10_0, 0x308 */ + uint32_t secure_scratch11; /* _SECURE_SCRATCH11_0, 0x30c */ + uint32_t secure_scratch12; /* _SECURE_SCRATCH12_0, 0x310 */ + uint32_t secure_scratch13; /* _SECURE_SCRATCH13_0, 0x314 */ + uint32_t secure_scratch14; /* _SECURE_SCRATCH14_0, 0x318 */ + uint32_t secure_scratch15; /* _SECURE_SCRATCH15_0, 0x31c */ + uint32_t secure_scratch16; /* _SECURE_SCRATCH16_0, 0x320 */ + uint32_t secure_scratch17; /* _SECURE_SCRATCH17_0, 0x324 */ + uint32_t secure_scratch18; /* _SECURE_SCRATCH18_0, 0x328 */ + uint32_t secure_scratch19; /* _SECURE_SCRATCH19_0, 0x32c */ + uint32_t secure_scratch20; /* _SECURE_SCRATCH20_0, 0x330 */ + uint32_t secure_scratch21; /* _SECURE_SCRATCH21_0, 0x334 */ + uint32_t secure_scratch22; /* _SECURE_SCRATCH22_0, 0x338 */ + uint32_t secure_scratch23; /* _SECURE_SCRATCH23_0, 0x33c */ + uint32_t secure_scratch24; /* _SECURE_SCRATCH24_0, 0x340 */ + uint32_t secure_scratch25; /* _SECURE_SCRATCH25_0, 0x344 */ + uint32_t secure_scratch26; /* _SECURE_SCRATCH26_0, 0x348 */ + uint32_t secure_scratch27; /* _SECURE_SCRATCH27_0, 0x34c */ + uint32_t secure_scratch28; /* _SECURE_SCRATCH28_0, 0x350 */ + uint32_t secure_scratch29; /* _SECURE_SCRATCH29_0, 0x354 */ + uint32_t secure_scratch30; /* _SECURE_SCRATCH30_0, 0x358 */ + uint32_t secure_scratch31; /* _SECURE_SCRATCH31_0, 0x35c */ + uint32_t secure_scratch32; /* _SECURE_SCRATCH32_0, 0x360 */ + uint32_t secure_scratch33; /* _SECURE_SCRATCH33_0, 0x364 */ + uint32_t secure_scratch34; /* _SECURE_SCRATCH34_0, 0x368 */ + uint32_t secure_scratch35; /* _SECURE_SCRATCH35_0, 0x36c */ + uint32_t secure_scratch36; /* _SECURE_SCRATCH36_0, 0x370 */ + uint32_t secure_scratch37; /* _SECURE_SCRATCH37_0, 0x374 */ + uint32_t secure_scratch38; /* _SECURE_SCRATCH38_0, 0x378 */ + uint32_t secure_scratch39; /* _SECURE_SCRATCH39_0, 0x37c */ + uint32_t secure_scratch40; /* _SECURE_SCRATCH40_0, 0x380 */ + uint32_t secure_scratch41; /* _SECURE_SCRATCH41_0, 0x384 */ + uint32_t secure_scratch42; /* _SECURE_SCRATCH42_0, 0x388 */ + uint32_t secure_scratch43; /* _SECURE_SCRATCH43_0, 0x38c */ + uint32_t secure_scratch44; /* _SECURE_SCRATCH44_0, 0x390 */ + uint32_t secure_scratch45; /* _SECURE_SCRATCH45_0, 0x394 */ + uint32_t secure_scratch46; /* _SECURE_SCRATCH46_0, 0x398 */ + uint32_t secure_scratch47; /* _SECURE_SCRATCH47_0, 0x39c */ + uint32_t secure_scratch48; /* _SECURE_SCRATCH48_0, 0x3a0 */ + uint32_t secure_scratch49; /* _SECURE_SCRATCH49_0, 0x3a4 */ + uint32_t secure_scratch50; /* _SECURE_SCRATCH50_0, 0x3a8 */ + uint32_t secure_scratch51; /* _SECURE_SCRATCH51_0, 0x3ac */ + uint32_t secure_scratch52; /* _SECURE_SCRATCH52_0, 0x3b0 */ + uint32_t secure_scratch53; /* _SECURE_SCRATCH53_0, 0x3b4 */ + uint32_t secure_scratch54; /* _SECURE_SCRATCH54_0, 0x3b8 */ + uint32_t secure_scratch55; /* _SECURE_SCRATCH55_0, 0x3bc */ + uint32_t secure_scratch56; /* _SECURE_SCRATCH56_0, 0x3c0 */ + uint32_t secure_scratch57; /* _SECURE_SCRATCH57_0, 0x3c4 */ + uint32_t secure_scratch58; /* _SECURE_SCRATCH58_0, 0x3c8 */ + uint32_t secure_scratch59; /* _SECURE_SCRATCH59_0, 0x3cc */ + uint32_t secure_scratch60; /* _SECURE_SCRATCH60_0, 0x3d0 */ + uint32_t secure_scratch61; /* _SECURE_SCRATCH61_0, 0x3d4 */ + uint32_t secure_scratch62; /* _SECURE_SCRATCH62_0, 0x3d8 */ + uint32_t secure_scratch63; /* _SECURE_SCRATCH63_0, 0x3dc */ + uint32_t secure_scratch64; /* _SECURE_SCRATCH64_0, 0x3e0 */ + uint32_t secure_scratch65; /* _SECURE_SCRATCH65_0, 0x3e4 */ + uint32_t secure_scratch66; /* _SECURE_SCRATCH66_0, 0x3e8 */ + uint32_t secure_scratch67; /* _SECURE_SCRATCH67_0, 0x3ec */ + uint32_t secure_scratch68; /* _SECURE_SCRATCH68_0, 0x3f0 */ + uint32_t secure_scratch69; /* _SECURE_SCRATCH69_0, 0x3f4 */ + uint32_t secure_scratch70; /* _SECURE_SCRATCH70_0, 0x3f8 */ + uint32_t secure_scratch71; /* _SECURE_SCRATCH71_0, 0x3fc */ + uint32_t secure_scratch72; /* _SECURE_SCRATCH72_0, 0x400 */ + uint32_t secure_scratch73; /* _SECURE_SCRATCH73_0, 0x404 */ + uint32_t secure_scratch74; /* _SECURE_SCRATCH74_0, 0x408 */ + uint32_t secure_scratch75; /* _SECURE_SCRATCH75_0, 0x40c */ + uint32_t secure_scratch76; /* _SECURE_SCRATCH76_0, 0x410 */ + uint32_t secure_scratch77; /* _SECURE_SCRATCH77_0, 0x414 */ + uint32_t secure_scratch78; /* _SECURE_SCRATCH78_0, 0x418 */ + uint32_t secure_scratch79; /* _SECURE_SCRATCH79_0, 0x41c */ + uint32_t _0x420[8]; + uint32_t cntrl2; /* _CNTRL2_0, 0x440 */ + uint32_t io_dpd_off_mask; /* _IO_DPD_OFF_MASK_0, 0x444 */ + uint32_t io_dpd2_off_mask; /* _IO_DPD2_OFF_MASK_0, 0x448 */ + uint32_t event_counter; /* _EVENT_COUNTER_0, 0x44c */ + uint32_t fuse_control; /* _FUSE_CONTROL_0, 0x450 */ + uint32_t scratch1_eco; /* _SCRATCH1_ECO_0, 0x454 */ + uint32_t _0x458; + uint32_t io_dpd3_req; /* _IO_DPD3_REQ_0, 0x45c */ + uint32_t io_dpd3_status; /* _IO_DPD3_STATUS_0, 0x460 */ + uint32_t io_dpd4_req; /* _IO_DPD4_REQ_0, 0x464 */ + uint32_t io_dpd4_status; /* _IO_DPD4_STATUS_0, 0x468 */ + uint32_t _0x46c[2]; + uint32_t direct_thermtrip_cfg; /* _DIRECT_THERMTRIP_CFG_0, 0x474 */ + uint32_t tsosc_delay; /* _TSOSC_DELAY_0, 0x478 */ + uint32_t set_sw_clamp; /* _SET_SW_CLAMP_0, 0x47c */ + uint32_t debug_authentication; /* _DEBUG_AUTHENTICATION_0, 0x480 */ + uint32_t aotag_cfg; /* _AOTAG_CFG_0, 0x484 */ + uint32_t aotag_thresh1_cfg; /* _AOTAG_THRESH1_CFG_0, 0x488 */ + uint32_t aotag_thresh2_cfg; /* _AOTAG_THRESH2_CFG_0, 0x48c */ + uint32_t aotag_thresh3_cfg; /* _AOTAG_THRESH3_CFG_0, 0x490 */ + uint32_t aotag_status; /* _AOTAG_STATUS_0, 0x494 */ + uint32_t aotag_security; /* _AOTAG_SECURITY_0, 0x498 */ + uint32_t tsensor_config0; /* _TSENSOR_CONFIG0_0, 0x49c */ + uint32_t tsensor_config1; /* _TSENSOR_CONFIG1_0, 0x4a0 */ + uint32_t tsensor_config2; /* _TSENSOR_CONFIG2_0, 0x4a4 */ + uint32_t tsensor_status0; /* _TSENSOR_STATUS0_0, 0x4a8 */ + uint32_t tsensor_status1; /* _TSENSOR_STATUS1_0, 0x4ac */ + uint32_t tsensor_status2; /* _TSENSOR_STATUS2_0, 0x4b0 */ + uint32_t tsensor_pdiv; /* _TSENSOR_PDIV_0, 0x4b4 */ + uint32_t aotag_intr_en; /* _AOTAG_INTR_EN_0, 0x4b8 */ + uint32_t aotag_intr_dis; /* _AOTAG_INTR_DIS_0, 0x4bc */ + uint32_t utmip_pad_cfg0; /* _UTMIP_PAD_CFG0_0, 0x4c0 */ + uint32_t utmip_pad_cfg1; /* _UTMIP_PAD_CFG1_0, 0x4c4 */ + uint32_t utmip_pad_cfg2; /* _UTMIP_PAD_CFG2_0, 0x4c8 */ + uint32_t utmip_pad_cfg3; /* _UTMIP_PAD_CFG3_0, 0x4cc */ + uint32_t utmip_uhsic_sleep_cfg1; /* _UTMIP_UHSIC_SLEEP_CFG1_0, 0x4d0 */ + uint32_t cc4_hvc_control; /* _CC4_HVC_CONTROL_0, 0x4d4 */ + uint32_t wake_debounce_en; /* _WAKE_DEBOUNCE_EN_0, 0x4d8 */ + uint32_t ramdump_ctl_status; /* _RAMDUMP_CTL_STATUS_0, 0x4dc */ + uint32_t utmip_sleepwalk_p3; /* _UTMIP_SLEEPWALK_P3_0, 0x4e0 */ + uint32_t ddr_cntrl; /* _DDR_CNTRL_0, 0x4e4 */ + uint32_t _0x4e8[50]; + uint32_t sec_disable4; /* _SEC_DISABLE4_0, 0x5b0 */ + uint32_t sec_disable5; /* _SEC_DISABLE5_0, 0x5b4 */ + uint32_t sec_disable6; /* _SEC_DISABLE6_0, 0x5b8 */ + uint32_t sec_disable7; /* _SEC_DISABLE7_0, 0x5bc */ + uint32_t sec_disable8; /* _SEC_DISABLE8_0, 0x5c0 */ + uint32_t sec_disable9; /* _SEC_DISABLE9_0, 0x5c4 */ + uint32_t sec_disable10; /* _SEC_DISABLE10_0, 0x5c8 */ + uint32_t _0x5cc[13]; + uint32_t scratch56; /* _SCRATCH56_0, 0x600 */ + uint32_t scratch57; /* _SCRATCH57_0, 0x604 */ + uint32_t scratch58; /* _SCRATCH58_0, 0x608 */ + uint32_t scratch59; /* _SCRATCH59_0, 0x60c */ + uint32_t scratch60; /* _SCRATCH60_0, 0x610 */ + uint32_t scratch61; /* _SCRATCH61_0, 0x614 */ + uint32_t scratch62; /* _SCRATCH62_0, 0x618 */ + uint32_t scratch63; /* _SCRATCH63_0, 0x61c */ + uint32_t scratch64; /* _SCRATCH64_0, 0x620 */ + uint32_t scratch65; /* _SCRATCH65_0, 0x624 */ + uint32_t scratch66; /* _SCRATCH66_0, 0x628 */ + uint32_t scratch67; /* _SCRATCH67_0, 0x62c */ + uint32_t scratch68; /* _SCRATCH68_0, 0x630 */ + uint32_t scratch69; /* _SCRATCH69_0, 0x634 */ + uint32_t scratch70; /* _SCRATCH70_0, 0x638 */ + uint32_t scratch71; /* _SCRATCH71_0, 0x63c */ + uint32_t scratch72; /* _SCRATCH72_0, 0x640 */ + uint32_t scratch73; /* _SCRATCH73_0, 0x644 */ + uint32_t scratch74; /* _SCRATCH74_0, 0x648 */ + uint32_t scratch75; /* _SCRATCH75_0, 0x64c */ + uint32_t scratch76; /* _SCRATCH76_0, 0x650 */ + uint32_t scratch77; /* _SCRATCH77_0, 0x654 */ + uint32_t scratch78; /* _SCRATCH78_0, 0x658 */ + uint32_t scratch79; /* _SCRATCH79_0, 0x65c */ + uint32_t scratch80; /* _SCRATCH80_0, 0x660 */ + uint32_t scratch81; /* _SCRATCH81_0, 0x664 */ + uint32_t scratch82; /* _SCRATCH82_0, 0x668 */ + uint32_t scratch83; /* _SCRATCH83_0, 0x66c */ + uint32_t scratch84; /* _SCRATCH84_0, 0x670 */ + uint32_t scratch85; /* _SCRATCH85_0, 0x674 */ + uint32_t scratch86; /* _SCRATCH86_0, 0x678 */ + uint32_t scratch87; /* _SCRATCH87_0, 0x67c */ + uint32_t scratch88; /* _SCRATCH88_0, 0x680 */ + uint32_t scratch89; /* _SCRATCH89_0, 0x684 */ + uint32_t scratch90; /* _SCRATCH90_0, 0x688 */ + uint32_t scratch91; /* _SCRATCH91_0, 0x68c */ + uint32_t scratch92; /* _SCRATCH92_0, 0x690 */ + uint32_t scratch93; /* _SCRATCH93_0, 0x694 */ + uint32_t scratch94; /* _SCRATCH94_0, 0x698 */ + uint32_t scratch95; /* _SCRATCH95_0, 0x69c */ + uint32_t scratch96; /* _SCRATCH96_0, 0x6a0 */ + uint32_t scratch97; /* _SCRATCH97_0, 0x6a4 */ + uint32_t scratch98; /* _SCRATCH98_0, 0x6a8 */ + uint32_t scratch99; /* _SCRATCH99_0, 0x6ac */ + uint32_t scratch100; /* _SCRATCH100_0, 0x6b0 */ + uint32_t scratch101; /* _SCRATCH101_0, 0x6b4 */ + uint32_t scratch102; /* _SCRATCH102_0, 0x6b8 */ + uint32_t scratch103; /* _SCRATCH103_0, 0x6bc */ + uint32_t scratch104; /* _SCRATCH104_0, 0x6c0 */ + uint32_t scratch105; /* _SCRATCH105_0, 0x6c4 */ + uint32_t scratch106; /* _SCRATCH106_0, 0x6c8 */ + uint32_t scratch107; /* _SCRATCH107_0, 0x6cc */ + uint32_t scratch108; /* _SCRATCH108_0, 0x6d0 */ + uint32_t scratch109; /* _SCRATCH109_0, 0x6d4 */ + uint32_t scratch110; /* _SCRATCH110_0, 0x6d8 */ + uint32_t scratch111; /* _SCRATCH111_0, 0x6dc */ + uint32_t scratch112; /* _SCRATCH112_0, 0x6e0 */ + uint32_t scratch113; /* _SCRATCH113_0, 0x6e4 */ + uint32_t scratch114; /* _SCRATCH114_0, 0x6e8 */ + uint32_t scratch115; /* _SCRATCH115_0, 0x6ec */ + uint32_t scratch116; /* _SCRATCH116_0, 0x6f0 */ + uint32_t scratch117; /* _SCRATCH117_0, 0x6f4 */ + uint32_t scratch118; /* _SCRATCH118_0, 0x6f8 */ + uint32_t scratch119; /* _SCRATCH119_0, 0x6fc */ + uint32_t scratch120; /* _SCRATCH120_0, 0x700 */ + uint32_t scratch121; /* _SCRATCH121_0, 0x704 */ + uint32_t scratch122; /* _SCRATCH122_0, 0x708 */ + uint32_t scratch123; /* _SCRATCH123_0, 0x70c */ + uint32_t scratch124; /* _SCRATCH124_0, 0x710 */ + uint32_t scratch125; /* _SCRATCH125_0, 0x714 */ + uint32_t scratch126; /* _SCRATCH126_0, 0x718 */ + uint32_t scratch127; /* _SCRATCH127_0, 0x71c */ + uint32_t scratch128; /* _SCRATCH128_0, 0x720 */ + uint32_t scratch129; /* _SCRATCH129_0, 0x724 */ + uint32_t scratch130; /* _SCRATCH130_0, 0x728 */ + uint32_t scratch131; /* _SCRATCH131_0, 0x72c */ + uint32_t scratch132; /* _SCRATCH132_0, 0x730 */ + uint32_t scratch133; /* _SCRATCH133_0, 0x734 */ + uint32_t scratch134; /* _SCRATCH134_0, 0x738 */ + uint32_t scratch135; /* _SCRATCH135_0, 0x73c */ + uint32_t scratch136; /* _SCRATCH136_0, 0x740 */ + uint32_t scratch137; /* _SCRATCH137_0, 0x744 */ + uint32_t scratch138; /* _SCRATCH138_0, 0x748 */ + uint32_t scratch139; /* _SCRATCH139_0, 0x74c */ + uint32_t scratch140; /* _SCRATCH140_0, 0x750 */ + uint32_t scratch141; /* _SCRATCH141_0, 0x754 */ + uint32_t scratch142; /* _SCRATCH142_0, 0x758 */ + uint32_t scratch143; /* _SCRATCH143_0, 0x75c */ + uint32_t scratch144; /* _SCRATCH144_0, 0x760 */ + uint32_t scratch145; /* _SCRATCH145_0, 0x764 */ + uint32_t scratch146; /* _SCRATCH146_0, 0x768 */ + uint32_t scratch147; /* _SCRATCH147_0, 0x76c */ + uint32_t scratch148; /* _SCRATCH148_0, 0x770 */ + uint32_t scratch149; /* _SCRATCH149_0, 0x774 */ + uint32_t scratch150; /* _SCRATCH150_0, 0x778 */ + uint32_t scratch151; /* _SCRATCH151_0, 0x77c */ + uint32_t scratch152; /* _SCRATCH152_0, 0x780 */ + uint32_t scratch153; /* _SCRATCH153_0, 0x784 */ + uint32_t scratch154; /* _SCRATCH154_0, 0x788 */ + uint32_t scratch155; /* _SCRATCH155_0, 0x78c */ + uint32_t scratch156; /* _SCRATCH156_0, 0x790 */ + uint32_t scratch157; /* _SCRATCH157_0, 0x794 */ + uint32_t scratch158; /* _SCRATCH158_0, 0x798 */ + uint32_t scratch159; /* _SCRATCH159_0, 0x79c */ + uint32_t scratch160; /* _SCRATCH160_0, 0x7a0 */ + uint32_t scratch161; /* _SCRATCH161_0, 0x7a4 */ + uint32_t scratch162; /* _SCRATCH162_0, 0x7a8 */ + uint32_t scratch163; /* _SCRATCH163_0, 0x7ac */ + uint32_t scratch164; /* _SCRATCH164_0, 0x7b0 */ + uint32_t scratch165; /* _SCRATCH165_0, 0x7b4 */ + uint32_t scratch166; /* _SCRATCH166_0, 0x7b8 */ + uint32_t scratch167; /* _SCRATCH167_0, 0x7bc */ + uint32_t scratch168; /* _SCRATCH168_0, 0x7c0 */ + uint32_t scratch169; /* _SCRATCH169_0, 0x7c4 */ + uint32_t scratch170; /* _SCRATCH170_0, 0x7c8 */ + uint32_t scratch171; /* _SCRATCH171_0, 0x7cc */ + uint32_t scratch172; /* _SCRATCH172_0, 0x7d0 */ + uint32_t scratch173; /* _SCRATCH173_0, 0x7d4 */ + uint32_t scratch174; /* _SCRATCH174_0, 0x7d8 */ + uint32_t scratch175; /* _SCRATCH175_0, 0x7dc */ + uint32_t scratch176; /* _SCRATCH176_0, 0x7e0 */ + uint32_t scratch177; /* _SCRATCH177_0, 0x7e4 */ + uint32_t scratch178; /* _SCRATCH178_0, 0x7e8 */ + uint32_t scratch179; /* _SCRATCH179_0, 0x7ec */ + uint32_t scratch180; /* _SCRATCH180_0, 0x7f0 */ + uint32_t scratch181; /* _SCRATCH181_0, 0x7f4 */ + uint32_t scratch182; /* _SCRATCH182_0, 0x7f8 */ + uint32_t scratch183; /* _SCRATCH183_0, 0x7fc */ + uint32_t scratch184; /* _SCRATCH184_0, 0x800 */ + uint32_t scratch185; /* _SCRATCH185_0, 0x804 */ + uint32_t scratch186; /* _SCRATCH186_0, 0x808 */ + uint32_t scratch187; /* _SCRATCH187_0, 0x80c */ + uint32_t scratch188; /* _SCRATCH188_0, 0x810 */ + uint32_t scratch189; /* _SCRATCH189_0, 0x814 */ + uint32_t scratch190; /* _SCRATCH190_0, 0x818 */ + uint32_t scratch191; /* _SCRATCH191_0, 0x81c */ + uint32_t scratch192; /* _SCRATCH192_0, 0x820 */ + uint32_t scratch193; /* _SCRATCH193_0, 0x824 */ + uint32_t scratch194; /* _SCRATCH194_0, 0x828 */ + uint32_t scratch195; /* _SCRATCH195_0, 0x82c */ + uint32_t scratch196; /* _SCRATCH196_0, 0x830 */ + uint32_t scratch197; /* _SCRATCH197_0, 0x834 */ + uint32_t scratch198; /* _SCRATCH198_0, 0x838 */ + uint32_t scratch199; /* _SCRATCH199_0, 0x83c */ + uint32_t scratch200; /* _SCRATCH200_0, 0x840 */ + uint32_t scratch201; /* _SCRATCH201_0, 0x844 */ + uint32_t scratch202; /* _SCRATCH202_0, 0x848 */ + uint32_t scratch203; /* _SCRATCH203_0, 0x84c */ + uint32_t scratch204; /* _SCRATCH204_0, 0x850 */ + uint32_t scratch205; /* _SCRATCH205_0, 0x854 */ + uint32_t scratch206; /* _SCRATCH206_0, 0x858 */ + uint32_t scratch207; /* _SCRATCH207_0, 0x85c */ + uint32_t scratch208; /* _SCRATCH208_0, 0x860 */ + uint32_t scratch209; /* _SCRATCH209_0, 0x864 */ + uint32_t scratch210; /* _SCRATCH210_0, 0x868 */ + uint32_t scratch211; /* _SCRATCH211_0, 0x86c */ + uint32_t scratch212; /* _SCRATCH212_0, 0x870 */ + uint32_t scratch213; /* _SCRATCH213_0, 0x874 */ + uint32_t scratch214; /* _SCRATCH214_0, 0x878 */ + uint32_t scratch215; /* _SCRATCH215_0, 0x87c */ + uint32_t scratch216; /* _SCRATCH216_0, 0x880 */ + uint32_t scratch217; /* _SCRATCH217_0, 0x884 */ + uint32_t scratch218; /* _SCRATCH218_0, 0x888 */ + uint32_t scratch219; /* _SCRATCH219_0, 0x88c */ + uint32_t scratch220; /* _SCRATCH220_0, 0x890 */ + uint32_t scratch221; /* _SCRATCH221_0, 0x894 */ + uint32_t scratch222; /* _SCRATCH222_0, 0x898 */ + uint32_t scratch223; /* _SCRATCH223_0, 0x89c */ + uint32_t scratch224; /* _SCRATCH224_0, 0x8a0 */ + uint32_t scratch225; /* _SCRATCH225_0, 0x8a4 */ + uint32_t scratch226; /* _SCRATCH226_0, 0x8a8 */ + uint32_t scratch227; /* _SCRATCH227_0, 0x8ac */ + uint32_t scratch228; /* _SCRATCH228_0, 0x8b0 */ + uint32_t scratch229; /* _SCRATCH229_0, 0x8b4 */ + uint32_t scratch230; /* _SCRATCH230_0, 0x8b8 */ + uint32_t scratch231; /* _SCRATCH231_0, 0x8bc */ + uint32_t scratch232; /* _SCRATCH232_0, 0x8c0 */ + uint32_t scratch233; /* _SCRATCH233_0, 0x8c4 */ + uint32_t scratch234; /* _SCRATCH234_0, 0x8c8 */ + uint32_t scratch235; /* _SCRATCH235_0, 0x8cc */ + uint32_t scratch236; /* _SCRATCH236_0, 0x8d0 */ + uint32_t scratch237; /* _SCRATCH237_0, 0x8d4 */ + uint32_t scratch238; /* _SCRATCH238_0, 0x8d8 */ + uint32_t scratch239; /* _SCRATCH239_0, 0x8dc */ + uint32_t scratch240; /* _SCRATCH240_0, 0x8e0 */ + uint32_t scratch241; /* _SCRATCH241_0, 0x8e4 */ + uint32_t scratch242; /* _SCRATCH242_0, 0x8e8 */ + uint32_t scratch243; /* _SCRATCH243_0, 0x8ec */ + uint32_t scratch244; /* _SCRATCH244_0, 0x8f0 */ + uint32_t scratch245; /* _SCRATCH245_0, 0x8f4 */ + uint32_t scratch246; /* _SCRATCH246_0, 0x8f8 */ + uint32_t scratch247; /* _SCRATCH247_0, 0x8fc */ + uint32_t scratch248; /* _SCRATCH248_0, 0x900 */ + uint32_t scratch249; /* _SCRATCH249_0, 0x904 */ + uint32_t scratch250; /* _SCRATCH250_0, 0x908 */ + uint32_t scratch251; /* _SCRATCH251_0, 0x90c */ + uint32_t scratch252; /* _SCRATCH252_0, 0x910 */ + uint32_t scratch253; /* _SCRATCH253_0, 0x914 */ + uint32_t scratch254; /* _SCRATCH254_0, 0x918 */ + uint32_t scratch255; /* _SCRATCH255_0, 0x91c */ + uint32_t scratch256; /* _SCRATCH256_0, 0x920 */ + uint32_t scratch257; /* _SCRATCH257_0, 0x924 */ + uint32_t scratch258; /* _SCRATCH258_0, 0x928 */ + uint32_t scratch259; /* _SCRATCH259_0, 0x92c */ + uint32_t scratch260; /* _SCRATCH260_0, 0x930 */ + uint32_t scratch261; /* _SCRATCH261_0, 0x934 */ + uint32_t scratch262; /* _SCRATCH262_0, 0x938 */ + uint32_t scratch263; /* _SCRATCH263_0, 0x93c */ + uint32_t scratch264; /* _SCRATCH264_0, 0x940 */ + uint32_t scratch265; /* _SCRATCH265_0, 0x944 */ + uint32_t scratch266; /* _SCRATCH266_0, 0x948 */ + uint32_t scratch267; /* _SCRATCH267_0, 0x94c */ + uint32_t scratch268; /* _SCRATCH268_0, 0x950 */ + uint32_t scratch269; /* _SCRATCH269_0, 0x954 */ + uint32_t scratch270; /* _SCRATCH270_0, 0x958 */ + uint32_t scratch271; /* _SCRATCH271_0, 0x95c */ + uint32_t scratch272; /* _SCRATCH272_0, 0x960 */ + uint32_t scratch273; /* _SCRATCH273_0, 0x964 */ + uint32_t scratch274; /* _SCRATCH274_0, 0x968 */ + uint32_t scratch275; /* _SCRATCH275_0, 0x96c */ + uint32_t scratch276; /* _SCRATCH276_0, 0x970 */ + uint32_t scratch277; /* _SCRATCH277_0, 0x974 */ + uint32_t scratch278; /* _SCRATCH278_0, 0x978 */ + uint32_t scratch279; /* _SCRATCH279_0, 0x97c */ + uint32_t scratch280; /* _SCRATCH280_0, 0x980 */ + uint32_t scratch281; /* _SCRATCH281_0, 0x984 */ + uint32_t scratch282; /* _SCRATCH282_0, 0x988 */ + uint32_t scratch283; /* _SCRATCH283_0, 0x98c */ + uint32_t scratch284; /* _SCRATCH284_0, 0x990 */ + uint32_t scratch285; /* _SCRATCH285_0, 0x994 */ + uint32_t scratch286; /* _SCRATCH286_0, 0x998 */ + uint32_t scratch287; /* _SCRATCH287_0, 0x99c */ + uint32_t scratch288; /* _SCRATCH288_0, 0x9a0 */ + uint32_t scratch289; /* _SCRATCH289_0, 0x9a4 */ + uint32_t scratch290; /* _SCRATCH290_0, 0x9a8 */ + uint32_t scratch291; /* _SCRATCH291_0, 0x9ac */ + uint32_t scratch292; /* _SCRATCH292_0, 0x9b0 */ + uint32_t scratch293; /* _SCRATCH293_0, 0x9b4 */ + uint32_t scratch294; /* _SCRATCH294_0, 0x9b8 */ + uint32_t scratch295; /* _SCRATCH295_0, 0x9bc */ + uint32_t scratch296; /* _SCRATCH296_0, 0x9c0 */ + uint32_t scratch297; /* _SCRATCH297_0, 0x9c4 */ + uint32_t scratch298; /* _SCRATCH298_0, 0x9c8 */ + uint32_t scratch299; /* _SCRATCH299_0, 0x9cc */ + uint32_t _0x9d0[50]; + uint32_t secure_scratch80; /* _SECURE_SCRATCH80_0, 0xa98 */ + uint32_t secure_scratch81; /* _SECURE_SCRATCH81_0, 0xa9c */ + uint32_t secure_scratch82; /* _SECURE_SCRATCH82_0, 0xaa0 */ + uint32_t secure_scratch83; /* _SECURE_SCRATCH83_0, 0xaa4 */ + uint32_t secure_scratch84; /* _SECURE_SCRATCH84_0, 0xaa8 */ + uint32_t secure_scratch85; /* _SECURE_SCRATCH85_0, 0xaac */ + uint32_t secure_scratch86; /* _SECURE_SCRATCH86_0, 0xab0 */ + uint32_t secure_scratch87; /* _SECURE_SCRATCH87_0, 0xab4 */ + uint32_t secure_scratch88; /* _SECURE_SCRATCH88_0, 0xab8 */ + uint32_t secure_scratch89; /* _SECURE_SCRATCH89_0, 0xabc */ + uint32_t secure_scratch90; /* _SECURE_SCRATCH90_0, 0xac0 */ + uint32_t secure_scratch91; /* _SECURE_SCRATCH91_0, 0xac4 */ + uint32_t secure_scratch92; /* _SECURE_SCRATCH92_0, 0xac8 */ + uint32_t secure_scratch93; /* _SECURE_SCRATCH93_0, 0xacc */ + uint32_t secure_scratch94; /* _SECURE_SCRATCH94_0, 0xad0 */ + uint32_t secure_scratch95; /* _SECURE_SCRATCH95_0, 0xad4 */ + uint32_t secure_scratch96; /* _SECURE_SCRATCH96_0, 0xad8 */ + uint32_t secure_scratch97; /* _SECURE_SCRATCH97_0, 0xadc */ + uint32_t secure_scratch98; /* _SECURE_SCRATCH98_0, 0xae0 */ + uint32_t secure_scratch99; /* _SECURE_SCRATCH99_0, 0xae4 */ + uint32_t secure_scratch100; /* _SECURE_SCRATCH100_0, 0xae8 */ + uint32_t secure_scratch101; /* _SECURE_SCRATCH101_0, 0xaec */ + uint32_t secure_scratch102; /* _SECURE_SCRATCH102_0, 0xaf0 */ + uint32_t secure_scratch103; /* _SECURE_SCRATCH103_0, 0xaf4 */ + uint32_t secure_scratch104; /* _SECURE_SCRATCH104_0, 0xaf8 */ + uint32_t secure_scratch105; /* _SECURE_SCRATCH105_0, 0xafc */ + uint32_t secure_scratch106; /* _SECURE_SCRATCH106_0, 0xb00 */ + uint32_t secure_scratch107; /* _SECURE_SCRATCH107_0, 0xb04 */ + uint32_t secure_scratch108; /* _SECURE_SCRATCH108_0, 0xb08 */ + uint32_t secure_scratch109; /* _SECURE_SCRATCH109_0, 0xb0c */ + uint32_t secure_scratch110; /* _SECURE_SCRATCH110_0, 0xb10 */ + uint32_t secure_scratch111; /* _SECURE_SCRATCH111_0, 0xb14 */ + uint32_t secure_scratch112; /* _SECURE_SCRATCH112_0, 0xb18 */ + uint32_t secure_scratch113; /* _SECURE_SCRATCH113_0, 0xb1c */ + uint32_t secure_scratch114; /* _SECURE_SCRATCH114_0, 0xb20 */ + uint32_t secure_scratch115; /* _SECURE_SCRATCH115_0, 0xb24 */ + uint32_t secure_scratch116; /* _SECURE_SCRATCH116_0, 0xb28 */ + uint32_t secure_scratch117; /* _SECURE_SCRATCH117_0, 0xb2c */ + uint32_t secure_scratch118; /* _SECURE_SCRATCH118_0, 0xb30 */ + uint32_t secure_scratch119; /* _SECURE_SCRATCH119_0, 0xb34 */ + uint32_t secure_scratch120; /* _SECURE_SCRATCH120_0, 0xb38 */ + uint32_t secure_scratch121; /* _SECURE_SCRATCH121_0, 0xb3c */ + uint32_t secure_scratch122; /* _SECURE_SCRATCH122_0, 0xb40 */ + uint32_t secure_scratch123; /* _SECURE_SCRATCH123_0, 0xb44 */ + uint32_t led_breathing_ctrl; /* _LED_BREATHING_CTRL_0, 0xb48 */ + uint32_t led_breathing_counter0; /* _LED_BREATHING_COUNTER0_0, 0xb4c */ + uint32_t led_breathing_counter1; /* _LED_BREATHING_COUNTER1_0, 0xb50 */ + uint32_t led_breathing_counter2; /* _LED_BREATHING_COUNTER2_0, 0xb54 */ + uint32_t led_breathing_counter3; /* _LED_BREATHING_COUNTER3_0, 0xb58 */ + uint32_t led_breathing_status; /* _LED_BREATHING_STATUS_0, 0xb5c */ + uint32_t _0xb60[2]; + uint32_t secure_scratch124; /* _SECURE_SCRATCH124_0, 0xb68 */ + uint32_t secure_scratch125; /* _SECURE_SCRATCH125_0, 0xb6c */ + uint32_t secure_scratch126; /* _SECURE_SCRATCH126_0, 0xb70 */ + uint32_t secure_scratch127; /* _SECURE_SCRATCH127_0, 0xb74 */ + uint32_t secure_scratch128; /* _SECURE_SCRATCH128_0, 0xb78 */ + uint32_t secure_scratch129; /* _SECURE_SCRATCH129_0, 0xb7c */ + uint32_t secure_scratch130; /* _SECURE_SCRATCH130_0, 0xb80 */ + uint32_t secure_scratch131; /* _SECURE_SCRATCH131_0, 0xb84 */ + uint32_t secure_scratch132; /* _SECURE_SCRATCH132_0, 0xb88 */ + uint32_t secure_scratch133; /* _SECURE_SCRATCH133_0, 0xb8c */ + uint32_t secure_scratch134; /* _SECURE_SCRATCH134_0, 0xb90 */ + uint32_t secure_scratch135; /* _SECURE_SCRATCH135_0, 0xb94 */ + uint32_t secure_scratch136; /* _SECURE_SCRATCH136_0, 0xb98 */ + uint32_t secure_scratch137; /* _SECURE_SCRATCH137_0, 0xb9c */ + uint32_t secure_scratch138; /* _SECURE_SCRATCH138_0, 0xba0 */ + uint32_t secure_scratch139; /* _SECURE_SCRATCH139_0, 0xba4 */ + uint32_t _0xba8[2]; + uint32_t sec_disable_ns; /* _SEC_DISABLE_NS_0, 0xbb0 */ + uint32_t sec_disable2_ns; /* _SEC_DISABLE2_NS_0, 0xbb4 */ + uint32_t sec_disable3_ns; /* _SEC_DISABLE3_NS_0, 0xbb8 */ + uint32_t sec_disable4_ns; /* _SEC_DISABLE4_NS_0, 0xbbc */ + uint32_t sec_disable5_ns; /* _SEC_DISABLE5_NS_0, 0xbc0 */ + uint32_t sec_disable6_ns; /* _SEC_DISABLE6_NS_0, 0xbc4 */ + uint32_t sec_disable7_ns; /* _SEC_DISABLE7_NS_0, 0xbc8 */ + uint32_t sec_disable8_ns; /* _SEC_DISABLE8_NS_0, 0xbcc */ + uint32_t sec_disable9_ns; /* _SEC_DISABLE9_NS_0, 0xbd0 */ + uint32_t sec_disable10_ns; /* _SEC_DISABLE10_NS_0, 0xbd4 */ + uint32_t _0xbd8[4]; + uint32_t tzram_pwr_cntrl; /* _TZRAM_PWR_CNTRL_0, 0xbe8 */ + uint32_t tzram_sec_disable; /* _TZRAM_SEC_DISABLE_0, 0xbec */ + uint32_t tzram_non_sec_disable; /* _TZRAM_NON_SEC_DISABLE_0, 0xbf0 */ } tegra_pmc_t; static inline volatile tegra_pmc_t *pmc_get_regs(void) diff --git a/fusee/fusee-primary/src/hwinit.c b/fusee/fusee-primary/src/hwinit.c index dc343e70e..3f922fb77 100644 --- a/fusee/fusee-primary/src/hwinit.c +++ b/fusee/fusee-primary/src/hwinit.c @@ -206,7 +206,7 @@ static void config_se_brom(void) { /* Clear the boot reason to avoid problems later */ pmc->scratch200 = 0; - pmc->reset_status = 0; + pmc->rst_status = 0; } void nx_hwinit_erista(bool enable_log) { @@ -318,15 +318,16 @@ void nx_hwinit_erista(bool enable_log) { /* Configure memory controller carveouts. */ /* NOTE: [4.0.0+] This is now done in the Secure Monitor. */ /* mc_config_carveout(); */ - - /* Initialize SDRAM. */ - sdram_init_erista(); /* Save SDRAM parameters to scratch. */ sdram_save_params_erista(sdram_get_params_erista(fuse_get_dram_id())); + + /* Initialize SDRAM. */ + sdram_init_erista(); } void nx_hwinit_mariko(bool enable_log) { + volatile tegra_pmc_t *pmc = pmc_get_regs(); volatile tegra_car_t *car = car_get_regs(); /* Enable SE clock. */ @@ -390,14 +391,14 @@ void nx_hwinit_mariko(bool enable_log) { /* Set super clock burst policy. */ car->sclk_brst_pol = ((car->sclk_brst_pol & 0xFFFF8888) | 0x3333); - /* Mariko only PMC configuration. */ - MAKE_PMC_REG(0xBE8) &= 0xFFFFFFFE; - MAKE_PMC_REG(0xBF0) = 0x3; - MAKE_PMC_REG(0xBEC) = 0x3; - - /* Initialize SDRAM. */ - sdram_init_mariko(); + /* Mariko only PMC configuration for TZRAM. */ + pmc->tzram_pwr_cntrl &= 0xFFFFFFFE; + pmc->tzram_non_sec_disable = 0x3; + pmc->tzram_sec_disable = 0x3; /* Save SDRAM parameters to scratch. */ sdram_save_params_mariko(sdram_get_params_mariko(fuse_get_dram_id())); + + /* Initialize SDRAM. */ + sdram_init_mariko(); } \ No newline at end of file diff --git a/fusee/fusee-primary/src/pmc.h b/fusee/fusee-primary/src/pmc.h index 6fc009ff6..a287d85e7 100644 --- a/fusee/fusee-primary/src/pmc.h +++ b/fusee/fusee-primary/src/pmc.h @@ -66,556 +66,643 @@ #define APBDEV_PMC_SCRATCH33_0 MAKE_PMC_REG(0x120) #define APBDEV_PMC_SCRATCH40_0 MAKE_PMC_REG(0x13C) +/* Power Management Controller (APBDEV_PMC_) regs */ typedef struct { - uint32_t cntrl; - uint32_t sec_disable; - uint32_t pmc_swrst; - uint32_t wake_mask; - uint32_t wake_lvl; - uint32_t wake_status; - uint32_t sw_wake_status; - uint32_t dpd_pads_oride; - uint32_t dpd_sample; - uint32_t dpd_enable; - uint32_t pwrgate_timer_off; - uint32_t clamp_status; - uint32_t pwrgate_toggle; - uint32_t remove_clamping; - uint32_t pwrgate_status; - uint32_t pwrgood_timer; - uint32_t blink_timer; - uint32_t no_iopower; - uint32_t pwr_det; - uint32_t pwr_det_latch; - uint32_t scratch0; - uint32_t scratch1; - uint32_t scratch2; - uint32_t scratch3; - uint32_t scratch4; - uint32_t scratch5; - uint32_t scratch6; - uint32_t scratch7; - uint32_t scratch8; - uint32_t scratch9; - uint32_t scratch10; - uint32_t scratch11; - uint32_t scratch12; - uint32_t scratch13; - uint32_t scratch14; - uint32_t scratch15; - uint32_t scratch16; - uint32_t scratch17; - uint32_t scratch18; - uint32_t scratch19; - uint32_t scratch20; - uint32_t scratch21; - uint32_t scratch22; - uint32_t scratch23; - uint32_t secure_scratch0; - uint32_t secure_scratch1; - uint32_t secure_scratch2; - uint32_t secure_scratch3; - uint32_t secure_scratch4; - uint32_t secure_scratch5; - uint32_t cpupwrgood_timer; - uint32_t cpupwroff_timer; - uint32_t pg_mask; - uint32_t pg_mask_1; - uint32_t auto_wake_lvl; - uint32_t auto_wake_lvl_mask; - uint32_t wake_delay; - uint32_t pwr_det_val; - uint32_t ddr_pwr; - uint32_t usb_debounce_del; - uint32_t usb_ao; - uint32_t crypto_op; - uint32_t pllp_wb0_override; - uint32_t scratch24; - uint32_t scratch25; - uint32_t scratch26; - uint32_t scratch27; - uint32_t scratch28; - uint32_t scratch29; - uint32_t scratch30; - uint32_t scratch31; - uint32_t scratch32; - uint32_t scratch33; - uint32_t scratch34; - uint32_t scratch35; - uint32_t scratch36; - uint32_t scratch37; - uint32_t scratch38; - uint32_t scratch39; - uint32_t scratch40; - uint32_t scratch41; - uint32_t scratch42; - uint32_t bo_mirror0; - uint32_t bo_mirror1; - uint32_t bo_mirror2; - uint32_t sys_33v_en; - uint32_t bo_mirror_access; - uint32_t gate; - uint32_t wake2_mask; - uint32_t wake2_lvl; - uint32_t wake2_stat; - uint32_t sw_wake2_stat; - uint32_t auto_wake2_lvl_mask; - uint32_t pg_mask2; - uint32_t pg_mask_ce1; - uint32_t pg_mask_ce2; - uint32_t pg_mask_ce3; - uint32_t pwrgate_timer_ce0; - uint32_t pwrgate_timer_ce1; - uint32_t pwrgate_timer_ce2; - uint32_t pwrgate_timer_ce3; - uint32_t pwrgate_timer_ce4; - uint32_t pwrgate_timer_ce5; - uint32_t pwrgate_timer_ce6; - uint32_t pcx_edpd_cntrl; - uint32_t osc_edpd_over; - uint32_t clk_out_cntrl; - uint32_t sata_pwrgate; - uint32_t sensor_ctrl; - uint32_t reset_status; - uint32_t io_dpd_req; - uint32_t io_dpd_stat; - uint32_t io_dpd2_req; - uint32_t io_dpd2_stat; - uint32_t sel_dpd_tim; - uint32_t vddp_sel; - uint32_t ddr_cfg; - uint32_t e_no_vttgen; - uint32_t _reserved0; - uint32_t pllm_wb0_ovrride_frq; - uint32_t test_pwrgate; - uint32_t pwrgate_timer_mult; - uint32_t dsi_sel_dpd; - uint32_t utmip_uhsic_triggers; - uint32_t utmip_uhsic_saved_st; - uint32_t utmip_pad_cfg; - uint32_t utmip_term_pad_cfg; - uint32_t utmip_uhsic_sleep_cfg; - uint32_t utmip_uhsic_sleepwalk_cfg; - uint32_t utmip_sleepwalk_p[3]; - uint32_t uhsic_sleepwalk_p0; - uint32_t utmip_uhsic_status; - uint32_t utmip_uhsic_fake; - uint32_t bo_mirror3[2]; - uint32_t secure_scratch6; - uint32_t secure_scratch7; - uint32_t scratch43; - uint32_t scratch44; - uint32_t scratch45; - uint32_t scratch46; - uint32_t scratch47; - uint32_t scratch48; - uint32_t scratch49; - uint32_t scratch50; - uint32_t scratch51; - uint32_t scratch52; - uint32_t scratch53; - uint32_t scratch54; - uint32_t scratch55; - uint32_t scratch0_eco; - uint32_t por_dpd_ctrl; - uint32_t scratch2_eco; - uint32_t utmip_uhsic_line_wakeup; - uint32_t utmip_bias_master_cntrl; - uint32_t utmip_master_config; - uint32_t td_pwrgate_inter_part_timer; - uint32_t utmip_uhsic2_triggers; - uint32_t utmip_uhsic2_saved_state; - uint32_t utmip_uhsic2_sleep_cfg; - uint32_t utmip_uhsic2_sleepwalk_cfg; - uint32_t uhsic2_sleepwalk_p1; - uint32_t utmip_uhsic2_status; - uint32_t utmip_uhsic2_fake; - uint32_t utmip_uhsic2_line_wakeup; - uint32_t utmip_master2_config; - uint32_t utmip_uhsic_rpd_cfg; - uint32_t pg_mask_ce0; - uint32_t pg_mask3[2]; - uint32_t pllm_wb0_override2; - uint32_t tsc_mult; - uint32_t cpu_vsense_override; - uint32_t glb_amap_cfg; - uint32_t sticky_bits; - uint32_t sec_disable2; - uint32_t weak_bias; - uint32_t reg_short; - uint32_t pg_mask_andor; - uint32_t _reserved1[11]; - uint32_t secure_scratch8; - uint32_t secure_scratch9; - uint32_t secure_scratch10; - uint32_t secure_scratch11; - uint32_t secure_scratch12; - uint32_t secure_scratch13; - uint32_t secure_scratch14; - uint32_t secure_scratch15; - uint32_t secure_scratch16; - uint32_t secure_scratch17; - uint32_t secure_scratch18; - uint32_t secure_scratch19; - uint32_t secure_scratch20; - uint32_t secure_scratch21; - uint32_t secure_scratch22; - uint32_t secure_scratch23; - uint32_t secure_scratch24; - uint32_t secure_scratch25; - uint32_t secure_scratch26; - uint32_t secure_scratch27; - uint32_t secure_scratch28; - uint32_t secure_scratch29; - uint32_t secure_scratch30; - uint32_t secure_scratch31; - uint32_t secure_scratch32; - uint32_t secure_scratch33; - uint32_t secure_scratch34; - uint32_t secure_scratch35; - uint32_t secure_scratch36; - uint32_t secure_scratch37; - uint32_t secure_scratch38; - uint32_t secure_scratch39; - uint32_t secure_scratch40; - uint32_t secure_scratch41; - uint32_t secure_scratch42; - uint32_t secure_scratch43; - uint32_t secure_scratch44; - uint32_t secure_scratch45; - uint32_t secure_scratch46; - uint32_t secure_scratch47; - uint32_t secure_scratch48; - uint32_t secure_scratch49; - uint32_t secure_scratch50; - uint32_t secure_scratch51; - uint32_t secure_scratch52; - uint32_t secure_scratch53; - uint32_t secure_scratch54; - uint32_t secure_scratch55; - uint32_t secure_scratch56; - uint32_t secure_scratch57; - uint32_t secure_scratch58; - uint32_t secure_scratch59; - uint32_t secure_scratch60; - uint32_t secure_scratch61; - uint32_t secure_scratch62; - uint32_t secure_scratch63; - uint32_t secure_scratch64; - uint32_t secure_scratch65; - uint32_t secure_scratch66; - uint32_t secure_scratch67; - uint32_t secure_scratch68; - uint32_t secure_scratch69; - uint32_t secure_scratch70; - uint32_t secure_scratch71; - uint32_t secure_scratch72; - uint32_t secure_scratch73; - uint32_t secure_scratch74; - uint32_t secure_scratch75; - uint32_t secure_scratch76; - uint32_t secure_scratch77; - uint32_t secure_scratch78; - uint32_t secure_scratch79; - uint32_t _reserved2[8]; - uint32_t cntrl2; - uint32_t _reserved3[2]; - uint32_t event_counter; - uint32_t fuse_control; - uint32_t scratch1_eco; - uint32_t _reserved4; - uint32_t io_dpd3_req; - uint32_t io_dpd3_status; - uint32_t io_dpd4_req; - uint32_t io_dpd4_status; - uint32_t _reserved5[30]; - uint32_t ddr_cntrl; - uint32_t _reserved6[70]; - uint32_t scratch56; - uint32_t scratch57; - uint32_t scratch58; - uint32_t scratch59; - uint32_t scratch60; - uint32_t scratch61; - uint32_t scratch62; - uint32_t scratch63; - uint32_t scratch64; - uint32_t scratch65; - uint32_t scratch66; - uint32_t scratch67; - uint32_t scratch68; - uint32_t scratch69; - uint32_t scratch70; - uint32_t scratch71; - uint32_t scratch72; - uint32_t scratch73; - uint32_t scratch74; - uint32_t scratch75; - uint32_t scratch76; - uint32_t scratch77; - uint32_t scratch78; - uint32_t scratch79; - uint32_t scratch80; - uint32_t scratch81; - uint32_t scratch82; - uint32_t scratch83; - uint32_t scratch84; - uint32_t scratch85; - uint32_t scratch86; - uint32_t scratch87; - uint32_t scratch88; - uint32_t scratch89; - uint32_t scratch90; - uint32_t scratch91; - uint32_t scratch92; - uint32_t scratch93; - uint32_t scratch94; - uint32_t scratch95; - uint32_t scratch96; - uint32_t scratch97; - uint32_t scratch98; - uint32_t scratch99; - uint32_t scratch100; - uint32_t scratch101; - uint32_t scratch102; - uint32_t scratch103; - uint32_t scratch104; - uint32_t scratch105; - uint32_t scratch106; - uint32_t scratch107; - uint32_t scratch108; - uint32_t scratch109; - uint32_t scratch110; - uint32_t scratch111; - uint32_t scratch112; - uint32_t scratch113; - uint32_t scratch114; - uint32_t scratch115; - uint32_t scratch116; - uint32_t scratch117; - uint32_t scratch118; - uint32_t scratch119; - uint32_t scratch120; - uint32_t scratch121; - uint32_t scratch122; - uint32_t scratch123; - uint32_t scratch124; - uint32_t scratch125; - uint32_t scratch126; - uint32_t scratch127; - uint32_t scratch128; - uint32_t scratch129; - uint32_t scratch130; - uint32_t scratch131; - uint32_t scratch132; - uint32_t scratch133; - uint32_t scratch134; - uint32_t scratch135; - uint32_t scratch136; - uint32_t scratch137; - uint32_t scratch138; - uint32_t scratch139; - uint32_t scratch140; - uint32_t scratch141; - uint32_t scratch142; - uint32_t scratch143; - uint32_t scratch144; - uint32_t scratch145; - uint32_t scratch146; - uint32_t scratch147; - uint32_t scratch148; - uint32_t scratch149; - uint32_t scratch150; - uint32_t scratch151; - uint32_t scratch152; - uint32_t scratch153; - uint32_t scratch154; - uint32_t scratch155; - uint32_t scratch156; - uint32_t scratch157; - uint32_t scratch158; - uint32_t scratch159; - uint32_t scratch160; - uint32_t scratch161; - uint32_t scratch162; - uint32_t scratch163; - uint32_t scratch164; - uint32_t scratch165; - uint32_t scratch166; - uint32_t scratch167; - uint32_t scratch168; - uint32_t scratch169; - uint32_t scratch170; - uint32_t scratch171; - uint32_t scratch172; - uint32_t scratch173; - uint32_t scratch174; - uint32_t scratch175; - uint32_t scratch176; - uint32_t scratch177; - uint32_t scratch178; - uint32_t scratch179; - uint32_t scratch180; - uint32_t scratch181; - uint32_t scratch182; - uint32_t scratch183; - uint32_t scratch184; - uint32_t scratch185; - uint32_t scratch186; - uint32_t scratch187; - uint32_t scratch188; - uint32_t scratch189; - uint32_t scratch190; - uint32_t scratch191; - uint32_t scratch192; - uint32_t scratch193; - uint32_t scratch194; - uint32_t scratch195; - uint32_t scratch196; - uint32_t scratch197; - uint32_t scratch198; - uint32_t scratch199; - uint32_t scratch200; - uint32_t scratch201; - uint32_t scratch202; - uint32_t scratch203; - uint32_t scratch204; - uint32_t scratch205; - uint32_t scratch206; - uint32_t scratch207; - uint32_t scratch208; - uint32_t scratch209; - uint32_t scratch210; - uint32_t scratch211; - uint32_t scratch212; - uint32_t scratch213; - uint32_t scratch214; - uint32_t scratch215; - uint32_t scratch216; - uint32_t scratch217; - uint32_t scratch218; - uint32_t scratch219; - uint32_t scratch220; - uint32_t scratch221; - uint32_t scratch222; - uint32_t scratch223; - uint32_t scratch224; - uint32_t scratch225; - uint32_t scratch226; - uint32_t scratch227; - uint32_t scratch228; - uint32_t scratch229; - uint32_t scratch230; - uint32_t scratch231; - uint32_t scratch232; - uint32_t scratch233; - uint32_t scratch234; - uint32_t scratch235; - uint32_t scratch236; - uint32_t scratch237; - uint32_t scratch238; - uint32_t scratch239; - uint32_t scratch240; - uint32_t scratch241; - uint32_t scratch242; - uint32_t scratch243; - uint32_t scratch244; - uint32_t scratch245; - uint32_t scratch246; - uint32_t scratch247; - uint32_t scratch248; - uint32_t scratch249; - uint32_t scratch250; - uint32_t scratch251; - uint32_t scratch252; - uint32_t scratch253; - uint32_t scratch254; - uint32_t scratch255; - uint32_t scratch256; - uint32_t scratch257; - uint32_t scratch258; - uint32_t scratch259; - uint32_t scratch260; - uint32_t scratch261; - uint32_t scratch262; - uint32_t scratch263; - uint32_t scratch264; - uint32_t scratch265; - uint32_t scratch266; - uint32_t scratch267; - uint32_t scratch268; - uint32_t scratch269; - uint32_t scratch270; - uint32_t scratch271; - uint32_t scratch272; - uint32_t scratch273; - uint32_t scratch274; - uint32_t scratch275; - uint32_t scratch276; - uint32_t scratch277; - uint32_t scratch278; - uint32_t scratch279; - uint32_t scratch280; - uint32_t scratch281; - uint32_t scratch282; - uint32_t scratch283; - uint32_t scratch284; - uint32_t scratch285; - uint32_t scratch286; - uint32_t scratch287; - uint32_t scratch288; - uint32_t scratch289; - uint32_t scratch290; - uint32_t scratch291; - uint32_t scratch292; - uint32_t scratch293; - uint32_t scratch294; - uint32_t scratch295; - uint32_t scratch296; - uint32_t scratch297; - uint32_t scratch298; - uint32_t scratch299; - uint32_t _reserved7[50]; - uint32_t secure_scratch80; - uint32_t secure_scratch81; - uint32_t secure_scratch82; - uint32_t secure_scratch83; - uint32_t secure_scratch84; - uint32_t secure_scratch85; - uint32_t secure_scratch86; - uint32_t secure_scratch87; - uint32_t secure_scratch88; - uint32_t secure_scratch89; - uint32_t secure_scratch90; - uint32_t secure_scratch91; - uint32_t secure_scratch92; - uint32_t secure_scratch93; - uint32_t secure_scratch94; - uint32_t secure_scratch95; - uint32_t secure_scratch96; - uint32_t secure_scratch97; - uint32_t secure_scratch98; - uint32_t secure_scratch99; - uint32_t secure_scratch100; - uint32_t secure_scratch101; - uint32_t secure_scratch102; - uint32_t secure_scratch103; - uint32_t secure_scratch104; - uint32_t secure_scratch105; - uint32_t secure_scratch106; - uint32_t secure_scratch107; - uint32_t secure_scratch108; - uint32_t secure_scratch109; - uint32_t secure_scratch110; - uint32_t secure_scratch111; - uint32_t secure_scratch112; - uint32_t secure_scratch113; - uint32_t secure_scratch114; - uint32_t secure_scratch115; - uint32_t secure_scratch116; - uint32_t secure_scratch117; - uint32_t secure_scratch118; - uint32_t secure_scratch119; + uint32_t cntrl; /* _CNTRL_0, 0x00 */ + uint32_t sec_disable; /* _SEC_DISABLE_0, 0x04 */ + uint32_t pmc_swrst; /* _PMC_SWRST_0, 0x08 */ + uint32_t wake_mask; /* _WAKE_MASK_0, 0x0c */ + uint32_t wake_lvl; /* _WAKE_LVL_0, 0x10 */ + uint32_t wake_status; /* _WAKE_STATUS_0, 0x14 */ + uint32_t sw_wake_status; /* _SW_WAKE_STATUS_0, 0x18 */ + uint32_t dpd_pads_oride; /* _DPD_PADS_ORIDE_0, 0x1c */ + uint32_t dpd_sample; /* _DPD_SAMPLE_0, 0x20 */ + uint32_t dpd_enable; /* _DPD_ENABLE_0, 0x24 */ + uint32_t pwrgate_timer_off; /* _PWRGATE_TIMER_OFF_0, 0x28 */ + uint32_t clamp_status; /* _CLAMP_STATUS_0, 0x2c */ + uint32_t pwrgate_toggle; /* _PWRGATE_TOGGLE_0, 0x30 */ + uint32_t remove_clamping; /* _REMOVE_CLAMPING_0, 0x34 */ + uint32_t pwrgate_status; /* _PWRGATE_STATUS_0, 0x38 */ + uint32_t pwrgood_timer; /* _PWRGOOD_TIMER_0, 0x3c */ + uint32_t blink_timer; /* _BLINK_TIMER_0, 0x40 */ + uint32_t no_iopower; /* _NO_IOPOWER_0, 0x44 */ + uint32_t pwr_det; /* _PWR_DET_0, 0x48 */ + uint32_t pwr_det_latch; /* _PWR_DET_LATCH_0, 0x4c */ + uint32_t scratch0; /* _SCRATCH0_0, 0x50 */ + uint32_t scratch1; /* _SCRATCH1_0, 0x54 */ + uint32_t scratch2; /* _SCRATCH2_0, 0x58 */ + uint32_t scratch3; /* _SCRATCH3_0, 0x5c */ + uint32_t scratch4; /* _SCRATCH4_0, 0x60 */ + uint32_t scratch5; /* _SCRATCH5_0, 0x64 */ + uint32_t scratch6; /* _SCRATCH6_0, 0x68 */ + uint32_t scratch7; /* _SCRATCH7_0, 0x6c */ + uint32_t scratch8; /* _SCRATCH8_0, 0x70 */ + uint32_t scratch9; /* _SCRATCH9_0, 0x74 */ + uint32_t scratch10; /* _SCRATCH10_0, 0x78 */ + uint32_t scratch11; /* _SCRATCH11_0, 0x7c */ + uint32_t scratch12; /* _SCRATCH12_0, 0x80 */ + uint32_t scratch13; /* _SCRATCH13_0, 0x84 */ + uint32_t scratch14; /* _SCRATCH14_0, 0x88 */ + uint32_t scratch15; /* _SCRATCH15_0, 0x8c */ + uint32_t scratch16; /* _SCRATCH16_0, 0x90 */ + uint32_t scratch17; /* _SCRATCH17_0, 0x94 */ + uint32_t scratch18; /* _SCRATCH18_0, 0x98 */ + uint32_t scratch19; /* _SCRATCH19_0, 0x9c */ + uint32_t scratch20; /* _SCRATCH20_0, 0xa0 */ + uint32_t scratch21; /* _SCRATCH21_0, 0xa4 */ + uint32_t scratch22; /* _SCRATCH22_0, 0xa8 */ + uint32_t scratch23; /* _SCRATCH23_0, 0xac */ + uint32_t secure_scratch0; /* _SECURE_SCRATCH0_0, 0xb0 */ + uint32_t secure_scratch1; /* _SECURE_SCRATCH1_0, 0xb4 */ + uint32_t secure_scratch2; /* _SECURE_SCRATCH2_0, 0xb8 */ + uint32_t secure_scratch3; /* _SECURE_SCRATCH3_0, 0xbc */ + uint32_t secure_scratch4; /* _SECURE_SCRATCH4_0, 0xc0 */ + uint32_t secure_scratch5; /* _SECURE_SCRATCH5_0, 0xc4 */ + uint32_t cpupwrgood_timer; /* _CPUPWRGOOD_TIMER_0, 0xc8 */ + uint32_t cpupwroff_timer; /* _CPUPWROFF_TIMER_0, 0xcc */ + uint32_t pg_mask; /* _PG_MASK_0, 0xd0 */ + uint32_t pg_mask_1; /* _PG_MASK_1_0, 0xd4 */ + uint32_t auto_wake_lvl; /* _AUTO_WAKE_LVL_0, 0xd8 */ + uint32_t auto_wake_lvl_mask; /* _AUTO_WAKE_LVL_MASK_0, 0xdc */ + uint32_t wake_delay; /* _WAKE_DELAY_0, 0xe0 */ + uint32_t pwr_det_val; /* _PWR_DET_VAL_0, 0xe4 */ + uint32_t ddr_pwr; /* _DDR_PWR_0, 0xe8 */ + uint32_t usb_debounce_del; /* _USB_DEBOUNCE_DEL_0, 0xec */ + uint32_t usb_ao; /* _USB_AO_0, 0xf0 */ + uint32_t crypto_op; /* _CRYPTO_OP_0, 0xf4 */ + uint32_t pllp_wb0_override; /* _PLLP_WB0_OVERRIDE_0, 0xf8 */ + uint32_t scratch24; /* _SCRATCH24_0, 0xfc */ + uint32_t scratch25; /* _SCRATCH25_0, 0x100 */ + uint32_t scratch26; /* _SCRATCH26_0, 0x104 */ + uint32_t scratch27; /* _SCRATCH27_0, 0x108 */ + uint32_t scratch28; /* _SCRATCH28_0, 0x10c */ + uint32_t scratch29; /* _SCRATCH29_0, 0x110 */ + uint32_t scratch30; /* _SCRATCH30_0, 0x114 */ + uint32_t scratch31; /* _SCRATCH31_0, 0x118 */ + uint32_t scratch32; /* _SCRATCH32_0, 0x11c */ + uint32_t scratch33; /* _SCRATCH33_0, 0x120 */ + uint32_t scratch34; /* _SCRATCH34_0, 0x124 */ + uint32_t scratch35; /* _SCRATCH35_0, 0x128 */ + uint32_t scratch36; /* _SCRATCH36_0, 0x12c */ + uint32_t scratch37; /* _SCRATCH37_0, 0x130 */ + uint32_t scratch38; /* _SCRATCH38_0, 0x134 */ + uint32_t scratch39; /* _SCRATCH39_0, 0x138 */ + uint32_t scratch40; /* _SCRATCH40_0, 0x13c */ + uint32_t scratch41; /* _SCRATCH41_0, 0x140 */ + uint32_t scratch42; /* _SCRATCH42_0, 0x144 */ + uint32_t bondout_mirror0; /* _BONDOUT_MIRROR0_0, 0x148 */ + uint32_t bondout_mirror1; /* _BONDOUT_MIRROR1_0, 0x14c */ + uint32_t bondout_mirror2; /* _BONDOUT_MIRROR2_0, 0x150 */ + uint32_t sys_33v_en; /* _SYS_33V_EN_0, 0x154 */ + uint32_t bondout_mirror_access; /* _BONDOUT_MIRROR_ACCESS_0, 0x158 */ + uint32_t gate; /* _GATE_0, 0x15c */ + uint32_t wake2_mask; /* _WAKE2_MASK_0, 0x160 */ + uint32_t wake2_lvl; /* _WAKE2_LVL_0, 0x164 */ + uint32_t wake2_status; /* _WAKE2_STATUS_0, 0x168 */ + uint32_t sw_wake2_status; /* _SW_WAKE2_STATUS_0, 0x16c */ + uint32_t auto_wake2_lvl_mask; /* _AUTO_WAKE2_LVL_MASK_0, 0x170 */ + uint32_t pg_mask_2; /* _PG_MASK_2_0, 0x174 */ + uint32_t pg_mask_ce1; /* _PG_MASK_CE1_0, 0x178 */ + uint32_t pg_mask_ce2; /* _PG_MASK_CE2_0, 0x17c */ + uint32_t pg_mask_ce3; /* _PG_MASK_CE3_0, 0x180 */ + uint32_t pwrgate_timer_ce_0; /* _PWRGATE_TIMER_CE_0_0, 0x184 */ + uint32_t pwrgate_timer_ce_1; /* _PWRGATE_TIMER_CE_1_0, 0x188 */ + uint32_t pwrgate_timer_ce_2; /* _PWRGATE_TIMER_CE_2_0, 0x18c */ + uint32_t pwrgate_timer_ce_3; /* _PWRGATE_TIMER_CE_3_0, 0x190 */ + uint32_t pwrgate_timer_ce_4; /* _PWRGATE_TIMER_CE_4_0, 0x194 */ + uint32_t pwrgate_timer_ce_5; /* _PWRGATE_TIMER_CE_5_0, 0x198 */ + uint32_t pwrgate_timer_ce_6; /* _PWRGATE_TIMER_CE_6_0, 0x19c */ + uint32_t pcx_edpd_cntrl; /* _PCX_EDPD_CNTRL_0, 0x1a0 */ + uint32_t osc_edpd_over; /* _OSC_EDPD_OVER_0, 0x1a4 */ + uint32_t clk_out_cntrl; /* _CLK_OUT_CNTRL_0, 0x1a8 */ + uint32_t sata_pwrgt; /* _SATA_PWRGT_0, 0x1ac */ + uint32_t sensor_ctrl; /* _SENSOR_CTRL_0, 0x1b0 */ + uint32_t rst_status; /* _RST_STATUS_0, 0x1b4 */ + uint32_t io_dpd_req; /* _IO_DPD_REQ_0, 0x1b8 */ + uint32_t io_dpd_status; /* _IO_DPD_STATUS_0, 0x1bc */ + uint32_t io_dpd2_req; /* _IO_DPD2_REQ_0, 0x1c0 */ + uint32_t io_dpd2_status; /* _IO_DPD2_STATUS_0, 0x1c4 */ + uint32_t sel_dpd_tim; /* _SEL_DPD_TIM_0, 0x1c8 */ + uint32_t vddp_sel; /* _VDDP_SEL_0, 0x1cc */ + uint32_t ddr_cfg; /* _DDR_CFG_0, 0x1d0 */ + uint32_t _0x1d4[2]; + uint32_t pllm_wb0_override_freq; /* _PLLM_WB0_OVERRIDE_FREQ_0, 0x1dc */ + uint32_t _0x1e0; + uint32_t pwrgate_timer_mult; /* _PWRGATE_TIMER_MULT_0, 0x1e4 */ + uint32_t dsi_sel_dpd; /* _DSI_SEL_DPD_0, 0x1e8 */ + uint32_t utmip_uhsic_triggers; /* _UTMIP_UHSIC_TRIGGERS_0, 0x1ec */ + uint32_t utmip_uhsic_saved_state; /* _UTMIP_UHSIC_SAVED_STATE_0, 0x1f0 */ + uint32_t _0x1f4; + uint32_t utmip_term_pad_cfg; /* _UTMIP_TERM_PAD_CFG_0, 0x1f8 */ + uint32_t utmip_uhsic_sleep_cfg; /* _UTMIP_UHSIC_SLEEP_CFG_0, 0x1fc */ + uint32_t utmip_uhsic_sleepwalk_cfg; /* _UTMIP_UHSIC_SLEEPWALK_CFG_0, 0x200 */ + uint32_t utmip_sleepwalk_p0; /* _UTMIP_SLEEPWALK_P0_0, 0x204 */ + uint32_t utmip_sleepwalk_p1; /* _UTMIP_SLEEPWALK_P1_0, 0x208 */ + uint32_t utmip_sleepwalk_p2; /* _UTMIP_SLEEPWALK_P2_0, 0x20c */ + uint32_t uhsic_sleepwalk_p0; /* _UHSIC_SLEEPWALK_P0_0, 0x210 */ + uint32_t utmip_uhsic_status; /* _UTMIP_UHSIC_STATUS_0, 0x214 */ + uint32_t utmip_uhsic_fake; /* _UTMIP_UHSIC_FAKE_0, 0x218 */ + uint32_t bondout_mirror3; /* _BONDOUT_MIRROR3_0, 0x21c */ + uint32_t bondout_mirror4; /* _BONDOUT_MIRROR4_0, 0x220 */ + uint32_t secure_scratch6; /* _SECURE_SCRATCH6_0, 0x224 */ + uint32_t secure_scratch7; /* _SECURE_SCRATCH7_0, 0x228 */ + uint32_t scratch43; /* _SCRATCH43_0, 0x22c */ + uint32_t scratch44; /* _SCRATCH44_0, 0x230 */ + uint32_t scratch45; /* _SCRATCH45_0, 0x234 */ + uint32_t scratch46; /* _SCRATCH46_0, 0x238 */ + uint32_t scratch47; /* _SCRATCH47_0, 0x23c */ + uint32_t scratch48; /* _SCRATCH48_0, 0x240 */ + uint32_t scratch49; /* _SCRATCH49_0, 0x244 */ + uint32_t scratch50; /* _SCRATCH50_0, 0x248 */ + uint32_t scratch51; /* _SCRATCH51_0, 0x24c */ + uint32_t scratch52; /* _SCRATCH52_0, 0x250 */ + uint32_t scratch53; /* _SCRATCH53_0, 0x254 */ + uint32_t scratch54; /* _SCRATCH54_0, 0x258 */ + uint32_t scratch55; /* _SCRATCH55_0, 0x25c */ + uint32_t scratch0_eco; /* _SCRATCH0_ECO_0, 0x260 */ + uint32_t por_dpd_ctrl; /* _POR_DPD_CTRL_0, 0x264 */ + uint32_t scratch2_eco; /* _SCRATCH2_ECO_0, 0x268 */ + uint32_t utmip_uhsic_line_wakeup; /* _UTMIP_UHSIC_LINE_WAKEUP_0, 0x26c */ + uint32_t utmip_bias_master_cntrl; /* _UTMIP_BIAS_MASTER_CNTRL_0, 0x270 */ + uint32_t utmip_master_config; /* _UTMIP_MASTER_CONFIG_0, 0x274 */ + uint32_t td_pwrgate_inter_part_timer; /* _TD_PWRGATE_INTER_PART_TIMER_0, 0x278 */ + uint32_t utmip_uhsic2_triggers; /* _UTMIP_UHSIC2_TRIGGERS_0, 0x27c */ + uint32_t utmip_uhsic2_saved_state; /* _UTMIP_UHSIC2_SAVED_STATE_0, 0x280 */ + uint32_t utmip_uhsic2_sleep_cfg; /* _UTMIP_UHSIC2_SLEEP_CFG_0, 0x284 */ + uint32_t utmip_uhsic2_sleepwalk_cfg; /* _UTMIP_UHSIC2_SLEEPWALK_CFG_0, 0x288 */ + uint32_t uhsic2_sleepwalk_p1; /* _UHSIC2_SLEEPWALK_P1_0, 0x28c */ + uint32_t utmip_uhsic2_status; /* _UTMIP_UHSIC2_STATUS_0, 0x290 */ + uint32_t utmip_uhsic2_fake; /* _UTMIP_UHSIC2_FAKE_0, 0x294 */ + uint32_t utmip_uhsic2_line_wakeup; /* _UTMIP_UHSIC2_LINE_WAKEUP_0, 0x298 */ + uint32_t utmip_master2_config; /* _UTMIP_MASTER2_CONFIG_0, 0x29c */ + uint32_t utmip_uhsic_rpd_cfg; /* _UTMIP_UHSIC_RPD_CFG_0, 0x2a0 */ + uint32_t pg_mask_ce0; /* _PG_MASK_CE0_0, 0x2a4 */ + uint32_t pg_mask_3; /* _PG_MASK_3_0, 0x2a8 */ + uint32_t pg_mask_4; /* _PG_MASK_4_0, 0x2ac */ + uint32_t pllm_wb0_override2; /* _PLLM_WB0_OVERRIDE2_0, 0x2b0 */ + uint32_t tsc_mult; /* _TSC_MULT_0, 0x2b4 */ + uint32_t cpu_vsense_override; /* _CPU_VSENSE_OVERRIDE_0, 0x2b8 */ + uint32_t glb_amap_cfg; /* _GLB_AMAP_CFG_0, 0x2bc */ + uint32_t sticky_bits; /* _STICKY_BITS_0, 0x2c0 */ + uint32_t sec_disable2; /* _SEC_DISABLE2_0, 0x2c4 */ + uint32_t weak_bias; /* _WEAK_BIAS_0, 0x2c8 */ + uint32_t reg_short; /* _REG_SHORT_0, 0x2cc */ + uint32_t pg_mask_andor; /* _PG_MASK_ANDOR_0, 0x2d0 */ + uint32_t gpu_rg_cntrl; /* _GPU_RG_CNTRL_0, 0x2d4 */ + uint32_t sec_disable3; /* _SEC_DISABLE3_0, 0x2d8 */ + uint32_t pg_mask_5; /* _PG_MASK_5_0, 0x2dc */ + uint32_t pg_mask_6; /* _PG_MASK_6_0, 0x2e0 */ + uint32_t _0x2e4[7]; + uint32_t secure_scratch8; /* _SECURE_SCRATCH8_0, 0x300 */ + uint32_t secure_scratch9; /* _SECURE_SCRATCH9_0, 0x304 */ + uint32_t secure_scratch10; /* _SECURE_SCRATCH10_0, 0x308 */ + uint32_t secure_scratch11; /* _SECURE_SCRATCH11_0, 0x30c */ + uint32_t secure_scratch12; /* _SECURE_SCRATCH12_0, 0x310 */ + uint32_t secure_scratch13; /* _SECURE_SCRATCH13_0, 0x314 */ + uint32_t secure_scratch14; /* _SECURE_SCRATCH14_0, 0x318 */ + uint32_t secure_scratch15; /* _SECURE_SCRATCH15_0, 0x31c */ + uint32_t secure_scratch16; /* _SECURE_SCRATCH16_0, 0x320 */ + uint32_t secure_scratch17; /* _SECURE_SCRATCH17_0, 0x324 */ + uint32_t secure_scratch18; /* _SECURE_SCRATCH18_0, 0x328 */ + uint32_t secure_scratch19; /* _SECURE_SCRATCH19_0, 0x32c */ + uint32_t secure_scratch20; /* _SECURE_SCRATCH20_0, 0x330 */ + uint32_t secure_scratch21; /* _SECURE_SCRATCH21_0, 0x334 */ + uint32_t secure_scratch22; /* _SECURE_SCRATCH22_0, 0x338 */ + uint32_t secure_scratch23; /* _SECURE_SCRATCH23_0, 0x33c */ + uint32_t secure_scratch24; /* _SECURE_SCRATCH24_0, 0x340 */ + uint32_t secure_scratch25; /* _SECURE_SCRATCH25_0, 0x344 */ + uint32_t secure_scratch26; /* _SECURE_SCRATCH26_0, 0x348 */ + uint32_t secure_scratch27; /* _SECURE_SCRATCH27_0, 0x34c */ + uint32_t secure_scratch28; /* _SECURE_SCRATCH28_0, 0x350 */ + uint32_t secure_scratch29; /* _SECURE_SCRATCH29_0, 0x354 */ + uint32_t secure_scratch30; /* _SECURE_SCRATCH30_0, 0x358 */ + uint32_t secure_scratch31; /* _SECURE_SCRATCH31_0, 0x35c */ + uint32_t secure_scratch32; /* _SECURE_SCRATCH32_0, 0x360 */ + uint32_t secure_scratch33; /* _SECURE_SCRATCH33_0, 0x364 */ + uint32_t secure_scratch34; /* _SECURE_SCRATCH34_0, 0x368 */ + uint32_t secure_scratch35; /* _SECURE_SCRATCH35_0, 0x36c */ + uint32_t secure_scratch36; /* _SECURE_SCRATCH36_0, 0x370 */ + uint32_t secure_scratch37; /* _SECURE_SCRATCH37_0, 0x374 */ + uint32_t secure_scratch38; /* _SECURE_SCRATCH38_0, 0x378 */ + uint32_t secure_scratch39; /* _SECURE_SCRATCH39_0, 0x37c */ + uint32_t secure_scratch40; /* _SECURE_SCRATCH40_0, 0x380 */ + uint32_t secure_scratch41; /* _SECURE_SCRATCH41_0, 0x384 */ + uint32_t secure_scratch42; /* _SECURE_SCRATCH42_0, 0x388 */ + uint32_t secure_scratch43; /* _SECURE_SCRATCH43_0, 0x38c */ + uint32_t secure_scratch44; /* _SECURE_SCRATCH44_0, 0x390 */ + uint32_t secure_scratch45; /* _SECURE_SCRATCH45_0, 0x394 */ + uint32_t secure_scratch46; /* _SECURE_SCRATCH46_0, 0x398 */ + uint32_t secure_scratch47; /* _SECURE_SCRATCH47_0, 0x39c */ + uint32_t secure_scratch48; /* _SECURE_SCRATCH48_0, 0x3a0 */ + uint32_t secure_scratch49; /* _SECURE_SCRATCH49_0, 0x3a4 */ + uint32_t secure_scratch50; /* _SECURE_SCRATCH50_0, 0x3a8 */ + uint32_t secure_scratch51; /* _SECURE_SCRATCH51_0, 0x3ac */ + uint32_t secure_scratch52; /* _SECURE_SCRATCH52_0, 0x3b0 */ + uint32_t secure_scratch53; /* _SECURE_SCRATCH53_0, 0x3b4 */ + uint32_t secure_scratch54; /* _SECURE_SCRATCH54_0, 0x3b8 */ + uint32_t secure_scratch55; /* _SECURE_SCRATCH55_0, 0x3bc */ + uint32_t secure_scratch56; /* _SECURE_SCRATCH56_0, 0x3c0 */ + uint32_t secure_scratch57; /* _SECURE_SCRATCH57_0, 0x3c4 */ + uint32_t secure_scratch58; /* _SECURE_SCRATCH58_0, 0x3c8 */ + uint32_t secure_scratch59; /* _SECURE_SCRATCH59_0, 0x3cc */ + uint32_t secure_scratch60; /* _SECURE_SCRATCH60_0, 0x3d0 */ + uint32_t secure_scratch61; /* _SECURE_SCRATCH61_0, 0x3d4 */ + uint32_t secure_scratch62; /* _SECURE_SCRATCH62_0, 0x3d8 */ + uint32_t secure_scratch63; /* _SECURE_SCRATCH63_0, 0x3dc */ + uint32_t secure_scratch64; /* _SECURE_SCRATCH64_0, 0x3e0 */ + uint32_t secure_scratch65; /* _SECURE_SCRATCH65_0, 0x3e4 */ + uint32_t secure_scratch66; /* _SECURE_SCRATCH66_0, 0x3e8 */ + uint32_t secure_scratch67; /* _SECURE_SCRATCH67_0, 0x3ec */ + uint32_t secure_scratch68; /* _SECURE_SCRATCH68_0, 0x3f0 */ + uint32_t secure_scratch69; /* _SECURE_SCRATCH69_0, 0x3f4 */ + uint32_t secure_scratch70; /* _SECURE_SCRATCH70_0, 0x3f8 */ + uint32_t secure_scratch71; /* _SECURE_SCRATCH71_0, 0x3fc */ + uint32_t secure_scratch72; /* _SECURE_SCRATCH72_0, 0x400 */ + uint32_t secure_scratch73; /* _SECURE_SCRATCH73_0, 0x404 */ + uint32_t secure_scratch74; /* _SECURE_SCRATCH74_0, 0x408 */ + uint32_t secure_scratch75; /* _SECURE_SCRATCH75_0, 0x40c */ + uint32_t secure_scratch76; /* _SECURE_SCRATCH76_0, 0x410 */ + uint32_t secure_scratch77; /* _SECURE_SCRATCH77_0, 0x414 */ + uint32_t secure_scratch78; /* _SECURE_SCRATCH78_0, 0x418 */ + uint32_t secure_scratch79; /* _SECURE_SCRATCH79_0, 0x41c */ + uint32_t _0x420[8]; + uint32_t cntrl2; /* _CNTRL2_0, 0x440 */ + uint32_t io_dpd_off_mask; /* _IO_DPD_OFF_MASK_0, 0x444 */ + uint32_t io_dpd2_off_mask; /* _IO_DPD2_OFF_MASK_0, 0x448 */ + uint32_t event_counter; /* _EVENT_COUNTER_0, 0x44c */ + uint32_t fuse_control; /* _FUSE_CONTROL_0, 0x450 */ + uint32_t scratch1_eco; /* _SCRATCH1_ECO_0, 0x454 */ + uint32_t _0x458; + uint32_t io_dpd3_req; /* _IO_DPD3_REQ_0, 0x45c */ + uint32_t io_dpd3_status; /* _IO_DPD3_STATUS_0, 0x460 */ + uint32_t io_dpd4_req; /* _IO_DPD4_REQ_0, 0x464 */ + uint32_t io_dpd4_status; /* _IO_DPD4_STATUS_0, 0x468 */ + uint32_t _0x46c[2]; + uint32_t direct_thermtrip_cfg; /* _DIRECT_THERMTRIP_CFG_0, 0x474 */ + uint32_t tsosc_delay; /* _TSOSC_DELAY_0, 0x478 */ + uint32_t set_sw_clamp; /* _SET_SW_CLAMP_0, 0x47c */ + uint32_t debug_authentication; /* _DEBUG_AUTHENTICATION_0, 0x480 */ + uint32_t aotag_cfg; /* _AOTAG_CFG_0, 0x484 */ + uint32_t aotag_thresh1_cfg; /* _AOTAG_THRESH1_CFG_0, 0x488 */ + uint32_t aotag_thresh2_cfg; /* _AOTAG_THRESH2_CFG_0, 0x48c */ + uint32_t aotag_thresh3_cfg; /* _AOTAG_THRESH3_CFG_0, 0x490 */ + uint32_t aotag_status; /* _AOTAG_STATUS_0, 0x494 */ + uint32_t aotag_security; /* _AOTAG_SECURITY_0, 0x498 */ + uint32_t tsensor_config0; /* _TSENSOR_CONFIG0_0, 0x49c */ + uint32_t tsensor_config1; /* _TSENSOR_CONFIG1_0, 0x4a0 */ + uint32_t tsensor_config2; /* _TSENSOR_CONFIG2_0, 0x4a4 */ + uint32_t tsensor_status0; /* _TSENSOR_STATUS0_0, 0x4a8 */ + uint32_t tsensor_status1; /* _TSENSOR_STATUS1_0, 0x4ac */ + uint32_t tsensor_status2; /* _TSENSOR_STATUS2_0, 0x4b0 */ + uint32_t tsensor_pdiv; /* _TSENSOR_PDIV_0, 0x4b4 */ + uint32_t aotag_intr_en; /* _AOTAG_INTR_EN_0, 0x4b8 */ + uint32_t aotag_intr_dis; /* _AOTAG_INTR_DIS_0, 0x4bc */ + uint32_t utmip_pad_cfg0; /* _UTMIP_PAD_CFG0_0, 0x4c0 */ + uint32_t utmip_pad_cfg1; /* _UTMIP_PAD_CFG1_0, 0x4c4 */ + uint32_t utmip_pad_cfg2; /* _UTMIP_PAD_CFG2_0, 0x4c8 */ + uint32_t utmip_pad_cfg3; /* _UTMIP_PAD_CFG3_0, 0x4cc */ + uint32_t utmip_uhsic_sleep_cfg1; /* _UTMIP_UHSIC_SLEEP_CFG1_0, 0x4d0 */ + uint32_t cc4_hvc_control; /* _CC4_HVC_CONTROL_0, 0x4d4 */ + uint32_t wake_debounce_en; /* _WAKE_DEBOUNCE_EN_0, 0x4d8 */ + uint32_t ramdump_ctl_status; /* _RAMDUMP_CTL_STATUS_0, 0x4dc */ + uint32_t utmip_sleepwalk_p3; /* _UTMIP_SLEEPWALK_P3_0, 0x4e0 */ + uint32_t ddr_cntrl; /* _DDR_CNTRL_0, 0x4e4 */ + uint32_t _0x4e8[50]; + uint32_t sec_disable4; /* _SEC_DISABLE4_0, 0x5b0 */ + uint32_t sec_disable5; /* _SEC_DISABLE5_0, 0x5b4 */ + uint32_t sec_disable6; /* _SEC_DISABLE6_0, 0x5b8 */ + uint32_t sec_disable7; /* _SEC_DISABLE7_0, 0x5bc */ + uint32_t sec_disable8; /* _SEC_DISABLE8_0, 0x5c0 */ + uint32_t sec_disable9; /* _SEC_DISABLE9_0, 0x5c4 */ + uint32_t sec_disable10; /* _SEC_DISABLE10_0, 0x5c8 */ + uint32_t _0x5cc[13]; + uint32_t scratch56; /* _SCRATCH56_0, 0x600 */ + uint32_t scratch57; /* _SCRATCH57_0, 0x604 */ + uint32_t scratch58; /* _SCRATCH58_0, 0x608 */ + uint32_t scratch59; /* _SCRATCH59_0, 0x60c */ + uint32_t scratch60; /* _SCRATCH60_0, 0x610 */ + uint32_t scratch61; /* _SCRATCH61_0, 0x614 */ + uint32_t scratch62; /* _SCRATCH62_0, 0x618 */ + uint32_t scratch63; /* _SCRATCH63_0, 0x61c */ + uint32_t scratch64; /* _SCRATCH64_0, 0x620 */ + uint32_t scratch65; /* _SCRATCH65_0, 0x624 */ + uint32_t scratch66; /* _SCRATCH66_0, 0x628 */ + uint32_t scratch67; /* _SCRATCH67_0, 0x62c */ + uint32_t scratch68; /* _SCRATCH68_0, 0x630 */ + uint32_t scratch69; /* _SCRATCH69_0, 0x634 */ + uint32_t scratch70; /* _SCRATCH70_0, 0x638 */ + uint32_t scratch71; /* _SCRATCH71_0, 0x63c */ + uint32_t scratch72; /* _SCRATCH72_0, 0x640 */ + uint32_t scratch73; /* _SCRATCH73_0, 0x644 */ + uint32_t scratch74; /* _SCRATCH74_0, 0x648 */ + uint32_t scratch75; /* _SCRATCH75_0, 0x64c */ + uint32_t scratch76; /* _SCRATCH76_0, 0x650 */ + uint32_t scratch77; /* _SCRATCH77_0, 0x654 */ + uint32_t scratch78; /* _SCRATCH78_0, 0x658 */ + uint32_t scratch79; /* _SCRATCH79_0, 0x65c */ + uint32_t scratch80; /* _SCRATCH80_0, 0x660 */ + uint32_t scratch81; /* _SCRATCH81_0, 0x664 */ + uint32_t scratch82; /* _SCRATCH82_0, 0x668 */ + uint32_t scratch83; /* _SCRATCH83_0, 0x66c */ + uint32_t scratch84; /* _SCRATCH84_0, 0x670 */ + uint32_t scratch85; /* _SCRATCH85_0, 0x674 */ + uint32_t scratch86; /* _SCRATCH86_0, 0x678 */ + uint32_t scratch87; /* _SCRATCH87_0, 0x67c */ + uint32_t scratch88; /* _SCRATCH88_0, 0x680 */ + uint32_t scratch89; /* _SCRATCH89_0, 0x684 */ + uint32_t scratch90; /* _SCRATCH90_0, 0x688 */ + uint32_t scratch91; /* _SCRATCH91_0, 0x68c */ + uint32_t scratch92; /* _SCRATCH92_0, 0x690 */ + uint32_t scratch93; /* _SCRATCH93_0, 0x694 */ + uint32_t scratch94; /* _SCRATCH94_0, 0x698 */ + uint32_t scratch95; /* _SCRATCH95_0, 0x69c */ + uint32_t scratch96; /* _SCRATCH96_0, 0x6a0 */ + uint32_t scratch97; /* _SCRATCH97_0, 0x6a4 */ + uint32_t scratch98; /* _SCRATCH98_0, 0x6a8 */ + uint32_t scratch99; /* _SCRATCH99_0, 0x6ac */ + uint32_t scratch100; /* _SCRATCH100_0, 0x6b0 */ + uint32_t scratch101; /* _SCRATCH101_0, 0x6b4 */ + uint32_t scratch102; /* _SCRATCH102_0, 0x6b8 */ + uint32_t scratch103; /* _SCRATCH103_0, 0x6bc */ + uint32_t scratch104; /* _SCRATCH104_0, 0x6c0 */ + uint32_t scratch105; /* _SCRATCH105_0, 0x6c4 */ + uint32_t scratch106; /* _SCRATCH106_0, 0x6c8 */ + uint32_t scratch107; /* _SCRATCH107_0, 0x6cc */ + uint32_t scratch108; /* _SCRATCH108_0, 0x6d0 */ + uint32_t scratch109; /* _SCRATCH109_0, 0x6d4 */ + uint32_t scratch110; /* _SCRATCH110_0, 0x6d8 */ + uint32_t scratch111; /* _SCRATCH111_0, 0x6dc */ + uint32_t scratch112; /* _SCRATCH112_0, 0x6e0 */ + uint32_t scratch113; /* _SCRATCH113_0, 0x6e4 */ + uint32_t scratch114; /* _SCRATCH114_0, 0x6e8 */ + uint32_t scratch115; /* _SCRATCH115_0, 0x6ec */ + uint32_t scratch116; /* _SCRATCH116_0, 0x6f0 */ + uint32_t scratch117; /* _SCRATCH117_0, 0x6f4 */ + uint32_t scratch118; /* _SCRATCH118_0, 0x6f8 */ + uint32_t scratch119; /* _SCRATCH119_0, 0x6fc */ + uint32_t scratch120; /* _SCRATCH120_0, 0x700 */ + uint32_t scratch121; /* _SCRATCH121_0, 0x704 */ + uint32_t scratch122; /* _SCRATCH122_0, 0x708 */ + uint32_t scratch123; /* _SCRATCH123_0, 0x70c */ + uint32_t scratch124; /* _SCRATCH124_0, 0x710 */ + uint32_t scratch125; /* _SCRATCH125_0, 0x714 */ + uint32_t scratch126; /* _SCRATCH126_0, 0x718 */ + uint32_t scratch127; /* _SCRATCH127_0, 0x71c */ + uint32_t scratch128; /* _SCRATCH128_0, 0x720 */ + uint32_t scratch129; /* _SCRATCH129_0, 0x724 */ + uint32_t scratch130; /* _SCRATCH130_0, 0x728 */ + uint32_t scratch131; /* _SCRATCH131_0, 0x72c */ + uint32_t scratch132; /* _SCRATCH132_0, 0x730 */ + uint32_t scratch133; /* _SCRATCH133_0, 0x734 */ + uint32_t scratch134; /* _SCRATCH134_0, 0x738 */ + uint32_t scratch135; /* _SCRATCH135_0, 0x73c */ + uint32_t scratch136; /* _SCRATCH136_0, 0x740 */ + uint32_t scratch137; /* _SCRATCH137_0, 0x744 */ + uint32_t scratch138; /* _SCRATCH138_0, 0x748 */ + uint32_t scratch139; /* _SCRATCH139_0, 0x74c */ + uint32_t scratch140; /* _SCRATCH140_0, 0x750 */ + uint32_t scratch141; /* _SCRATCH141_0, 0x754 */ + uint32_t scratch142; /* _SCRATCH142_0, 0x758 */ + uint32_t scratch143; /* _SCRATCH143_0, 0x75c */ + uint32_t scratch144; /* _SCRATCH144_0, 0x760 */ + uint32_t scratch145; /* _SCRATCH145_0, 0x764 */ + uint32_t scratch146; /* _SCRATCH146_0, 0x768 */ + uint32_t scratch147; /* _SCRATCH147_0, 0x76c */ + uint32_t scratch148; /* _SCRATCH148_0, 0x770 */ + uint32_t scratch149; /* _SCRATCH149_0, 0x774 */ + uint32_t scratch150; /* _SCRATCH150_0, 0x778 */ + uint32_t scratch151; /* _SCRATCH151_0, 0x77c */ + uint32_t scratch152; /* _SCRATCH152_0, 0x780 */ + uint32_t scratch153; /* _SCRATCH153_0, 0x784 */ + uint32_t scratch154; /* _SCRATCH154_0, 0x788 */ + uint32_t scratch155; /* _SCRATCH155_0, 0x78c */ + uint32_t scratch156; /* _SCRATCH156_0, 0x790 */ + uint32_t scratch157; /* _SCRATCH157_0, 0x794 */ + uint32_t scratch158; /* _SCRATCH158_0, 0x798 */ + uint32_t scratch159; /* _SCRATCH159_0, 0x79c */ + uint32_t scratch160; /* _SCRATCH160_0, 0x7a0 */ + uint32_t scratch161; /* _SCRATCH161_0, 0x7a4 */ + uint32_t scratch162; /* _SCRATCH162_0, 0x7a8 */ + uint32_t scratch163; /* _SCRATCH163_0, 0x7ac */ + uint32_t scratch164; /* _SCRATCH164_0, 0x7b0 */ + uint32_t scratch165; /* _SCRATCH165_0, 0x7b4 */ + uint32_t scratch166; /* _SCRATCH166_0, 0x7b8 */ + uint32_t scratch167; /* _SCRATCH167_0, 0x7bc */ + uint32_t scratch168; /* _SCRATCH168_0, 0x7c0 */ + uint32_t scratch169; /* _SCRATCH169_0, 0x7c4 */ + uint32_t scratch170; /* _SCRATCH170_0, 0x7c8 */ + uint32_t scratch171; /* _SCRATCH171_0, 0x7cc */ + uint32_t scratch172; /* _SCRATCH172_0, 0x7d0 */ + uint32_t scratch173; /* _SCRATCH173_0, 0x7d4 */ + uint32_t scratch174; /* _SCRATCH174_0, 0x7d8 */ + uint32_t scratch175; /* _SCRATCH175_0, 0x7dc */ + uint32_t scratch176; /* _SCRATCH176_0, 0x7e0 */ + uint32_t scratch177; /* _SCRATCH177_0, 0x7e4 */ + uint32_t scratch178; /* _SCRATCH178_0, 0x7e8 */ + uint32_t scratch179; /* _SCRATCH179_0, 0x7ec */ + uint32_t scratch180; /* _SCRATCH180_0, 0x7f0 */ + uint32_t scratch181; /* _SCRATCH181_0, 0x7f4 */ + uint32_t scratch182; /* _SCRATCH182_0, 0x7f8 */ + uint32_t scratch183; /* _SCRATCH183_0, 0x7fc */ + uint32_t scratch184; /* _SCRATCH184_0, 0x800 */ + uint32_t scratch185; /* _SCRATCH185_0, 0x804 */ + uint32_t scratch186; /* _SCRATCH186_0, 0x808 */ + uint32_t scratch187; /* _SCRATCH187_0, 0x80c */ + uint32_t scratch188; /* _SCRATCH188_0, 0x810 */ + uint32_t scratch189; /* _SCRATCH189_0, 0x814 */ + uint32_t scratch190; /* _SCRATCH190_0, 0x818 */ + uint32_t scratch191; /* _SCRATCH191_0, 0x81c */ + uint32_t scratch192; /* _SCRATCH192_0, 0x820 */ + uint32_t scratch193; /* _SCRATCH193_0, 0x824 */ + uint32_t scratch194; /* _SCRATCH194_0, 0x828 */ + uint32_t scratch195; /* _SCRATCH195_0, 0x82c */ + uint32_t scratch196; /* _SCRATCH196_0, 0x830 */ + uint32_t scratch197; /* _SCRATCH197_0, 0x834 */ + uint32_t scratch198; /* _SCRATCH198_0, 0x838 */ + uint32_t scratch199; /* _SCRATCH199_0, 0x83c */ + uint32_t scratch200; /* _SCRATCH200_0, 0x840 */ + uint32_t scratch201; /* _SCRATCH201_0, 0x844 */ + uint32_t scratch202; /* _SCRATCH202_0, 0x848 */ + uint32_t scratch203; /* _SCRATCH203_0, 0x84c */ + uint32_t scratch204; /* _SCRATCH204_0, 0x850 */ + uint32_t scratch205; /* _SCRATCH205_0, 0x854 */ + uint32_t scratch206; /* _SCRATCH206_0, 0x858 */ + uint32_t scratch207; /* _SCRATCH207_0, 0x85c */ + uint32_t scratch208; /* _SCRATCH208_0, 0x860 */ + uint32_t scratch209; /* _SCRATCH209_0, 0x864 */ + uint32_t scratch210; /* _SCRATCH210_0, 0x868 */ + uint32_t scratch211; /* _SCRATCH211_0, 0x86c */ + uint32_t scratch212; /* _SCRATCH212_0, 0x870 */ + uint32_t scratch213; /* _SCRATCH213_0, 0x874 */ + uint32_t scratch214; /* _SCRATCH214_0, 0x878 */ + uint32_t scratch215; /* _SCRATCH215_0, 0x87c */ + uint32_t scratch216; /* _SCRATCH216_0, 0x880 */ + uint32_t scratch217; /* _SCRATCH217_0, 0x884 */ + uint32_t scratch218; /* _SCRATCH218_0, 0x888 */ + uint32_t scratch219; /* _SCRATCH219_0, 0x88c */ + uint32_t scratch220; /* _SCRATCH220_0, 0x890 */ + uint32_t scratch221; /* _SCRATCH221_0, 0x894 */ + uint32_t scratch222; /* _SCRATCH222_0, 0x898 */ + uint32_t scratch223; /* _SCRATCH223_0, 0x89c */ + uint32_t scratch224; /* _SCRATCH224_0, 0x8a0 */ + uint32_t scratch225; /* _SCRATCH225_0, 0x8a4 */ + uint32_t scratch226; /* _SCRATCH226_0, 0x8a8 */ + uint32_t scratch227; /* _SCRATCH227_0, 0x8ac */ + uint32_t scratch228; /* _SCRATCH228_0, 0x8b0 */ + uint32_t scratch229; /* _SCRATCH229_0, 0x8b4 */ + uint32_t scratch230; /* _SCRATCH230_0, 0x8b8 */ + uint32_t scratch231; /* _SCRATCH231_0, 0x8bc */ + uint32_t scratch232; /* _SCRATCH232_0, 0x8c0 */ + uint32_t scratch233; /* _SCRATCH233_0, 0x8c4 */ + uint32_t scratch234; /* _SCRATCH234_0, 0x8c8 */ + uint32_t scratch235; /* _SCRATCH235_0, 0x8cc */ + uint32_t scratch236; /* _SCRATCH236_0, 0x8d0 */ + uint32_t scratch237; /* _SCRATCH237_0, 0x8d4 */ + uint32_t scratch238; /* _SCRATCH238_0, 0x8d8 */ + uint32_t scratch239; /* _SCRATCH239_0, 0x8dc */ + uint32_t scratch240; /* _SCRATCH240_0, 0x8e0 */ + uint32_t scratch241; /* _SCRATCH241_0, 0x8e4 */ + uint32_t scratch242; /* _SCRATCH242_0, 0x8e8 */ + uint32_t scratch243; /* _SCRATCH243_0, 0x8ec */ + uint32_t scratch244; /* _SCRATCH244_0, 0x8f0 */ + uint32_t scratch245; /* _SCRATCH245_0, 0x8f4 */ + uint32_t scratch246; /* _SCRATCH246_0, 0x8f8 */ + uint32_t scratch247; /* _SCRATCH247_0, 0x8fc */ + uint32_t scratch248; /* _SCRATCH248_0, 0x900 */ + uint32_t scratch249; /* _SCRATCH249_0, 0x904 */ + uint32_t scratch250; /* _SCRATCH250_0, 0x908 */ + uint32_t scratch251; /* _SCRATCH251_0, 0x90c */ + uint32_t scratch252; /* _SCRATCH252_0, 0x910 */ + uint32_t scratch253; /* _SCRATCH253_0, 0x914 */ + uint32_t scratch254; /* _SCRATCH254_0, 0x918 */ + uint32_t scratch255; /* _SCRATCH255_0, 0x91c */ + uint32_t scratch256; /* _SCRATCH256_0, 0x920 */ + uint32_t scratch257; /* _SCRATCH257_0, 0x924 */ + uint32_t scratch258; /* _SCRATCH258_0, 0x928 */ + uint32_t scratch259; /* _SCRATCH259_0, 0x92c */ + uint32_t scratch260; /* _SCRATCH260_0, 0x930 */ + uint32_t scratch261; /* _SCRATCH261_0, 0x934 */ + uint32_t scratch262; /* _SCRATCH262_0, 0x938 */ + uint32_t scratch263; /* _SCRATCH263_0, 0x93c */ + uint32_t scratch264; /* _SCRATCH264_0, 0x940 */ + uint32_t scratch265; /* _SCRATCH265_0, 0x944 */ + uint32_t scratch266; /* _SCRATCH266_0, 0x948 */ + uint32_t scratch267; /* _SCRATCH267_0, 0x94c */ + uint32_t scratch268; /* _SCRATCH268_0, 0x950 */ + uint32_t scratch269; /* _SCRATCH269_0, 0x954 */ + uint32_t scratch270; /* _SCRATCH270_0, 0x958 */ + uint32_t scratch271; /* _SCRATCH271_0, 0x95c */ + uint32_t scratch272; /* _SCRATCH272_0, 0x960 */ + uint32_t scratch273; /* _SCRATCH273_0, 0x964 */ + uint32_t scratch274; /* _SCRATCH274_0, 0x968 */ + uint32_t scratch275; /* _SCRATCH275_0, 0x96c */ + uint32_t scratch276; /* _SCRATCH276_0, 0x970 */ + uint32_t scratch277; /* _SCRATCH277_0, 0x974 */ + uint32_t scratch278; /* _SCRATCH278_0, 0x978 */ + uint32_t scratch279; /* _SCRATCH279_0, 0x97c */ + uint32_t scratch280; /* _SCRATCH280_0, 0x980 */ + uint32_t scratch281; /* _SCRATCH281_0, 0x984 */ + uint32_t scratch282; /* _SCRATCH282_0, 0x988 */ + uint32_t scratch283; /* _SCRATCH283_0, 0x98c */ + uint32_t scratch284; /* _SCRATCH284_0, 0x990 */ + uint32_t scratch285; /* _SCRATCH285_0, 0x994 */ + uint32_t scratch286; /* _SCRATCH286_0, 0x998 */ + uint32_t scratch287; /* _SCRATCH287_0, 0x99c */ + uint32_t scratch288; /* _SCRATCH288_0, 0x9a0 */ + uint32_t scratch289; /* _SCRATCH289_0, 0x9a4 */ + uint32_t scratch290; /* _SCRATCH290_0, 0x9a8 */ + uint32_t scratch291; /* _SCRATCH291_0, 0x9ac */ + uint32_t scratch292; /* _SCRATCH292_0, 0x9b0 */ + uint32_t scratch293; /* _SCRATCH293_0, 0x9b4 */ + uint32_t scratch294; /* _SCRATCH294_0, 0x9b8 */ + uint32_t scratch295; /* _SCRATCH295_0, 0x9bc */ + uint32_t scratch296; /* _SCRATCH296_0, 0x9c0 */ + uint32_t scratch297; /* _SCRATCH297_0, 0x9c4 */ + uint32_t scratch298; /* _SCRATCH298_0, 0x9c8 */ + uint32_t scratch299; /* _SCRATCH299_0, 0x9cc */ + uint32_t _0x9d0[50]; + uint32_t secure_scratch80; /* _SECURE_SCRATCH80_0, 0xa98 */ + uint32_t secure_scratch81; /* _SECURE_SCRATCH81_0, 0xa9c */ + uint32_t secure_scratch82; /* _SECURE_SCRATCH82_0, 0xaa0 */ + uint32_t secure_scratch83; /* _SECURE_SCRATCH83_0, 0xaa4 */ + uint32_t secure_scratch84; /* _SECURE_SCRATCH84_0, 0xaa8 */ + uint32_t secure_scratch85; /* _SECURE_SCRATCH85_0, 0xaac */ + uint32_t secure_scratch86; /* _SECURE_SCRATCH86_0, 0xab0 */ + uint32_t secure_scratch87; /* _SECURE_SCRATCH87_0, 0xab4 */ + uint32_t secure_scratch88; /* _SECURE_SCRATCH88_0, 0xab8 */ + uint32_t secure_scratch89; /* _SECURE_SCRATCH89_0, 0xabc */ + uint32_t secure_scratch90; /* _SECURE_SCRATCH90_0, 0xac0 */ + uint32_t secure_scratch91; /* _SECURE_SCRATCH91_0, 0xac4 */ + uint32_t secure_scratch92; /* _SECURE_SCRATCH92_0, 0xac8 */ + uint32_t secure_scratch93; /* _SECURE_SCRATCH93_0, 0xacc */ + uint32_t secure_scratch94; /* _SECURE_SCRATCH94_0, 0xad0 */ + uint32_t secure_scratch95; /* _SECURE_SCRATCH95_0, 0xad4 */ + uint32_t secure_scratch96; /* _SECURE_SCRATCH96_0, 0xad8 */ + uint32_t secure_scratch97; /* _SECURE_SCRATCH97_0, 0xadc */ + uint32_t secure_scratch98; /* _SECURE_SCRATCH98_0, 0xae0 */ + uint32_t secure_scratch99; /* _SECURE_SCRATCH99_0, 0xae4 */ + uint32_t secure_scratch100; /* _SECURE_SCRATCH100_0, 0xae8 */ + uint32_t secure_scratch101; /* _SECURE_SCRATCH101_0, 0xaec */ + uint32_t secure_scratch102; /* _SECURE_SCRATCH102_0, 0xaf0 */ + uint32_t secure_scratch103; /* _SECURE_SCRATCH103_0, 0xaf4 */ + uint32_t secure_scratch104; /* _SECURE_SCRATCH104_0, 0xaf8 */ + uint32_t secure_scratch105; /* _SECURE_SCRATCH105_0, 0xafc */ + uint32_t secure_scratch106; /* _SECURE_SCRATCH106_0, 0xb00 */ + uint32_t secure_scratch107; /* _SECURE_SCRATCH107_0, 0xb04 */ + uint32_t secure_scratch108; /* _SECURE_SCRATCH108_0, 0xb08 */ + uint32_t secure_scratch109; /* _SECURE_SCRATCH109_0, 0xb0c */ + uint32_t secure_scratch110; /* _SECURE_SCRATCH110_0, 0xb10 */ + uint32_t secure_scratch111; /* _SECURE_SCRATCH111_0, 0xb14 */ + uint32_t secure_scratch112; /* _SECURE_SCRATCH112_0, 0xb18 */ + uint32_t secure_scratch113; /* _SECURE_SCRATCH113_0, 0xb1c */ + uint32_t secure_scratch114; /* _SECURE_SCRATCH114_0, 0xb20 */ + uint32_t secure_scratch115; /* _SECURE_SCRATCH115_0, 0xb24 */ + uint32_t secure_scratch116; /* _SECURE_SCRATCH116_0, 0xb28 */ + uint32_t secure_scratch117; /* _SECURE_SCRATCH117_0, 0xb2c */ + uint32_t secure_scratch118; /* _SECURE_SCRATCH118_0, 0xb30 */ + uint32_t secure_scratch119; /* _SECURE_SCRATCH119_0, 0xb34 */ + uint32_t secure_scratch120; /* _SECURE_SCRATCH120_0, 0xb38 */ + uint32_t secure_scratch121; /* _SECURE_SCRATCH121_0, 0xb3c */ + uint32_t secure_scratch122; /* _SECURE_SCRATCH122_0, 0xb40 */ + uint32_t secure_scratch123; /* _SECURE_SCRATCH123_0, 0xb44 */ + uint32_t led_breathing_ctrl; /* _LED_BREATHING_CTRL_0, 0xb48 */ + uint32_t led_breathing_counter0; /* _LED_BREATHING_COUNTER0_0, 0xb4c */ + uint32_t led_breathing_counter1; /* _LED_BREATHING_COUNTER1_0, 0xb50 */ + uint32_t led_breathing_counter2; /* _LED_BREATHING_COUNTER2_0, 0xb54 */ + uint32_t led_breathing_counter3; /* _LED_BREATHING_COUNTER3_0, 0xb58 */ + uint32_t led_breathing_status; /* _LED_BREATHING_STATUS_0, 0xb5c */ + uint32_t _0xb60[2]; + uint32_t secure_scratch124; /* _SECURE_SCRATCH124_0, 0xb68 */ + uint32_t secure_scratch125; /* _SECURE_SCRATCH125_0, 0xb6c */ + uint32_t secure_scratch126; /* _SECURE_SCRATCH126_0, 0xb70 */ + uint32_t secure_scratch127; /* _SECURE_SCRATCH127_0, 0xb74 */ + uint32_t secure_scratch128; /* _SECURE_SCRATCH128_0, 0xb78 */ + uint32_t secure_scratch129; /* _SECURE_SCRATCH129_0, 0xb7c */ + uint32_t secure_scratch130; /* _SECURE_SCRATCH130_0, 0xb80 */ + uint32_t secure_scratch131; /* _SECURE_SCRATCH131_0, 0xb84 */ + uint32_t secure_scratch132; /* _SECURE_SCRATCH132_0, 0xb88 */ + uint32_t secure_scratch133; /* _SECURE_SCRATCH133_0, 0xb8c */ + uint32_t secure_scratch134; /* _SECURE_SCRATCH134_0, 0xb90 */ + uint32_t secure_scratch135; /* _SECURE_SCRATCH135_0, 0xb94 */ + uint32_t secure_scratch136; /* _SECURE_SCRATCH136_0, 0xb98 */ + uint32_t secure_scratch137; /* _SECURE_SCRATCH137_0, 0xb9c */ + uint32_t secure_scratch138; /* _SECURE_SCRATCH138_0, 0xba0 */ + uint32_t secure_scratch139; /* _SECURE_SCRATCH139_0, 0xba4 */ + uint32_t _0xba8[2]; + uint32_t sec_disable_ns; /* _SEC_DISABLE_NS_0, 0xbb0 */ + uint32_t sec_disable2_ns; /* _SEC_DISABLE2_NS_0, 0xbb4 */ + uint32_t sec_disable3_ns; /* _SEC_DISABLE3_NS_0, 0xbb8 */ + uint32_t sec_disable4_ns; /* _SEC_DISABLE4_NS_0, 0xbbc */ + uint32_t sec_disable5_ns; /* _SEC_DISABLE5_NS_0, 0xbc0 */ + uint32_t sec_disable6_ns; /* _SEC_DISABLE6_NS_0, 0xbc4 */ + uint32_t sec_disable7_ns; /* _SEC_DISABLE7_NS_0, 0xbc8 */ + uint32_t sec_disable8_ns; /* _SEC_DISABLE8_NS_0, 0xbcc */ + uint32_t sec_disable9_ns; /* _SEC_DISABLE9_NS_0, 0xbd0 */ + uint32_t sec_disable10_ns; /* _SEC_DISABLE10_NS_0, 0xbd4 */ + uint32_t _0xbd8[4]; + uint32_t tzram_pwr_cntrl; /* _TZRAM_PWR_CNTRL_0, 0xbe8 */ + uint32_t tzram_sec_disable; /* _TZRAM_SEC_DISABLE_0, 0xbec */ + uint32_t tzram_non_sec_disable; /* _TZRAM_NON_SEC_DISABLE_0, 0xbf0 */ } tegra_pmc_t; static inline volatile tegra_pmc_t *pmc_get_regs(void) diff --git a/fusee/fusee-primary/src/sdram.c b/fusee/fusee-primary/src/sdram.c index 6198c2ceb..00c1b632d 100644 --- a/fusee/fusee-primary/src/sdram.c +++ b/fusee/fusee-primary/src/sdram.c @@ -1139,88 +1139,88 @@ void sdram_save_params_erista(const void *save_params) { /* 32 bits version c macro */ #define c32(value, pmcreg) pmc->pmcreg = value - //TODO: pkg1.1 (1.X - 3.X) reads them from MC. - // Patch carveout parameters. - /*params->McGeneralizedCarveout1Bom = 0; - params->McGeneralizedCarveout1BomHi = 0; - params->McGeneralizedCarveout1Size128kb = 0; - params->McGeneralizedCarveout1Access0 = 0; - params->McGeneralizedCarveout1Access1 = 0; - params->McGeneralizedCarveout1Access2 = 0; - params->McGeneralizedCarveout1Access3 = 0; - params->McGeneralizedCarveout1Access4 = 0; - params->McGeneralizedCarveout1ForceInternalAccess0 = 0; - params->McGeneralizedCarveout1ForceInternalAccess1 = 0; - params->McGeneralizedCarveout1ForceInternalAccess2 = 0; - params->McGeneralizedCarveout1ForceInternalAccess3 = 0; - params->McGeneralizedCarveout1ForceInternalAccess4 = 0; - params->McGeneralizedCarveout1Cfg0 = 0; - params->McGeneralizedCarveout2Bom = 0x80020000; - params->McGeneralizedCarveout2BomHi = 0; - params->McGeneralizedCarveout2Size128kb = 2; - params->McGeneralizedCarveout2Access0 = 0; - params->McGeneralizedCarveout2Access1 = 0; - params->McGeneralizedCarveout2Access2 = 0x3000000; - params->McGeneralizedCarveout2Access3 = 0; - params->McGeneralizedCarveout2Access4 = 0x300; - params->McGeneralizedCarveout2ForceInternalAccess0 = 0; - params->McGeneralizedCarveout2ForceInternalAccess1 = 0; - params->McGeneralizedCarveout2ForceInternalAccess2 = 0; - params->McGeneralizedCarveout2ForceInternalAccess3 = 0; - params->McGeneralizedCarveout2ForceInternalAccess4 = 0; - params->McGeneralizedCarveout2Cfg0 = 0x440167E; - params->McGeneralizedCarveout3Bom = 0; - params->McGeneralizedCarveout3BomHi = 0; - params->McGeneralizedCarveout3Size128kb = 0; - params->McGeneralizedCarveout3Access0 = 0; - params->McGeneralizedCarveout3Access1 = 0; - params->McGeneralizedCarveout3Access2 = 0x3000000; - params->McGeneralizedCarveout3Access3 = 0; - params->McGeneralizedCarveout3Access4 = 0x300; - params->McGeneralizedCarveout3ForceInternalAccess0 = 0; - params->McGeneralizedCarveout3ForceInternalAccess1 = 0; - params->McGeneralizedCarveout3ForceInternalAccess2 = 0; - params->McGeneralizedCarveout3ForceInternalAccess3 = 0; - params->McGeneralizedCarveout3ForceInternalAccess4 = 0; - params->McGeneralizedCarveout3Cfg0 = 0x4401E7E; - params->McGeneralizedCarveout4Bom = 0; - params->McGeneralizedCarveout4BomHi = 0; - params->McGeneralizedCarveout4Size128kb = 0; - params->McGeneralizedCarveout4Access0 = 0; - params->McGeneralizedCarveout4Access1 = 0; - params->McGeneralizedCarveout4Access2 = 0; - params->McGeneralizedCarveout4Access3 = 0; - params->McGeneralizedCarveout4Access4 = 0; - params->McGeneralizedCarveout4ForceInternalAccess0 = 0; - params->McGeneralizedCarveout4ForceInternalAccess1 = 0; - params->McGeneralizedCarveout4ForceInternalAccess2 = 0; - params->McGeneralizedCarveout4ForceInternalAccess3 = 0; - params->McGeneralizedCarveout4ForceInternalAccess4 = 0; - params->McGeneralizedCarveout4Cfg0 = 0x8F; - params->McGeneralizedCarveout5Bom = 0; - params->McGeneralizedCarveout5BomHi = 0; - params->McGeneralizedCarveout5Size128kb = 0; - params->McGeneralizedCarveout5Access0 = 0; - params->McGeneralizedCarveout5Access1 = 0; - params->McGeneralizedCarveout5Access2 = 0; - params->McGeneralizedCarveout5Access3 = 0; - params->McGeneralizedCarveout5Access4 = 0; - params->McGeneralizedCarveout5ForceInternalAccess0 = 0; - params->McGeneralizedCarveout5ForceInternalAccess1 = 0; - params->McGeneralizedCarveout5ForceInternalAccess2 = 0; - params->McGeneralizedCarveout5ForceInternalAccess3 = 0; - params->McGeneralizedCarveout5ForceInternalAccess4 = 0; - params->McGeneralizedCarveout5Cfg0 = 0x8F;*/ + /* [1.0.0-3.0.2] Patch carveout parameters. */ + /* + *(volatile uint32_t *)params->McGeneralizedCarveout1Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Bom = 0x80020000; + *(volatile uint32_t *)params->McGeneralizedCarveout2BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Size128kb = 2; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access2 = 0x3000000; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access4 = 0x300; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Cfg0 = 0x440167E; + *(volatile uint32_t *)params->McGeneralizedCarveout3Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access2 = 0x3000000; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access4 = 0x300; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Cfg0 = 0x4401E7E; + *(volatile uint32_t *)params->McGeneralizedCarveout4Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Cfg0 = 0x8F; + *(volatile uint32_t *)params->McGeneralizedCarveout5Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Cfg0 = 0x8F; + */ - //TODO: this is 4.X+ behaviour which seems to work fine for < 4.X. - // Patch carveout parameters. + /* [4.0.0+] Patch carveout parameters. */ *(volatile uint32_t *)params->McGeneralizedCarveout1Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout2Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout3Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout4Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout5Cfg0 = 0; - // Patch SDRAM parameters. + /* Patch SDRAM parameters. */ uint32_t t0 = params->EmcSwizzleRank0Byte0 << 5 >> 29 > params->EmcSwizzleRank0Byte0 << 1 >> 29; uint32_t t1 = (t0 & 0xFFFFFFEF) | ((params->EmcSwizzleRank1Byte0 << 5 >> 29 > params->EmcSwizzleRank1Byte0 << 1 >> 29) << 4); uint32_t t2 = (t1 & 0xFFFFFFFD) | ((params->EmcSwizzleRank0Byte1 << 5 >> 29 > params->EmcSwizzleRank0Byte1 << 1 >> 29) << 1); @@ -2219,5 +2219,1118 @@ void sdram_save_params_erista(const void *save_params) { } void sdram_save_params_mariko(const void *save_params) { - /* TODO */ + const sdram_params_mariko_t *params = (const sdram_params_mariko_t *)save_params; + volatile tegra_pmc_t *pmc = pmc_get_regs(); + +#define pack(src, src_bits, dst, dst_bits) { \ + uint32_t mask = 0xffffffff >> (31 - ((1 ? src_bits) - (0 ? src_bits))); \ + dst &= ~(mask << (0 ? dst_bits)); \ + dst |= ((src >> (0 ? src_bits)) & mask) << (0 ? dst_bits); \ +} + +#define s(param, src_bits, pmcreg, dst_bits) \ + pack(params->param, src_bits, pmc->pmcreg, dst_bits) + +#define c(value, pmcreg, dst_bits) \ + pack(value, (1 ? dst_bits) - (0 ? dst_bits) : 0, pmc->pmcreg, dst_bits) + +/* 32 bits version of s macro. */ +#define s32(param, pmcreg) pmc->pmcreg = params->param + +/* 32 bits version c macro. */ +#define c32(value, pmcreg) pmc->pmcreg = value + + /* Patch carveout parameters. */ + *(volatile uint32_t *)params->McGeneralizedCarveout1Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Cfg0 = 0; + + /* Patch SDRAM parameters. */ + *(volatile uint32_t *)params->SwizzleRankByteEncode = 0; + uint32_t t0 = params->EmcSwizzleRank0Byte0 << 5 >> 29 > params->EmcSwizzleRank0Byte0 << 1 >> 29; + uint32_t t1 = (t0 & 0xFFFFFFEF) | ((params->EmcSwizzleRank1Byte0 << 5 >> 29 > params->EmcSwizzleRank1Byte0 << 1 >> 29) << 4); + uint32_t t2 = (t1 & 0xFFFFFFFD) | ((params->EmcSwizzleRank0Byte1 << 5 >> 29 > params->EmcSwizzleRank0Byte1 << 1 >> 29) << 1); + uint32_t t3 = (t2 & 0xFFFFFFDF) | ((params->EmcSwizzleRank1Byte1 << 5 >> 29 > params->EmcSwizzleRank1Byte1 << 1 >> 29) << 5); + uint32_t t4 = (t3 & 0xFFFFFFFB) | ((params->EmcSwizzleRank0Byte2 << 5 >> 29 > params->EmcSwizzleRank0Byte2 << 1 >> 29) << 2); + uint32_t t5 = (t4 & 0xFFFFFFBF) | ((params->EmcSwizzleRank1Byte2 << 5 >> 29 > params->EmcSwizzleRank1Byte2 << 1 >> 29) << 6); + uint32_t t6 = (t5 & 0xFFFFFFF7) | ((params->EmcSwizzleRank0Byte3 << 5 >> 29 > params->EmcSwizzleRank0Byte3 << 1 >> 29) << 3); + uint32_t t7 = (t6 & 0xFFFFFF7F) | ((params->EmcSwizzleRank1Byte3 << 5 >> 29 > params->EmcSwizzleRank1Byte3 << 1 >> 29) << 7); + *(volatile uint32_t *)params->SwizzleRankByteEncode = t7; + *(volatile uint32_t *)params->EmcBctSpare2 = 0x40000DD8; + *(volatile uint32_t *)params->EmcBctSpare3 = t7; + + s(EmcClockSource, 7:0, scratch6, 15:8); + s(EmcClockSourceDll, 7:0, scratch6, 23:16); + s(EmcClockSource, 31:29, scratch6, 26:24); + s(EmcClockSourceDll, 31:29, scratch6, 29:27); + s(EmcClockSourceDll, 11:10, scratch6, 31:30); + s(ClkRstControllerPllmMisc2Override, 9:8, scratch7, 1:0); + s(ClkRstControllerPllmMisc2Override, 2:1, scratch7, 3:2); + s(EmcZqCalLpDdr4WarmBoot, 31:30, scratch7, 5:4); + s(EmcClockSource, 27:27, scratch7, 6:6); + s(EmcClockSource, 26:26, scratch7, 7:7); + s(EmcClockSource, 15:15, scratch7, 8:8); + s(EmcClockSource, 25:25, scratch7, 9:9); + s(EmcClockSource, 19:19, scratch7, 10:10); + s(EmcClockSource, 20:20, scratch7, 11:11); + s(EmcClockSource, 16:16, scratch7, 12:12); + s(ClkRstControllerPllmMisc2Override, 13:13, scratch7, 13:13); + s(ClkRstControllerPllmMisc2Override, 12:12, scratch7, 14:14); + s(ClkRstControllerPllmMisc2Override, 11:11, scratch7, 15:15); + s(ClkRstControllerPllmMisc2Override, 10:10, scratch7, 16:16); + s(ClkRstControllerPllmMisc2Override, 5:5, scratch7, 17:17); + s(ClkRstControllerPllmMisc2Override, 4:4, scratch7, 18:18); + s(ClkRstControllerPllmMisc2Override, 3:3, scratch7, 19:19); + s(ClkRstControllerPllmMisc2Override, 0:0, scratch7, 20:20); + s(EmcZqCalLpDdr4WarmBoot, 1:0, scratch7, 22:21); + s(EmcZqCalLpDdr4WarmBoot, 4:4, scratch7, 23:23); + s(EmcRc, 7:0, scratch7, 31:24); + s(EmcPmacroBgBiasCtrl0, 13:12, scratch8, 31:30); + s(EmcFdpdCtrlCmdNoRamp, 0:0, scratch14, 30:30); + s(EmcCfgPipeClk, 0:0, scratch14, 31:31); + s(EmcQRst, 6:0, scratch15, 26:20); + s(EmcQRst, 20:16, scratch15, 31:27); + s(EmcPmacroCmdTxDrv, 5:0, scratch16, 25:20); + s(EmcPmacroCmdTxDrv, 13:8, scratch16, 31:26); + s(EmcFbioCfg8, 27:16, scratch17, 31:20); + s(EmcTxsrDll, 11:0, scratch18, 31:20); + s(EmcTxdsrvttgen, 11:0, scratch19, 31:20); + s32(EmcCfgRsv,scratch22); + s32(EmcAutoCalConfig, scratch23); + s32(EmcAutoCalVrefSel0, scratch24); + s32(EmcPmacroBrickCtrlRfu1, scratch25); + s32(EmcPmacroBrickCtrlRfu2, scratch26); + s32(EmcPmcScratch1, scratch27); + s32(EmcPmcScratch2, scratch28); + s32(EmcPmcScratch3, scratch29); + s32(EmcPmacroPerbitRfuCtrl0, scratch30); + s32(EmcPmacroPerbitRfuCtrl1, scratch31); + s32(EmcPmacroPerbitRfuCtrl2, scratch32); + s32(EmcPmacroPerbitRfuCtrl3, scratch33); + s32(EmcPmacroPerbitRfuCtrl4, scratch40); + s32(EmcPmacroPerbitRfuCtrl5, scratch42); + s32(McEmemArbDaTurns, scratch44); + s(EmcFbioSpare, 31:24, scratch64, 7:0); + s(EmcFbioSpare, 23:16, scratch64, 15:8); + s(EmcFbioSpare, 15:8, scratch64, 23:16); + s(EmcFbioSpare, 7:2, scratch64, 29:24); + s(EmcFbioSpare, 0:0, scratch64, 30:30); + s(McEmemArbMisc2, 0:0, scratch64, 31:31); + s(McEmemArbMisc0, 14:0, scratch65, 14:0); + s(McEmemArbMisc0, 30:16, scratch65, 29:15); + s(McDaCfg0, 0:0, scratch65, 30:30); + s(EmcFdpdCtrlCmd, 16:0, scratch66, 16:0); + s(EmcFdpdCtrlCmd, 31:20, scratch66, 28:17); + s(EmcAutoCalConfig2, 27:0, scratch67, 27:0); + s(EmcBurstRefreshNum, 3:0, scratch67, 31:28); + s(EmcCfgDigDll, 10:0, scratch68, 10:0); + s(EmcCfgDigDll, 25:12, scratch68, 24:11); + s(EmcCfgDigDll, 27:27, scratch68, 25:25); + s(EmcCfgDigDll, 31:30, scratch68, 27:26); + s(EmcTppd, 3:0, scratch68, 31:28); + s(EmcFdpdCtrlDq, 16:0, scratch69, 16:0); + s(EmcFdpdCtrlDq, 28:20, scratch69, 25:17); + s(EmcFdpdCtrlDq, 31:30, scratch69, 27:26); + s(EmcR2r, 3:0, scratch69, 31:28); + s(EmcPmacroIbVrefDq_0, 6:0, scratch70, 6:0); + s(EmcPmacroIbVrefDq_0, 14:8, scratch70, 13:7); + s(EmcPmacroIbVrefDq_0, 22:16, scratch70, 20:14); + s(EmcPmacroIbVrefDq_0, 30:24, scratch70, 27:21); + s(EmcW2w, 3:0, scratch70, 31:28); + s(EmcPmacroIbVrefDq_1, 6:0, scratch71, 6:0); + s(EmcPmacroIbVrefDq_1, 14:8, scratch71, 13:7); + s(EmcPmacroIbVrefDq_1, 22:16, scratch71, 20:14); + s(EmcPmacroIbVrefDq_1, 30:24, scratch71, 27:21); + s(EmcPmacroVttgenCtrl0, 19:16, scratch71, 31:28); + s(EmcPmacroIbVrefDqs_0, 6:0, scratch72, 6:0); + s(EmcPmacroIbVrefDqs_0, 14:8, scratch72, 13:7); + s(EmcPmacroIbVrefDqs_0, 22:16, scratch72, 20:14); + s(EmcPmacroIbVrefDqs_0, 30:24, scratch72, 27:21); + s(EmcPmacroIbVrefDqs_0, 6:0, scratch73, 6:0); + s(EmcPmacroIbVrefDqs_0, 14:8, scratch73, 13:7); + s(EmcPmacroIbVrefDqs_0, 22:16, scratch73, 20:14); + s(EmcPmacroIbVrefDqs_0, 30:24, scratch73, 27:21); + s(EmcPmacroDdllShortCmd_0, 6:0, scratch74, 6:0); + s(EmcPmacroDdllShortCmd_0, 14:8, scratch74, 13:7); + s(EmcPmacroDdllShortCmd_0, 22:16, scratch74, 20:14); + s(EmcPmacroDdllShortCmd_0, 30:24, scratch74, 27:21); + s(EmcPmacroDdllShortCmd_1, 6:0, scratch75, 6:0); + s(EmcPmacroDdllShortCmd_1, 14:8, scratch75, 13:7); + s(EmcPmacroDdllShortCmd_1, 22:16, scratch75, 20:14); + s(EmcPmacroDdllShortCmd_1, 30:24, scratch75, 27:21); + s(EmcPmacroDllCfg0, 29:4, scratch76, 25:0); + s(EmcRp, 5:0, scratch76, 31:26); + s(EmcPmacroTxPwrd0, 10:0, scratch77, 10:0); + s(EmcPmacroTxPwrd0, 13:12, scratch77, 12:11); + s(EmcPmacroTxPwrd0, 26:16, scratch77, 23:13); + s(EmcPmacroTxPwrd0, 29:28, scratch77, 25:24); + s(EmcR2w, 5:0, scratch77, 31:26); + s(EmcPmacroTxPwrd1, 10:0, scratch78, 10:0); + s(EmcPmacroTxPwrd1, 13:12, scratch78, 12:11); + s(EmcPmacroTxPwrd1, 26:16, scratch78, 23:13); + s(EmcPmacroTxPwrd1, 29:28, scratch78, 25:24); + s(EmcW2r, 5:0, scratch78, 31:26); + s(EmcPmacroTxPwrd2, 10:0, scratch79, 10:0); + s(EmcPmacroTxPwrd2, 13:12, scratch79, 12:11); + s(EmcPmacroTxPwrd2, 26:16, scratch79, 23:13); + s(EmcPmacroTxPwrd2, 29:28, scratch79, 25:24); + s(EmcR2p, 5:0, scratch79, 31:26); + s(EmcPmacroTxPwrd3, 10:0, scratch80, 10:0); + s(EmcPmacroTxPwrd3, 13:12, scratch80, 12:11); + s(EmcPmacroTxPwrd3, 26:16, scratch80, 23:13); + s(EmcPmacroTxPwrd3, 29:28, scratch80, 25:24); + s(EmcCcdmw, 5:0, scratch80, 31:26); + s(EmcPmacroTxPwrd4, 10:0, scratch81, 10:0); + s(EmcPmacroTxPwrd4, 13:12, scratch81, 12:11); + s(EmcPmacroTxPwrd4, 26:16, scratch81, 23:13); + s(EmcPmacroTxPwrd4, 29:28, scratch81, 25:24); + s(EmcRdRcd, 5:0, scratch81, 31:26); + s(EmcPmacroTxPwrd5, 10:0, scratch82, 10:0); + s(EmcPmacroTxPwrd5, 13:12, scratch82, 12:11); + s(EmcPmacroTxPwrd5, 26:16, scratch82, 23:13); + s(EmcPmacroTxPwrd5, 29:28, scratch82, 25:24); + s(EmcWrRcd, 5:0, scratch82, 31:26); + s(EmcAutoCalChannel, 5:0, scratch83, 5:0); + s(EmcAutoCalChannel, 11:8, scratch83, 9:6); + s(EmcAutoCalChannel, 27:16, scratch83, 21:10); + s(EmcAutoCalChannel, 31:29, scratch83, 24:22); + s(EmcAutoCalChannel, 6:0, scratch83, 31:25); + s(EmcPmacroRxTerm, 5:0, scratch84, 5:0); + s(EmcPmacroRxTerm, 13:8, scratch84, 11:6); + s(EmcPmacroRxTerm, 21:16, scratch84, 17:12); + s(EmcPmacroRxTerm, 29:24, scratch84, 23:18); + s(EmcSelDpdCtrl, 5:2, scratch84, 27:24); + s(EmcSelDpdCtrl, 8:8, scratch84, 28:28); + s(EmcSelDpdCtrl, 18:16, scratch84, 31:29); + s(EmcPmacroDqTxDrv, 5:0, scratch85, 5:0); + s(EmcPmacroDqTxDrv, 13:8, scratch85, 11:6); + s(EmcPmacroDqTxDrv, 21:16, scratch85, 17:12); + s(EmcPmacroDqTxDrv, 29:24, scratch85, 23:18); + s(EmcObdly, 5:0, scratch85, 29:24); + s(EmcObdly, 29:28, scratch85, 31:30); + s(EmcPmacroCaTxDrv, 5:0, scratch86, 5:0); + s(EmcPmacroCaTxDrv, 13:8, scratch86, 11:6); + s(EmcPmacroCaTxDrv, 21:16, scratch86, 17:12); + s(EmcPmacroCaTxDrv, 29:24, scratch86, 23:18); + s(EmcPmacroVttgenCtrl1, 15:10, scratch86, 29:24); + s(EmcPmacroVttgenCtrl1, 21:20, scratch86, 31:30); + s(EmcPmacroZctrl, 27:4, scratch87, 23:0); + s(EmcPmacroVttgenCtrl2, 23:16, scratch87, 31:24); + s(EmcZcalInterval, 23:10, scratch88, 13:0); + s(EmcZcalInterval, 9:0, scratch88, 23:14); + s(McEmemArbTimingRc, 7:0, scratch88, 31:24); + s(EmcDataBrlshft0, 23:0, scratch89, 23:0); + s(McEmemArbRsv, 7:0, scratch89, 31:24); + s(EmcDataBrlshft1, 23:0, scratch90, 23:0); + s(EmcDqsBrlshft0, 23:0, scratch91, 23:0); + s(EmcDqsBrlshft1, 23:0, scratch92, 23:0); + s(EmcSwizzleRank0Byte0, 2:0, scratch93, 2:0); + s(EmcSwizzleRank0Byte0, 6:4, scratch93, 5:3); + s(EmcSwizzleRank0Byte0, 10:8, scratch93, 8:6); + s(EmcSwizzleRank0Byte0, 14:12, scratch93, 11:9); + s(EmcSwizzleRank0Byte0, 18:16, scratch93, 14:12); + s(EmcSwizzleRank0Byte0, 22:20, scratch93, 17:15); + s(EmcSwizzleRank0Byte0, 26:24, scratch93, 20:18); + s(EmcSwizzleRank0Byte0, 30:28, scratch93, 23:21); + s(EmcSwizzleRank0Byte1, 2:0, scratch94, 2:0); + s(EmcSwizzleRank0Byte1, 6:4, scratch94, 5:3); + s(EmcSwizzleRank0Byte1, 10:8, scratch94, 8:6); + s(EmcSwizzleRank0Byte1, 14:12, scratch94, 11:9); + s(EmcSwizzleRank0Byte1, 18:16, scratch94, 14:12); + s(EmcSwizzleRank0Byte1, 22:20, scratch94, 17:15); + s(EmcSwizzleRank0Byte1, 26:24, scratch94, 20:18); + s(EmcSwizzleRank0Byte1, 30:28, scratch94, 23:21); + s(EmcRas, 6:0, scratch94, 30:24); + s(EmcCfg, 4:4, scratch94, 31:31); + s(EmcSwizzleRank0Byte2, 2:0, scratch95, 2:0); + s(EmcSwizzleRank0Byte2, 6:4, scratch95, 5:3); + s(EmcSwizzleRank0Byte2, 10:8, scratch95, 8:6); + s(EmcSwizzleRank0Byte2, 14:12, scratch95, 11:9); + s(EmcSwizzleRank0Byte2, 18:16, scratch95, 14:12); + s(EmcSwizzleRank0Byte2, 22:20, scratch95, 17:15); + s(EmcSwizzleRank0Byte2, 26:24, scratch95, 20:18); + s(EmcSwizzleRank0Byte2, 30:28, scratch95, 23:21); + s(EmcW2p, 6:0, scratch95, 30:24); + s(EmcCfg, 5:5, scratch95, 31:31); + s(EmcSwizzleRank0Byte3, 2:0, scratch96, 2:0); + s(EmcSwizzleRank0Byte3, 6:4, scratch96, 5:3); + s(EmcSwizzleRank0Byte3, 10:8, scratch96, 8:6); + s(EmcSwizzleRank0Byte3, 14:12, scratch96, 11:9); + s(EmcSwizzleRank0Byte3, 18:16, scratch96, 14:12); + s(EmcSwizzleRank0Byte3, 22:20, scratch96, 17:15); + s(EmcSwizzleRank0Byte3, 26:24, scratch96, 20:18); + s(EmcSwizzleRank0Byte3, 30:28, scratch96, 23:21); + s(EmcQSafe, 6:0, scratch96, 30:24); + s(EmcCfg, 6:6, scratch96, 31:31); + s(EmcSwizzleRank1Byte0, 2:0, scratch97, 2:0); + s(EmcSwizzleRank1Byte0, 6:4, scratch97, 5:3); + s(EmcSwizzleRank1Byte0, 10:8, scratch97, 8:6); + s(EmcSwizzleRank1Byte0, 14:12, scratch97, 11:9); + s(EmcSwizzleRank1Byte0, 18:16, scratch97, 14:12); + s(EmcSwizzleRank1Byte0, 22:20, scratch97, 17:15); + s(EmcSwizzleRank1Byte0, 26:24, scratch97, 20:18); + s(EmcSwizzleRank1Byte0, 30:28, scratch97, 23:21); + s(EmcRdv, 6:0, scratch97, 30:24); + s(EmcCfg, 7:7, scratch97, 31:31); + s(EmcSwizzleRank1Byte1, 2:0, scratch98, 2:0); + s(EmcSwizzleRank1Byte1, 6:4, scratch98, 5:3); + s(EmcSwizzleRank1Byte1, 10:8, scratch98, 8:6); + s(EmcSwizzleRank1Byte1, 14:12, scratch98, 11:9); + s(EmcSwizzleRank1Byte1, 18:16, scratch98, 14:12); + s(EmcSwizzleRank1Byte1, 22:20, scratch98, 17:15); + s(EmcSwizzleRank1Byte1, 26:24, scratch98, 20:18); + s(EmcSwizzleRank1Byte1, 30:28, scratch98, 23:21); + s(EmcRw2Pden, 6:0, scratch98, 30:24); + s(EmcCfg, 8:8, scratch98, 31:31); + s(EmcSwizzleRank1Byte2, 2:0, scratch99, 2:0); + s(EmcSwizzleRank1Byte2, 6:4, scratch99, 5:3); + s(EmcSwizzleRank1Byte2, 10:8, scratch99, 8:6); + s(EmcSwizzleRank1Byte2, 14:12, scratch99, 11:9); + s(EmcSwizzleRank1Byte2, 18:16, scratch99, 14:12); + s(EmcSwizzleRank1Byte2, 22:20, scratch99, 17:15); + s(EmcSwizzleRank1Byte2, 26:24, scratch99, 20:18); + s(EmcSwizzleRank1Byte2, 30:28, scratch99, 23:21); + s(EmcTfaw, 6:0, scratch99, 30:24); + s(EmcCfg, 9:9, scratch99, 31:31); + s(EmcSwizzleRank1Byte3, 2:0, scratch100, 2:0); + s(EmcSwizzleRank1Byte3, 6:4, scratch100, 5:3); + s(EmcSwizzleRank1Byte3, 10:8, scratch100, 8:6); + s(EmcSwizzleRank1Byte3, 14:12, scratch100, 11:9); + s(EmcSwizzleRank1Byte3, 18:16, scratch100, 14:12); + s(EmcSwizzleRank1Byte3, 22:20, scratch100, 17:15); + s(EmcSwizzleRank1Byte3, 26:24, scratch100, 20:18); + s(EmcSwizzleRank1Byte3, 30:28, scratch100, 23:21); + s(EmcTClkStable, 6:0, scratch100, 30:24); + s(EmcCfg, 18:18, scratch100, 31:31); + s(EmcCfgPipe2, 11:0, scratch101, 11:0); + s(EmcCfgPipe2, 27:16, scratch101, 23:12); + s(EmcTrtm, 6:0, scratch101, 30:24); + s(EmcCfg, 21:21, scratch101, 31:31); + s(EmcCfgPipe1, 11:0, scratch102, 11:0); + s(EmcCfgPipe1, 27:16, scratch102, 23:12); + s(EmcTwtm, 6:0, scratch102, 30:24); + s(EmcCfg, 22:22, scratch102, 31:31); + s(EmcPmacroDdllPwrd0, 4:1, scratch103, 3:0); + s(EmcPmacroDdllPwrd0, 7:6, scratch103, 5:4); + s(EmcPmacroDdllPwrd0, 12:9, scratch103, 9:6); + s(EmcPmacroDdllPwrd0, 15:14, scratch103, 11:10); + s(EmcPmacroDdllPwrd0, 20:17, scratch103, 15:12); + s(EmcPmacroDdllPwrd0, 23:22, scratch103, 17:16); + s(EmcPmacroDdllPwrd0, 28:25, scratch103, 21:18); + s(EmcPmacroDdllPwrd0, 31:30, scratch103, 23:22); + s(EmcTratm, 6:0, scratch103, 30:24); + s(EmcCfg, 23:23, scratch103, 31:31); + s(EmcPmacroDdllPwrd1, 4:1, scratch104, 3:0); + s(EmcPmacroDdllPwrd1, 7:6, scratch104, 5:4); + s(EmcPmacroDdllPwrd1, 12:9, scratch104, 9:6); + s(EmcPmacroDdllPwrd1, 15:14, scratch104, 11:10); + s(EmcPmacroDdllPwrd1, 20:17, scratch104, 15:12); + s(EmcPmacroDdllPwrd1, 23:22, scratch104, 17:16); + s(EmcPmacroDdllPwrd1, 28:25, scratch104, 21:18); + s(EmcPmacroDdllPwrd1, 31:30, scratch104, 23:22); + s(EmcTwatm, 6:0, scratch104, 30:24); + s(EmcCfg, 24:24, scratch104, 31:31); + s(EmcPmacroDdllPwrd2, 4:1, scratch105, 3:0); + s(EmcPmacroDdllPwrd2, 7:6, scratch105, 5:4); + s(EmcPmacroDdllPwrd2, 12:9, scratch105, 9:6); + s(EmcPmacroDdllPwrd2, 15:14, scratch105, 11:10); + s(EmcPmacroDdllPwrd2, 20:17, scratch105, 15:12); + s(EmcPmacroDdllPwrd2, 23:22, scratch105, 17:16); + s(EmcPmacroDdllPwrd2, 28:25, scratch105, 21:18); + s(EmcPmacroDdllPwrd2, 31:30, scratch105, 23:22); + s(EmcTr2ref, 6:0, scratch105, 30:24); + s(EmcCfg, 25:25, scratch105, 31:31); + s(EmcPmacroDdllPeriodicOffset, 5:0, scratch106, 5:0); + s(EmcPmacroDdllPeriodicOffset, 16:8, scratch106, 14:6); + s(EmcPmacroDdllPeriodicOffset, 28:20, scratch106, 23:15); + s(EmcPdex2Mrr, 6:0, scratch106, 30:24); + s(EmcCfg, 26:26, scratch106, 31:31); + s(McEmemArbDaCovers, 23:0, scratch107, 23:0); + s(EmcClkenOverride, 3:1, scratch107, 26:24); + s(EmcClkenOverride, 8:6, scratch107, 29:27); + s(EmcClkenOverride, 16:16, scratch107, 30:30); + s(EmcCfg, 28:28, scratch107, 31:31); + s(EmcXm2CompPadCtrl, 1:0, scratch108, 1:0); + s(EmcXm2CompPadCtrl, 6:4, scratch108, 4:2); + s(EmcXm2CompPadCtrl, 9:9, scratch108, 5:5); + s(EmcXm2CompPadCtrl, 19:11, scratch108, 14:6); + s(EmcXm2CompPadCtrl, 31:24, scratch108, 22:15); + s(EmcRfcPb, 8:0, scratch108, 31:23); + s(EmcAutoCalConfig3, 6:0, scratch109, 6:0); + s(EmcAutoCalConfig3, 14:8, scratch109, 13:7); + s(EmcAutoCalConfig3, 23:16, scratch109, 21:14); + s(EmcCfgUpdate, 2:0, scratch109, 24:22); + s(EmcCfgUpdate, 10:8, scratch109, 27:25); + s(EmcCfgUpdate, 31:28, scratch109, 31:28); + s(EmcAutoCalConfig4, 6:0, scratch110, 6:0); + s(EmcAutoCalConfig4, 14:8, scratch110, 13:7); + s(EmcAutoCalConfig4, 23:16, scratch110, 21:14); + s(EmcRfc, 9:0, scratch110, 31:22); + s(EmcAutoCalConfig5, 6:0, scratch111, 6:0); + s(EmcAutoCalConfig5, 14:8, scratch111, 13:7); + s(EmcAutoCalConfig5, 23:16, scratch111, 21:14); + s(EmcTxsr, 9:0, scratch111, 31:22); + s(EmcAutoCalConfig6, 6:0, scratch112, 6:0); + s(EmcAutoCalConfig6, 14:8, scratch112, 13:7); + s(EmcAutoCalConfig6, 23:16, scratch112, 21:14); + s(EmcMc2EmcQ, 2:0, scratch112, 24:22); + s(EmcMc2EmcQ, 10:8, scratch112, 27:25); + s(EmcMc2EmcQ, 27:24, scratch112, 31:28); + s(EmcAutoCalConfig7, 6:0, scratch113, 6:0); + s(EmcAutoCalConfig7, 14:8, scratch113, 13:7); + s(EmcAutoCalConfig7, 23:16, scratch113, 21:14); + s(McEmemArbRing1Throttle, 4:0, scratch113, 26:22); + s(McEmemArbRing1Throttle, 20:16, scratch113, 31:27); + s(EmcAutoCalConfig8, 6:0, scratch114, 6:0); + s(EmcAutoCalConfig8, 14:8, scratch114, 13:7); + s(EmcAutoCalConfig8, 23:16, scratch114, 21:14); + s(EmcFbioCfg7, 21:0, scratch115, 21:0); + s(EmcAr2Pden, 8:0, scratch115, 30:22); + s(EmcCfg, 29:29, scratch115, 31:31); + s(EmcPmacroQuseDdllRank0_0, 10:0, scratch123, 10:0); + s(EmcPmacroQuseDdllRank0_0, 26:16, scratch123, 21:11); + s(EmcRfcSlr, 8:0, scratch123, 30:22); + s(EmcCfg, 30:30, scratch123, 31:31); + s(EmcPmacroQuseDdllRank0_1, 10:0, scratch124, 10:0); + s(EmcPmacroQuseDdllRank0_1, 26:16, scratch124, 21:11); + s(EmcIbdly, 6:0, scratch124, 28:22); + s(EmcIbdly, 29:28, scratch124, 30:29); + s(EmcCfg, 31:31, scratch124, 31:31); + s(EmcPmacroQuseDdllRank0_2, 10:0, scratch125, 10:0); + s(EmcPmacroQuseDdllRank0_2, 26:16, scratch125, 21:11); + s(McEmemArbTimingRFCPB, 8:0, scratch125, 30:22); + s(EmcFbioCfg5, 4:4, scratch125, 31:31); + s(EmcPmacroQuseDdllRank0_3, 10:0, scratch126, 10:0); + s(EmcPmacroQuseDdllRank0_3, 26:16, scratch126, 21:11); + s(EmcAutoCalConfig9, 6:0, scratch126, 28:22); + s(EmcFbioCfg5, 15:13, scratch126, 31:29); + s(EmcPmacroQuseDdllRank0_4, 10:0, scratch127, 10:0); + s(EmcPmacroQuseDdllRank0_4, 26:16, scratch127, 21:11); + s(EmcRdvMask, 6:0, scratch127, 28:22); + s(EmcCfg2, 5:3, scratch127, 31:29); + s(EmcPmacroQuseDdllRank0_5, 10:0, scratch128, 10:0); + s(EmcPmacroQuseDdllRank0_5, 26:16, scratch128, 21:11); + s(EmcRdvEarlyMask, 6:0, scratch128, 28:22); + s(EmcPmacroCmdPadTxCtrl, 4:2, scratch128, 31:29); + s(EmcPmacroQuseDdllRank0_5, 10:0, scratch129, 10:0); + s(EmcPmacroQuseDdllRank0_5, 26:16, scratch129, 21:11); + s(EmcRdvEarly, 6:0, scratch129, 28:22); + s(EmcPmacroCmdPadTxCtrl, 9:7, scratch129, 31:29); + s(EmcPmacroQuseDdllRank1_1, 10:0, scratch130, 10:0); + s(EmcPmacroQuseDdllRank1_1, 26:16, scratch130, 21:11); + s(EmcQuseWidth, 4:0, scratch130, 26:22); + s(EmcQuseWidth, 29:28, scratch130, 28:27); + s(EmcPmacroCmdPadTxCtrl, 14:12, scratch130, 31:29); + s(EmcPmacroQuseDdllRank1_2, 10:0, scratch131, 10:0); + s(EmcPmacroQuseDdllRank1_2, 26:16, scratch131, 21:11); + s(EmcPmacroDdllShortCmd_2, 6:0, scratch131, 28:22); + s(EmcPmacroCmdPadTxCtrl, 19:17, scratch131, 31:29); + s(EmcPmacroQuseDdllRank1_3, 10:0, scratch132, 10:0); + s(EmcPmacroQuseDdllRank1_3, 26:16, scratch132, 21:11); + s(EmcPmacroCmdRxTermMode, 1:0, scratch132, 23:22); + s(EmcPmacroCmdRxTermMode, 5:4, scratch132, 25:24); + s(EmcPmacroCmdRxTermMode, 9:8, scratch132, 27:26); + s(EmcPmacroCmdRxTermMode, 13:13, scratch132, 28:28); + s(EmcPmacroDataPadTxCtrl, 4:2, scratch132, 31:29); + s(EmcPmacroQuseDdllRank1_4, 10:0, scratch133, 10:0); + s(EmcPmacroQuseDdllRank1_4, 26:16, scratch133, 21:11); + s(EmcPmacroDataRxTermMode, 1:0, scratch133, 23:22); + s(EmcPmacroDataRxTermMode, 5:4, scratch133, 25:24); + s(EmcPmacroDataRxTermMode, 9:8, scratch133, 27:26); + s(EmcPmacroDataRxTermMode, 13:13, scratch133, 28:28); + s(EmcPmacroDataPadTxCtrl, 9:7, scratch133, 31:29); + s(EmcPmacroQuseDdllRank1_5, 10:0, scratch134, 10:0); + s(EmcPmacroQuseDdllRank1_5, 26:16, scratch134, 21:11); + s(McEmemArbTimingRp, 6:0, scratch134, 28:22); + s(EmcPmacroDataPadTxCtrl, 14:12, scratch134, 31:29); + s(EmcPmacroObDdllLongDqRank0_0, 10:0, scratch135, 10:0); + s(EmcPmacroObDdllLongDqRank0_0, 26:16, scratch135, 21:11); + s(McEmemArbTimingRas, 6:0, scratch135, 28:22); + s(EmcPmacroDataPadTxCtrl, 19:17, scratch135, 31:29); + s(EmcPmacroObDdllLongDqRank0_1, 10:0, scratch136, 10:0); + s(EmcPmacroObDdllLongDqRank0_1, 26:16, scratch136, 21:11); + s(McEmemArbTimingFaw, 6:0, scratch136, 28:22); + s(EmcCfg, 17:16, scratch136, 30:29); + s(EmcFbioCfg5, 8:8, scratch136, 31:31); + s(EmcPmacroObDdllLongDqRank0_2, 10:0, scratch137, 10:0); + s(EmcPmacroObDdllLongDqRank0_2, 26:16, scratch137, 21:11); + s(McEmemArbTimingRap2Pre, 6:0, scratch137, 28:22); + s(EmcFbioCfg5, 1:0, scratch137, 30:29); + s(EmcFbioCfg5, 10:10, scratch137, 31:31); + s(EmcPmacroObDdllLongDqRank0_3, 10:0, scratch138, 10:0); + s(EmcPmacroObDdllLongDqRank0_3, 26:16, scratch138, 21:11); + s(McEmemArbTimingWap2Pre, 6:0, scratch138, 28:22); + s(EmcFbioCfg5, 3:2, scratch138, 30:29); + s(EmcFbioCfg5, 12:12, scratch138, 31:31); + s(EmcPmacroObDdllLongDqRank0_4, 10:0, scratch139, 10:0); + s(EmcPmacroObDdllLongDqRank0_4, 26:16, scratch139, 21:11); + s(McEmemArbTimingR2W, 6:0, scratch139, 28:22); + s(EmcCfg2, 27:26, scratch139, 30:29); + s(EmcFbioCfg5, 24:24, scratch139, 31:31); + s(EmcPmacroObDdllLongDqRank0_5, 10:0, scratch140, 10:0); + s(EmcPmacroObDdllLongDqRank0_5, 26:16, scratch140, 21:11); + s(McEmemArbTimingW2R, 6:0, scratch140, 28:22); + s(EmcFbioCfg5, 27:25, scratch140, 31:29); + s(EmcPmacroObDdllLongDqRank1_0, 10:0, scratch141, 10:0); + s(EmcPmacroObDdllLongDqRank1_0, 26:16, scratch141, 21:11); + s(EmcWdv, 5:0, scratch141, 27:22); + s(EmcFbioCfg5, 23:20, scratch141, 31:28); + s(EmcPmacroObDdllLongDqRank1_1, 10:0, scratch142, 10:0); + s(EmcPmacroObDdllLongDqRank1_1, 26:16, scratch142, 21:11); + s(EmcQUse, 4:0, scratch142, 27:22); + s(EmcFbioCfg5, 28:28, scratch142, 28:28); + s(EmcFbioCfg5, 31:30, scratch142, 30:29); + s(EmcCfg2, 0:0, scratch142, 31:31); + s(EmcPmacroObDdllLongDqRank1_2, 10:0, scratch143, 10:0); + s(EmcPmacroObDdllLongDqRank1_2, 26:16, scratch143, 21:11); + s(EmcPdEx2Wr, 5:0, scratch143, 27:22); + s(EmcCfg2, 2:1, scratch143, 29:28); + s(EmcCfg2, 7:7, scratch143, 30:30); + s(EmcCfg2, 10:10, scratch143, 31:31); + s(EmcPmacroObDdllLongDqRank1_3, 10:0, scratch144, 10:0); + s(EmcPmacroObDdllLongDqRank1_3, 26:16, scratch144, 21:11); + s(EmcPdEx2Rd, 5:0, scratch144, 27:22); + s(EmcCfg2, 11:11, scratch144, 28:28); + s(EmcCfg2, 16:14, scratch144, 31:29); + s(EmcPmacroObDdllLongDqRank1_4, 10:0, scratch145, 10:0); + s(EmcPmacroObDdllLongDqRank1_4, 26:16, scratch145, 21:11); + s(EmcPdex2Cke, 5:0, scratch145, 27:22); + s(EmcCfg2, 20:20, scratch145, 28:28); + s(EmcCfg2, 24:22, scratch145, 31:29); + s(EmcPmacroObDdllLongDqRank1_5, 10:0, scratch146, 10:0); + s(EmcPmacroObDdllLongDqRank1_5, 26:16, scratch146, 21:11); + s(EmcPChg2Pden, 5:0, scratch146, 27:22); + s(EmcCfg2, 25:25, scratch146, 28:28); + s(EmcCfg2, 30:28, scratch146, 31:29); + s(EmcPmacroObDdllLongDqsRank0_0, 10:0, scratch147, 10:0); + s(EmcPmacroObDdllLongDqsRank0_0, 26:16, scratch147, 21:11); + s(EmcAct2Pden, 5:0, scratch147, 27:22); + s(EmcCfg2, 31:31, scratch147, 28:28); + s(EmcCfgPipe, 2:0, scratch147, 31:29); + s(EmcPmacroObDdllLongDqsRank0_1, 10:0, scratch148, 10:0); + s(EmcPmacroObDdllLongDqsRank0_1, 26:16, scratch148, 21:11); + s(EmcCke2Pden, 5:0, scratch148, 27:22); + s(EmcCfgPipe, 6:3, scratch148, 31:28); + s(EmcPmacroObDdllLongDqsRank0_2, 10:0, scratch149, 10:0); + s(EmcPmacroObDdllLongDqsRank0_2, 26:16, scratch149, 21:11); + s(EmcTcke, 5:0, scratch149, 27:22); + s(EmcCfgPipe, 10:7, scratch149, 31:28); + s(EmcPmacroObDdllLongDqsRank0_3, 10:0, scratch150, 10:0); + s(EmcPmacroObDdllLongDqsRank0_3, 26:16, scratch150, 21:11); + s(EmcTrpab, 5:0, scratch150, 27:22); + s(EmcCfgPipe, 11:11, scratch150, 28:28); + s(EmcCfgPipe, 18:16, scratch150, 31:29); + s(EmcPmacroObDdllLongDqsRank0_4, 10:0, scratch151, 10:0); + s(EmcPmacroObDdllLongDqsRank0_4, 26:16, scratch151, 21:11); + s(EmcEInput, 5:0, scratch151, 27:22); + s(EmcCfgPipe, 22:19, scratch151, 31:28); + s(EmcPmacroObDdllLongDqsRank0_5, 10:0, scratch152, 10:0); + s(EmcPmacroObDdllLongDqsRank0_5, 26:16, scratch152, 21:11); + s(EmcEInputDuration, 5:0, scratch152, 27:22); + s(EmcCfgPipe, 26:23, scratch152, 31:28); + s(EmcPmacroObDdllLongDqsRank1_0, 10:0, scratch153, 10:0); + s(EmcPmacroObDdllLongDqsRank1_0, 26:16, scratch153, 21:11); + s(EmcPutermExtra, 5:0, scratch153, 27:22); + s(EmcCfgPipe, 27:27, scratch153, 28:28); + s(EmcPmacroTxSelClkSrc0, 2:0, scratch153, 31:29); + s(EmcPmacroObDdllLongDqsRank1_1, 10:0, scratch154, 10:0); + s(EmcPmacroObDdllLongDqsRank1_1, 26:16, scratch154, 21:11); + s(EmcTckesr, 5:0, scratch154, 27:22); + s(EmcPmacroTxSelClkSrc0, 6:3, scratch154, 31:28); + s(EmcPmacroObDdllLongDqsRank1_2, 10:0, scratch155, 10:0); + s(EmcPmacroObDdllLongDqsRank1_2, 26:16, scratch155, 21:11); + s(EmcTpd, 5:0, scratch155, 27:22); + s(EmcPmacroTxSelClkSrc0, 10:7, scratch155, 31:28); + s(EmcPmacroObDdllLongDqsRank1_3, 10:0, scratch156, 10:0); + s(EmcPmacroObDdllLongDqsRank1_3, 26:16, scratch156, 21:11); + s(EmcWdvMask, 5:0, scratch156, 27:22); + s(EmcPmacroTxSelClkSrc0, 19:16, scratch156, 31:28); + s(EmcPmacroObDdllLongDqsRank1_4, 10:0, scratch157, 10:0); + s(EmcPmacroObDdllLongDqsRank1_4, 26:16, scratch157, 21:11); + s(EmcWdvChk, 5:0, scratch157, 27:22); + s(EmcPmacroTxSelClkSrc0, 23:20, scratch157, 31:28); + s(EmcPmacroObDdllLongDqsRank1_5, 10:0, scratch158, 10:0); + s(EmcPmacroObDdllLongDqsRank1_5, 26:16, scratch158, 21:11); + s(EmcCmdBrlshft0, 5:0, scratch158, 27:22); + s(EmcPmacroTxSelClkSrc0, 26:24, scratch158, 30:28); + s(EmcPmacroTxSelClkSrc1, 0:0, scratch158, 31:31); + s(EmcPmacroIbDdllLongDqsRank0_0, 10:0, scratch159, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_0, 26:16, scratch159, 21:11); + s(EmcCmdBrlshft1, 5:0, scratch159, 27:22); + s(EmcPmacroTxSelClkSrc1, 4:1, scratch159, 31:28); + s(EmcPmacroIbDdllLongDqsRank0_1, 10:0, scratch160, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_1, 26:16, scratch160, 21:11); + s(EmcCmdBrlshft2, 5:0, scratch160, 27:22); + s(EmcPmacroTxSelClkSrc1, 8:5, scratch160, 31:28); + s(EmcPmacroIbDdllLongDqsRank0_2, 10:0, scratch161, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_2, 26:16, scratch161, 21:11); + s(EmcCmdBrlshft3, 5:0, scratch161, 27:22); + s(EmcPmacroTxSelClkSrc1, 10:9, scratch161, 29:28); + s(EmcPmacroTxSelClkSrc1, 17:16, scratch161, 31:30); + s(EmcPmacroIbDdllLongDqsRank0_3, 10:0, scratch162, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_3, 26:16, scratch162, 21:11); + s(EmcWev, 5:0, scratch162, 27:22); + s(EmcPmacroTxSelClkSrc1, 21:18, scratch162, 31:28); + s(EmcPmacroIbDdllLongDqsRank1_0, 10:0, scratch163, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_0, 26:16, scratch163, 21:11); + s(EmcWsv, 5:0, scratch163, 27:22); + s(EmcPmacroTxSelClkSrc1, 25:22, scratch163, 31:28); + s(EmcPmacroIbDdllLongDqsRank1_1, 10:0, scratch164, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_1, 26:16, scratch164, 21:11); + s(EmcCfg3, 2:0, scratch164, 24:22); + s(EmcCfg3, 6:4, scratch164, 27:25); + s(EmcPmacroTxSelClkSrc1, 26:26, scratch164, 28:28); + s(EmcPmacroTxSelClkSrc3, 2:0, scratch164, 31:29); + s(EmcPmacroIbDdllLongDqsRank1_2, 10:0, scratch165, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_2, 26:16, scratch165, 21:11); + s(EmcPutermWidth, 31:31, scratch165, 22:22); + s(EmcPutermWidth, 4:0, scratch165, 27:23); + s(EmcPmacroTxSelClkSrc3, 6:3, scratch165, 31:28); + s(EmcPmacroIbDdllLongDqsRank1_3, 10:0, scratch166, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_3, 26:16, scratch166, 21:11); + s(McEmemArbTimingRcd, 5:0, scratch166, 27:22); + s(EmcPmacroTxSelClkSrc3, 10:7, scratch166, 31:28); + s(EmcPmacroDdllLongCmd_0, 10:0, scratch167, 10:0); + s(EmcPmacroDdllLongCmd_0, 26:16, scratch167, 21:11); + s(McEmemArbTimingCcdmw, 5:0, scratch167, 27:22); + s(EmcPmacroTxSelClkSrc3, 19:16, scratch167, 31:28); + s(EmcPmacroDdllLongCmd_1, 10:0, scratch168, 10:0); + s(EmcPmacroDdllLongCmd_1, 26:16, scratch168, 21:11); + s(McEmemArbOverride, 27:26, scratch168, 23:22); + s(McEmemArbOverride, 16:16, scratch168, 24:24); + s(McEmemArbOverride, 10:10, scratch168, 25:25); + s(McEmemArbOverride, 4:3, scratch168, 27:26); + s(EmcPmacroTxSelClkSrc3, 23:20, scratch168, 31:28); + s(EmcPmacroDdllLongCmd_2, 10:0, scratch169, 10:0); + s(EmcPmacroDdllLongCmd_2, 26:16, scratch169, 21:11); + s(EmcRrd, 4:0, scratch169, 26:22); + s(EmcRext, 4:0, scratch169, 31:27); + s(EmcPmacroDdllLongCmd_3, 10:0, scratch170, 10:0); + s(EmcPmacroDdllLongCmd_3, 26:16, scratch170, 21:11); + s(EmcTClkStop, 4:0, scratch170, 26:22); + s(EmcWext, 4:0, scratch170, 31:27); + s(EmcPmacroPerbitFgcgCtrl0, 10:0, scratch171, 10:0); + s(EmcPmacroPerbitFgcgCtrl0, 26:16, scratch171, 21:11); + s(EmcRefctrl2, 0:0, scratch171, 22:22); + s(EmcRefctrl2, 26:24, scratch171, 25:23); + s(EmcRefctrl2, 31:31, scratch171, 26:26); + s(EmcWeDuration, 4:0, scratch171, 31:27); + s(EmcPmacroPerbitFgcgCtrl1, 10:0, scratch172, 10:0); + s(EmcPmacroPerbitFgcgCtrl1, 26:16, scratch172, 21:11); + s(EmcWsDuration, 4:0, scratch172, 26:22); + s(EmcPmacroPadCfgCtrl, 0:0, scratch172, 27:27); + s(EmcPmacroPadCfgCtrl, 9:9, scratch172, 28:28); + s(EmcPmacroPadCfgCtrl, 13:13, scratch172, 29:29); + s(EmcPmacroPadCfgCtrl, 17:16, scratch172, 31:30); + s(EmcPmacroPerbitFgcgCtrl2, 10:0, scratch173, 10:0); + s(EmcPmacroPerbitFgcgCtrl2, 26:16, scratch173, 21:11); + s(McEmemArbTimingRrd, 4:0, scratch173, 26:22); + s(McEmemArbTimingR2R, 4:0, scratch173, 31:27); + s(EmcPmacroPerbitFgcgCtrl3, 10:0, scratch174, 10:0); + s(EmcPmacroPerbitFgcgCtrl3, 26:16, scratch174, 21:11); + s(McEmemArbTimingW2W, 4:0, scratch174, 26:22); + s(EmcPmacroTxSelClkSrc3, 26:24, scratch174, 29:27); + s(EmcPmacroTxSelClkSrc2, 1:0, scratch174, 31:30); + s(EmcPmacroPerbitFgcgCtrl4, 10:0, scratch175, 10:0); + s(EmcPmacroPerbitFgcgCtrl4, 26:16, scratch175, 21:11); + s(EmcPmacroTxSelClkSrc2, 10:2, scratch175, 30:22); + s(EmcPmacroTxSelClkSrc2, 16:16, scratch175, 31:31); + s(EmcPmacroPerbitFgcgCtrl5, 10:0, scratch176, 10:0); + s(EmcPmacroPerbitFgcgCtrl5, 26:16, scratch176, 21:11); + s(EmcPmacroTxSelClkSrc2, 26:17, scratch176, 31:22); + s(McEmemArbCfg, 8:0, scratch177, 8:0); + s(McEmemArbCfg, 20:16, scratch177, 13:9); + s(McEmemArbCfg, 31:24, scratch177, 21:14); + s(EmcPmacroTxSelClkSrc4, 9:0, scratch177, 31:22); + s(McEmemArbMisc1, 12:0, scratch178, 12:0); + s(McEmemArbMisc1, 25:21, scratch178, 17:13); + s(McEmemArbMisc1, 31:28, scratch178, 21:18); + s(EmcPmacroTxSelClkSrc4, 10:10, scratch178, 22:22); + s(EmcPmacroTxSelClkSrc4, 24:16, scratch178, 31:23); + s(EmcMrsWaitCnt2, 9:0, scratch179, 9:0); + s(EmcMrsWaitCnt2, 26:16, scratch179, 20:10); + s(EmcOdtWrite, 5:0, scratch179, 26:21); + s(EmcOdtWrite, 11:8, scratch179, 30:27); + s(EmcOdtWrite, 31:31, scratch179, 31:31); + s(EmcMrsWaitCnt, 9:0, scratch180, 9:0); + s(EmcMrsWaitCnt, 26:16, scratch180, 20:10); + s(EmcPmacroIbRxrt, 10:0, scratch180, 31:21); + s(EmcAutoCalInterval, 20:0, scratch181, 20:0); + s(EmcPmacroDdllLongCmd_4, 10:0, scratch181, 31:21); + s(McEmemArbRefpbHpCtrl, 6:0, scratch182, 6:0); + s(McEmemArbRefpbHpCtrl, 14:8, scratch182, 13:7); + s(McEmemArbRefpbHpCtrl, 22:16, scratch182, 20:14); + s(McEmemArbOutstandingReq, 8:0, scratch182, 29:21); + s(McEmemArbOutstandingReq, 31:30, scratch182, 31:30); + s(EmcXm2CompPadCtrl2, 5:0, scratch183, 5:0); + s(EmcXm2CompPadCtrl2, 17:12, scratch183, 11:6); + s(EmcXm2CompPadCtrl2, 21:20, scratch183, 13:12); + s(EmcXm2CompPadCtrl2, 29:24, scratch183, 19:14); + s(EmcPmacroCmdCtrl0, 0:0, scratch183, 20:20); + s(EmcPmacroCmdCtrl0, 5:4, scratch183, 22:21); + s(EmcPmacroCmdCtrl0, 8:8, scratch183, 23:23); + s(EmcPmacroCmdCtrl0, 13:12, scratch183, 25:24); + s(EmcPmacroCmdCtrl0, 16:16, scratch183, 26:26); + s(EmcPmacroCmdCtrl0, 21:20, scratch183, 28:27); + s(EmcPmacroCmdCtrl0, 24:24, scratch183, 29:29); + s(EmcPmacroCmdCtrl0, 29:28, scratch183, 31:30); + s(EmcCfgDigDll_1, 19:0, scratch184, 19:0); + s(EmcPmacroCmdCtrl1, 0:0, scratch184, 20:20); + s(EmcPmacroCmdCtrl1, 5:4, scratch184, 22:21); + s(EmcPmacroCmdCtrl1, 8:8, scratch184, 23:23); + s(EmcPmacroCmdCtrl1, 13:12, scratch184, 25:24); + s(EmcPmacroCmdCtrl1, 16:16, scratch184, 26:26); + s(EmcPmacroCmdCtrl1, 21:20, scratch184, 28:27); + s(EmcPmacroCmdCtrl1, 24:24, scratch184, 29:29); + s(EmcPmacroCmdCtrl1, 29:28, scratch184, 31:30); + s(EmcQuseBrlshft0, 19:0, scratch185, 19:0); + s(EmcPmacroCmdCtrl2, 0:0, scratch185, 20:20); + s(EmcPmacroCmdCtrl2, 5:4, scratch185, 22:21); + s(EmcPmacroCmdCtrl2, 8:8, scratch185, 23:23); + s(EmcPmacroCmdCtrl2, 13:12, scratch185, 25:24); + s(EmcPmacroCmdCtrl2, 16:16, scratch185, 26:26); + s(EmcPmacroCmdCtrl2, 21:20, scratch185, 28:27); + s(EmcPmacroCmdCtrl2, 24:24, scratch185, 29:29); + s(EmcPmacroCmdCtrl2, 29:28, scratch185, 31:30); + s(EmcQuseBrlshft1, 19:0, scratch186, 19:0); + s(EmcPmacroDsrVttgenCtrl0, 3:0, scratch186, 23:20); + s(EmcPmacroDsrVttgenCtrl0, 15:8, scratch186, 31:24); + s(EmcQuseBrlshft2, 19:0, scratch187, 19:0); + s(EmcPmacroPerbitRfu1Ctrl0, 5:0, scratch187, 25:20); + s(EmcPmacroPerbitRfu1Ctrl0, 21:20, scratch187, 31:26); + s(EmcQuseBrlshft3, 19:0, scratch188, 19:0); + s(EmcPmacroPerbitRfu1Ctrl1, 5:0, scratch188, 25:20); + s(EmcPmacroPerbitRfu1Ctrl1, 21:20, scratch188, 31:26); + s(EmcDbg, 4:0, scratch189, 4:0); + s(EmcDbg, 13:9, scratch189, 9:5); + s(EmcDbg, 31:24, scratch189, 17:10); + s(EmcTRefBw, 13:0, scratch189, 31:18); + s(EmcZcalWaitCnt, 10:0, scratch191, 10:0); + s(EmcZcalWaitCnt, 21:16, scratch191, 16:11); + s(EmcZcalWaitCnt, 31:31, scratch191, 17:17); + s(EmcQpop, 6:0, scratch191, 24:18); + s(EmcQpop, 22:16, scratch191, 31:25); + s(EmcZcalMrwCmd, 7:0, scratch192, 7:0); + s(EmcZcalMrwCmd, 23:16, scratch192, 15:8); + s(EmcZcalMrwCmd, 31:30, scratch192, 17:16); + s(EmcPmacroAutocalCfgCommon, 5:0, scratch192, 23:18); + s(EmcPmacroAutocalCfgCommon, 13:8, scratch192, 29:24); + s(EmcPmacroAutocalCfgCommon, 16:16, scratch192, 30:30); + s(EmcPmacroTxSelClkSrc4, 25:25, scratch192, 31:31); + s(EmcPmacroDllCfg1, 10:0, scratch193, 10:0); + s(EmcPmacroDllCfg1, 13:12, scratch193, 12:11); + s(EmcPmacroDllCfg1, 17:16, scratch193, 14:13); + s(EmcPmacroDllCfg1, 21:20, scratch193, 16:15); + s(EmcPmacroDllCfg1, 24:24, scratch193, 17:17); + s(EmcPmacroPerbitRfu1Ctrl2, 5:0, scratch193, 23:18); + s(EmcPmacroPerbitRfu1Ctrl2, 21:16, scratch193, 29:24); + s(EmcPmacroTxSelClkSrc4, 26:26, scratch193, 30:30); + s(EmcPmacroTxSelClkSrc5, 0:0, scratch193, 31:31); + s(EmcPmacroCmdBrickCtrlFdpd, 17:0, scratch194, 17:0); + s(EmcPmacroPerbitRfu1Ctrl3, 5:0, scratch194, 23:18); + s(EmcPmacroPerbitRfu1Ctrl3, 21:16, scratch194, 29:24); + s(EmcPmacroTxSelClkSrc5, 2:1, scratch194, 31:30); + s(EmcPmacroDataBrickCtrlFdpd, 17:0, scratch195, 17:0); + s(EmcPmacroPerbitRfu1Ctrl4, 5:0, scratch195, 23:18); + s(EmcPmacroPerbitRfu1Ctrl4, 21:16, scratch195, 29:24); + s(EmcPmacroTxSelClkSrc5, 4:3, scratch195, 31:30); + s(EmcDynSelfRefControl, 15:0, scratch196, 15:0); + s(EmcDynSelfRefControl, 31:31, scratch196, 16:16); + s(McEmemArbRefpbBankCtrl, 6:0, scratch196, 23:17); + s(McEmemArbRefpbBankCtrl, 14:8, scratch196, 30:24); + s(McEmemArbRefpbBankCtrl, 31:31, scratch196, 31:31); + s(EmcPmacroCmdPadRxCtrl, 1:0, scratch197, 1:0); + s(EmcPmacroCmdPadRxCtrl, 5:4, scratch197, 3:2); + s(EmcPmacroCmdPadRxCtrl, 12:12, scratch197, 4:4); + s(EmcPmacroCmdPadRxCtrl, 19:15, scratch197, 9:5); + s(EmcPmacroCmdPadRxCtrl, 27:21, scratch197, 16:10); + s(EmcPmacroPerbitRfu1Ctrl5, 5:0, scratch197, 22:17); + s(EmcPmacroPerbitRfu1Ctrl5, 21:16, scratch197, 28:23); + s(EmcPmacroTxSelClkSrc5, 7:5, scratch197, 31:29); + s(EmcPmacroDataPadRxCtrl, 1:0, scratch198, 1:0); + s(EmcPmacroDataPadRxCtrl, 5:4, scratch198, 3:2); + s(EmcPmacroDataPadRxCtrl, 12:12, scratch198, 4:4); + s(EmcPmacroDataPadRxCtrl, 19:15, scratch198, 9:5); + s(EmcPmacroDataPadRxCtrl, 27:21, scratch198, 16:10); + s(EmcPmacroTxSelClkSrc5, 10:8, scratch198, 19:17); + s(EmcPmacroTxSelClkSrc5, 26:16, scratch198, 30:20); + s(EmcPmacroCmdPadTxCtrl, 0:0, scratch198, 31:31); + s(EmcRefresh, 15:0, scratch199, 15:0); + s(EmcCmdQ, 4:0, scratch199, 20:16); + s(EmcCmdQ, 10:8, scratch199, 23:21); + s(EmcCmdQ, 14:12, scratch199, 26:24); + s(EmcCmdQ, 28:24, scratch199, 31:27); + s(EmcAcpdControl, 15:0, scratch210, 15:0); + s(EmcAutoCalVrefSel1, 15:0, scratch210, 31:16); + s(EmcPmacroAutocalCfg0, 3:0, scratch211, 3:0); + s(EmcPmacroAutocalCfg0, 11:8, scratch211, 7:4); + s(EmcPmacroAutocalCfg0, 19:16, scratch211, 11:8); + s(EmcPmacroAutocalCfg0, 27:24, scratch211, 15:12); + s(EmcPmacroAutocalCfg1, 3:0, scratch211, 19:16); + s(EmcPmacroAutocalCfg1, 11:8, scratch211, 23:20); + s(EmcPmacroAutocalCfg1, 19:16, scratch211, 27:24); + s(EmcPmacroAutocalCfg1, 27:24, scratch211, 31:28); + s(EmcPmacroAutocalCfg2, 3:0, scratch212, 3:0); + s(EmcPmacroAutocalCfg2, 11:8, scratch212, 7:4); + s(EmcPmacroAutocalCfg2, 19:16, scratch212, 11:8); + s(EmcPmacroAutocalCfg2, 27:24, scratch212, 15:12); + s(EmcXm2CompPadCtrl3, 5:0, scratch212, 21:16); + s(EmcXm2CompPadCtrl3, 17:12, scratch212, 27:22); + s(EmcXm2CompPadCtrl3, 23:20, scratch212, 31:28); + s(EmcCfgDigDllPeriod, 15:0, scratch213, 15:0); + s(EmcPreRefreshReqCnt, 15:0, scratch213, 31:16); + s(EmcPmacroDdllBypass, 0:0, scratch214, 0:0); + s(EmcPmacroDdllBypass, 11:8, scratch214, 4:1); + s(EmcPmacroDdllBypass, 16:13, scratch214, 8:5); + s(EmcPmacroDdllBypass, 27:24, scratch214, 12:9); + s(EmcPmacroDdllBypass, 31:29, scratch214, 15:13); + s(EmcPmacroDataPiCtrl, 4:0, scratch214, 20:16); + s(EmcPmacroDataPiCtrl, 12:8, scratch214, 26:21); + s(EmcPmacroDataPiCtrl, 21:16, scratch214, 31:26); + s(EmcPmacroCmdPiCtrl, 4:0, scratch215, 4:0); + s(EmcPmacroCmdPiCtrl, 12:8, scratch215, 9:5); + s(EmcPmacroCmdPiCtrl, 21:16, scratch215, 15:10); + s(EmcPmacroCmdPadTxCtrl, 6:5, scratch216, 1:0); + s(EmcPmacroCmdPadTxCtrl, 10:10, scratch216, 2:2); + s(EmcPmacroCmdPadTxCtrl, 16:15, scratch216, 4:3); + s(EmcPmacroCmdPadTxCtrl, 30:21, scratch216, 14:5); + s(EmcPmacroDataPadTxCtrl, 0:0, scratch216, 15:15); + s(EmcPmacroDataPadTxCtrl, 6:5, scratch216, 17:16); + s(EmcPmacroDataPadTxCtrl, 10:10, scratch216, 18:18); + s(EmcPmacroDataPadTxCtrl, 16:15, scratch216, 20:19); + s(EmcPmacroDataPadTxCtrl, 30:21, scratch216, 30:21); + + s(EmcPinGpio, 1:0, scratch9, 31:30); + s(EmcPinGpioEn, 1:0, scratch10, 31:30); + s(EmcDevSelect, 1:0, scratch11, 31:30); + s(EmcZcalWarmColdBootEnables, 1:0, scratch12, 31:30); + s(EmcCfgDigDllPeriodWarmBoot, 1:0, scratch13, 31:30); + s32(EmcBctSpare13, scratch45); + s32(EmcBctSpare12, scratch46); + s32(EmcBctSpare7, scratch47); + s32(EmcBctSpare6, scratch48); + s32(EmcBctSpare5, scratch50); + s32(EmcBctSpare4, scratch51); + s32(EmcBctSpare3, scratch56); + s32(EmcBctSpare2, scratch57); + s32(EmcBctSpare1, scratch58); + s32(EmcBctSpare0, scratch59); + s32(EmcBctSpare9, scratch60); + s32(EmcBctSpare8, scratch61); + s32(BootRomPatchData, scratch62); + s32(BootRomPatchControl, scratch63); + s(McClkenOverrideAllWarmBoot, 0:0, scratch65, 31:31); + s(EmcExtraRefreshNum, 2:0, scratch66, 31:29); + s(PmcIoDpd3ReqWait, 2:0, scratch72, 30:28); + s(EmcClkenOverrideAllWarmBoot, 0:0, scratch72, 31:31); + s(MemoryType, 2:0, scratch73, 30:28); + s(EmcMrsWarmBootEnable, 0:0, scratch73, 31:31); + s(PmcIoDpd4ReqWait, 2:0, scratch74, 30:28); + s(ClearClk2Mc1, 0:0, scratch74, 31:31); + s(EmcWarmBootExtraModeRegWriteEnable, 0:0, scratch75, 28:28); + s(ClkRstControllerPllmMisc2OverrideEnable, 0:0, scratch75, 29:29); + s(EmcDbgWriteMux, 0:0, scratch75, 30:30); + s(AhbArbitrationXbarCtrlMemInitDone, 0:0, scratch75, 31:31); + s(EmcTimingControlWait, 7:0, scratch90, 31:24); + s(EmcZcalWarmBootWait, 7:0, scratch91, 31:24); + s(WarmBootWait, 7:0, scratch92, 31:24); + s(EmcPinProgramWait, 7:0, scratch93, 31:24); + s(EmcAutoCalWait, 9:0, scratch114, 31:22); + s(SwizzleRankByteEncode, 15:0, scratch215, 31:16); + + switch (params->MemoryType) { + case NvBootMemoryType_LpDdr2: + case NvBootMemoryType_LpDdr4: + s(EmcMrwLpddr2ZcalWarmBoot, 23:16, scratch5, 7:0); + s(EmcMrwLpddr2ZcalWarmBoot, 7:0, scratch5, 15:8); + s(EmcWarmBootMrwExtra, 23:16, scratch5, 23:16); + s(EmcWarmBootMrwExtra, 7:0, scratch5, 31:24); + s(EmcMrwLpddr2ZcalWarmBoot, 31:30, scratch6, 1:0); + s(EmcWarmBootMrwExtra, 31:30, scratch6, 3:2); + s(EmcMrwLpddr2ZcalWarmBoot, 27:26, scratch6, 5:4); + s(EmcWarmBootMrwExtra, 27:26, scratch6, 7:6); + s(EmcMrw6, 27:0, scratch8, 27:0); + s(EmcMrw6, 31:30, scratch8, 29:28); + s(EmcMrw8, 27:0, scratch9, 27:0); + s(EmcMrw8, 31:30, scratch9, 29:28); + s(EmcMrw9, 27:0, scratch10, 27:0); + s(EmcMrw9, 31:30, scratch10, 29:28); + s(EmcMrw10, 27:0, scratch11, 27:0); + s(EmcMrw10, 31:30, scratch11, 29:28); + s(EmcMrw12, 27:0, scratch12, 27:0); + s(EmcMrw12, 31:30, scratch12, 29:28); + s(EmcMrw13, 27:0, scratch13, 27:0); + s(EmcMrw13, 31:30, scratch13, 29:28); + s(EmcMrw14, 27:0, scratch14, 27:0); + s(EmcMrw14, 31:30, scratch14, 29:28); + s(EmcMrw1, 7:0, scratch15, 7:0); + s(EmcMrw1, 23:16, scratch15, 15:8); + s(EmcMrw1, 27:26, scratch15, 17:16); + s(EmcMrw1, 31:30, scratch15, 19:18); + s(EmcWarmBootMrwExtra, 7:0, scratch16, 7:0); + s(EmcWarmBootMrwExtra, 23:16, scratch16, 15:8); + s(EmcWarmBootMrwExtra, 27:26, scratch16, 17:16); + s(EmcWarmBootMrwExtra, 31:30, scratch16, 19:18); + s(EmcMrw2, 7:0, scratch17, 7:0); + s(EmcMrw2, 23:16, scratch17, 15:8); + s(EmcMrw2, 27:26, scratch17, 17:16); + s(EmcMrw2, 31:30, scratch17, 19:18); + s(EmcMrw3, 7:0, scratch18, 7:0); + s(EmcMrw3, 23:16, scratch18, 15:8); + s(EmcMrw3, 27:26, scratch18, 17:16); + s(EmcMrw3, 31:30, scratch18, 19:18); + s(EmcMrw4, 7:0, scratch19, 7:0); + s(EmcMrw4, 23:16, scratch19, 15:8); + s(EmcMrw4, 27:26, scratch19, 17:16); + s(EmcMrw4, 31:30, scratch19, 19:18); + break; + case NvBootMemoryType_Ddr3: + s(EmcMrs, 13:0, scratch5, 13:0); + s(EmcEmrs, 13:0, scratch5, 27:14); + s(EmcMrs, 21:20, scratch5, 29:28); + s(EmcMrs, 31:30, scratch5, 31:30); + s(EmcEmrs2, 13:0, scratch8, 13:0); + s(EmcEmrs3, 13:0, scratch8, 27:14); + s(EmcEmrs, 21:20, scratch8, 29:28); + s(EmcWarmBootMrsExtra, 13:0, scratch9, 13:0); + s(EmcEmrs, 31:30, scratch9, 15:14); + s(EmcEmrs2, 21:20, scratch9, 17:16); + s(EmcEmrs2, 31:30, scratch9, 19:18); + s(EmcEmrs3, 21:20, scratch9, 21:20); + s(EmcEmrs3, 31:30, scratch9, 23:22); + s(EmcWarmBootMrsExtra, 31:30, scratch9, 25:24); + s(EmcWarmBootMrsExtra, 21:20, scratch9, 27:26); + s(EmcZqCalDdr3WarmBoot, 31:30, scratch9, 29:28); + s(EmcMrs, 27:26, scratch10, 1:0); + s(EmcEmrs, 27:26, scratch10, 3:2); + s(EmcEmrs2, 27:26, scratch10, 5:4); + s(EmcEmrs3, 27:26, scratch10, 7:6); + s(EmcWarmBootMrsExtra, 27:27, scratch10, 8:8); + s(EmcWarmBootMrsExtra, 26:26, scratch10, 9:9); + s(EmcZqCalDdr3WarmBoot, 0:0, scratch10, 10:10); + s(EmcZqCalDdr3WarmBoot, 4:4, scratch10, 11:11); + break; + default: break; + } + + s32(EmcCmdMappingByte, secure_scratch8); + s32(EmcPmacroBrickMapping0, secure_scratch9); + s32(EmcPmacroBrickMapping1, secure_scratch10); + s32(EmcPmacroBrickMapping2, secure_scratch11); + s32(McVideoProtectGpuOverride0, secure_scratch12); + s(EmcCmdMappingCmd0_0, 6:0, secure_scratch13, 6:0); + s(EmcCmdMappingCmd0_0, 14:8, secure_scratch13, 13:7); + s(EmcCmdMappingCmd0_0, 22:16, secure_scratch13, 20:14); + s(EmcCmdMappingCmd0_0, 30:24, secure_scratch13, 27:21); + s(McUntranslatedRegionCheck, 0:0, secure_scratch13, 28:28); + s(McUntranslatedRegionCheck, 9:8, secure_scratch13, 30:29); + s(EmcAdrCfg, 0:0, secure_scratch13, 31:31); + s(EmcCmdMappingCmd0_1, 6:0, secure_scratch14, 6:0); + s(EmcCmdMappingCmd0_1, 14:8, secure_scratch14, 13:7); + s(EmcCmdMappingCmd0_1, 22:16, secure_scratch14, 20:14); + s(EmcCmdMappingCmd0_1, 30:24, secure_scratch14, 27:21); + s(McVideoProtectBomAdrHi, 1:0, secure_scratch14, 29:28); + s(McVideoProtectWriteAccess, 1:0, secure_scratch14, 31:30); + s(EmcCmdMappingCmd1_0, 6:0, secure_scratch15, 6:0); + s(EmcCmdMappingCmd1_0, 14:8, secure_scratch15, 13:7); + s(EmcCmdMappingCmd1_0, 22:16, secure_scratch15, 20:14); + s(EmcCmdMappingCmd1_0, 30:24, secure_scratch15, 27:21); + s(McSecCarveoutAdrHi, 1:0, secure_scratch15, 29:28); + s(McMtsCarveoutAdrHi, 1:0, secure_scratch15, 31:30); + s(EmcCmdMappingCmd1_1, 6:0, secure_scratch16, 6:0); + s(EmcCmdMappingCmd1_1, 14:8, secure_scratch16, 13:7); + s(EmcCmdMappingCmd1_1, 22:16, secure_scratch16, 20:14); + s(EmcCmdMappingCmd1_1, 30:24, secure_scratch16, 27:21); + s(McGeneralizedCarveout5BomHi, 1:0, secure_scratch16, 29:28); + s(McGeneralizedCarveout3BomHi, 1:0, secure_scratch16, 31:30); + s(EmcCmdMappingCmd2_0, 6:0, secure_scratch17, 6:0); + s(EmcCmdMappingCmd2_0, 14:8, secure_scratch17, 13:7); + s(EmcCmdMappingCmd2_0, 22:16, secure_scratch17, 20:14); + s(EmcCmdMappingCmd2_0, 30:24, secure_scratch17, 27:21); + s(McGeneralizedCarveout2BomHi, 1:0, secure_scratch17, 29:28); + s(McGeneralizedCarveout4BomHi, 1:0, secure_scratch17, 31:30); + s(EmcCmdMappingCmd2_1, 6:0, secure_scratch18, 6:0); + s(EmcCmdMappingCmd2_1, 14:8, secure_scratch18, 13:7); + s(EmcCmdMappingCmd2_1, 22:16, secure_scratch18, 20:14); + s(EmcCmdMappingCmd2_1, 30:24, secure_scratch18, 27:21); + s(McGeneralizedCarveout1BomHi, 1:0, secure_scratch18, 29:28); + s(EmcFbioSpare, 1:1, secure_scratch18, 30:30); + s(EmcFbioCfg8, 15:15, secure_scratch18, 31:31); + s(EmcCmdMappingCmd3_0, 6:0, secure_scratch19, 6:0); + s(EmcCmdMappingCmd3_0, 14:8, secure_scratch19, 13:7); + s(EmcCmdMappingCmd3_0, 22:16, secure_scratch19, 20:14); + s(EmcCmdMappingCmd3_0, 30:24, secure_scratch19, 27:21); + s(McEmemAdrCfg, 0:0, secure_scratch19, 28:28); + s(McSecCarveoutProtectWriteAccess, 0:0, secure_scratch19, 29:29); + s(McMtsCarveoutRegCtrl, 0:0, secure_scratch19, 30:30); + s(McVideoProtectVprOverride, 0:0, secure_scratch19, 31:31); + s(EmcCmdMappingCmd3_1, 6:0, secure_scratch20, 6:0); + s(EmcCmdMappingCmd3_1, 14:8, secure_scratch20, 13:7); + s(EmcCmdMappingCmd3_1, 22:16, secure_scratch20, 20:14); + s(EmcCmdMappingCmd3_1, 30:24, secure_scratch20, 27:21); + s(McGeneralizedCarveout2Cfg0, 6:3, secure_scratch20, 31:28); + s(McGeneralizedCarveout4Cfg0, 26:0, secure_scratch39, 26:0); + s(McGeneralizedCarveout2Cfg0, 10:7, secure_scratch39, 30:27); + s(McVideoProtectVprOverride, 1:1, secure_scratch39, 31:31); + s(McGeneralizedCarveout5Cfg0, 26:0, secure_scratch40, 26:0); + s(McGeneralizedCarveout2Cfg0, 17:14, secure_scratch40, 30:27); + s(McVideoProtectVprOverride, 2:2, secure_scratch40, 31:31); + s(EmcCmdMappingCmd0_2, 6:0, secure_scratch41, 6:0); + s(EmcCmdMappingCmd0_2, 14:8, secure_scratch41, 13:7); + s(EmcCmdMappingCmd0_2, 22:16, secure_scratch41, 20:14); + s(EmcCmdMappingCmd0_2, 27:24, secure_scratch41, 24:21); + s(McGeneralizedCarveout2Cfg0, 21:18, secure_scratch41, 28:25); + s(McGeneralizedCarveout2Cfg0, 13:11, secure_scratch41, 31:29); + s(EmcCmdMappingCmd1_2, 6:0, secure_scratch42, 6:0); + s(EmcCmdMappingCmd1_2, 14:8, secure_scratch42, 13:7); + s(EmcCmdMappingCmd1_2, 22:16, secure_scratch42, 20:14); + s(EmcCmdMappingCmd1_2, 27:24, secure_scratch42, 24:21); + s(McGeneralizedCarveout1Cfg0, 6:3, secure_scratch42, 28:25); + s(McGeneralizedCarveout1Cfg0, 13:11, secure_scratch42, 31:29); + s(EmcCmdMappingCmd2_2, 6:0, secure_scratch43, 6:0); + s(EmcCmdMappingCmd2_2, 14:8, secure_scratch43, 13:7); + s(EmcCmdMappingCmd2_2, 22:16, secure_scratch43, 20:14); + s(EmcCmdMappingCmd2_2, 27:24, secure_scratch43, 24:21); + s(McGeneralizedCarveout1Cfg0, 10:7, secure_scratch43, 28:25); + s(McGeneralizedCarveout3Cfg0, 13:11, secure_scratch43, 31:29); + s(EmcCmdMappingCmd3_2, 6:0, secure_scratch44, 6:0); + s(EmcCmdMappingCmd3_2, 14:8, secure_scratch44, 13:7); + s(EmcCmdMappingCmd3_2, 22:16, secure_scratch44, 20:14); + s(EmcCmdMappingCmd3_2, 27:24, secure_scratch44, 24:21); + s(McGeneralizedCarveout1Cfg0, 17:14, secure_scratch44, 28:25); + s(McVideoProtectVprOverride, 3:3, secure_scratch44, 29:29); + s(McVideoProtectVprOverride, 7:6, secure_scratch44, 31:30); + s(McEmemAdrCfgChannelMask, 31:9, secure_scratch45, 22:0); + s(McEmemAdrCfgDev0, 2:0, secure_scratch45, 25:23); + s(McEmemAdrCfgDev0, 9:8, secure_scratch45, 27:26); + s(McEmemAdrCfgDev0, 19:16, secure_scratch45, 31:28); + s(McEmemAdrCfgBankMask0, 31:10, secure_scratch46, 21:0); + s(McEmemAdrCfgDev1, 2:0, secure_scratch46, 24:22); + s(McEmemAdrCfgDev1, 9:8, secure_scratch46, 26:25); + s(McEmemAdrCfgDev1, 19:16, secure_scratch46, 30:27); + s(McVideoProtectVprOverride, 8:8, secure_scratch46, 31:31); + s(McEmemAdrCfgBankMask1, 31:10, secure_scratch47, 21:0); + s(McGeneralizedCarveout1Cfg0, 21:18, secure_scratch47, 25:22); + s(McGeneralizedCarveout3Cfg0, 6:3, secure_scratch47, 29:26); + s(McVideoProtectVprOverride, 9:9, secure_scratch47, 30:30); + s(McVideoProtectVprOverride, 11:11, secure_scratch47, 31:31); + s(McEmemAdrCfgBankMask2, 31:10, secure_scratch48, 21:0); + s(McGeneralizedCarveout3Cfg0, 10:7, secure_scratch48, 25:22); + s(McGeneralizedCarveout3Cfg0, 17:14, secure_scratch48, 29:26); + s(McVideoProtectVprOverride, 15:14, secure_scratch48, 31:30); + s(McVideoProtectGpuOverride1, 15:0, secure_scratch49, 15:0); + s(McEmemCfg, 13:0, secure_scratch49, 29:16); + s(McEmemCfg, 31:31, secure_scratch49, 30:30); + s(McVideoProtectVprOverride, 17:17, secure_scratch49, 31:31); + s(McGeneralizedCarveout3Bom, 31:17, secure_scratch50, 14:0); + s(McGeneralizedCarveout1Bom, 31:17, secure_scratch50, 29:15); + s(McVideoProtectVprOverride, 19:18, secure_scratch50, 31:30); + s(McGeneralizedCarveout4Bom, 31:17, secure_scratch51, 14:0); + s(McGeneralizedCarveout2Bom, 31:17, secure_scratch51, 29:15); + s(McVideoProtectVprOverride, 21:20, secure_scratch51, 31:30); + s(McGeneralizedCarveout5Bom, 31:17, secure_scratch52, 14:0); + s(McVideoProtectBom, 31:20, secure_scratch52, 26:15); + s(McGeneralizedCarveout3Cfg0, 21:18, secure_scratch52, 30:27); + s(McVideoProtectVprOverride, 22:22, secure_scratch52, 31:31); + s(McVideoProtectSizeMb, 11:0, secure_scratch53, 11:0); + s(McSecCarveoutBom, 31:20, secure_scratch53, 23:12); + s(McVideoProtectVprOverride, 23:23, secure_scratch53, 24:24); + s(McVideoProtectVprOverride, 26:26, secure_scratch53, 25:25); + s(McVideoProtectVprOverride, 31:29, secure_scratch53, 28:26); + s(McVideoProtectVprOverride1, 1:0, secure_scratch53, 30:29); + s(McVideoProtectVprOverride1, 4:4, secure_scratch53, 31:31); + s(McSecCarveoutSizeMb, 11:0, secure_scratch54, 11:0); + s(McMtsCarveoutBom, 31:20, secure_scratch54, 23:12); + s(McVideoProtectVprOverride1, 12:5, secure_scratch54, 31:24); + s(McMtsCarveoutSizeMb, 11:0, secure_scratch55, 11:0); + s(McGeneralizedCarveout4Size128kb, 11:0, secure_scratch55, 23:12); + s(McVideoProtectVprOverride1, 16:13, secure_scratch55, 27:24); + s(McVideoProtectVprOverride1, 26:25, secure_scratch55, 29:28); + s(McGeneralizedCarveout2Cfg0, 1:0, secure_scratch55, 31:30); + s(McGeneralizedCarveout3Size128kb, 11:0, secure_scratch56, 11:0); + s(McGeneralizedCarveout2Size128kb, 11:0, secure_scratch56, 23:12); + s(McGeneralizedCarveout2Cfg0, 2:2, secure_scratch56, 24:24); + s(McGeneralizedCarveout2Cfg0, 26:22, secure_scratch56, 29:25); + s(McGeneralizedCarveout1Cfg0, 1:0, secure_scratch56, 31:30); + s(McGeneralizedCarveout1Size128kb, 11:0, secure_scratch57, 11:0); + s(McGeneralizedCarveout5Size128kb, 11:0, secure_scratch57, 23:12); + s(McGeneralizedCarveout1Cfg0, 2:2, secure_scratch57, 24:24); + s(McGeneralizedCarveout1Cfg0, 26:22, secure_scratch57, 29:25); + s(McGeneralizedCarveout3Cfg0, 1:0, secure_scratch57, 31:30); + s(McGeneralizedCarveout3Cfg0, 2:2, secure_scratch58, 0:0); + s(McGeneralizedCarveout3Cfg0, 26:22, secure_scratch57, 5:1); + + s32(McGeneralizedCarveout1Access0, secure_scratch59); + s32(McGeneralizedCarveout1Access1, secure_scratch60); + s32(McGeneralizedCarveout1Access2, secure_scratch61); + s32(McGeneralizedCarveout1Access3, secure_scratch62); + s32(McGeneralizedCarveout1Access4, secure_scratch63); + s32(McGeneralizedCarveout2Access0, secure_scratch64); + s32(McGeneralizedCarveout2Access1, secure_scratch65); + s32(McGeneralizedCarveout2Access2, secure_scratch66); + s32(McGeneralizedCarveout2Access3, secure_scratch67); + s32(McGeneralizedCarveout2Access4, secure_scratch68); + s32(McGeneralizedCarveout3Access0, secure_scratch69); + s32(McGeneralizedCarveout3Access1, secure_scratch70); + s32(McGeneralizedCarveout3Access2, secure_scratch71); + s32(McGeneralizedCarveout3Access3, secure_scratch72); + s32(McGeneralizedCarveout3Access4, secure_scratch73); + s32(McGeneralizedCarveout4Access0, secure_scratch74); + s32(McGeneralizedCarveout4Access1, secure_scratch75); + s32(McGeneralizedCarveout4Access2, secure_scratch76); + s32(McGeneralizedCarveout4Access3, secure_scratch77); + s32(McGeneralizedCarveout4Access4, secure_scratch78); + s32(McGeneralizedCarveout5Access0, secure_scratch79); + s32(McGeneralizedCarveout5Access1, secure_scratch80); + s32(McGeneralizedCarveout5Access2, secure_scratch81); + s32(McGeneralizedCarveout5Access3, secure_scratch82); + s32(McGeneralizedCarveout1ForceInternalAccess0, secure_scratch84); + s32(McGeneralizedCarveout1ForceInternalAccess1, secure_scratch85); + s32(McGeneralizedCarveout1ForceInternalAccess2, secure_scratch86); + s32(McGeneralizedCarveout1ForceInternalAccess3, secure_scratch87); + s32(McGeneralizedCarveout1ForceInternalAccess4, secure_scratch88); + s32(McGeneralizedCarveout2ForceInternalAccess0, secure_scratch89); + s32(McGeneralizedCarveout2ForceInternalAccess1, secure_scratch90); + s32(McGeneralizedCarveout2ForceInternalAccess2, secure_scratch91); + s32(McGeneralizedCarveout2ForceInternalAccess3, secure_scratch92); + s32(McGeneralizedCarveout2ForceInternalAccess4, secure_scratch93); + s32(McGeneralizedCarveout3ForceInternalAccess0, secure_scratch94); + s32(McGeneralizedCarveout3ForceInternalAccess1, secure_scratch95); + s32(McGeneralizedCarveout3ForceInternalAccess2, secure_scratch96); + s32(McGeneralizedCarveout3ForceInternalAccess3, secure_scratch97); + s32(McGeneralizedCarveout3ForceInternalAccess4, secure_scratch98); + s32(McGeneralizedCarveout4ForceInternalAccess0, secure_scratch99); + s32(McGeneralizedCarveout4ForceInternalAccess1, secure_scratch100); + s32(McGeneralizedCarveout4ForceInternalAccess2, secure_scratch101); + s32(McGeneralizedCarveout4ForceInternalAccess3, secure_scratch102); + s32(McGeneralizedCarveout4ForceInternalAccess4, secure_scratch103); + s32(McGeneralizedCarveout5ForceInternalAccess0, secure_scratch104); + s32(McGeneralizedCarveout5ForceInternalAccess1, secure_scratch105); + s32(McGeneralizedCarveout5ForceInternalAccess2, secure_scratch106); + s32(McGeneralizedCarveout5ForceInternalAccess3, secure_scratch107); + + c32(0, scratch2); + s(PllMInputDivider, 7:0, scratch2, 7:0); + s(PllMFeedbackDivider, 7:0, scratch2, 15:8); + s(PllMPostDivider, 0:0, scratch2, 16:16); + s(PllMKVCO, 0:0, scratch2, 17:17); + s(PllMKCP, 1:0, scratch2, 19:18); + + c32(0, scratch35); + s(PllMSetupControl, 27:0, scratch35, 27:0); + + c32(0, scratch3); + s(PllMInputDivider, 7:0, scratch3, 7:0); + c(0x3e, scratch3, 15:8); + c(0, scratch3, 20:16); + s(PllMKVCO, 0:0, scratch3, 21:21); + s(PllMKCP, 1:0, scratch3, 23:22); + + c32(0, scratch36); + s(PllMSetupControl, 23:0, scratch36, 23:0); + + c32(0, scratch4); + s(PllMStableTime, 19:0, scratch4, 19:0); } \ No newline at end of file diff --git a/fusee/fusee-secondary/src/pmc.h b/fusee/fusee-secondary/src/pmc.h index 6fc009ff6..a287d85e7 100644 --- a/fusee/fusee-secondary/src/pmc.h +++ b/fusee/fusee-secondary/src/pmc.h @@ -66,556 +66,643 @@ #define APBDEV_PMC_SCRATCH33_0 MAKE_PMC_REG(0x120) #define APBDEV_PMC_SCRATCH40_0 MAKE_PMC_REG(0x13C) +/* Power Management Controller (APBDEV_PMC_) regs */ typedef struct { - uint32_t cntrl; - uint32_t sec_disable; - uint32_t pmc_swrst; - uint32_t wake_mask; - uint32_t wake_lvl; - uint32_t wake_status; - uint32_t sw_wake_status; - uint32_t dpd_pads_oride; - uint32_t dpd_sample; - uint32_t dpd_enable; - uint32_t pwrgate_timer_off; - uint32_t clamp_status; - uint32_t pwrgate_toggle; - uint32_t remove_clamping; - uint32_t pwrgate_status; - uint32_t pwrgood_timer; - uint32_t blink_timer; - uint32_t no_iopower; - uint32_t pwr_det; - uint32_t pwr_det_latch; - uint32_t scratch0; - uint32_t scratch1; - uint32_t scratch2; - uint32_t scratch3; - uint32_t scratch4; - uint32_t scratch5; - uint32_t scratch6; - uint32_t scratch7; - uint32_t scratch8; - uint32_t scratch9; - uint32_t scratch10; - uint32_t scratch11; - uint32_t scratch12; - uint32_t scratch13; - uint32_t scratch14; - uint32_t scratch15; - uint32_t scratch16; - uint32_t scratch17; - uint32_t scratch18; - uint32_t scratch19; - uint32_t scratch20; - uint32_t scratch21; - uint32_t scratch22; - uint32_t scratch23; - uint32_t secure_scratch0; - uint32_t secure_scratch1; - uint32_t secure_scratch2; - uint32_t secure_scratch3; - uint32_t secure_scratch4; - uint32_t secure_scratch5; - uint32_t cpupwrgood_timer; - uint32_t cpupwroff_timer; - uint32_t pg_mask; - uint32_t pg_mask_1; - uint32_t auto_wake_lvl; - uint32_t auto_wake_lvl_mask; - uint32_t wake_delay; - uint32_t pwr_det_val; - uint32_t ddr_pwr; - uint32_t usb_debounce_del; - uint32_t usb_ao; - uint32_t crypto_op; - uint32_t pllp_wb0_override; - uint32_t scratch24; - uint32_t scratch25; - uint32_t scratch26; - uint32_t scratch27; - uint32_t scratch28; - uint32_t scratch29; - uint32_t scratch30; - uint32_t scratch31; - uint32_t scratch32; - uint32_t scratch33; - uint32_t scratch34; - uint32_t scratch35; - uint32_t scratch36; - uint32_t scratch37; - uint32_t scratch38; - uint32_t scratch39; - uint32_t scratch40; - uint32_t scratch41; - uint32_t scratch42; - uint32_t bo_mirror0; - uint32_t bo_mirror1; - uint32_t bo_mirror2; - uint32_t sys_33v_en; - uint32_t bo_mirror_access; - uint32_t gate; - uint32_t wake2_mask; - uint32_t wake2_lvl; - uint32_t wake2_stat; - uint32_t sw_wake2_stat; - uint32_t auto_wake2_lvl_mask; - uint32_t pg_mask2; - uint32_t pg_mask_ce1; - uint32_t pg_mask_ce2; - uint32_t pg_mask_ce3; - uint32_t pwrgate_timer_ce0; - uint32_t pwrgate_timer_ce1; - uint32_t pwrgate_timer_ce2; - uint32_t pwrgate_timer_ce3; - uint32_t pwrgate_timer_ce4; - uint32_t pwrgate_timer_ce5; - uint32_t pwrgate_timer_ce6; - uint32_t pcx_edpd_cntrl; - uint32_t osc_edpd_over; - uint32_t clk_out_cntrl; - uint32_t sata_pwrgate; - uint32_t sensor_ctrl; - uint32_t reset_status; - uint32_t io_dpd_req; - uint32_t io_dpd_stat; - uint32_t io_dpd2_req; - uint32_t io_dpd2_stat; - uint32_t sel_dpd_tim; - uint32_t vddp_sel; - uint32_t ddr_cfg; - uint32_t e_no_vttgen; - uint32_t _reserved0; - uint32_t pllm_wb0_ovrride_frq; - uint32_t test_pwrgate; - uint32_t pwrgate_timer_mult; - uint32_t dsi_sel_dpd; - uint32_t utmip_uhsic_triggers; - uint32_t utmip_uhsic_saved_st; - uint32_t utmip_pad_cfg; - uint32_t utmip_term_pad_cfg; - uint32_t utmip_uhsic_sleep_cfg; - uint32_t utmip_uhsic_sleepwalk_cfg; - uint32_t utmip_sleepwalk_p[3]; - uint32_t uhsic_sleepwalk_p0; - uint32_t utmip_uhsic_status; - uint32_t utmip_uhsic_fake; - uint32_t bo_mirror3[2]; - uint32_t secure_scratch6; - uint32_t secure_scratch7; - uint32_t scratch43; - uint32_t scratch44; - uint32_t scratch45; - uint32_t scratch46; - uint32_t scratch47; - uint32_t scratch48; - uint32_t scratch49; - uint32_t scratch50; - uint32_t scratch51; - uint32_t scratch52; - uint32_t scratch53; - uint32_t scratch54; - uint32_t scratch55; - uint32_t scratch0_eco; - uint32_t por_dpd_ctrl; - uint32_t scratch2_eco; - uint32_t utmip_uhsic_line_wakeup; - uint32_t utmip_bias_master_cntrl; - uint32_t utmip_master_config; - uint32_t td_pwrgate_inter_part_timer; - uint32_t utmip_uhsic2_triggers; - uint32_t utmip_uhsic2_saved_state; - uint32_t utmip_uhsic2_sleep_cfg; - uint32_t utmip_uhsic2_sleepwalk_cfg; - uint32_t uhsic2_sleepwalk_p1; - uint32_t utmip_uhsic2_status; - uint32_t utmip_uhsic2_fake; - uint32_t utmip_uhsic2_line_wakeup; - uint32_t utmip_master2_config; - uint32_t utmip_uhsic_rpd_cfg; - uint32_t pg_mask_ce0; - uint32_t pg_mask3[2]; - uint32_t pllm_wb0_override2; - uint32_t tsc_mult; - uint32_t cpu_vsense_override; - uint32_t glb_amap_cfg; - uint32_t sticky_bits; - uint32_t sec_disable2; - uint32_t weak_bias; - uint32_t reg_short; - uint32_t pg_mask_andor; - uint32_t _reserved1[11]; - uint32_t secure_scratch8; - uint32_t secure_scratch9; - uint32_t secure_scratch10; - uint32_t secure_scratch11; - uint32_t secure_scratch12; - uint32_t secure_scratch13; - uint32_t secure_scratch14; - uint32_t secure_scratch15; - uint32_t secure_scratch16; - uint32_t secure_scratch17; - uint32_t secure_scratch18; - uint32_t secure_scratch19; - uint32_t secure_scratch20; - uint32_t secure_scratch21; - uint32_t secure_scratch22; - uint32_t secure_scratch23; - uint32_t secure_scratch24; - uint32_t secure_scratch25; - uint32_t secure_scratch26; - uint32_t secure_scratch27; - uint32_t secure_scratch28; - uint32_t secure_scratch29; - uint32_t secure_scratch30; - uint32_t secure_scratch31; - uint32_t secure_scratch32; - uint32_t secure_scratch33; - uint32_t secure_scratch34; - uint32_t secure_scratch35; - uint32_t secure_scratch36; - uint32_t secure_scratch37; - uint32_t secure_scratch38; - uint32_t secure_scratch39; - uint32_t secure_scratch40; - uint32_t secure_scratch41; - uint32_t secure_scratch42; - uint32_t secure_scratch43; - uint32_t secure_scratch44; - uint32_t secure_scratch45; - uint32_t secure_scratch46; - uint32_t secure_scratch47; - uint32_t secure_scratch48; - uint32_t secure_scratch49; - uint32_t secure_scratch50; - uint32_t secure_scratch51; - uint32_t secure_scratch52; - uint32_t secure_scratch53; - uint32_t secure_scratch54; - uint32_t secure_scratch55; - uint32_t secure_scratch56; - uint32_t secure_scratch57; - uint32_t secure_scratch58; - uint32_t secure_scratch59; - uint32_t secure_scratch60; - uint32_t secure_scratch61; - uint32_t secure_scratch62; - uint32_t secure_scratch63; - uint32_t secure_scratch64; - uint32_t secure_scratch65; - uint32_t secure_scratch66; - uint32_t secure_scratch67; - uint32_t secure_scratch68; - uint32_t secure_scratch69; - uint32_t secure_scratch70; - uint32_t secure_scratch71; - uint32_t secure_scratch72; - uint32_t secure_scratch73; - uint32_t secure_scratch74; - uint32_t secure_scratch75; - uint32_t secure_scratch76; - uint32_t secure_scratch77; - uint32_t secure_scratch78; - uint32_t secure_scratch79; - uint32_t _reserved2[8]; - uint32_t cntrl2; - uint32_t _reserved3[2]; - uint32_t event_counter; - uint32_t fuse_control; - uint32_t scratch1_eco; - uint32_t _reserved4; - uint32_t io_dpd3_req; - uint32_t io_dpd3_status; - uint32_t io_dpd4_req; - uint32_t io_dpd4_status; - uint32_t _reserved5[30]; - uint32_t ddr_cntrl; - uint32_t _reserved6[70]; - uint32_t scratch56; - uint32_t scratch57; - uint32_t scratch58; - uint32_t scratch59; - uint32_t scratch60; - uint32_t scratch61; - uint32_t scratch62; - uint32_t scratch63; - uint32_t scratch64; - uint32_t scratch65; - uint32_t scratch66; - uint32_t scratch67; - uint32_t scratch68; - uint32_t scratch69; - uint32_t scratch70; - uint32_t scratch71; - uint32_t scratch72; - uint32_t scratch73; - uint32_t scratch74; - uint32_t scratch75; - uint32_t scratch76; - uint32_t scratch77; - uint32_t scratch78; - uint32_t scratch79; - uint32_t scratch80; - uint32_t scratch81; - uint32_t scratch82; - uint32_t scratch83; - uint32_t scratch84; - uint32_t scratch85; - uint32_t scratch86; - uint32_t scratch87; - uint32_t scratch88; - uint32_t scratch89; - uint32_t scratch90; - uint32_t scratch91; - uint32_t scratch92; - uint32_t scratch93; - uint32_t scratch94; - uint32_t scratch95; - uint32_t scratch96; - uint32_t scratch97; - uint32_t scratch98; - uint32_t scratch99; - uint32_t scratch100; - uint32_t scratch101; - uint32_t scratch102; - uint32_t scratch103; - uint32_t scratch104; - uint32_t scratch105; - uint32_t scratch106; - uint32_t scratch107; - uint32_t scratch108; - uint32_t scratch109; - uint32_t scratch110; - uint32_t scratch111; - uint32_t scratch112; - uint32_t scratch113; - uint32_t scratch114; - uint32_t scratch115; - uint32_t scratch116; - uint32_t scratch117; - uint32_t scratch118; - uint32_t scratch119; - uint32_t scratch120; - uint32_t scratch121; - uint32_t scratch122; - uint32_t scratch123; - uint32_t scratch124; - uint32_t scratch125; - uint32_t scratch126; - uint32_t scratch127; - uint32_t scratch128; - uint32_t scratch129; - uint32_t scratch130; - uint32_t scratch131; - uint32_t scratch132; - uint32_t scratch133; - uint32_t scratch134; - uint32_t scratch135; - uint32_t scratch136; - uint32_t scratch137; - uint32_t scratch138; - uint32_t scratch139; - uint32_t scratch140; - uint32_t scratch141; - uint32_t scratch142; - uint32_t scratch143; - uint32_t scratch144; - uint32_t scratch145; - uint32_t scratch146; - uint32_t scratch147; - uint32_t scratch148; - uint32_t scratch149; - uint32_t scratch150; - uint32_t scratch151; - uint32_t scratch152; - uint32_t scratch153; - uint32_t scratch154; - uint32_t scratch155; - uint32_t scratch156; - uint32_t scratch157; - uint32_t scratch158; - uint32_t scratch159; - uint32_t scratch160; - uint32_t scratch161; - uint32_t scratch162; - uint32_t scratch163; - uint32_t scratch164; - uint32_t scratch165; - uint32_t scratch166; - uint32_t scratch167; - uint32_t scratch168; - uint32_t scratch169; - uint32_t scratch170; - uint32_t scratch171; - uint32_t scratch172; - uint32_t scratch173; - uint32_t scratch174; - uint32_t scratch175; - uint32_t scratch176; - uint32_t scratch177; - uint32_t scratch178; - uint32_t scratch179; - uint32_t scratch180; - uint32_t scratch181; - uint32_t scratch182; - uint32_t scratch183; - uint32_t scratch184; - uint32_t scratch185; - uint32_t scratch186; - uint32_t scratch187; - uint32_t scratch188; - uint32_t scratch189; - uint32_t scratch190; - uint32_t scratch191; - uint32_t scratch192; - uint32_t scratch193; - uint32_t scratch194; - uint32_t scratch195; - uint32_t scratch196; - uint32_t scratch197; - uint32_t scratch198; - uint32_t scratch199; - uint32_t scratch200; - uint32_t scratch201; - uint32_t scratch202; - uint32_t scratch203; - uint32_t scratch204; - uint32_t scratch205; - uint32_t scratch206; - uint32_t scratch207; - uint32_t scratch208; - uint32_t scratch209; - uint32_t scratch210; - uint32_t scratch211; - uint32_t scratch212; - uint32_t scratch213; - uint32_t scratch214; - uint32_t scratch215; - uint32_t scratch216; - uint32_t scratch217; - uint32_t scratch218; - uint32_t scratch219; - uint32_t scratch220; - uint32_t scratch221; - uint32_t scratch222; - uint32_t scratch223; - uint32_t scratch224; - uint32_t scratch225; - uint32_t scratch226; - uint32_t scratch227; - uint32_t scratch228; - uint32_t scratch229; - uint32_t scratch230; - uint32_t scratch231; - uint32_t scratch232; - uint32_t scratch233; - uint32_t scratch234; - uint32_t scratch235; - uint32_t scratch236; - uint32_t scratch237; - uint32_t scratch238; - uint32_t scratch239; - uint32_t scratch240; - uint32_t scratch241; - uint32_t scratch242; - uint32_t scratch243; - uint32_t scratch244; - uint32_t scratch245; - uint32_t scratch246; - uint32_t scratch247; - uint32_t scratch248; - uint32_t scratch249; - uint32_t scratch250; - uint32_t scratch251; - uint32_t scratch252; - uint32_t scratch253; - uint32_t scratch254; - uint32_t scratch255; - uint32_t scratch256; - uint32_t scratch257; - uint32_t scratch258; - uint32_t scratch259; - uint32_t scratch260; - uint32_t scratch261; - uint32_t scratch262; - uint32_t scratch263; - uint32_t scratch264; - uint32_t scratch265; - uint32_t scratch266; - uint32_t scratch267; - uint32_t scratch268; - uint32_t scratch269; - uint32_t scratch270; - uint32_t scratch271; - uint32_t scratch272; - uint32_t scratch273; - uint32_t scratch274; - uint32_t scratch275; - uint32_t scratch276; - uint32_t scratch277; - uint32_t scratch278; - uint32_t scratch279; - uint32_t scratch280; - uint32_t scratch281; - uint32_t scratch282; - uint32_t scratch283; - uint32_t scratch284; - uint32_t scratch285; - uint32_t scratch286; - uint32_t scratch287; - uint32_t scratch288; - uint32_t scratch289; - uint32_t scratch290; - uint32_t scratch291; - uint32_t scratch292; - uint32_t scratch293; - uint32_t scratch294; - uint32_t scratch295; - uint32_t scratch296; - uint32_t scratch297; - uint32_t scratch298; - uint32_t scratch299; - uint32_t _reserved7[50]; - uint32_t secure_scratch80; - uint32_t secure_scratch81; - uint32_t secure_scratch82; - uint32_t secure_scratch83; - uint32_t secure_scratch84; - uint32_t secure_scratch85; - uint32_t secure_scratch86; - uint32_t secure_scratch87; - uint32_t secure_scratch88; - uint32_t secure_scratch89; - uint32_t secure_scratch90; - uint32_t secure_scratch91; - uint32_t secure_scratch92; - uint32_t secure_scratch93; - uint32_t secure_scratch94; - uint32_t secure_scratch95; - uint32_t secure_scratch96; - uint32_t secure_scratch97; - uint32_t secure_scratch98; - uint32_t secure_scratch99; - uint32_t secure_scratch100; - uint32_t secure_scratch101; - uint32_t secure_scratch102; - uint32_t secure_scratch103; - uint32_t secure_scratch104; - uint32_t secure_scratch105; - uint32_t secure_scratch106; - uint32_t secure_scratch107; - uint32_t secure_scratch108; - uint32_t secure_scratch109; - uint32_t secure_scratch110; - uint32_t secure_scratch111; - uint32_t secure_scratch112; - uint32_t secure_scratch113; - uint32_t secure_scratch114; - uint32_t secure_scratch115; - uint32_t secure_scratch116; - uint32_t secure_scratch117; - uint32_t secure_scratch118; - uint32_t secure_scratch119; + uint32_t cntrl; /* _CNTRL_0, 0x00 */ + uint32_t sec_disable; /* _SEC_DISABLE_0, 0x04 */ + uint32_t pmc_swrst; /* _PMC_SWRST_0, 0x08 */ + uint32_t wake_mask; /* _WAKE_MASK_0, 0x0c */ + uint32_t wake_lvl; /* _WAKE_LVL_0, 0x10 */ + uint32_t wake_status; /* _WAKE_STATUS_0, 0x14 */ + uint32_t sw_wake_status; /* _SW_WAKE_STATUS_0, 0x18 */ + uint32_t dpd_pads_oride; /* _DPD_PADS_ORIDE_0, 0x1c */ + uint32_t dpd_sample; /* _DPD_SAMPLE_0, 0x20 */ + uint32_t dpd_enable; /* _DPD_ENABLE_0, 0x24 */ + uint32_t pwrgate_timer_off; /* _PWRGATE_TIMER_OFF_0, 0x28 */ + uint32_t clamp_status; /* _CLAMP_STATUS_0, 0x2c */ + uint32_t pwrgate_toggle; /* _PWRGATE_TOGGLE_0, 0x30 */ + uint32_t remove_clamping; /* _REMOVE_CLAMPING_0, 0x34 */ + uint32_t pwrgate_status; /* _PWRGATE_STATUS_0, 0x38 */ + uint32_t pwrgood_timer; /* _PWRGOOD_TIMER_0, 0x3c */ + uint32_t blink_timer; /* _BLINK_TIMER_0, 0x40 */ + uint32_t no_iopower; /* _NO_IOPOWER_0, 0x44 */ + uint32_t pwr_det; /* _PWR_DET_0, 0x48 */ + uint32_t pwr_det_latch; /* _PWR_DET_LATCH_0, 0x4c */ + uint32_t scratch0; /* _SCRATCH0_0, 0x50 */ + uint32_t scratch1; /* _SCRATCH1_0, 0x54 */ + uint32_t scratch2; /* _SCRATCH2_0, 0x58 */ + uint32_t scratch3; /* _SCRATCH3_0, 0x5c */ + uint32_t scratch4; /* _SCRATCH4_0, 0x60 */ + uint32_t scratch5; /* _SCRATCH5_0, 0x64 */ + uint32_t scratch6; /* _SCRATCH6_0, 0x68 */ + uint32_t scratch7; /* _SCRATCH7_0, 0x6c */ + uint32_t scratch8; /* _SCRATCH8_0, 0x70 */ + uint32_t scratch9; /* _SCRATCH9_0, 0x74 */ + uint32_t scratch10; /* _SCRATCH10_0, 0x78 */ + uint32_t scratch11; /* _SCRATCH11_0, 0x7c */ + uint32_t scratch12; /* _SCRATCH12_0, 0x80 */ + uint32_t scratch13; /* _SCRATCH13_0, 0x84 */ + uint32_t scratch14; /* _SCRATCH14_0, 0x88 */ + uint32_t scratch15; /* _SCRATCH15_0, 0x8c */ + uint32_t scratch16; /* _SCRATCH16_0, 0x90 */ + uint32_t scratch17; /* _SCRATCH17_0, 0x94 */ + uint32_t scratch18; /* _SCRATCH18_0, 0x98 */ + uint32_t scratch19; /* _SCRATCH19_0, 0x9c */ + uint32_t scratch20; /* _SCRATCH20_0, 0xa0 */ + uint32_t scratch21; /* _SCRATCH21_0, 0xa4 */ + uint32_t scratch22; /* _SCRATCH22_0, 0xa8 */ + uint32_t scratch23; /* _SCRATCH23_0, 0xac */ + uint32_t secure_scratch0; /* _SECURE_SCRATCH0_0, 0xb0 */ + uint32_t secure_scratch1; /* _SECURE_SCRATCH1_0, 0xb4 */ + uint32_t secure_scratch2; /* _SECURE_SCRATCH2_0, 0xb8 */ + uint32_t secure_scratch3; /* _SECURE_SCRATCH3_0, 0xbc */ + uint32_t secure_scratch4; /* _SECURE_SCRATCH4_0, 0xc0 */ + uint32_t secure_scratch5; /* _SECURE_SCRATCH5_0, 0xc4 */ + uint32_t cpupwrgood_timer; /* _CPUPWRGOOD_TIMER_0, 0xc8 */ + uint32_t cpupwroff_timer; /* _CPUPWROFF_TIMER_0, 0xcc */ + uint32_t pg_mask; /* _PG_MASK_0, 0xd0 */ + uint32_t pg_mask_1; /* _PG_MASK_1_0, 0xd4 */ + uint32_t auto_wake_lvl; /* _AUTO_WAKE_LVL_0, 0xd8 */ + uint32_t auto_wake_lvl_mask; /* _AUTO_WAKE_LVL_MASK_0, 0xdc */ + uint32_t wake_delay; /* _WAKE_DELAY_0, 0xe0 */ + uint32_t pwr_det_val; /* _PWR_DET_VAL_0, 0xe4 */ + uint32_t ddr_pwr; /* _DDR_PWR_0, 0xe8 */ + uint32_t usb_debounce_del; /* _USB_DEBOUNCE_DEL_0, 0xec */ + uint32_t usb_ao; /* _USB_AO_0, 0xf0 */ + uint32_t crypto_op; /* _CRYPTO_OP_0, 0xf4 */ + uint32_t pllp_wb0_override; /* _PLLP_WB0_OVERRIDE_0, 0xf8 */ + uint32_t scratch24; /* _SCRATCH24_0, 0xfc */ + uint32_t scratch25; /* _SCRATCH25_0, 0x100 */ + uint32_t scratch26; /* _SCRATCH26_0, 0x104 */ + uint32_t scratch27; /* _SCRATCH27_0, 0x108 */ + uint32_t scratch28; /* _SCRATCH28_0, 0x10c */ + uint32_t scratch29; /* _SCRATCH29_0, 0x110 */ + uint32_t scratch30; /* _SCRATCH30_0, 0x114 */ + uint32_t scratch31; /* _SCRATCH31_0, 0x118 */ + uint32_t scratch32; /* _SCRATCH32_0, 0x11c */ + uint32_t scratch33; /* _SCRATCH33_0, 0x120 */ + uint32_t scratch34; /* _SCRATCH34_0, 0x124 */ + uint32_t scratch35; /* _SCRATCH35_0, 0x128 */ + uint32_t scratch36; /* _SCRATCH36_0, 0x12c */ + uint32_t scratch37; /* _SCRATCH37_0, 0x130 */ + uint32_t scratch38; /* _SCRATCH38_0, 0x134 */ + uint32_t scratch39; /* _SCRATCH39_0, 0x138 */ + uint32_t scratch40; /* _SCRATCH40_0, 0x13c */ + uint32_t scratch41; /* _SCRATCH41_0, 0x140 */ + uint32_t scratch42; /* _SCRATCH42_0, 0x144 */ + uint32_t bondout_mirror0; /* _BONDOUT_MIRROR0_0, 0x148 */ + uint32_t bondout_mirror1; /* _BONDOUT_MIRROR1_0, 0x14c */ + uint32_t bondout_mirror2; /* _BONDOUT_MIRROR2_0, 0x150 */ + uint32_t sys_33v_en; /* _SYS_33V_EN_0, 0x154 */ + uint32_t bondout_mirror_access; /* _BONDOUT_MIRROR_ACCESS_0, 0x158 */ + uint32_t gate; /* _GATE_0, 0x15c */ + uint32_t wake2_mask; /* _WAKE2_MASK_0, 0x160 */ + uint32_t wake2_lvl; /* _WAKE2_LVL_0, 0x164 */ + uint32_t wake2_status; /* _WAKE2_STATUS_0, 0x168 */ + uint32_t sw_wake2_status; /* _SW_WAKE2_STATUS_0, 0x16c */ + uint32_t auto_wake2_lvl_mask; /* _AUTO_WAKE2_LVL_MASK_0, 0x170 */ + uint32_t pg_mask_2; /* _PG_MASK_2_0, 0x174 */ + uint32_t pg_mask_ce1; /* _PG_MASK_CE1_0, 0x178 */ + uint32_t pg_mask_ce2; /* _PG_MASK_CE2_0, 0x17c */ + uint32_t pg_mask_ce3; /* _PG_MASK_CE3_0, 0x180 */ + uint32_t pwrgate_timer_ce_0; /* _PWRGATE_TIMER_CE_0_0, 0x184 */ + uint32_t pwrgate_timer_ce_1; /* _PWRGATE_TIMER_CE_1_0, 0x188 */ + uint32_t pwrgate_timer_ce_2; /* _PWRGATE_TIMER_CE_2_0, 0x18c */ + uint32_t pwrgate_timer_ce_3; /* _PWRGATE_TIMER_CE_3_0, 0x190 */ + uint32_t pwrgate_timer_ce_4; /* _PWRGATE_TIMER_CE_4_0, 0x194 */ + uint32_t pwrgate_timer_ce_5; /* _PWRGATE_TIMER_CE_5_0, 0x198 */ + uint32_t pwrgate_timer_ce_6; /* _PWRGATE_TIMER_CE_6_0, 0x19c */ + uint32_t pcx_edpd_cntrl; /* _PCX_EDPD_CNTRL_0, 0x1a0 */ + uint32_t osc_edpd_over; /* _OSC_EDPD_OVER_0, 0x1a4 */ + uint32_t clk_out_cntrl; /* _CLK_OUT_CNTRL_0, 0x1a8 */ + uint32_t sata_pwrgt; /* _SATA_PWRGT_0, 0x1ac */ + uint32_t sensor_ctrl; /* _SENSOR_CTRL_0, 0x1b0 */ + uint32_t rst_status; /* _RST_STATUS_0, 0x1b4 */ + uint32_t io_dpd_req; /* _IO_DPD_REQ_0, 0x1b8 */ + uint32_t io_dpd_status; /* _IO_DPD_STATUS_0, 0x1bc */ + uint32_t io_dpd2_req; /* _IO_DPD2_REQ_0, 0x1c0 */ + uint32_t io_dpd2_status; /* _IO_DPD2_STATUS_0, 0x1c4 */ + uint32_t sel_dpd_tim; /* _SEL_DPD_TIM_0, 0x1c8 */ + uint32_t vddp_sel; /* _VDDP_SEL_0, 0x1cc */ + uint32_t ddr_cfg; /* _DDR_CFG_0, 0x1d0 */ + uint32_t _0x1d4[2]; + uint32_t pllm_wb0_override_freq; /* _PLLM_WB0_OVERRIDE_FREQ_0, 0x1dc */ + uint32_t _0x1e0; + uint32_t pwrgate_timer_mult; /* _PWRGATE_TIMER_MULT_0, 0x1e4 */ + uint32_t dsi_sel_dpd; /* _DSI_SEL_DPD_0, 0x1e8 */ + uint32_t utmip_uhsic_triggers; /* _UTMIP_UHSIC_TRIGGERS_0, 0x1ec */ + uint32_t utmip_uhsic_saved_state; /* _UTMIP_UHSIC_SAVED_STATE_0, 0x1f0 */ + uint32_t _0x1f4; + uint32_t utmip_term_pad_cfg; /* _UTMIP_TERM_PAD_CFG_0, 0x1f8 */ + uint32_t utmip_uhsic_sleep_cfg; /* _UTMIP_UHSIC_SLEEP_CFG_0, 0x1fc */ + uint32_t utmip_uhsic_sleepwalk_cfg; /* _UTMIP_UHSIC_SLEEPWALK_CFG_0, 0x200 */ + uint32_t utmip_sleepwalk_p0; /* _UTMIP_SLEEPWALK_P0_0, 0x204 */ + uint32_t utmip_sleepwalk_p1; /* _UTMIP_SLEEPWALK_P1_0, 0x208 */ + uint32_t utmip_sleepwalk_p2; /* _UTMIP_SLEEPWALK_P2_0, 0x20c */ + uint32_t uhsic_sleepwalk_p0; /* _UHSIC_SLEEPWALK_P0_0, 0x210 */ + uint32_t utmip_uhsic_status; /* _UTMIP_UHSIC_STATUS_0, 0x214 */ + uint32_t utmip_uhsic_fake; /* _UTMIP_UHSIC_FAKE_0, 0x218 */ + uint32_t bondout_mirror3; /* _BONDOUT_MIRROR3_0, 0x21c */ + uint32_t bondout_mirror4; /* _BONDOUT_MIRROR4_0, 0x220 */ + uint32_t secure_scratch6; /* _SECURE_SCRATCH6_0, 0x224 */ + uint32_t secure_scratch7; /* _SECURE_SCRATCH7_0, 0x228 */ + uint32_t scratch43; /* _SCRATCH43_0, 0x22c */ + uint32_t scratch44; /* _SCRATCH44_0, 0x230 */ + uint32_t scratch45; /* _SCRATCH45_0, 0x234 */ + uint32_t scratch46; /* _SCRATCH46_0, 0x238 */ + uint32_t scratch47; /* _SCRATCH47_0, 0x23c */ + uint32_t scratch48; /* _SCRATCH48_0, 0x240 */ + uint32_t scratch49; /* _SCRATCH49_0, 0x244 */ + uint32_t scratch50; /* _SCRATCH50_0, 0x248 */ + uint32_t scratch51; /* _SCRATCH51_0, 0x24c */ + uint32_t scratch52; /* _SCRATCH52_0, 0x250 */ + uint32_t scratch53; /* _SCRATCH53_0, 0x254 */ + uint32_t scratch54; /* _SCRATCH54_0, 0x258 */ + uint32_t scratch55; /* _SCRATCH55_0, 0x25c */ + uint32_t scratch0_eco; /* _SCRATCH0_ECO_0, 0x260 */ + uint32_t por_dpd_ctrl; /* _POR_DPD_CTRL_0, 0x264 */ + uint32_t scratch2_eco; /* _SCRATCH2_ECO_0, 0x268 */ + uint32_t utmip_uhsic_line_wakeup; /* _UTMIP_UHSIC_LINE_WAKEUP_0, 0x26c */ + uint32_t utmip_bias_master_cntrl; /* _UTMIP_BIAS_MASTER_CNTRL_0, 0x270 */ + uint32_t utmip_master_config; /* _UTMIP_MASTER_CONFIG_0, 0x274 */ + uint32_t td_pwrgate_inter_part_timer; /* _TD_PWRGATE_INTER_PART_TIMER_0, 0x278 */ + uint32_t utmip_uhsic2_triggers; /* _UTMIP_UHSIC2_TRIGGERS_0, 0x27c */ + uint32_t utmip_uhsic2_saved_state; /* _UTMIP_UHSIC2_SAVED_STATE_0, 0x280 */ + uint32_t utmip_uhsic2_sleep_cfg; /* _UTMIP_UHSIC2_SLEEP_CFG_0, 0x284 */ + uint32_t utmip_uhsic2_sleepwalk_cfg; /* _UTMIP_UHSIC2_SLEEPWALK_CFG_0, 0x288 */ + uint32_t uhsic2_sleepwalk_p1; /* _UHSIC2_SLEEPWALK_P1_0, 0x28c */ + uint32_t utmip_uhsic2_status; /* _UTMIP_UHSIC2_STATUS_0, 0x290 */ + uint32_t utmip_uhsic2_fake; /* _UTMIP_UHSIC2_FAKE_0, 0x294 */ + uint32_t utmip_uhsic2_line_wakeup; /* _UTMIP_UHSIC2_LINE_WAKEUP_0, 0x298 */ + uint32_t utmip_master2_config; /* _UTMIP_MASTER2_CONFIG_0, 0x29c */ + uint32_t utmip_uhsic_rpd_cfg; /* _UTMIP_UHSIC_RPD_CFG_0, 0x2a0 */ + uint32_t pg_mask_ce0; /* _PG_MASK_CE0_0, 0x2a4 */ + uint32_t pg_mask_3; /* _PG_MASK_3_0, 0x2a8 */ + uint32_t pg_mask_4; /* _PG_MASK_4_0, 0x2ac */ + uint32_t pllm_wb0_override2; /* _PLLM_WB0_OVERRIDE2_0, 0x2b0 */ + uint32_t tsc_mult; /* _TSC_MULT_0, 0x2b4 */ + uint32_t cpu_vsense_override; /* _CPU_VSENSE_OVERRIDE_0, 0x2b8 */ + uint32_t glb_amap_cfg; /* _GLB_AMAP_CFG_0, 0x2bc */ + uint32_t sticky_bits; /* _STICKY_BITS_0, 0x2c0 */ + uint32_t sec_disable2; /* _SEC_DISABLE2_0, 0x2c4 */ + uint32_t weak_bias; /* _WEAK_BIAS_0, 0x2c8 */ + uint32_t reg_short; /* _REG_SHORT_0, 0x2cc */ + uint32_t pg_mask_andor; /* _PG_MASK_ANDOR_0, 0x2d0 */ + uint32_t gpu_rg_cntrl; /* _GPU_RG_CNTRL_0, 0x2d4 */ + uint32_t sec_disable3; /* _SEC_DISABLE3_0, 0x2d8 */ + uint32_t pg_mask_5; /* _PG_MASK_5_0, 0x2dc */ + uint32_t pg_mask_6; /* _PG_MASK_6_0, 0x2e0 */ + uint32_t _0x2e4[7]; + uint32_t secure_scratch8; /* _SECURE_SCRATCH8_0, 0x300 */ + uint32_t secure_scratch9; /* _SECURE_SCRATCH9_0, 0x304 */ + uint32_t secure_scratch10; /* _SECURE_SCRATCH10_0, 0x308 */ + uint32_t secure_scratch11; /* _SECURE_SCRATCH11_0, 0x30c */ + uint32_t secure_scratch12; /* _SECURE_SCRATCH12_0, 0x310 */ + uint32_t secure_scratch13; /* _SECURE_SCRATCH13_0, 0x314 */ + uint32_t secure_scratch14; /* _SECURE_SCRATCH14_0, 0x318 */ + uint32_t secure_scratch15; /* _SECURE_SCRATCH15_0, 0x31c */ + uint32_t secure_scratch16; /* _SECURE_SCRATCH16_0, 0x320 */ + uint32_t secure_scratch17; /* _SECURE_SCRATCH17_0, 0x324 */ + uint32_t secure_scratch18; /* _SECURE_SCRATCH18_0, 0x328 */ + uint32_t secure_scratch19; /* _SECURE_SCRATCH19_0, 0x32c */ + uint32_t secure_scratch20; /* _SECURE_SCRATCH20_0, 0x330 */ + uint32_t secure_scratch21; /* _SECURE_SCRATCH21_0, 0x334 */ + uint32_t secure_scratch22; /* _SECURE_SCRATCH22_0, 0x338 */ + uint32_t secure_scratch23; /* _SECURE_SCRATCH23_0, 0x33c */ + uint32_t secure_scratch24; /* _SECURE_SCRATCH24_0, 0x340 */ + uint32_t secure_scratch25; /* _SECURE_SCRATCH25_0, 0x344 */ + uint32_t secure_scratch26; /* _SECURE_SCRATCH26_0, 0x348 */ + uint32_t secure_scratch27; /* _SECURE_SCRATCH27_0, 0x34c */ + uint32_t secure_scratch28; /* _SECURE_SCRATCH28_0, 0x350 */ + uint32_t secure_scratch29; /* _SECURE_SCRATCH29_0, 0x354 */ + uint32_t secure_scratch30; /* _SECURE_SCRATCH30_0, 0x358 */ + uint32_t secure_scratch31; /* _SECURE_SCRATCH31_0, 0x35c */ + uint32_t secure_scratch32; /* _SECURE_SCRATCH32_0, 0x360 */ + uint32_t secure_scratch33; /* _SECURE_SCRATCH33_0, 0x364 */ + uint32_t secure_scratch34; /* _SECURE_SCRATCH34_0, 0x368 */ + uint32_t secure_scratch35; /* _SECURE_SCRATCH35_0, 0x36c */ + uint32_t secure_scratch36; /* _SECURE_SCRATCH36_0, 0x370 */ + uint32_t secure_scratch37; /* _SECURE_SCRATCH37_0, 0x374 */ + uint32_t secure_scratch38; /* _SECURE_SCRATCH38_0, 0x378 */ + uint32_t secure_scratch39; /* _SECURE_SCRATCH39_0, 0x37c */ + uint32_t secure_scratch40; /* _SECURE_SCRATCH40_0, 0x380 */ + uint32_t secure_scratch41; /* _SECURE_SCRATCH41_0, 0x384 */ + uint32_t secure_scratch42; /* _SECURE_SCRATCH42_0, 0x388 */ + uint32_t secure_scratch43; /* _SECURE_SCRATCH43_0, 0x38c */ + uint32_t secure_scratch44; /* _SECURE_SCRATCH44_0, 0x390 */ + uint32_t secure_scratch45; /* _SECURE_SCRATCH45_0, 0x394 */ + uint32_t secure_scratch46; /* _SECURE_SCRATCH46_0, 0x398 */ + uint32_t secure_scratch47; /* _SECURE_SCRATCH47_0, 0x39c */ + uint32_t secure_scratch48; /* _SECURE_SCRATCH48_0, 0x3a0 */ + uint32_t secure_scratch49; /* _SECURE_SCRATCH49_0, 0x3a4 */ + uint32_t secure_scratch50; /* _SECURE_SCRATCH50_0, 0x3a8 */ + uint32_t secure_scratch51; /* _SECURE_SCRATCH51_0, 0x3ac */ + uint32_t secure_scratch52; /* _SECURE_SCRATCH52_0, 0x3b0 */ + uint32_t secure_scratch53; /* _SECURE_SCRATCH53_0, 0x3b4 */ + uint32_t secure_scratch54; /* _SECURE_SCRATCH54_0, 0x3b8 */ + uint32_t secure_scratch55; /* _SECURE_SCRATCH55_0, 0x3bc */ + uint32_t secure_scratch56; /* _SECURE_SCRATCH56_0, 0x3c0 */ + uint32_t secure_scratch57; /* _SECURE_SCRATCH57_0, 0x3c4 */ + uint32_t secure_scratch58; /* _SECURE_SCRATCH58_0, 0x3c8 */ + uint32_t secure_scratch59; /* _SECURE_SCRATCH59_0, 0x3cc */ + uint32_t secure_scratch60; /* _SECURE_SCRATCH60_0, 0x3d0 */ + uint32_t secure_scratch61; /* _SECURE_SCRATCH61_0, 0x3d4 */ + uint32_t secure_scratch62; /* _SECURE_SCRATCH62_0, 0x3d8 */ + uint32_t secure_scratch63; /* _SECURE_SCRATCH63_0, 0x3dc */ + uint32_t secure_scratch64; /* _SECURE_SCRATCH64_0, 0x3e0 */ + uint32_t secure_scratch65; /* _SECURE_SCRATCH65_0, 0x3e4 */ + uint32_t secure_scratch66; /* _SECURE_SCRATCH66_0, 0x3e8 */ + uint32_t secure_scratch67; /* _SECURE_SCRATCH67_0, 0x3ec */ + uint32_t secure_scratch68; /* _SECURE_SCRATCH68_0, 0x3f0 */ + uint32_t secure_scratch69; /* _SECURE_SCRATCH69_0, 0x3f4 */ + uint32_t secure_scratch70; /* _SECURE_SCRATCH70_0, 0x3f8 */ + uint32_t secure_scratch71; /* _SECURE_SCRATCH71_0, 0x3fc */ + uint32_t secure_scratch72; /* _SECURE_SCRATCH72_0, 0x400 */ + uint32_t secure_scratch73; /* _SECURE_SCRATCH73_0, 0x404 */ + uint32_t secure_scratch74; /* _SECURE_SCRATCH74_0, 0x408 */ + uint32_t secure_scratch75; /* _SECURE_SCRATCH75_0, 0x40c */ + uint32_t secure_scratch76; /* _SECURE_SCRATCH76_0, 0x410 */ + uint32_t secure_scratch77; /* _SECURE_SCRATCH77_0, 0x414 */ + uint32_t secure_scratch78; /* _SECURE_SCRATCH78_0, 0x418 */ + uint32_t secure_scratch79; /* _SECURE_SCRATCH79_0, 0x41c */ + uint32_t _0x420[8]; + uint32_t cntrl2; /* _CNTRL2_0, 0x440 */ + uint32_t io_dpd_off_mask; /* _IO_DPD_OFF_MASK_0, 0x444 */ + uint32_t io_dpd2_off_mask; /* _IO_DPD2_OFF_MASK_0, 0x448 */ + uint32_t event_counter; /* _EVENT_COUNTER_0, 0x44c */ + uint32_t fuse_control; /* _FUSE_CONTROL_0, 0x450 */ + uint32_t scratch1_eco; /* _SCRATCH1_ECO_0, 0x454 */ + uint32_t _0x458; + uint32_t io_dpd3_req; /* _IO_DPD3_REQ_0, 0x45c */ + uint32_t io_dpd3_status; /* _IO_DPD3_STATUS_0, 0x460 */ + uint32_t io_dpd4_req; /* _IO_DPD4_REQ_0, 0x464 */ + uint32_t io_dpd4_status; /* _IO_DPD4_STATUS_0, 0x468 */ + uint32_t _0x46c[2]; + uint32_t direct_thermtrip_cfg; /* _DIRECT_THERMTRIP_CFG_0, 0x474 */ + uint32_t tsosc_delay; /* _TSOSC_DELAY_0, 0x478 */ + uint32_t set_sw_clamp; /* _SET_SW_CLAMP_0, 0x47c */ + uint32_t debug_authentication; /* _DEBUG_AUTHENTICATION_0, 0x480 */ + uint32_t aotag_cfg; /* _AOTAG_CFG_0, 0x484 */ + uint32_t aotag_thresh1_cfg; /* _AOTAG_THRESH1_CFG_0, 0x488 */ + uint32_t aotag_thresh2_cfg; /* _AOTAG_THRESH2_CFG_0, 0x48c */ + uint32_t aotag_thresh3_cfg; /* _AOTAG_THRESH3_CFG_0, 0x490 */ + uint32_t aotag_status; /* _AOTAG_STATUS_0, 0x494 */ + uint32_t aotag_security; /* _AOTAG_SECURITY_0, 0x498 */ + uint32_t tsensor_config0; /* _TSENSOR_CONFIG0_0, 0x49c */ + uint32_t tsensor_config1; /* _TSENSOR_CONFIG1_0, 0x4a0 */ + uint32_t tsensor_config2; /* _TSENSOR_CONFIG2_0, 0x4a4 */ + uint32_t tsensor_status0; /* _TSENSOR_STATUS0_0, 0x4a8 */ + uint32_t tsensor_status1; /* _TSENSOR_STATUS1_0, 0x4ac */ + uint32_t tsensor_status2; /* _TSENSOR_STATUS2_0, 0x4b0 */ + uint32_t tsensor_pdiv; /* _TSENSOR_PDIV_0, 0x4b4 */ + uint32_t aotag_intr_en; /* _AOTAG_INTR_EN_0, 0x4b8 */ + uint32_t aotag_intr_dis; /* _AOTAG_INTR_DIS_0, 0x4bc */ + uint32_t utmip_pad_cfg0; /* _UTMIP_PAD_CFG0_0, 0x4c0 */ + uint32_t utmip_pad_cfg1; /* _UTMIP_PAD_CFG1_0, 0x4c4 */ + uint32_t utmip_pad_cfg2; /* _UTMIP_PAD_CFG2_0, 0x4c8 */ + uint32_t utmip_pad_cfg3; /* _UTMIP_PAD_CFG3_0, 0x4cc */ + uint32_t utmip_uhsic_sleep_cfg1; /* _UTMIP_UHSIC_SLEEP_CFG1_0, 0x4d0 */ + uint32_t cc4_hvc_control; /* _CC4_HVC_CONTROL_0, 0x4d4 */ + uint32_t wake_debounce_en; /* _WAKE_DEBOUNCE_EN_0, 0x4d8 */ + uint32_t ramdump_ctl_status; /* _RAMDUMP_CTL_STATUS_0, 0x4dc */ + uint32_t utmip_sleepwalk_p3; /* _UTMIP_SLEEPWALK_P3_0, 0x4e0 */ + uint32_t ddr_cntrl; /* _DDR_CNTRL_0, 0x4e4 */ + uint32_t _0x4e8[50]; + uint32_t sec_disable4; /* _SEC_DISABLE4_0, 0x5b0 */ + uint32_t sec_disable5; /* _SEC_DISABLE5_0, 0x5b4 */ + uint32_t sec_disable6; /* _SEC_DISABLE6_0, 0x5b8 */ + uint32_t sec_disable7; /* _SEC_DISABLE7_0, 0x5bc */ + uint32_t sec_disable8; /* _SEC_DISABLE8_0, 0x5c0 */ + uint32_t sec_disable9; /* _SEC_DISABLE9_0, 0x5c4 */ + uint32_t sec_disable10; /* _SEC_DISABLE10_0, 0x5c8 */ + uint32_t _0x5cc[13]; + uint32_t scratch56; /* _SCRATCH56_0, 0x600 */ + uint32_t scratch57; /* _SCRATCH57_0, 0x604 */ + uint32_t scratch58; /* _SCRATCH58_0, 0x608 */ + uint32_t scratch59; /* _SCRATCH59_0, 0x60c */ + uint32_t scratch60; /* _SCRATCH60_0, 0x610 */ + uint32_t scratch61; /* _SCRATCH61_0, 0x614 */ + uint32_t scratch62; /* _SCRATCH62_0, 0x618 */ + uint32_t scratch63; /* _SCRATCH63_0, 0x61c */ + uint32_t scratch64; /* _SCRATCH64_0, 0x620 */ + uint32_t scratch65; /* _SCRATCH65_0, 0x624 */ + uint32_t scratch66; /* _SCRATCH66_0, 0x628 */ + uint32_t scratch67; /* _SCRATCH67_0, 0x62c */ + uint32_t scratch68; /* _SCRATCH68_0, 0x630 */ + uint32_t scratch69; /* _SCRATCH69_0, 0x634 */ + uint32_t scratch70; /* _SCRATCH70_0, 0x638 */ + uint32_t scratch71; /* _SCRATCH71_0, 0x63c */ + uint32_t scratch72; /* _SCRATCH72_0, 0x640 */ + uint32_t scratch73; /* _SCRATCH73_0, 0x644 */ + uint32_t scratch74; /* _SCRATCH74_0, 0x648 */ + uint32_t scratch75; /* _SCRATCH75_0, 0x64c */ + uint32_t scratch76; /* _SCRATCH76_0, 0x650 */ + uint32_t scratch77; /* _SCRATCH77_0, 0x654 */ + uint32_t scratch78; /* _SCRATCH78_0, 0x658 */ + uint32_t scratch79; /* _SCRATCH79_0, 0x65c */ + uint32_t scratch80; /* _SCRATCH80_0, 0x660 */ + uint32_t scratch81; /* _SCRATCH81_0, 0x664 */ + uint32_t scratch82; /* _SCRATCH82_0, 0x668 */ + uint32_t scratch83; /* _SCRATCH83_0, 0x66c */ + uint32_t scratch84; /* _SCRATCH84_0, 0x670 */ + uint32_t scratch85; /* _SCRATCH85_0, 0x674 */ + uint32_t scratch86; /* _SCRATCH86_0, 0x678 */ + uint32_t scratch87; /* _SCRATCH87_0, 0x67c */ + uint32_t scratch88; /* _SCRATCH88_0, 0x680 */ + uint32_t scratch89; /* _SCRATCH89_0, 0x684 */ + uint32_t scratch90; /* _SCRATCH90_0, 0x688 */ + uint32_t scratch91; /* _SCRATCH91_0, 0x68c */ + uint32_t scratch92; /* _SCRATCH92_0, 0x690 */ + uint32_t scratch93; /* _SCRATCH93_0, 0x694 */ + uint32_t scratch94; /* _SCRATCH94_0, 0x698 */ + uint32_t scratch95; /* _SCRATCH95_0, 0x69c */ + uint32_t scratch96; /* _SCRATCH96_0, 0x6a0 */ + uint32_t scratch97; /* _SCRATCH97_0, 0x6a4 */ + uint32_t scratch98; /* _SCRATCH98_0, 0x6a8 */ + uint32_t scratch99; /* _SCRATCH99_0, 0x6ac */ + uint32_t scratch100; /* _SCRATCH100_0, 0x6b0 */ + uint32_t scratch101; /* _SCRATCH101_0, 0x6b4 */ + uint32_t scratch102; /* _SCRATCH102_0, 0x6b8 */ + uint32_t scratch103; /* _SCRATCH103_0, 0x6bc */ + uint32_t scratch104; /* _SCRATCH104_0, 0x6c0 */ + uint32_t scratch105; /* _SCRATCH105_0, 0x6c4 */ + uint32_t scratch106; /* _SCRATCH106_0, 0x6c8 */ + uint32_t scratch107; /* _SCRATCH107_0, 0x6cc */ + uint32_t scratch108; /* _SCRATCH108_0, 0x6d0 */ + uint32_t scratch109; /* _SCRATCH109_0, 0x6d4 */ + uint32_t scratch110; /* _SCRATCH110_0, 0x6d8 */ + uint32_t scratch111; /* _SCRATCH111_0, 0x6dc */ + uint32_t scratch112; /* _SCRATCH112_0, 0x6e0 */ + uint32_t scratch113; /* _SCRATCH113_0, 0x6e4 */ + uint32_t scratch114; /* _SCRATCH114_0, 0x6e8 */ + uint32_t scratch115; /* _SCRATCH115_0, 0x6ec */ + uint32_t scratch116; /* _SCRATCH116_0, 0x6f0 */ + uint32_t scratch117; /* _SCRATCH117_0, 0x6f4 */ + uint32_t scratch118; /* _SCRATCH118_0, 0x6f8 */ + uint32_t scratch119; /* _SCRATCH119_0, 0x6fc */ + uint32_t scratch120; /* _SCRATCH120_0, 0x700 */ + uint32_t scratch121; /* _SCRATCH121_0, 0x704 */ + uint32_t scratch122; /* _SCRATCH122_0, 0x708 */ + uint32_t scratch123; /* _SCRATCH123_0, 0x70c */ + uint32_t scratch124; /* _SCRATCH124_0, 0x710 */ + uint32_t scratch125; /* _SCRATCH125_0, 0x714 */ + uint32_t scratch126; /* _SCRATCH126_0, 0x718 */ + uint32_t scratch127; /* _SCRATCH127_0, 0x71c */ + uint32_t scratch128; /* _SCRATCH128_0, 0x720 */ + uint32_t scratch129; /* _SCRATCH129_0, 0x724 */ + uint32_t scratch130; /* _SCRATCH130_0, 0x728 */ + uint32_t scratch131; /* _SCRATCH131_0, 0x72c */ + uint32_t scratch132; /* _SCRATCH132_0, 0x730 */ + uint32_t scratch133; /* _SCRATCH133_0, 0x734 */ + uint32_t scratch134; /* _SCRATCH134_0, 0x738 */ + uint32_t scratch135; /* _SCRATCH135_0, 0x73c */ + uint32_t scratch136; /* _SCRATCH136_0, 0x740 */ + uint32_t scratch137; /* _SCRATCH137_0, 0x744 */ + uint32_t scratch138; /* _SCRATCH138_0, 0x748 */ + uint32_t scratch139; /* _SCRATCH139_0, 0x74c */ + uint32_t scratch140; /* _SCRATCH140_0, 0x750 */ + uint32_t scratch141; /* _SCRATCH141_0, 0x754 */ + uint32_t scratch142; /* _SCRATCH142_0, 0x758 */ + uint32_t scratch143; /* _SCRATCH143_0, 0x75c */ + uint32_t scratch144; /* _SCRATCH144_0, 0x760 */ + uint32_t scratch145; /* _SCRATCH145_0, 0x764 */ + uint32_t scratch146; /* _SCRATCH146_0, 0x768 */ + uint32_t scratch147; /* _SCRATCH147_0, 0x76c */ + uint32_t scratch148; /* _SCRATCH148_0, 0x770 */ + uint32_t scratch149; /* _SCRATCH149_0, 0x774 */ + uint32_t scratch150; /* _SCRATCH150_0, 0x778 */ + uint32_t scratch151; /* _SCRATCH151_0, 0x77c */ + uint32_t scratch152; /* _SCRATCH152_0, 0x780 */ + uint32_t scratch153; /* _SCRATCH153_0, 0x784 */ + uint32_t scratch154; /* _SCRATCH154_0, 0x788 */ + uint32_t scratch155; /* _SCRATCH155_0, 0x78c */ + uint32_t scratch156; /* _SCRATCH156_0, 0x790 */ + uint32_t scratch157; /* _SCRATCH157_0, 0x794 */ + uint32_t scratch158; /* _SCRATCH158_0, 0x798 */ + uint32_t scratch159; /* _SCRATCH159_0, 0x79c */ + uint32_t scratch160; /* _SCRATCH160_0, 0x7a0 */ + uint32_t scratch161; /* _SCRATCH161_0, 0x7a4 */ + uint32_t scratch162; /* _SCRATCH162_0, 0x7a8 */ + uint32_t scratch163; /* _SCRATCH163_0, 0x7ac */ + uint32_t scratch164; /* _SCRATCH164_0, 0x7b0 */ + uint32_t scratch165; /* _SCRATCH165_0, 0x7b4 */ + uint32_t scratch166; /* _SCRATCH166_0, 0x7b8 */ + uint32_t scratch167; /* _SCRATCH167_0, 0x7bc */ + uint32_t scratch168; /* _SCRATCH168_0, 0x7c0 */ + uint32_t scratch169; /* _SCRATCH169_0, 0x7c4 */ + uint32_t scratch170; /* _SCRATCH170_0, 0x7c8 */ + uint32_t scratch171; /* _SCRATCH171_0, 0x7cc */ + uint32_t scratch172; /* _SCRATCH172_0, 0x7d0 */ + uint32_t scratch173; /* _SCRATCH173_0, 0x7d4 */ + uint32_t scratch174; /* _SCRATCH174_0, 0x7d8 */ + uint32_t scratch175; /* _SCRATCH175_0, 0x7dc */ + uint32_t scratch176; /* _SCRATCH176_0, 0x7e0 */ + uint32_t scratch177; /* _SCRATCH177_0, 0x7e4 */ + uint32_t scratch178; /* _SCRATCH178_0, 0x7e8 */ + uint32_t scratch179; /* _SCRATCH179_0, 0x7ec */ + uint32_t scratch180; /* _SCRATCH180_0, 0x7f0 */ + uint32_t scratch181; /* _SCRATCH181_0, 0x7f4 */ + uint32_t scratch182; /* _SCRATCH182_0, 0x7f8 */ + uint32_t scratch183; /* _SCRATCH183_0, 0x7fc */ + uint32_t scratch184; /* _SCRATCH184_0, 0x800 */ + uint32_t scratch185; /* _SCRATCH185_0, 0x804 */ + uint32_t scratch186; /* _SCRATCH186_0, 0x808 */ + uint32_t scratch187; /* _SCRATCH187_0, 0x80c */ + uint32_t scratch188; /* _SCRATCH188_0, 0x810 */ + uint32_t scratch189; /* _SCRATCH189_0, 0x814 */ + uint32_t scratch190; /* _SCRATCH190_0, 0x818 */ + uint32_t scratch191; /* _SCRATCH191_0, 0x81c */ + uint32_t scratch192; /* _SCRATCH192_0, 0x820 */ + uint32_t scratch193; /* _SCRATCH193_0, 0x824 */ + uint32_t scratch194; /* _SCRATCH194_0, 0x828 */ + uint32_t scratch195; /* _SCRATCH195_0, 0x82c */ + uint32_t scratch196; /* _SCRATCH196_0, 0x830 */ + uint32_t scratch197; /* _SCRATCH197_0, 0x834 */ + uint32_t scratch198; /* _SCRATCH198_0, 0x838 */ + uint32_t scratch199; /* _SCRATCH199_0, 0x83c */ + uint32_t scratch200; /* _SCRATCH200_0, 0x840 */ + uint32_t scratch201; /* _SCRATCH201_0, 0x844 */ + uint32_t scratch202; /* _SCRATCH202_0, 0x848 */ + uint32_t scratch203; /* _SCRATCH203_0, 0x84c */ + uint32_t scratch204; /* _SCRATCH204_0, 0x850 */ + uint32_t scratch205; /* _SCRATCH205_0, 0x854 */ + uint32_t scratch206; /* _SCRATCH206_0, 0x858 */ + uint32_t scratch207; /* _SCRATCH207_0, 0x85c */ + uint32_t scratch208; /* _SCRATCH208_0, 0x860 */ + uint32_t scratch209; /* _SCRATCH209_0, 0x864 */ + uint32_t scratch210; /* _SCRATCH210_0, 0x868 */ + uint32_t scratch211; /* _SCRATCH211_0, 0x86c */ + uint32_t scratch212; /* _SCRATCH212_0, 0x870 */ + uint32_t scratch213; /* _SCRATCH213_0, 0x874 */ + uint32_t scratch214; /* _SCRATCH214_0, 0x878 */ + uint32_t scratch215; /* _SCRATCH215_0, 0x87c */ + uint32_t scratch216; /* _SCRATCH216_0, 0x880 */ + uint32_t scratch217; /* _SCRATCH217_0, 0x884 */ + uint32_t scratch218; /* _SCRATCH218_0, 0x888 */ + uint32_t scratch219; /* _SCRATCH219_0, 0x88c */ + uint32_t scratch220; /* _SCRATCH220_0, 0x890 */ + uint32_t scratch221; /* _SCRATCH221_0, 0x894 */ + uint32_t scratch222; /* _SCRATCH222_0, 0x898 */ + uint32_t scratch223; /* _SCRATCH223_0, 0x89c */ + uint32_t scratch224; /* _SCRATCH224_0, 0x8a0 */ + uint32_t scratch225; /* _SCRATCH225_0, 0x8a4 */ + uint32_t scratch226; /* _SCRATCH226_0, 0x8a8 */ + uint32_t scratch227; /* _SCRATCH227_0, 0x8ac */ + uint32_t scratch228; /* _SCRATCH228_0, 0x8b0 */ + uint32_t scratch229; /* _SCRATCH229_0, 0x8b4 */ + uint32_t scratch230; /* _SCRATCH230_0, 0x8b8 */ + uint32_t scratch231; /* _SCRATCH231_0, 0x8bc */ + uint32_t scratch232; /* _SCRATCH232_0, 0x8c0 */ + uint32_t scratch233; /* _SCRATCH233_0, 0x8c4 */ + uint32_t scratch234; /* _SCRATCH234_0, 0x8c8 */ + uint32_t scratch235; /* _SCRATCH235_0, 0x8cc */ + uint32_t scratch236; /* _SCRATCH236_0, 0x8d0 */ + uint32_t scratch237; /* _SCRATCH237_0, 0x8d4 */ + uint32_t scratch238; /* _SCRATCH238_0, 0x8d8 */ + uint32_t scratch239; /* _SCRATCH239_0, 0x8dc */ + uint32_t scratch240; /* _SCRATCH240_0, 0x8e0 */ + uint32_t scratch241; /* _SCRATCH241_0, 0x8e4 */ + uint32_t scratch242; /* _SCRATCH242_0, 0x8e8 */ + uint32_t scratch243; /* _SCRATCH243_0, 0x8ec */ + uint32_t scratch244; /* _SCRATCH244_0, 0x8f0 */ + uint32_t scratch245; /* _SCRATCH245_0, 0x8f4 */ + uint32_t scratch246; /* _SCRATCH246_0, 0x8f8 */ + uint32_t scratch247; /* _SCRATCH247_0, 0x8fc */ + uint32_t scratch248; /* _SCRATCH248_0, 0x900 */ + uint32_t scratch249; /* _SCRATCH249_0, 0x904 */ + uint32_t scratch250; /* _SCRATCH250_0, 0x908 */ + uint32_t scratch251; /* _SCRATCH251_0, 0x90c */ + uint32_t scratch252; /* _SCRATCH252_0, 0x910 */ + uint32_t scratch253; /* _SCRATCH253_0, 0x914 */ + uint32_t scratch254; /* _SCRATCH254_0, 0x918 */ + uint32_t scratch255; /* _SCRATCH255_0, 0x91c */ + uint32_t scratch256; /* _SCRATCH256_0, 0x920 */ + uint32_t scratch257; /* _SCRATCH257_0, 0x924 */ + uint32_t scratch258; /* _SCRATCH258_0, 0x928 */ + uint32_t scratch259; /* _SCRATCH259_0, 0x92c */ + uint32_t scratch260; /* _SCRATCH260_0, 0x930 */ + uint32_t scratch261; /* _SCRATCH261_0, 0x934 */ + uint32_t scratch262; /* _SCRATCH262_0, 0x938 */ + uint32_t scratch263; /* _SCRATCH263_0, 0x93c */ + uint32_t scratch264; /* _SCRATCH264_0, 0x940 */ + uint32_t scratch265; /* _SCRATCH265_0, 0x944 */ + uint32_t scratch266; /* _SCRATCH266_0, 0x948 */ + uint32_t scratch267; /* _SCRATCH267_0, 0x94c */ + uint32_t scratch268; /* _SCRATCH268_0, 0x950 */ + uint32_t scratch269; /* _SCRATCH269_0, 0x954 */ + uint32_t scratch270; /* _SCRATCH270_0, 0x958 */ + uint32_t scratch271; /* _SCRATCH271_0, 0x95c */ + uint32_t scratch272; /* _SCRATCH272_0, 0x960 */ + uint32_t scratch273; /* _SCRATCH273_0, 0x964 */ + uint32_t scratch274; /* _SCRATCH274_0, 0x968 */ + uint32_t scratch275; /* _SCRATCH275_0, 0x96c */ + uint32_t scratch276; /* _SCRATCH276_0, 0x970 */ + uint32_t scratch277; /* _SCRATCH277_0, 0x974 */ + uint32_t scratch278; /* _SCRATCH278_0, 0x978 */ + uint32_t scratch279; /* _SCRATCH279_0, 0x97c */ + uint32_t scratch280; /* _SCRATCH280_0, 0x980 */ + uint32_t scratch281; /* _SCRATCH281_0, 0x984 */ + uint32_t scratch282; /* _SCRATCH282_0, 0x988 */ + uint32_t scratch283; /* _SCRATCH283_0, 0x98c */ + uint32_t scratch284; /* _SCRATCH284_0, 0x990 */ + uint32_t scratch285; /* _SCRATCH285_0, 0x994 */ + uint32_t scratch286; /* _SCRATCH286_0, 0x998 */ + uint32_t scratch287; /* _SCRATCH287_0, 0x99c */ + uint32_t scratch288; /* _SCRATCH288_0, 0x9a0 */ + uint32_t scratch289; /* _SCRATCH289_0, 0x9a4 */ + uint32_t scratch290; /* _SCRATCH290_0, 0x9a8 */ + uint32_t scratch291; /* _SCRATCH291_0, 0x9ac */ + uint32_t scratch292; /* _SCRATCH292_0, 0x9b0 */ + uint32_t scratch293; /* _SCRATCH293_0, 0x9b4 */ + uint32_t scratch294; /* _SCRATCH294_0, 0x9b8 */ + uint32_t scratch295; /* _SCRATCH295_0, 0x9bc */ + uint32_t scratch296; /* _SCRATCH296_0, 0x9c0 */ + uint32_t scratch297; /* _SCRATCH297_0, 0x9c4 */ + uint32_t scratch298; /* _SCRATCH298_0, 0x9c8 */ + uint32_t scratch299; /* _SCRATCH299_0, 0x9cc */ + uint32_t _0x9d0[50]; + uint32_t secure_scratch80; /* _SECURE_SCRATCH80_0, 0xa98 */ + uint32_t secure_scratch81; /* _SECURE_SCRATCH81_0, 0xa9c */ + uint32_t secure_scratch82; /* _SECURE_SCRATCH82_0, 0xaa0 */ + uint32_t secure_scratch83; /* _SECURE_SCRATCH83_0, 0xaa4 */ + uint32_t secure_scratch84; /* _SECURE_SCRATCH84_0, 0xaa8 */ + uint32_t secure_scratch85; /* _SECURE_SCRATCH85_0, 0xaac */ + uint32_t secure_scratch86; /* _SECURE_SCRATCH86_0, 0xab0 */ + uint32_t secure_scratch87; /* _SECURE_SCRATCH87_0, 0xab4 */ + uint32_t secure_scratch88; /* _SECURE_SCRATCH88_0, 0xab8 */ + uint32_t secure_scratch89; /* _SECURE_SCRATCH89_0, 0xabc */ + uint32_t secure_scratch90; /* _SECURE_SCRATCH90_0, 0xac0 */ + uint32_t secure_scratch91; /* _SECURE_SCRATCH91_0, 0xac4 */ + uint32_t secure_scratch92; /* _SECURE_SCRATCH92_0, 0xac8 */ + uint32_t secure_scratch93; /* _SECURE_SCRATCH93_0, 0xacc */ + uint32_t secure_scratch94; /* _SECURE_SCRATCH94_0, 0xad0 */ + uint32_t secure_scratch95; /* _SECURE_SCRATCH95_0, 0xad4 */ + uint32_t secure_scratch96; /* _SECURE_SCRATCH96_0, 0xad8 */ + uint32_t secure_scratch97; /* _SECURE_SCRATCH97_0, 0xadc */ + uint32_t secure_scratch98; /* _SECURE_SCRATCH98_0, 0xae0 */ + uint32_t secure_scratch99; /* _SECURE_SCRATCH99_0, 0xae4 */ + uint32_t secure_scratch100; /* _SECURE_SCRATCH100_0, 0xae8 */ + uint32_t secure_scratch101; /* _SECURE_SCRATCH101_0, 0xaec */ + uint32_t secure_scratch102; /* _SECURE_SCRATCH102_0, 0xaf0 */ + uint32_t secure_scratch103; /* _SECURE_SCRATCH103_0, 0xaf4 */ + uint32_t secure_scratch104; /* _SECURE_SCRATCH104_0, 0xaf8 */ + uint32_t secure_scratch105; /* _SECURE_SCRATCH105_0, 0xafc */ + uint32_t secure_scratch106; /* _SECURE_SCRATCH106_0, 0xb00 */ + uint32_t secure_scratch107; /* _SECURE_SCRATCH107_0, 0xb04 */ + uint32_t secure_scratch108; /* _SECURE_SCRATCH108_0, 0xb08 */ + uint32_t secure_scratch109; /* _SECURE_SCRATCH109_0, 0xb0c */ + uint32_t secure_scratch110; /* _SECURE_SCRATCH110_0, 0xb10 */ + uint32_t secure_scratch111; /* _SECURE_SCRATCH111_0, 0xb14 */ + uint32_t secure_scratch112; /* _SECURE_SCRATCH112_0, 0xb18 */ + uint32_t secure_scratch113; /* _SECURE_SCRATCH113_0, 0xb1c */ + uint32_t secure_scratch114; /* _SECURE_SCRATCH114_0, 0xb20 */ + uint32_t secure_scratch115; /* _SECURE_SCRATCH115_0, 0xb24 */ + uint32_t secure_scratch116; /* _SECURE_SCRATCH116_0, 0xb28 */ + uint32_t secure_scratch117; /* _SECURE_SCRATCH117_0, 0xb2c */ + uint32_t secure_scratch118; /* _SECURE_SCRATCH118_0, 0xb30 */ + uint32_t secure_scratch119; /* _SECURE_SCRATCH119_0, 0xb34 */ + uint32_t secure_scratch120; /* _SECURE_SCRATCH120_0, 0xb38 */ + uint32_t secure_scratch121; /* _SECURE_SCRATCH121_0, 0xb3c */ + uint32_t secure_scratch122; /* _SECURE_SCRATCH122_0, 0xb40 */ + uint32_t secure_scratch123; /* _SECURE_SCRATCH123_0, 0xb44 */ + uint32_t led_breathing_ctrl; /* _LED_BREATHING_CTRL_0, 0xb48 */ + uint32_t led_breathing_counter0; /* _LED_BREATHING_COUNTER0_0, 0xb4c */ + uint32_t led_breathing_counter1; /* _LED_BREATHING_COUNTER1_0, 0xb50 */ + uint32_t led_breathing_counter2; /* _LED_BREATHING_COUNTER2_0, 0xb54 */ + uint32_t led_breathing_counter3; /* _LED_BREATHING_COUNTER3_0, 0xb58 */ + uint32_t led_breathing_status; /* _LED_BREATHING_STATUS_0, 0xb5c */ + uint32_t _0xb60[2]; + uint32_t secure_scratch124; /* _SECURE_SCRATCH124_0, 0xb68 */ + uint32_t secure_scratch125; /* _SECURE_SCRATCH125_0, 0xb6c */ + uint32_t secure_scratch126; /* _SECURE_SCRATCH126_0, 0xb70 */ + uint32_t secure_scratch127; /* _SECURE_SCRATCH127_0, 0xb74 */ + uint32_t secure_scratch128; /* _SECURE_SCRATCH128_0, 0xb78 */ + uint32_t secure_scratch129; /* _SECURE_SCRATCH129_0, 0xb7c */ + uint32_t secure_scratch130; /* _SECURE_SCRATCH130_0, 0xb80 */ + uint32_t secure_scratch131; /* _SECURE_SCRATCH131_0, 0xb84 */ + uint32_t secure_scratch132; /* _SECURE_SCRATCH132_0, 0xb88 */ + uint32_t secure_scratch133; /* _SECURE_SCRATCH133_0, 0xb8c */ + uint32_t secure_scratch134; /* _SECURE_SCRATCH134_0, 0xb90 */ + uint32_t secure_scratch135; /* _SECURE_SCRATCH135_0, 0xb94 */ + uint32_t secure_scratch136; /* _SECURE_SCRATCH136_0, 0xb98 */ + uint32_t secure_scratch137; /* _SECURE_SCRATCH137_0, 0xb9c */ + uint32_t secure_scratch138; /* _SECURE_SCRATCH138_0, 0xba0 */ + uint32_t secure_scratch139; /* _SECURE_SCRATCH139_0, 0xba4 */ + uint32_t _0xba8[2]; + uint32_t sec_disable_ns; /* _SEC_DISABLE_NS_0, 0xbb0 */ + uint32_t sec_disable2_ns; /* _SEC_DISABLE2_NS_0, 0xbb4 */ + uint32_t sec_disable3_ns; /* _SEC_DISABLE3_NS_0, 0xbb8 */ + uint32_t sec_disable4_ns; /* _SEC_DISABLE4_NS_0, 0xbbc */ + uint32_t sec_disable5_ns; /* _SEC_DISABLE5_NS_0, 0xbc0 */ + uint32_t sec_disable6_ns; /* _SEC_DISABLE6_NS_0, 0xbc4 */ + uint32_t sec_disable7_ns; /* _SEC_DISABLE7_NS_0, 0xbc8 */ + uint32_t sec_disable8_ns; /* _SEC_DISABLE8_NS_0, 0xbcc */ + uint32_t sec_disable9_ns; /* _SEC_DISABLE9_NS_0, 0xbd0 */ + uint32_t sec_disable10_ns; /* _SEC_DISABLE10_NS_0, 0xbd4 */ + uint32_t _0xbd8[4]; + uint32_t tzram_pwr_cntrl; /* _TZRAM_PWR_CNTRL_0, 0xbe8 */ + uint32_t tzram_sec_disable; /* _TZRAM_SEC_DISABLE_0, 0xbec */ + uint32_t tzram_non_sec_disable; /* _TZRAM_NON_SEC_DISABLE_0, 0xbf0 */ } tegra_pmc_t; static inline volatile tegra_pmc_t *pmc_get_regs(void) diff --git a/sept/sept-primary/src/pmc.h b/sept/sept-primary/src/pmc.h index 6fc009ff6..a287d85e7 100644 --- a/sept/sept-primary/src/pmc.h +++ b/sept/sept-primary/src/pmc.h @@ -66,556 +66,643 @@ #define APBDEV_PMC_SCRATCH33_0 MAKE_PMC_REG(0x120) #define APBDEV_PMC_SCRATCH40_0 MAKE_PMC_REG(0x13C) +/* Power Management Controller (APBDEV_PMC_) regs */ typedef struct { - uint32_t cntrl; - uint32_t sec_disable; - uint32_t pmc_swrst; - uint32_t wake_mask; - uint32_t wake_lvl; - uint32_t wake_status; - uint32_t sw_wake_status; - uint32_t dpd_pads_oride; - uint32_t dpd_sample; - uint32_t dpd_enable; - uint32_t pwrgate_timer_off; - uint32_t clamp_status; - uint32_t pwrgate_toggle; - uint32_t remove_clamping; - uint32_t pwrgate_status; - uint32_t pwrgood_timer; - uint32_t blink_timer; - uint32_t no_iopower; - uint32_t pwr_det; - uint32_t pwr_det_latch; - uint32_t scratch0; - uint32_t scratch1; - uint32_t scratch2; - uint32_t scratch3; - uint32_t scratch4; - uint32_t scratch5; - uint32_t scratch6; - uint32_t scratch7; - uint32_t scratch8; - uint32_t scratch9; - uint32_t scratch10; - uint32_t scratch11; - uint32_t scratch12; - uint32_t scratch13; - uint32_t scratch14; - uint32_t scratch15; - uint32_t scratch16; - uint32_t scratch17; - uint32_t scratch18; - uint32_t scratch19; - uint32_t scratch20; - uint32_t scratch21; - uint32_t scratch22; - uint32_t scratch23; - uint32_t secure_scratch0; - uint32_t secure_scratch1; - uint32_t secure_scratch2; - uint32_t secure_scratch3; - uint32_t secure_scratch4; - uint32_t secure_scratch5; - uint32_t cpupwrgood_timer; - uint32_t cpupwroff_timer; - uint32_t pg_mask; - uint32_t pg_mask_1; - uint32_t auto_wake_lvl; - uint32_t auto_wake_lvl_mask; - uint32_t wake_delay; - uint32_t pwr_det_val; - uint32_t ddr_pwr; - uint32_t usb_debounce_del; - uint32_t usb_ao; - uint32_t crypto_op; - uint32_t pllp_wb0_override; - uint32_t scratch24; - uint32_t scratch25; - uint32_t scratch26; - uint32_t scratch27; - uint32_t scratch28; - uint32_t scratch29; - uint32_t scratch30; - uint32_t scratch31; - uint32_t scratch32; - uint32_t scratch33; - uint32_t scratch34; - uint32_t scratch35; - uint32_t scratch36; - uint32_t scratch37; - uint32_t scratch38; - uint32_t scratch39; - uint32_t scratch40; - uint32_t scratch41; - uint32_t scratch42; - uint32_t bo_mirror0; - uint32_t bo_mirror1; - uint32_t bo_mirror2; - uint32_t sys_33v_en; - uint32_t bo_mirror_access; - uint32_t gate; - uint32_t wake2_mask; - uint32_t wake2_lvl; - uint32_t wake2_stat; - uint32_t sw_wake2_stat; - uint32_t auto_wake2_lvl_mask; - uint32_t pg_mask2; - uint32_t pg_mask_ce1; - uint32_t pg_mask_ce2; - uint32_t pg_mask_ce3; - uint32_t pwrgate_timer_ce0; - uint32_t pwrgate_timer_ce1; - uint32_t pwrgate_timer_ce2; - uint32_t pwrgate_timer_ce3; - uint32_t pwrgate_timer_ce4; - uint32_t pwrgate_timer_ce5; - uint32_t pwrgate_timer_ce6; - uint32_t pcx_edpd_cntrl; - uint32_t osc_edpd_over; - uint32_t clk_out_cntrl; - uint32_t sata_pwrgate; - uint32_t sensor_ctrl; - uint32_t reset_status; - uint32_t io_dpd_req; - uint32_t io_dpd_stat; - uint32_t io_dpd2_req; - uint32_t io_dpd2_stat; - uint32_t sel_dpd_tim; - uint32_t vddp_sel; - uint32_t ddr_cfg; - uint32_t e_no_vttgen; - uint32_t _reserved0; - uint32_t pllm_wb0_ovrride_frq; - uint32_t test_pwrgate; - uint32_t pwrgate_timer_mult; - uint32_t dsi_sel_dpd; - uint32_t utmip_uhsic_triggers; - uint32_t utmip_uhsic_saved_st; - uint32_t utmip_pad_cfg; - uint32_t utmip_term_pad_cfg; - uint32_t utmip_uhsic_sleep_cfg; - uint32_t utmip_uhsic_sleepwalk_cfg; - uint32_t utmip_sleepwalk_p[3]; - uint32_t uhsic_sleepwalk_p0; - uint32_t utmip_uhsic_status; - uint32_t utmip_uhsic_fake; - uint32_t bo_mirror3[2]; - uint32_t secure_scratch6; - uint32_t secure_scratch7; - uint32_t scratch43; - uint32_t scratch44; - uint32_t scratch45; - uint32_t scratch46; - uint32_t scratch47; - uint32_t scratch48; - uint32_t scratch49; - uint32_t scratch50; - uint32_t scratch51; - uint32_t scratch52; - uint32_t scratch53; - uint32_t scratch54; - uint32_t scratch55; - uint32_t scratch0_eco; - uint32_t por_dpd_ctrl; - uint32_t scratch2_eco; - uint32_t utmip_uhsic_line_wakeup; - uint32_t utmip_bias_master_cntrl; - uint32_t utmip_master_config; - uint32_t td_pwrgate_inter_part_timer; - uint32_t utmip_uhsic2_triggers; - uint32_t utmip_uhsic2_saved_state; - uint32_t utmip_uhsic2_sleep_cfg; - uint32_t utmip_uhsic2_sleepwalk_cfg; - uint32_t uhsic2_sleepwalk_p1; - uint32_t utmip_uhsic2_status; - uint32_t utmip_uhsic2_fake; - uint32_t utmip_uhsic2_line_wakeup; - uint32_t utmip_master2_config; - uint32_t utmip_uhsic_rpd_cfg; - uint32_t pg_mask_ce0; - uint32_t pg_mask3[2]; - uint32_t pllm_wb0_override2; - uint32_t tsc_mult; - uint32_t cpu_vsense_override; - uint32_t glb_amap_cfg; - uint32_t sticky_bits; - uint32_t sec_disable2; - uint32_t weak_bias; - uint32_t reg_short; - uint32_t pg_mask_andor; - uint32_t _reserved1[11]; - uint32_t secure_scratch8; - uint32_t secure_scratch9; - uint32_t secure_scratch10; - uint32_t secure_scratch11; - uint32_t secure_scratch12; - uint32_t secure_scratch13; - uint32_t secure_scratch14; - uint32_t secure_scratch15; - uint32_t secure_scratch16; - uint32_t secure_scratch17; - uint32_t secure_scratch18; - uint32_t secure_scratch19; - uint32_t secure_scratch20; - uint32_t secure_scratch21; - uint32_t secure_scratch22; - uint32_t secure_scratch23; - uint32_t secure_scratch24; - uint32_t secure_scratch25; - uint32_t secure_scratch26; - uint32_t secure_scratch27; - uint32_t secure_scratch28; - uint32_t secure_scratch29; - uint32_t secure_scratch30; - uint32_t secure_scratch31; - uint32_t secure_scratch32; - uint32_t secure_scratch33; - uint32_t secure_scratch34; - uint32_t secure_scratch35; - uint32_t secure_scratch36; - uint32_t secure_scratch37; - uint32_t secure_scratch38; - uint32_t secure_scratch39; - uint32_t secure_scratch40; - uint32_t secure_scratch41; - uint32_t secure_scratch42; - uint32_t secure_scratch43; - uint32_t secure_scratch44; - uint32_t secure_scratch45; - uint32_t secure_scratch46; - uint32_t secure_scratch47; - uint32_t secure_scratch48; - uint32_t secure_scratch49; - uint32_t secure_scratch50; - uint32_t secure_scratch51; - uint32_t secure_scratch52; - uint32_t secure_scratch53; - uint32_t secure_scratch54; - uint32_t secure_scratch55; - uint32_t secure_scratch56; - uint32_t secure_scratch57; - uint32_t secure_scratch58; - uint32_t secure_scratch59; - uint32_t secure_scratch60; - uint32_t secure_scratch61; - uint32_t secure_scratch62; - uint32_t secure_scratch63; - uint32_t secure_scratch64; - uint32_t secure_scratch65; - uint32_t secure_scratch66; - uint32_t secure_scratch67; - uint32_t secure_scratch68; - uint32_t secure_scratch69; - uint32_t secure_scratch70; - uint32_t secure_scratch71; - uint32_t secure_scratch72; - uint32_t secure_scratch73; - uint32_t secure_scratch74; - uint32_t secure_scratch75; - uint32_t secure_scratch76; - uint32_t secure_scratch77; - uint32_t secure_scratch78; - uint32_t secure_scratch79; - uint32_t _reserved2[8]; - uint32_t cntrl2; - uint32_t _reserved3[2]; - uint32_t event_counter; - uint32_t fuse_control; - uint32_t scratch1_eco; - uint32_t _reserved4; - uint32_t io_dpd3_req; - uint32_t io_dpd3_status; - uint32_t io_dpd4_req; - uint32_t io_dpd4_status; - uint32_t _reserved5[30]; - uint32_t ddr_cntrl; - uint32_t _reserved6[70]; - uint32_t scratch56; - uint32_t scratch57; - uint32_t scratch58; - uint32_t scratch59; - uint32_t scratch60; - uint32_t scratch61; - uint32_t scratch62; - uint32_t scratch63; - uint32_t scratch64; - uint32_t scratch65; - uint32_t scratch66; - uint32_t scratch67; - uint32_t scratch68; - uint32_t scratch69; - uint32_t scratch70; - uint32_t scratch71; - uint32_t scratch72; - uint32_t scratch73; - uint32_t scratch74; - uint32_t scratch75; - uint32_t scratch76; - uint32_t scratch77; - uint32_t scratch78; - uint32_t scratch79; - uint32_t scratch80; - uint32_t scratch81; - uint32_t scratch82; - uint32_t scratch83; - uint32_t scratch84; - uint32_t scratch85; - uint32_t scratch86; - uint32_t scratch87; - uint32_t scratch88; - uint32_t scratch89; - uint32_t scratch90; - uint32_t scratch91; - uint32_t scratch92; - uint32_t scratch93; - uint32_t scratch94; - uint32_t scratch95; - uint32_t scratch96; - uint32_t scratch97; - uint32_t scratch98; - uint32_t scratch99; - uint32_t scratch100; - uint32_t scratch101; - uint32_t scratch102; - uint32_t scratch103; - uint32_t scratch104; - uint32_t scratch105; - uint32_t scratch106; - uint32_t scratch107; - uint32_t scratch108; - uint32_t scratch109; - uint32_t scratch110; - uint32_t scratch111; - uint32_t scratch112; - uint32_t scratch113; - uint32_t scratch114; - uint32_t scratch115; - uint32_t scratch116; - uint32_t scratch117; - uint32_t scratch118; - uint32_t scratch119; - uint32_t scratch120; - uint32_t scratch121; - uint32_t scratch122; - uint32_t scratch123; - uint32_t scratch124; - uint32_t scratch125; - uint32_t scratch126; - uint32_t scratch127; - uint32_t scratch128; - uint32_t scratch129; - uint32_t scratch130; - uint32_t scratch131; - uint32_t scratch132; - uint32_t scratch133; - uint32_t scratch134; - uint32_t scratch135; - uint32_t scratch136; - uint32_t scratch137; - uint32_t scratch138; - uint32_t scratch139; - uint32_t scratch140; - uint32_t scratch141; - uint32_t scratch142; - uint32_t scratch143; - uint32_t scratch144; - uint32_t scratch145; - uint32_t scratch146; - uint32_t scratch147; - uint32_t scratch148; - uint32_t scratch149; - uint32_t scratch150; - uint32_t scratch151; - uint32_t scratch152; - uint32_t scratch153; - uint32_t scratch154; - uint32_t scratch155; - uint32_t scratch156; - uint32_t scratch157; - uint32_t scratch158; - uint32_t scratch159; - uint32_t scratch160; - uint32_t scratch161; - uint32_t scratch162; - uint32_t scratch163; - uint32_t scratch164; - uint32_t scratch165; - uint32_t scratch166; - uint32_t scratch167; - uint32_t scratch168; - uint32_t scratch169; - uint32_t scratch170; - uint32_t scratch171; - uint32_t scratch172; - uint32_t scratch173; - uint32_t scratch174; - uint32_t scratch175; - uint32_t scratch176; - uint32_t scratch177; - uint32_t scratch178; - uint32_t scratch179; - uint32_t scratch180; - uint32_t scratch181; - uint32_t scratch182; - uint32_t scratch183; - uint32_t scratch184; - uint32_t scratch185; - uint32_t scratch186; - uint32_t scratch187; - uint32_t scratch188; - uint32_t scratch189; - uint32_t scratch190; - uint32_t scratch191; - uint32_t scratch192; - uint32_t scratch193; - uint32_t scratch194; - uint32_t scratch195; - uint32_t scratch196; - uint32_t scratch197; - uint32_t scratch198; - uint32_t scratch199; - uint32_t scratch200; - uint32_t scratch201; - uint32_t scratch202; - uint32_t scratch203; - uint32_t scratch204; - uint32_t scratch205; - uint32_t scratch206; - uint32_t scratch207; - uint32_t scratch208; - uint32_t scratch209; - uint32_t scratch210; - uint32_t scratch211; - uint32_t scratch212; - uint32_t scratch213; - uint32_t scratch214; - uint32_t scratch215; - uint32_t scratch216; - uint32_t scratch217; - uint32_t scratch218; - uint32_t scratch219; - uint32_t scratch220; - uint32_t scratch221; - uint32_t scratch222; - uint32_t scratch223; - uint32_t scratch224; - uint32_t scratch225; - uint32_t scratch226; - uint32_t scratch227; - uint32_t scratch228; - uint32_t scratch229; - uint32_t scratch230; - uint32_t scratch231; - uint32_t scratch232; - uint32_t scratch233; - uint32_t scratch234; - uint32_t scratch235; - uint32_t scratch236; - uint32_t scratch237; - uint32_t scratch238; - uint32_t scratch239; - uint32_t scratch240; - uint32_t scratch241; - uint32_t scratch242; - uint32_t scratch243; - uint32_t scratch244; - uint32_t scratch245; - uint32_t scratch246; - uint32_t scratch247; - uint32_t scratch248; - uint32_t scratch249; - uint32_t scratch250; - uint32_t scratch251; - uint32_t scratch252; - uint32_t scratch253; - uint32_t scratch254; - uint32_t scratch255; - uint32_t scratch256; - uint32_t scratch257; - uint32_t scratch258; - uint32_t scratch259; - uint32_t scratch260; - uint32_t scratch261; - uint32_t scratch262; - uint32_t scratch263; - uint32_t scratch264; - uint32_t scratch265; - uint32_t scratch266; - uint32_t scratch267; - uint32_t scratch268; - uint32_t scratch269; - uint32_t scratch270; - uint32_t scratch271; - uint32_t scratch272; - uint32_t scratch273; - uint32_t scratch274; - uint32_t scratch275; - uint32_t scratch276; - uint32_t scratch277; - uint32_t scratch278; - uint32_t scratch279; - uint32_t scratch280; - uint32_t scratch281; - uint32_t scratch282; - uint32_t scratch283; - uint32_t scratch284; - uint32_t scratch285; - uint32_t scratch286; - uint32_t scratch287; - uint32_t scratch288; - uint32_t scratch289; - uint32_t scratch290; - uint32_t scratch291; - uint32_t scratch292; - uint32_t scratch293; - uint32_t scratch294; - uint32_t scratch295; - uint32_t scratch296; - uint32_t scratch297; - uint32_t scratch298; - uint32_t scratch299; - uint32_t _reserved7[50]; - uint32_t secure_scratch80; - uint32_t secure_scratch81; - uint32_t secure_scratch82; - uint32_t secure_scratch83; - uint32_t secure_scratch84; - uint32_t secure_scratch85; - uint32_t secure_scratch86; - uint32_t secure_scratch87; - uint32_t secure_scratch88; - uint32_t secure_scratch89; - uint32_t secure_scratch90; - uint32_t secure_scratch91; - uint32_t secure_scratch92; - uint32_t secure_scratch93; - uint32_t secure_scratch94; - uint32_t secure_scratch95; - uint32_t secure_scratch96; - uint32_t secure_scratch97; - uint32_t secure_scratch98; - uint32_t secure_scratch99; - uint32_t secure_scratch100; - uint32_t secure_scratch101; - uint32_t secure_scratch102; - uint32_t secure_scratch103; - uint32_t secure_scratch104; - uint32_t secure_scratch105; - uint32_t secure_scratch106; - uint32_t secure_scratch107; - uint32_t secure_scratch108; - uint32_t secure_scratch109; - uint32_t secure_scratch110; - uint32_t secure_scratch111; - uint32_t secure_scratch112; - uint32_t secure_scratch113; - uint32_t secure_scratch114; - uint32_t secure_scratch115; - uint32_t secure_scratch116; - uint32_t secure_scratch117; - uint32_t secure_scratch118; - uint32_t secure_scratch119; + uint32_t cntrl; /* _CNTRL_0, 0x00 */ + uint32_t sec_disable; /* _SEC_DISABLE_0, 0x04 */ + uint32_t pmc_swrst; /* _PMC_SWRST_0, 0x08 */ + uint32_t wake_mask; /* _WAKE_MASK_0, 0x0c */ + uint32_t wake_lvl; /* _WAKE_LVL_0, 0x10 */ + uint32_t wake_status; /* _WAKE_STATUS_0, 0x14 */ + uint32_t sw_wake_status; /* _SW_WAKE_STATUS_0, 0x18 */ + uint32_t dpd_pads_oride; /* _DPD_PADS_ORIDE_0, 0x1c */ + uint32_t dpd_sample; /* _DPD_SAMPLE_0, 0x20 */ + uint32_t dpd_enable; /* _DPD_ENABLE_0, 0x24 */ + uint32_t pwrgate_timer_off; /* _PWRGATE_TIMER_OFF_0, 0x28 */ + uint32_t clamp_status; /* _CLAMP_STATUS_0, 0x2c */ + uint32_t pwrgate_toggle; /* _PWRGATE_TOGGLE_0, 0x30 */ + uint32_t remove_clamping; /* _REMOVE_CLAMPING_0, 0x34 */ + uint32_t pwrgate_status; /* _PWRGATE_STATUS_0, 0x38 */ + uint32_t pwrgood_timer; /* _PWRGOOD_TIMER_0, 0x3c */ + uint32_t blink_timer; /* _BLINK_TIMER_0, 0x40 */ + uint32_t no_iopower; /* _NO_IOPOWER_0, 0x44 */ + uint32_t pwr_det; /* _PWR_DET_0, 0x48 */ + uint32_t pwr_det_latch; /* _PWR_DET_LATCH_0, 0x4c */ + uint32_t scratch0; /* _SCRATCH0_0, 0x50 */ + uint32_t scratch1; /* _SCRATCH1_0, 0x54 */ + uint32_t scratch2; /* _SCRATCH2_0, 0x58 */ + uint32_t scratch3; /* _SCRATCH3_0, 0x5c */ + uint32_t scratch4; /* _SCRATCH4_0, 0x60 */ + uint32_t scratch5; /* _SCRATCH5_0, 0x64 */ + uint32_t scratch6; /* _SCRATCH6_0, 0x68 */ + uint32_t scratch7; /* _SCRATCH7_0, 0x6c */ + uint32_t scratch8; /* _SCRATCH8_0, 0x70 */ + uint32_t scratch9; /* _SCRATCH9_0, 0x74 */ + uint32_t scratch10; /* _SCRATCH10_0, 0x78 */ + uint32_t scratch11; /* _SCRATCH11_0, 0x7c */ + uint32_t scratch12; /* _SCRATCH12_0, 0x80 */ + uint32_t scratch13; /* _SCRATCH13_0, 0x84 */ + uint32_t scratch14; /* _SCRATCH14_0, 0x88 */ + uint32_t scratch15; /* _SCRATCH15_0, 0x8c */ + uint32_t scratch16; /* _SCRATCH16_0, 0x90 */ + uint32_t scratch17; /* _SCRATCH17_0, 0x94 */ + uint32_t scratch18; /* _SCRATCH18_0, 0x98 */ + uint32_t scratch19; /* _SCRATCH19_0, 0x9c */ + uint32_t scratch20; /* _SCRATCH20_0, 0xa0 */ + uint32_t scratch21; /* _SCRATCH21_0, 0xa4 */ + uint32_t scratch22; /* _SCRATCH22_0, 0xa8 */ + uint32_t scratch23; /* _SCRATCH23_0, 0xac */ + uint32_t secure_scratch0; /* _SECURE_SCRATCH0_0, 0xb0 */ + uint32_t secure_scratch1; /* _SECURE_SCRATCH1_0, 0xb4 */ + uint32_t secure_scratch2; /* _SECURE_SCRATCH2_0, 0xb8 */ + uint32_t secure_scratch3; /* _SECURE_SCRATCH3_0, 0xbc */ + uint32_t secure_scratch4; /* _SECURE_SCRATCH4_0, 0xc0 */ + uint32_t secure_scratch5; /* _SECURE_SCRATCH5_0, 0xc4 */ + uint32_t cpupwrgood_timer; /* _CPUPWRGOOD_TIMER_0, 0xc8 */ + uint32_t cpupwroff_timer; /* _CPUPWROFF_TIMER_0, 0xcc */ + uint32_t pg_mask; /* _PG_MASK_0, 0xd0 */ + uint32_t pg_mask_1; /* _PG_MASK_1_0, 0xd4 */ + uint32_t auto_wake_lvl; /* _AUTO_WAKE_LVL_0, 0xd8 */ + uint32_t auto_wake_lvl_mask; /* _AUTO_WAKE_LVL_MASK_0, 0xdc */ + uint32_t wake_delay; /* _WAKE_DELAY_0, 0xe0 */ + uint32_t pwr_det_val; /* _PWR_DET_VAL_0, 0xe4 */ + uint32_t ddr_pwr; /* _DDR_PWR_0, 0xe8 */ + uint32_t usb_debounce_del; /* _USB_DEBOUNCE_DEL_0, 0xec */ + uint32_t usb_ao; /* _USB_AO_0, 0xf0 */ + uint32_t crypto_op; /* _CRYPTO_OP_0, 0xf4 */ + uint32_t pllp_wb0_override; /* _PLLP_WB0_OVERRIDE_0, 0xf8 */ + uint32_t scratch24; /* _SCRATCH24_0, 0xfc */ + uint32_t scratch25; /* _SCRATCH25_0, 0x100 */ + uint32_t scratch26; /* _SCRATCH26_0, 0x104 */ + uint32_t scratch27; /* _SCRATCH27_0, 0x108 */ + uint32_t scratch28; /* _SCRATCH28_0, 0x10c */ + uint32_t scratch29; /* _SCRATCH29_0, 0x110 */ + uint32_t scratch30; /* _SCRATCH30_0, 0x114 */ + uint32_t scratch31; /* _SCRATCH31_0, 0x118 */ + uint32_t scratch32; /* _SCRATCH32_0, 0x11c */ + uint32_t scratch33; /* _SCRATCH33_0, 0x120 */ + uint32_t scratch34; /* _SCRATCH34_0, 0x124 */ + uint32_t scratch35; /* _SCRATCH35_0, 0x128 */ + uint32_t scratch36; /* _SCRATCH36_0, 0x12c */ + uint32_t scratch37; /* _SCRATCH37_0, 0x130 */ + uint32_t scratch38; /* _SCRATCH38_0, 0x134 */ + uint32_t scratch39; /* _SCRATCH39_0, 0x138 */ + uint32_t scratch40; /* _SCRATCH40_0, 0x13c */ + uint32_t scratch41; /* _SCRATCH41_0, 0x140 */ + uint32_t scratch42; /* _SCRATCH42_0, 0x144 */ + uint32_t bondout_mirror0; /* _BONDOUT_MIRROR0_0, 0x148 */ + uint32_t bondout_mirror1; /* _BONDOUT_MIRROR1_0, 0x14c */ + uint32_t bondout_mirror2; /* _BONDOUT_MIRROR2_0, 0x150 */ + uint32_t sys_33v_en; /* _SYS_33V_EN_0, 0x154 */ + uint32_t bondout_mirror_access; /* _BONDOUT_MIRROR_ACCESS_0, 0x158 */ + uint32_t gate; /* _GATE_0, 0x15c */ + uint32_t wake2_mask; /* _WAKE2_MASK_0, 0x160 */ + uint32_t wake2_lvl; /* _WAKE2_LVL_0, 0x164 */ + uint32_t wake2_status; /* _WAKE2_STATUS_0, 0x168 */ + uint32_t sw_wake2_status; /* _SW_WAKE2_STATUS_0, 0x16c */ + uint32_t auto_wake2_lvl_mask; /* _AUTO_WAKE2_LVL_MASK_0, 0x170 */ + uint32_t pg_mask_2; /* _PG_MASK_2_0, 0x174 */ + uint32_t pg_mask_ce1; /* _PG_MASK_CE1_0, 0x178 */ + uint32_t pg_mask_ce2; /* _PG_MASK_CE2_0, 0x17c */ + uint32_t pg_mask_ce3; /* _PG_MASK_CE3_0, 0x180 */ + uint32_t pwrgate_timer_ce_0; /* _PWRGATE_TIMER_CE_0_0, 0x184 */ + uint32_t pwrgate_timer_ce_1; /* _PWRGATE_TIMER_CE_1_0, 0x188 */ + uint32_t pwrgate_timer_ce_2; /* _PWRGATE_TIMER_CE_2_0, 0x18c */ + uint32_t pwrgate_timer_ce_3; /* _PWRGATE_TIMER_CE_3_0, 0x190 */ + uint32_t pwrgate_timer_ce_4; /* _PWRGATE_TIMER_CE_4_0, 0x194 */ + uint32_t pwrgate_timer_ce_5; /* _PWRGATE_TIMER_CE_5_0, 0x198 */ + uint32_t pwrgate_timer_ce_6; /* _PWRGATE_TIMER_CE_6_0, 0x19c */ + uint32_t pcx_edpd_cntrl; /* _PCX_EDPD_CNTRL_0, 0x1a0 */ + uint32_t osc_edpd_over; /* _OSC_EDPD_OVER_0, 0x1a4 */ + uint32_t clk_out_cntrl; /* _CLK_OUT_CNTRL_0, 0x1a8 */ + uint32_t sata_pwrgt; /* _SATA_PWRGT_0, 0x1ac */ + uint32_t sensor_ctrl; /* _SENSOR_CTRL_0, 0x1b0 */ + uint32_t rst_status; /* _RST_STATUS_0, 0x1b4 */ + uint32_t io_dpd_req; /* _IO_DPD_REQ_0, 0x1b8 */ + uint32_t io_dpd_status; /* _IO_DPD_STATUS_0, 0x1bc */ + uint32_t io_dpd2_req; /* _IO_DPD2_REQ_0, 0x1c0 */ + uint32_t io_dpd2_status; /* _IO_DPD2_STATUS_0, 0x1c4 */ + uint32_t sel_dpd_tim; /* _SEL_DPD_TIM_0, 0x1c8 */ + uint32_t vddp_sel; /* _VDDP_SEL_0, 0x1cc */ + uint32_t ddr_cfg; /* _DDR_CFG_0, 0x1d0 */ + uint32_t _0x1d4[2]; + uint32_t pllm_wb0_override_freq; /* _PLLM_WB0_OVERRIDE_FREQ_0, 0x1dc */ + uint32_t _0x1e0; + uint32_t pwrgate_timer_mult; /* _PWRGATE_TIMER_MULT_0, 0x1e4 */ + uint32_t dsi_sel_dpd; /* _DSI_SEL_DPD_0, 0x1e8 */ + uint32_t utmip_uhsic_triggers; /* _UTMIP_UHSIC_TRIGGERS_0, 0x1ec */ + uint32_t utmip_uhsic_saved_state; /* _UTMIP_UHSIC_SAVED_STATE_0, 0x1f0 */ + uint32_t _0x1f4; + uint32_t utmip_term_pad_cfg; /* _UTMIP_TERM_PAD_CFG_0, 0x1f8 */ + uint32_t utmip_uhsic_sleep_cfg; /* _UTMIP_UHSIC_SLEEP_CFG_0, 0x1fc */ + uint32_t utmip_uhsic_sleepwalk_cfg; /* _UTMIP_UHSIC_SLEEPWALK_CFG_0, 0x200 */ + uint32_t utmip_sleepwalk_p0; /* _UTMIP_SLEEPWALK_P0_0, 0x204 */ + uint32_t utmip_sleepwalk_p1; /* _UTMIP_SLEEPWALK_P1_0, 0x208 */ + uint32_t utmip_sleepwalk_p2; /* _UTMIP_SLEEPWALK_P2_0, 0x20c */ + uint32_t uhsic_sleepwalk_p0; /* _UHSIC_SLEEPWALK_P0_0, 0x210 */ + uint32_t utmip_uhsic_status; /* _UTMIP_UHSIC_STATUS_0, 0x214 */ + uint32_t utmip_uhsic_fake; /* _UTMIP_UHSIC_FAKE_0, 0x218 */ + uint32_t bondout_mirror3; /* _BONDOUT_MIRROR3_0, 0x21c */ + uint32_t bondout_mirror4; /* _BONDOUT_MIRROR4_0, 0x220 */ + uint32_t secure_scratch6; /* _SECURE_SCRATCH6_0, 0x224 */ + uint32_t secure_scratch7; /* _SECURE_SCRATCH7_0, 0x228 */ + uint32_t scratch43; /* _SCRATCH43_0, 0x22c */ + uint32_t scratch44; /* _SCRATCH44_0, 0x230 */ + uint32_t scratch45; /* _SCRATCH45_0, 0x234 */ + uint32_t scratch46; /* _SCRATCH46_0, 0x238 */ + uint32_t scratch47; /* _SCRATCH47_0, 0x23c */ + uint32_t scratch48; /* _SCRATCH48_0, 0x240 */ + uint32_t scratch49; /* _SCRATCH49_0, 0x244 */ + uint32_t scratch50; /* _SCRATCH50_0, 0x248 */ + uint32_t scratch51; /* _SCRATCH51_0, 0x24c */ + uint32_t scratch52; /* _SCRATCH52_0, 0x250 */ + uint32_t scratch53; /* _SCRATCH53_0, 0x254 */ + uint32_t scratch54; /* _SCRATCH54_0, 0x258 */ + uint32_t scratch55; /* _SCRATCH55_0, 0x25c */ + uint32_t scratch0_eco; /* _SCRATCH0_ECO_0, 0x260 */ + uint32_t por_dpd_ctrl; /* _POR_DPD_CTRL_0, 0x264 */ + uint32_t scratch2_eco; /* _SCRATCH2_ECO_0, 0x268 */ + uint32_t utmip_uhsic_line_wakeup; /* _UTMIP_UHSIC_LINE_WAKEUP_0, 0x26c */ + uint32_t utmip_bias_master_cntrl; /* _UTMIP_BIAS_MASTER_CNTRL_0, 0x270 */ + uint32_t utmip_master_config; /* _UTMIP_MASTER_CONFIG_0, 0x274 */ + uint32_t td_pwrgate_inter_part_timer; /* _TD_PWRGATE_INTER_PART_TIMER_0, 0x278 */ + uint32_t utmip_uhsic2_triggers; /* _UTMIP_UHSIC2_TRIGGERS_0, 0x27c */ + uint32_t utmip_uhsic2_saved_state; /* _UTMIP_UHSIC2_SAVED_STATE_0, 0x280 */ + uint32_t utmip_uhsic2_sleep_cfg; /* _UTMIP_UHSIC2_SLEEP_CFG_0, 0x284 */ + uint32_t utmip_uhsic2_sleepwalk_cfg; /* _UTMIP_UHSIC2_SLEEPWALK_CFG_0, 0x288 */ + uint32_t uhsic2_sleepwalk_p1; /* _UHSIC2_SLEEPWALK_P1_0, 0x28c */ + uint32_t utmip_uhsic2_status; /* _UTMIP_UHSIC2_STATUS_0, 0x290 */ + uint32_t utmip_uhsic2_fake; /* _UTMIP_UHSIC2_FAKE_0, 0x294 */ + uint32_t utmip_uhsic2_line_wakeup; /* _UTMIP_UHSIC2_LINE_WAKEUP_0, 0x298 */ + uint32_t utmip_master2_config; /* _UTMIP_MASTER2_CONFIG_0, 0x29c */ + uint32_t utmip_uhsic_rpd_cfg; /* _UTMIP_UHSIC_RPD_CFG_0, 0x2a0 */ + uint32_t pg_mask_ce0; /* _PG_MASK_CE0_0, 0x2a4 */ + uint32_t pg_mask_3; /* _PG_MASK_3_0, 0x2a8 */ + uint32_t pg_mask_4; /* _PG_MASK_4_0, 0x2ac */ + uint32_t pllm_wb0_override2; /* _PLLM_WB0_OVERRIDE2_0, 0x2b0 */ + uint32_t tsc_mult; /* _TSC_MULT_0, 0x2b4 */ + uint32_t cpu_vsense_override; /* _CPU_VSENSE_OVERRIDE_0, 0x2b8 */ + uint32_t glb_amap_cfg; /* _GLB_AMAP_CFG_0, 0x2bc */ + uint32_t sticky_bits; /* _STICKY_BITS_0, 0x2c0 */ + uint32_t sec_disable2; /* _SEC_DISABLE2_0, 0x2c4 */ + uint32_t weak_bias; /* _WEAK_BIAS_0, 0x2c8 */ + uint32_t reg_short; /* _REG_SHORT_0, 0x2cc */ + uint32_t pg_mask_andor; /* _PG_MASK_ANDOR_0, 0x2d0 */ + uint32_t gpu_rg_cntrl; /* _GPU_RG_CNTRL_0, 0x2d4 */ + uint32_t sec_disable3; /* _SEC_DISABLE3_0, 0x2d8 */ + uint32_t pg_mask_5; /* _PG_MASK_5_0, 0x2dc */ + uint32_t pg_mask_6; /* _PG_MASK_6_0, 0x2e0 */ + uint32_t _0x2e4[7]; + uint32_t secure_scratch8; /* _SECURE_SCRATCH8_0, 0x300 */ + uint32_t secure_scratch9; /* _SECURE_SCRATCH9_0, 0x304 */ + uint32_t secure_scratch10; /* _SECURE_SCRATCH10_0, 0x308 */ + uint32_t secure_scratch11; /* _SECURE_SCRATCH11_0, 0x30c */ + uint32_t secure_scratch12; /* _SECURE_SCRATCH12_0, 0x310 */ + uint32_t secure_scratch13; /* _SECURE_SCRATCH13_0, 0x314 */ + uint32_t secure_scratch14; /* _SECURE_SCRATCH14_0, 0x318 */ + uint32_t secure_scratch15; /* _SECURE_SCRATCH15_0, 0x31c */ + uint32_t secure_scratch16; /* _SECURE_SCRATCH16_0, 0x320 */ + uint32_t secure_scratch17; /* _SECURE_SCRATCH17_0, 0x324 */ + uint32_t secure_scratch18; /* _SECURE_SCRATCH18_0, 0x328 */ + uint32_t secure_scratch19; /* _SECURE_SCRATCH19_0, 0x32c */ + uint32_t secure_scratch20; /* _SECURE_SCRATCH20_0, 0x330 */ + uint32_t secure_scratch21; /* _SECURE_SCRATCH21_0, 0x334 */ + uint32_t secure_scratch22; /* _SECURE_SCRATCH22_0, 0x338 */ + uint32_t secure_scratch23; /* _SECURE_SCRATCH23_0, 0x33c */ + uint32_t secure_scratch24; /* _SECURE_SCRATCH24_0, 0x340 */ + uint32_t secure_scratch25; /* _SECURE_SCRATCH25_0, 0x344 */ + uint32_t secure_scratch26; /* _SECURE_SCRATCH26_0, 0x348 */ + uint32_t secure_scratch27; /* _SECURE_SCRATCH27_0, 0x34c */ + uint32_t secure_scratch28; /* _SECURE_SCRATCH28_0, 0x350 */ + uint32_t secure_scratch29; /* _SECURE_SCRATCH29_0, 0x354 */ + uint32_t secure_scratch30; /* _SECURE_SCRATCH30_0, 0x358 */ + uint32_t secure_scratch31; /* _SECURE_SCRATCH31_0, 0x35c */ + uint32_t secure_scratch32; /* _SECURE_SCRATCH32_0, 0x360 */ + uint32_t secure_scratch33; /* _SECURE_SCRATCH33_0, 0x364 */ + uint32_t secure_scratch34; /* _SECURE_SCRATCH34_0, 0x368 */ + uint32_t secure_scratch35; /* _SECURE_SCRATCH35_0, 0x36c */ + uint32_t secure_scratch36; /* _SECURE_SCRATCH36_0, 0x370 */ + uint32_t secure_scratch37; /* _SECURE_SCRATCH37_0, 0x374 */ + uint32_t secure_scratch38; /* _SECURE_SCRATCH38_0, 0x378 */ + uint32_t secure_scratch39; /* _SECURE_SCRATCH39_0, 0x37c */ + uint32_t secure_scratch40; /* _SECURE_SCRATCH40_0, 0x380 */ + uint32_t secure_scratch41; /* _SECURE_SCRATCH41_0, 0x384 */ + uint32_t secure_scratch42; /* _SECURE_SCRATCH42_0, 0x388 */ + uint32_t secure_scratch43; /* _SECURE_SCRATCH43_0, 0x38c */ + uint32_t secure_scratch44; /* _SECURE_SCRATCH44_0, 0x390 */ + uint32_t secure_scratch45; /* _SECURE_SCRATCH45_0, 0x394 */ + uint32_t secure_scratch46; /* _SECURE_SCRATCH46_0, 0x398 */ + uint32_t secure_scratch47; /* _SECURE_SCRATCH47_0, 0x39c */ + uint32_t secure_scratch48; /* _SECURE_SCRATCH48_0, 0x3a0 */ + uint32_t secure_scratch49; /* _SECURE_SCRATCH49_0, 0x3a4 */ + uint32_t secure_scratch50; /* _SECURE_SCRATCH50_0, 0x3a8 */ + uint32_t secure_scratch51; /* _SECURE_SCRATCH51_0, 0x3ac */ + uint32_t secure_scratch52; /* _SECURE_SCRATCH52_0, 0x3b0 */ + uint32_t secure_scratch53; /* _SECURE_SCRATCH53_0, 0x3b4 */ + uint32_t secure_scratch54; /* _SECURE_SCRATCH54_0, 0x3b8 */ + uint32_t secure_scratch55; /* _SECURE_SCRATCH55_0, 0x3bc */ + uint32_t secure_scratch56; /* _SECURE_SCRATCH56_0, 0x3c0 */ + uint32_t secure_scratch57; /* _SECURE_SCRATCH57_0, 0x3c4 */ + uint32_t secure_scratch58; /* _SECURE_SCRATCH58_0, 0x3c8 */ + uint32_t secure_scratch59; /* _SECURE_SCRATCH59_0, 0x3cc */ + uint32_t secure_scratch60; /* _SECURE_SCRATCH60_0, 0x3d0 */ + uint32_t secure_scratch61; /* _SECURE_SCRATCH61_0, 0x3d4 */ + uint32_t secure_scratch62; /* _SECURE_SCRATCH62_0, 0x3d8 */ + uint32_t secure_scratch63; /* _SECURE_SCRATCH63_0, 0x3dc */ + uint32_t secure_scratch64; /* _SECURE_SCRATCH64_0, 0x3e0 */ + uint32_t secure_scratch65; /* _SECURE_SCRATCH65_0, 0x3e4 */ + uint32_t secure_scratch66; /* _SECURE_SCRATCH66_0, 0x3e8 */ + uint32_t secure_scratch67; /* _SECURE_SCRATCH67_0, 0x3ec */ + uint32_t secure_scratch68; /* _SECURE_SCRATCH68_0, 0x3f0 */ + uint32_t secure_scratch69; /* _SECURE_SCRATCH69_0, 0x3f4 */ + uint32_t secure_scratch70; /* _SECURE_SCRATCH70_0, 0x3f8 */ + uint32_t secure_scratch71; /* _SECURE_SCRATCH71_0, 0x3fc */ + uint32_t secure_scratch72; /* _SECURE_SCRATCH72_0, 0x400 */ + uint32_t secure_scratch73; /* _SECURE_SCRATCH73_0, 0x404 */ + uint32_t secure_scratch74; /* _SECURE_SCRATCH74_0, 0x408 */ + uint32_t secure_scratch75; /* _SECURE_SCRATCH75_0, 0x40c */ + uint32_t secure_scratch76; /* _SECURE_SCRATCH76_0, 0x410 */ + uint32_t secure_scratch77; /* _SECURE_SCRATCH77_0, 0x414 */ + uint32_t secure_scratch78; /* _SECURE_SCRATCH78_0, 0x418 */ + uint32_t secure_scratch79; /* _SECURE_SCRATCH79_0, 0x41c */ + uint32_t _0x420[8]; + uint32_t cntrl2; /* _CNTRL2_0, 0x440 */ + uint32_t io_dpd_off_mask; /* _IO_DPD_OFF_MASK_0, 0x444 */ + uint32_t io_dpd2_off_mask; /* _IO_DPD2_OFF_MASK_0, 0x448 */ + uint32_t event_counter; /* _EVENT_COUNTER_0, 0x44c */ + uint32_t fuse_control; /* _FUSE_CONTROL_0, 0x450 */ + uint32_t scratch1_eco; /* _SCRATCH1_ECO_0, 0x454 */ + uint32_t _0x458; + uint32_t io_dpd3_req; /* _IO_DPD3_REQ_0, 0x45c */ + uint32_t io_dpd3_status; /* _IO_DPD3_STATUS_0, 0x460 */ + uint32_t io_dpd4_req; /* _IO_DPD4_REQ_0, 0x464 */ + uint32_t io_dpd4_status; /* _IO_DPD4_STATUS_0, 0x468 */ + uint32_t _0x46c[2]; + uint32_t direct_thermtrip_cfg; /* _DIRECT_THERMTRIP_CFG_0, 0x474 */ + uint32_t tsosc_delay; /* _TSOSC_DELAY_0, 0x478 */ + uint32_t set_sw_clamp; /* _SET_SW_CLAMP_0, 0x47c */ + uint32_t debug_authentication; /* _DEBUG_AUTHENTICATION_0, 0x480 */ + uint32_t aotag_cfg; /* _AOTAG_CFG_0, 0x484 */ + uint32_t aotag_thresh1_cfg; /* _AOTAG_THRESH1_CFG_0, 0x488 */ + uint32_t aotag_thresh2_cfg; /* _AOTAG_THRESH2_CFG_0, 0x48c */ + uint32_t aotag_thresh3_cfg; /* _AOTAG_THRESH3_CFG_0, 0x490 */ + uint32_t aotag_status; /* _AOTAG_STATUS_0, 0x494 */ + uint32_t aotag_security; /* _AOTAG_SECURITY_0, 0x498 */ + uint32_t tsensor_config0; /* _TSENSOR_CONFIG0_0, 0x49c */ + uint32_t tsensor_config1; /* _TSENSOR_CONFIG1_0, 0x4a0 */ + uint32_t tsensor_config2; /* _TSENSOR_CONFIG2_0, 0x4a4 */ + uint32_t tsensor_status0; /* _TSENSOR_STATUS0_0, 0x4a8 */ + uint32_t tsensor_status1; /* _TSENSOR_STATUS1_0, 0x4ac */ + uint32_t tsensor_status2; /* _TSENSOR_STATUS2_0, 0x4b0 */ + uint32_t tsensor_pdiv; /* _TSENSOR_PDIV_0, 0x4b4 */ + uint32_t aotag_intr_en; /* _AOTAG_INTR_EN_0, 0x4b8 */ + uint32_t aotag_intr_dis; /* _AOTAG_INTR_DIS_0, 0x4bc */ + uint32_t utmip_pad_cfg0; /* _UTMIP_PAD_CFG0_0, 0x4c0 */ + uint32_t utmip_pad_cfg1; /* _UTMIP_PAD_CFG1_0, 0x4c4 */ + uint32_t utmip_pad_cfg2; /* _UTMIP_PAD_CFG2_0, 0x4c8 */ + uint32_t utmip_pad_cfg3; /* _UTMIP_PAD_CFG3_0, 0x4cc */ + uint32_t utmip_uhsic_sleep_cfg1; /* _UTMIP_UHSIC_SLEEP_CFG1_0, 0x4d0 */ + uint32_t cc4_hvc_control; /* _CC4_HVC_CONTROL_0, 0x4d4 */ + uint32_t wake_debounce_en; /* _WAKE_DEBOUNCE_EN_0, 0x4d8 */ + uint32_t ramdump_ctl_status; /* _RAMDUMP_CTL_STATUS_0, 0x4dc */ + uint32_t utmip_sleepwalk_p3; /* _UTMIP_SLEEPWALK_P3_0, 0x4e0 */ + uint32_t ddr_cntrl; /* _DDR_CNTRL_0, 0x4e4 */ + uint32_t _0x4e8[50]; + uint32_t sec_disable4; /* _SEC_DISABLE4_0, 0x5b0 */ + uint32_t sec_disable5; /* _SEC_DISABLE5_0, 0x5b4 */ + uint32_t sec_disable6; /* _SEC_DISABLE6_0, 0x5b8 */ + uint32_t sec_disable7; /* _SEC_DISABLE7_0, 0x5bc */ + uint32_t sec_disable8; /* _SEC_DISABLE8_0, 0x5c0 */ + uint32_t sec_disable9; /* _SEC_DISABLE9_0, 0x5c4 */ + uint32_t sec_disable10; /* _SEC_DISABLE10_0, 0x5c8 */ + uint32_t _0x5cc[13]; + uint32_t scratch56; /* _SCRATCH56_0, 0x600 */ + uint32_t scratch57; /* _SCRATCH57_0, 0x604 */ + uint32_t scratch58; /* _SCRATCH58_0, 0x608 */ + uint32_t scratch59; /* _SCRATCH59_0, 0x60c */ + uint32_t scratch60; /* _SCRATCH60_0, 0x610 */ + uint32_t scratch61; /* _SCRATCH61_0, 0x614 */ + uint32_t scratch62; /* _SCRATCH62_0, 0x618 */ + uint32_t scratch63; /* _SCRATCH63_0, 0x61c */ + uint32_t scratch64; /* _SCRATCH64_0, 0x620 */ + uint32_t scratch65; /* _SCRATCH65_0, 0x624 */ + uint32_t scratch66; /* _SCRATCH66_0, 0x628 */ + uint32_t scratch67; /* _SCRATCH67_0, 0x62c */ + uint32_t scratch68; /* _SCRATCH68_0, 0x630 */ + uint32_t scratch69; /* _SCRATCH69_0, 0x634 */ + uint32_t scratch70; /* _SCRATCH70_0, 0x638 */ + uint32_t scratch71; /* _SCRATCH71_0, 0x63c */ + uint32_t scratch72; /* _SCRATCH72_0, 0x640 */ + uint32_t scratch73; /* _SCRATCH73_0, 0x644 */ + uint32_t scratch74; /* _SCRATCH74_0, 0x648 */ + uint32_t scratch75; /* _SCRATCH75_0, 0x64c */ + uint32_t scratch76; /* _SCRATCH76_0, 0x650 */ + uint32_t scratch77; /* _SCRATCH77_0, 0x654 */ + uint32_t scratch78; /* _SCRATCH78_0, 0x658 */ + uint32_t scratch79; /* _SCRATCH79_0, 0x65c */ + uint32_t scratch80; /* _SCRATCH80_0, 0x660 */ + uint32_t scratch81; /* _SCRATCH81_0, 0x664 */ + uint32_t scratch82; /* _SCRATCH82_0, 0x668 */ + uint32_t scratch83; /* _SCRATCH83_0, 0x66c */ + uint32_t scratch84; /* _SCRATCH84_0, 0x670 */ + uint32_t scratch85; /* _SCRATCH85_0, 0x674 */ + uint32_t scratch86; /* _SCRATCH86_0, 0x678 */ + uint32_t scratch87; /* _SCRATCH87_0, 0x67c */ + uint32_t scratch88; /* _SCRATCH88_0, 0x680 */ + uint32_t scratch89; /* _SCRATCH89_0, 0x684 */ + uint32_t scratch90; /* _SCRATCH90_0, 0x688 */ + uint32_t scratch91; /* _SCRATCH91_0, 0x68c */ + uint32_t scratch92; /* _SCRATCH92_0, 0x690 */ + uint32_t scratch93; /* _SCRATCH93_0, 0x694 */ + uint32_t scratch94; /* _SCRATCH94_0, 0x698 */ + uint32_t scratch95; /* _SCRATCH95_0, 0x69c */ + uint32_t scratch96; /* _SCRATCH96_0, 0x6a0 */ + uint32_t scratch97; /* _SCRATCH97_0, 0x6a4 */ + uint32_t scratch98; /* _SCRATCH98_0, 0x6a8 */ + uint32_t scratch99; /* _SCRATCH99_0, 0x6ac */ + uint32_t scratch100; /* _SCRATCH100_0, 0x6b0 */ + uint32_t scratch101; /* _SCRATCH101_0, 0x6b4 */ + uint32_t scratch102; /* _SCRATCH102_0, 0x6b8 */ + uint32_t scratch103; /* _SCRATCH103_0, 0x6bc */ + uint32_t scratch104; /* _SCRATCH104_0, 0x6c0 */ + uint32_t scratch105; /* _SCRATCH105_0, 0x6c4 */ + uint32_t scratch106; /* _SCRATCH106_0, 0x6c8 */ + uint32_t scratch107; /* _SCRATCH107_0, 0x6cc */ + uint32_t scratch108; /* _SCRATCH108_0, 0x6d0 */ + uint32_t scratch109; /* _SCRATCH109_0, 0x6d4 */ + uint32_t scratch110; /* _SCRATCH110_0, 0x6d8 */ + uint32_t scratch111; /* _SCRATCH111_0, 0x6dc */ + uint32_t scratch112; /* _SCRATCH112_0, 0x6e0 */ + uint32_t scratch113; /* _SCRATCH113_0, 0x6e4 */ + uint32_t scratch114; /* _SCRATCH114_0, 0x6e8 */ + uint32_t scratch115; /* _SCRATCH115_0, 0x6ec */ + uint32_t scratch116; /* _SCRATCH116_0, 0x6f0 */ + uint32_t scratch117; /* _SCRATCH117_0, 0x6f4 */ + uint32_t scratch118; /* _SCRATCH118_0, 0x6f8 */ + uint32_t scratch119; /* _SCRATCH119_0, 0x6fc */ + uint32_t scratch120; /* _SCRATCH120_0, 0x700 */ + uint32_t scratch121; /* _SCRATCH121_0, 0x704 */ + uint32_t scratch122; /* _SCRATCH122_0, 0x708 */ + uint32_t scratch123; /* _SCRATCH123_0, 0x70c */ + uint32_t scratch124; /* _SCRATCH124_0, 0x710 */ + uint32_t scratch125; /* _SCRATCH125_0, 0x714 */ + uint32_t scratch126; /* _SCRATCH126_0, 0x718 */ + uint32_t scratch127; /* _SCRATCH127_0, 0x71c */ + uint32_t scratch128; /* _SCRATCH128_0, 0x720 */ + uint32_t scratch129; /* _SCRATCH129_0, 0x724 */ + uint32_t scratch130; /* _SCRATCH130_0, 0x728 */ + uint32_t scratch131; /* _SCRATCH131_0, 0x72c */ + uint32_t scratch132; /* _SCRATCH132_0, 0x730 */ + uint32_t scratch133; /* _SCRATCH133_0, 0x734 */ + uint32_t scratch134; /* _SCRATCH134_0, 0x738 */ + uint32_t scratch135; /* _SCRATCH135_0, 0x73c */ + uint32_t scratch136; /* _SCRATCH136_0, 0x740 */ + uint32_t scratch137; /* _SCRATCH137_0, 0x744 */ + uint32_t scratch138; /* _SCRATCH138_0, 0x748 */ + uint32_t scratch139; /* _SCRATCH139_0, 0x74c */ + uint32_t scratch140; /* _SCRATCH140_0, 0x750 */ + uint32_t scratch141; /* _SCRATCH141_0, 0x754 */ + uint32_t scratch142; /* _SCRATCH142_0, 0x758 */ + uint32_t scratch143; /* _SCRATCH143_0, 0x75c */ + uint32_t scratch144; /* _SCRATCH144_0, 0x760 */ + uint32_t scratch145; /* _SCRATCH145_0, 0x764 */ + uint32_t scratch146; /* _SCRATCH146_0, 0x768 */ + uint32_t scratch147; /* _SCRATCH147_0, 0x76c */ + uint32_t scratch148; /* _SCRATCH148_0, 0x770 */ + uint32_t scratch149; /* _SCRATCH149_0, 0x774 */ + uint32_t scratch150; /* _SCRATCH150_0, 0x778 */ + uint32_t scratch151; /* _SCRATCH151_0, 0x77c */ + uint32_t scratch152; /* _SCRATCH152_0, 0x780 */ + uint32_t scratch153; /* _SCRATCH153_0, 0x784 */ + uint32_t scratch154; /* _SCRATCH154_0, 0x788 */ + uint32_t scratch155; /* _SCRATCH155_0, 0x78c */ + uint32_t scratch156; /* _SCRATCH156_0, 0x790 */ + uint32_t scratch157; /* _SCRATCH157_0, 0x794 */ + uint32_t scratch158; /* _SCRATCH158_0, 0x798 */ + uint32_t scratch159; /* _SCRATCH159_0, 0x79c */ + uint32_t scratch160; /* _SCRATCH160_0, 0x7a0 */ + uint32_t scratch161; /* _SCRATCH161_0, 0x7a4 */ + uint32_t scratch162; /* _SCRATCH162_0, 0x7a8 */ + uint32_t scratch163; /* _SCRATCH163_0, 0x7ac */ + uint32_t scratch164; /* _SCRATCH164_0, 0x7b0 */ + uint32_t scratch165; /* _SCRATCH165_0, 0x7b4 */ + uint32_t scratch166; /* _SCRATCH166_0, 0x7b8 */ + uint32_t scratch167; /* _SCRATCH167_0, 0x7bc */ + uint32_t scratch168; /* _SCRATCH168_0, 0x7c0 */ + uint32_t scratch169; /* _SCRATCH169_0, 0x7c4 */ + uint32_t scratch170; /* _SCRATCH170_0, 0x7c8 */ + uint32_t scratch171; /* _SCRATCH171_0, 0x7cc */ + uint32_t scratch172; /* _SCRATCH172_0, 0x7d0 */ + uint32_t scratch173; /* _SCRATCH173_0, 0x7d4 */ + uint32_t scratch174; /* _SCRATCH174_0, 0x7d8 */ + uint32_t scratch175; /* _SCRATCH175_0, 0x7dc */ + uint32_t scratch176; /* _SCRATCH176_0, 0x7e0 */ + uint32_t scratch177; /* _SCRATCH177_0, 0x7e4 */ + uint32_t scratch178; /* _SCRATCH178_0, 0x7e8 */ + uint32_t scratch179; /* _SCRATCH179_0, 0x7ec */ + uint32_t scratch180; /* _SCRATCH180_0, 0x7f0 */ + uint32_t scratch181; /* _SCRATCH181_0, 0x7f4 */ + uint32_t scratch182; /* _SCRATCH182_0, 0x7f8 */ + uint32_t scratch183; /* _SCRATCH183_0, 0x7fc */ + uint32_t scratch184; /* _SCRATCH184_0, 0x800 */ + uint32_t scratch185; /* _SCRATCH185_0, 0x804 */ + uint32_t scratch186; /* _SCRATCH186_0, 0x808 */ + uint32_t scratch187; /* _SCRATCH187_0, 0x80c */ + uint32_t scratch188; /* _SCRATCH188_0, 0x810 */ + uint32_t scratch189; /* _SCRATCH189_0, 0x814 */ + uint32_t scratch190; /* _SCRATCH190_0, 0x818 */ + uint32_t scratch191; /* _SCRATCH191_0, 0x81c */ + uint32_t scratch192; /* _SCRATCH192_0, 0x820 */ + uint32_t scratch193; /* _SCRATCH193_0, 0x824 */ + uint32_t scratch194; /* _SCRATCH194_0, 0x828 */ + uint32_t scratch195; /* _SCRATCH195_0, 0x82c */ + uint32_t scratch196; /* _SCRATCH196_0, 0x830 */ + uint32_t scratch197; /* _SCRATCH197_0, 0x834 */ + uint32_t scratch198; /* _SCRATCH198_0, 0x838 */ + uint32_t scratch199; /* _SCRATCH199_0, 0x83c */ + uint32_t scratch200; /* _SCRATCH200_0, 0x840 */ + uint32_t scratch201; /* _SCRATCH201_0, 0x844 */ + uint32_t scratch202; /* _SCRATCH202_0, 0x848 */ + uint32_t scratch203; /* _SCRATCH203_0, 0x84c */ + uint32_t scratch204; /* _SCRATCH204_0, 0x850 */ + uint32_t scratch205; /* _SCRATCH205_0, 0x854 */ + uint32_t scratch206; /* _SCRATCH206_0, 0x858 */ + uint32_t scratch207; /* _SCRATCH207_0, 0x85c */ + uint32_t scratch208; /* _SCRATCH208_0, 0x860 */ + uint32_t scratch209; /* _SCRATCH209_0, 0x864 */ + uint32_t scratch210; /* _SCRATCH210_0, 0x868 */ + uint32_t scratch211; /* _SCRATCH211_0, 0x86c */ + uint32_t scratch212; /* _SCRATCH212_0, 0x870 */ + uint32_t scratch213; /* _SCRATCH213_0, 0x874 */ + uint32_t scratch214; /* _SCRATCH214_0, 0x878 */ + uint32_t scratch215; /* _SCRATCH215_0, 0x87c */ + uint32_t scratch216; /* _SCRATCH216_0, 0x880 */ + uint32_t scratch217; /* _SCRATCH217_0, 0x884 */ + uint32_t scratch218; /* _SCRATCH218_0, 0x888 */ + uint32_t scratch219; /* _SCRATCH219_0, 0x88c */ + uint32_t scratch220; /* _SCRATCH220_0, 0x890 */ + uint32_t scratch221; /* _SCRATCH221_0, 0x894 */ + uint32_t scratch222; /* _SCRATCH222_0, 0x898 */ + uint32_t scratch223; /* _SCRATCH223_0, 0x89c */ + uint32_t scratch224; /* _SCRATCH224_0, 0x8a0 */ + uint32_t scratch225; /* _SCRATCH225_0, 0x8a4 */ + uint32_t scratch226; /* _SCRATCH226_0, 0x8a8 */ + uint32_t scratch227; /* _SCRATCH227_0, 0x8ac */ + uint32_t scratch228; /* _SCRATCH228_0, 0x8b0 */ + uint32_t scratch229; /* _SCRATCH229_0, 0x8b4 */ + uint32_t scratch230; /* _SCRATCH230_0, 0x8b8 */ + uint32_t scratch231; /* _SCRATCH231_0, 0x8bc */ + uint32_t scratch232; /* _SCRATCH232_0, 0x8c0 */ + uint32_t scratch233; /* _SCRATCH233_0, 0x8c4 */ + uint32_t scratch234; /* _SCRATCH234_0, 0x8c8 */ + uint32_t scratch235; /* _SCRATCH235_0, 0x8cc */ + uint32_t scratch236; /* _SCRATCH236_0, 0x8d0 */ + uint32_t scratch237; /* _SCRATCH237_0, 0x8d4 */ + uint32_t scratch238; /* _SCRATCH238_0, 0x8d8 */ + uint32_t scratch239; /* _SCRATCH239_0, 0x8dc */ + uint32_t scratch240; /* _SCRATCH240_0, 0x8e0 */ + uint32_t scratch241; /* _SCRATCH241_0, 0x8e4 */ + uint32_t scratch242; /* _SCRATCH242_0, 0x8e8 */ + uint32_t scratch243; /* _SCRATCH243_0, 0x8ec */ + uint32_t scratch244; /* _SCRATCH244_0, 0x8f0 */ + uint32_t scratch245; /* _SCRATCH245_0, 0x8f4 */ + uint32_t scratch246; /* _SCRATCH246_0, 0x8f8 */ + uint32_t scratch247; /* _SCRATCH247_0, 0x8fc */ + uint32_t scratch248; /* _SCRATCH248_0, 0x900 */ + uint32_t scratch249; /* _SCRATCH249_0, 0x904 */ + uint32_t scratch250; /* _SCRATCH250_0, 0x908 */ + uint32_t scratch251; /* _SCRATCH251_0, 0x90c */ + uint32_t scratch252; /* _SCRATCH252_0, 0x910 */ + uint32_t scratch253; /* _SCRATCH253_0, 0x914 */ + uint32_t scratch254; /* _SCRATCH254_0, 0x918 */ + uint32_t scratch255; /* _SCRATCH255_0, 0x91c */ + uint32_t scratch256; /* _SCRATCH256_0, 0x920 */ + uint32_t scratch257; /* _SCRATCH257_0, 0x924 */ + uint32_t scratch258; /* _SCRATCH258_0, 0x928 */ + uint32_t scratch259; /* _SCRATCH259_0, 0x92c */ + uint32_t scratch260; /* _SCRATCH260_0, 0x930 */ + uint32_t scratch261; /* _SCRATCH261_0, 0x934 */ + uint32_t scratch262; /* _SCRATCH262_0, 0x938 */ + uint32_t scratch263; /* _SCRATCH263_0, 0x93c */ + uint32_t scratch264; /* _SCRATCH264_0, 0x940 */ + uint32_t scratch265; /* _SCRATCH265_0, 0x944 */ + uint32_t scratch266; /* _SCRATCH266_0, 0x948 */ + uint32_t scratch267; /* _SCRATCH267_0, 0x94c */ + uint32_t scratch268; /* _SCRATCH268_0, 0x950 */ + uint32_t scratch269; /* _SCRATCH269_0, 0x954 */ + uint32_t scratch270; /* _SCRATCH270_0, 0x958 */ + uint32_t scratch271; /* _SCRATCH271_0, 0x95c */ + uint32_t scratch272; /* _SCRATCH272_0, 0x960 */ + uint32_t scratch273; /* _SCRATCH273_0, 0x964 */ + uint32_t scratch274; /* _SCRATCH274_0, 0x968 */ + uint32_t scratch275; /* _SCRATCH275_0, 0x96c */ + uint32_t scratch276; /* _SCRATCH276_0, 0x970 */ + uint32_t scratch277; /* _SCRATCH277_0, 0x974 */ + uint32_t scratch278; /* _SCRATCH278_0, 0x978 */ + uint32_t scratch279; /* _SCRATCH279_0, 0x97c */ + uint32_t scratch280; /* _SCRATCH280_0, 0x980 */ + uint32_t scratch281; /* _SCRATCH281_0, 0x984 */ + uint32_t scratch282; /* _SCRATCH282_0, 0x988 */ + uint32_t scratch283; /* _SCRATCH283_0, 0x98c */ + uint32_t scratch284; /* _SCRATCH284_0, 0x990 */ + uint32_t scratch285; /* _SCRATCH285_0, 0x994 */ + uint32_t scratch286; /* _SCRATCH286_0, 0x998 */ + uint32_t scratch287; /* _SCRATCH287_0, 0x99c */ + uint32_t scratch288; /* _SCRATCH288_0, 0x9a0 */ + uint32_t scratch289; /* _SCRATCH289_0, 0x9a4 */ + uint32_t scratch290; /* _SCRATCH290_0, 0x9a8 */ + uint32_t scratch291; /* _SCRATCH291_0, 0x9ac */ + uint32_t scratch292; /* _SCRATCH292_0, 0x9b0 */ + uint32_t scratch293; /* _SCRATCH293_0, 0x9b4 */ + uint32_t scratch294; /* _SCRATCH294_0, 0x9b8 */ + uint32_t scratch295; /* _SCRATCH295_0, 0x9bc */ + uint32_t scratch296; /* _SCRATCH296_0, 0x9c0 */ + uint32_t scratch297; /* _SCRATCH297_0, 0x9c4 */ + uint32_t scratch298; /* _SCRATCH298_0, 0x9c8 */ + uint32_t scratch299; /* _SCRATCH299_0, 0x9cc */ + uint32_t _0x9d0[50]; + uint32_t secure_scratch80; /* _SECURE_SCRATCH80_0, 0xa98 */ + uint32_t secure_scratch81; /* _SECURE_SCRATCH81_0, 0xa9c */ + uint32_t secure_scratch82; /* _SECURE_SCRATCH82_0, 0xaa0 */ + uint32_t secure_scratch83; /* _SECURE_SCRATCH83_0, 0xaa4 */ + uint32_t secure_scratch84; /* _SECURE_SCRATCH84_0, 0xaa8 */ + uint32_t secure_scratch85; /* _SECURE_SCRATCH85_0, 0xaac */ + uint32_t secure_scratch86; /* _SECURE_SCRATCH86_0, 0xab0 */ + uint32_t secure_scratch87; /* _SECURE_SCRATCH87_0, 0xab4 */ + uint32_t secure_scratch88; /* _SECURE_SCRATCH88_0, 0xab8 */ + uint32_t secure_scratch89; /* _SECURE_SCRATCH89_0, 0xabc */ + uint32_t secure_scratch90; /* _SECURE_SCRATCH90_0, 0xac0 */ + uint32_t secure_scratch91; /* _SECURE_SCRATCH91_0, 0xac4 */ + uint32_t secure_scratch92; /* _SECURE_SCRATCH92_0, 0xac8 */ + uint32_t secure_scratch93; /* _SECURE_SCRATCH93_0, 0xacc */ + uint32_t secure_scratch94; /* _SECURE_SCRATCH94_0, 0xad0 */ + uint32_t secure_scratch95; /* _SECURE_SCRATCH95_0, 0xad4 */ + uint32_t secure_scratch96; /* _SECURE_SCRATCH96_0, 0xad8 */ + uint32_t secure_scratch97; /* _SECURE_SCRATCH97_0, 0xadc */ + uint32_t secure_scratch98; /* _SECURE_SCRATCH98_0, 0xae0 */ + uint32_t secure_scratch99; /* _SECURE_SCRATCH99_0, 0xae4 */ + uint32_t secure_scratch100; /* _SECURE_SCRATCH100_0, 0xae8 */ + uint32_t secure_scratch101; /* _SECURE_SCRATCH101_0, 0xaec */ + uint32_t secure_scratch102; /* _SECURE_SCRATCH102_0, 0xaf0 */ + uint32_t secure_scratch103; /* _SECURE_SCRATCH103_0, 0xaf4 */ + uint32_t secure_scratch104; /* _SECURE_SCRATCH104_0, 0xaf8 */ + uint32_t secure_scratch105; /* _SECURE_SCRATCH105_0, 0xafc */ + uint32_t secure_scratch106; /* _SECURE_SCRATCH106_0, 0xb00 */ + uint32_t secure_scratch107; /* _SECURE_SCRATCH107_0, 0xb04 */ + uint32_t secure_scratch108; /* _SECURE_SCRATCH108_0, 0xb08 */ + uint32_t secure_scratch109; /* _SECURE_SCRATCH109_0, 0xb0c */ + uint32_t secure_scratch110; /* _SECURE_SCRATCH110_0, 0xb10 */ + uint32_t secure_scratch111; /* _SECURE_SCRATCH111_0, 0xb14 */ + uint32_t secure_scratch112; /* _SECURE_SCRATCH112_0, 0xb18 */ + uint32_t secure_scratch113; /* _SECURE_SCRATCH113_0, 0xb1c */ + uint32_t secure_scratch114; /* _SECURE_SCRATCH114_0, 0xb20 */ + uint32_t secure_scratch115; /* _SECURE_SCRATCH115_0, 0xb24 */ + uint32_t secure_scratch116; /* _SECURE_SCRATCH116_0, 0xb28 */ + uint32_t secure_scratch117; /* _SECURE_SCRATCH117_0, 0xb2c */ + uint32_t secure_scratch118; /* _SECURE_SCRATCH118_0, 0xb30 */ + uint32_t secure_scratch119; /* _SECURE_SCRATCH119_0, 0xb34 */ + uint32_t secure_scratch120; /* _SECURE_SCRATCH120_0, 0xb38 */ + uint32_t secure_scratch121; /* _SECURE_SCRATCH121_0, 0xb3c */ + uint32_t secure_scratch122; /* _SECURE_SCRATCH122_0, 0xb40 */ + uint32_t secure_scratch123; /* _SECURE_SCRATCH123_0, 0xb44 */ + uint32_t led_breathing_ctrl; /* _LED_BREATHING_CTRL_0, 0xb48 */ + uint32_t led_breathing_counter0; /* _LED_BREATHING_COUNTER0_0, 0xb4c */ + uint32_t led_breathing_counter1; /* _LED_BREATHING_COUNTER1_0, 0xb50 */ + uint32_t led_breathing_counter2; /* _LED_BREATHING_COUNTER2_0, 0xb54 */ + uint32_t led_breathing_counter3; /* _LED_BREATHING_COUNTER3_0, 0xb58 */ + uint32_t led_breathing_status; /* _LED_BREATHING_STATUS_0, 0xb5c */ + uint32_t _0xb60[2]; + uint32_t secure_scratch124; /* _SECURE_SCRATCH124_0, 0xb68 */ + uint32_t secure_scratch125; /* _SECURE_SCRATCH125_0, 0xb6c */ + uint32_t secure_scratch126; /* _SECURE_SCRATCH126_0, 0xb70 */ + uint32_t secure_scratch127; /* _SECURE_SCRATCH127_0, 0xb74 */ + uint32_t secure_scratch128; /* _SECURE_SCRATCH128_0, 0xb78 */ + uint32_t secure_scratch129; /* _SECURE_SCRATCH129_0, 0xb7c */ + uint32_t secure_scratch130; /* _SECURE_SCRATCH130_0, 0xb80 */ + uint32_t secure_scratch131; /* _SECURE_SCRATCH131_0, 0xb84 */ + uint32_t secure_scratch132; /* _SECURE_SCRATCH132_0, 0xb88 */ + uint32_t secure_scratch133; /* _SECURE_SCRATCH133_0, 0xb8c */ + uint32_t secure_scratch134; /* _SECURE_SCRATCH134_0, 0xb90 */ + uint32_t secure_scratch135; /* _SECURE_SCRATCH135_0, 0xb94 */ + uint32_t secure_scratch136; /* _SECURE_SCRATCH136_0, 0xb98 */ + uint32_t secure_scratch137; /* _SECURE_SCRATCH137_0, 0xb9c */ + uint32_t secure_scratch138; /* _SECURE_SCRATCH138_0, 0xba0 */ + uint32_t secure_scratch139; /* _SECURE_SCRATCH139_0, 0xba4 */ + uint32_t _0xba8[2]; + uint32_t sec_disable_ns; /* _SEC_DISABLE_NS_0, 0xbb0 */ + uint32_t sec_disable2_ns; /* _SEC_DISABLE2_NS_0, 0xbb4 */ + uint32_t sec_disable3_ns; /* _SEC_DISABLE3_NS_0, 0xbb8 */ + uint32_t sec_disable4_ns; /* _SEC_DISABLE4_NS_0, 0xbbc */ + uint32_t sec_disable5_ns; /* _SEC_DISABLE5_NS_0, 0xbc0 */ + uint32_t sec_disable6_ns; /* _SEC_DISABLE6_NS_0, 0xbc4 */ + uint32_t sec_disable7_ns; /* _SEC_DISABLE7_NS_0, 0xbc8 */ + uint32_t sec_disable8_ns; /* _SEC_DISABLE8_NS_0, 0xbcc */ + uint32_t sec_disable9_ns; /* _SEC_DISABLE9_NS_0, 0xbd0 */ + uint32_t sec_disable10_ns; /* _SEC_DISABLE10_NS_0, 0xbd4 */ + uint32_t _0xbd8[4]; + uint32_t tzram_pwr_cntrl; /* _TZRAM_PWR_CNTRL_0, 0xbe8 */ + uint32_t tzram_sec_disable; /* _TZRAM_SEC_DISABLE_0, 0xbec */ + uint32_t tzram_non_sec_disable; /* _TZRAM_NON_SEC_DISABLE_0, 0xbf0 */ } tegra_pmc_t; static inline volatile tegra_pmc_t *pmc_get_regs(void) diff --git a/sept/sept-secondary/key_derivation/src/pmc.h b/sept/sept-secondary/key_derivation/src/pmc.h index 6fc009ff6..a287d85e7 100644 --- a/sept/sept-secondary/key_derivation/src/pmc.h +++ b/sept/sept-secondary/key_derivation/src/pmc.h @@ -66,556 +66,643 @@ #define APBDEV_PMC_SCRATCH33_0 MAKE_PMC_REG(0x120) #define APBDEV_PMC_SCRATCH40_0 MAKE_PMC_REG(0x13C) +/* Power Management Controller (APBDEV_PMC_) regs */ typedef struct { - uint32_t cntrl; - uint32_t sec_disable; - uint32_t pmc_swrst; - uint32_t wake_mask; - uint32_t wake_lvl; - uint32_t wake_status; - uint32_t sw_wake_status; - uint32_t dpd_pads_oride; - uint32_t dpd_sample; - uint32_t dpd_enable; - uint32_t pwrgate_timer_off; - uint32_t clamp_status; - uint32_t pwrgate_toggle; - uint32_t remove_clamping; - uint32_t pwrgate_status; - uint32_t pwrgood_timer; - uint32_t blink_timer; - uint32_t no_iopower; - uint32_t pwr_det; - uint32_t pwr_det_latch; - uint32_t scratch0; - uint32_t scratch1; - uint32_t scratch2; - uint32_t scratch3; - uint32_t scratch4; - uint32_t scratch5; - uint32_t scratch6; - uint32_t scratch7; - uint32_t scratch8; - uint32_t scratch9; - uint32_t scratch10; - uint32_t scratch11; - uint32_t scratch12; - uint32_t scratch13; - uint32_t scratch14; - uint32_t scratch15; - uint32_t scratch16; - uint32_t scratch17; - uint32_t scratch18; - uint32_t scratch19; - uint32_t scratch20; - uint32_t scratch21; - uint32_t scratch22; - uint32_t scratch23; - uint32_t secure_scratch0; - uint32_t secure_scratch1; - uint32_t secure_scratch2; - uint32_t secure_scratch3; - uint32_t secure_scratch4; - uint32_t secure_scratch5; - uint32_t cpupwrgood_timer; - uint32_t cpupwroff_timer; - uint32_t pg_mask; - uint32_t pg_mask_1; - uint32_t auto_wake_lvl; - uint32_t auto_wake_lvl_mask; - uint32_t wake_delay; - uint32_t pwr_det_val; - uint32_t ddr_pwr; - uint32_t usb_debounce_del; - uint32_t usb_ao; - uint32_t crypto_op; - uint32_t pllp_wb0_override; - uint32_t scratch24; - uint32_t scratch25; - uint32_t scratch26; - uint32_t scratch27; - uint32_t scratch28; - uint32_t scratch29; - uint32_t scratch30; - uint32_t scratch31; - uint32_t scratch32; - uint32_t scratch33; - uint32_t scratch34; - uint32_t scratch35; - uint32_t scratch36; - uint32_t scratch37; - uint32_t scratch38; - uint32_t scratch39; - uint32_t scratch40; - uint32_t scratch41; - uint32_t scratch42; - uint32_t bo_mirror0; - uint32_t bo_mirror1; - uint32_t bo_mirror2; - uint32_t sys_33v_en; - uint32_t bo_mirror_access; - uint32_t gate; - uint32_t wake2_mask; - uint32_t wake2_lvl; - uint32_t wake2_stat; - uint32_t sw_wake2_stat; - uint32_t auto_wake2_lvl_mask; - uint32_t pg_mask2; - uint32_t pg_mask_ce1; - uint32_t pg_mask_ce2; - uint32_t pg_mask_ce3; - uint32_t pwrgate_timer_ce0; - uint32_t pwrgate_timer_ce1; - uint32_t pwrgate_timer_ce2; - uint32_t pwrgate_timer_ce3; - uint32_t pwrgate_timer_ce4; - uint32_t pwrgate_timer_ce5; - uint32_t pwrgate_timer_ce6; - uint32_t pcx_edpd_cntrl; - uint32_t osc_edpd_over; - uint32_t clk_out_cntrl; - uint32_t sata_pwrgate; - uint32_t sensor_ctrl; - uint32_t reset_status; - uint32_t io_dpd_req; - uint32_t io_dpd_stat; - uint32_t io_dpd2_req; - uint32_t io_dpd2_stat; - uint32_t sel_dpd_tim; - uint32_t vddp_sel; - uint32_t ddr_cfg; - uint32_t e_no_vttgen; - uint32_t _reserved0; - uint32_t pllm_wb0_ovrride_frq; - uint32_t test_pwrgate; - uint32_t pwrgate_timer_mult; - uint32_t dsi_sel_dpd; - uint32_t utmip_uhsic_triggers; - uint32_t utmip_uhsic_saved_st; - uint32_t utmip_pad_cfg; - uint32_t utmip_term_pad_cfg; - uint32_t utmip_uhsic_sleep_cfg; - uint32_t utmip_uhsic_sleepwalk_cfg; - uint32_t utmip_sleepwalk_p[3]; - uint32_t uhsic_sleepwalk_p0; - uint32_t utmip_uhsic_status; - uint32_t utmip_uhsic_fake; - uint32_t bo_mirror3[2]; - uint32_t secure_scratch6; - uint32_t secure_scratch7; - uint32_t scratch43; - uint32_t scratch44; - uint32_t scratch45; - uint32_t scratch46; - uint32_t scratch47; - uint32_t scratch48; - uint32_t scratch49; - uint32_t scratch50; - uint32_t scratch51; - uint32_t scratch52; - uint32_t scratch53; - uint32_t scratch54; - uint32_t scratch55; - uint32_t scratch0_eco; - uint32_t por_dpd_ctrl; - uint32_t scratch2_eco; - uint32_t utmip_uhsic_line_wakeup; - uint32_t utmip_bias_master_cntrl; - uint32_t utmip_master_config; - uint32_t td_pwrgate_inter_part_timer; - uint32_t utmip_uhsic2_triggers; - uint32_t utmip_uhsic2_saved_state; - uint32_t utmip_uhsic2_sleep_cfg; - uint32_t utmip_uhsic2_sleepwalk_cfg; - uint32_t uhsic2_sleepwalk_p1; - uint32_t utmip_uhsic2_status; - uint32_t utmip_uhsic2_fake; - uint32_t utmip_uhsic2_line_wakeup; - uint32_t utmip_master2_config; - uint32_t utmip_uhsic_rpd_cfg; - uint32_t pg_mask_ce0; - uint32_t pg_mask3[2]; - uint32_t pllm_wb0_override2; - uint32_t tsc_mult; - uint32_t cpu_vsense_override; - uint32_t glb_amap_cfg; - uint32_t sticky_bits; - uint32_t sec_disable2; - uint32_t weak_bias; - uint32_t reg_short; - uint32_t pg_mask_andor; - uint32_t _reserved1[11]; - uint32_t secure_scratch8; - uint32_t secure_scratch9; - uint32_t secure_scratch10; - uint32_t secure_scratch11; - uint32_t secure_scratch12; - uint32_t secure_scratch13; - uint32_t secure_scratch14; - uint32_t secure_scratch15; - uint32_t secure_scratch16; - uint32_t secure_scratch17; - uint32_t secure_scratch18; - uint32_t secure_scratch19; - uint32_t secure_scratch20; - uint32_t secure_scratch21; - uint32_t secure_scratch22; - uint32_t secure_scratch23; - uint32_t secure_scratch24; - uint32_t secure_scratch25; - uint32_t secure_scratch26; - uint32_t secure_scratch27; - uint32_t secure_scratch28; - uint32_t secure_scratch29; - uint32_t secure_scratch30; - uint32_t secure_scratch31; - uint32_t secure_scratch32; - uint32_t secure_scratch33; - uint32_t secure_scratch34; - uint32_t secure_scratch35; - uint32_t secure_scratch36; - uint32_t secure_scratch37; - uint32_t secure_scratch38; - uint32_t secure_scratch39; - uint32_t secure_scratch40; - uint32_t secure_scratch41; - uint32_t secure_scratch42; - uint32_t secure_scratch43; - uint32_t secure_scratch44; - uint32_t secure_scratch45; - uint32_t secure_scratch46; - uint32_t secure_scratch47; - uint32_t secure_scratch48; - uint32_t secure_scratch49; - uint32_t secure_scratch50; - uint32_t secure_scratch51; - uint32_t secure_scratch52; - uint32_t secure_scratch53; - uint32_t secure_scratch54; - uint32_t secure_scratch55; - uint32_t secure_scratch56; - uint32_t secure_scratch57; - uint32_t secure_scratch58; - uint32_t secure_scratch59; - uint32_t secure_scratch60; - uint32_t secure_scratch61; - uint32_t secure_scratch62; - uint32_t secure_scratch63; - uint32_t secure_scratch64; - uint32_t secure_scratch65; - uint32_t secure_scratch66; - uint32_t secure_scratch67; - uint32_t secure_scratch68; - uint32_t secure_scratch69; - uint32_t secure_scratch70; - uint32_t secure_scratch71; - uint32_t secure_scratch72; - uint32_t secure_scratch73; - uint32_t secure_scratch74; - uint32_t secure_scratch75; - uint32_t secure_scratch76; - uint32_t secure_scratch77; - uint32_t secure_scratch78; - uint32_t secure_scratch79; - uint32_t _reserved2[8]; - uint32_t cntrl2; - uint32_t _reserved3[2]; - uint32_t event_counter; - uint32_t fuse_control; - uint32_t scratch1_eco; - uint32_t _reserved4; - uint32_t io_dpd3_req; - uint32_t io_dpd3_status; - uint32_t io_dpd4_req; - uint32_t io_dpd4_status; - uint32_t _reserved5[30]; - uint32_t ddr_cntrl; - uint32_t _reserved6[70]; - uint32_t scratch56; - uint32_t scratch57; - uint32_t scratch58; - uint32_t scratch59; - uint32_t scratch60; - uint32_t scratch61; - uint32_t scratch62; - uint32_t scratch63; - uint32_t scratch64; - uint32_t scratch65; - uint32_t scratch66; - uint32_t scratch67; - uint32_t scratch68; - uint32_t scratch69; - uint32_t scratch70; - uint32_t scratch71; - uint32_t scratch72; - uint32_t scratch73; - uint32_t scratch74; - uint32_t scratch75; - uint32_t scratch76; - uint32_t scratch77; - uint32_t scratch78; - uint32_t scratch79; - uint32_t scratch80; - uint32_t scratch81; - uint32_t scratch82; - uint32_t scratch83; - uint32_t scratch84; - uint32_t scratch85; - uint32_t scratch86; - uint32_t scratch87; - uint32_t scratch88; - uint32_t scratch89; - uint32_t scratch90; - uint32_t scratch91; - uint32_t scratch92; - uint32_t scratch93; - uint32_t scratch94; - uint32_t scratch95; - uint32_t scratch96; - uint32_t scratch97; - uint32_t scratch98; - uint32_t scratch99; - uint32_t scratch100; - uint32_t scratch101; - uint32_t scratch102; - uint32_t scratch103; - uint32_t scratch104; - uint32_t scratch105; - uint32_t scratch106; - uint32_t scratch107; - uint32_t scratch108; - uint32_t scratch109; - uint32_t scratch110; - uint32_t scratch111; - uint32_t scratch112; - uint32_t scratch113; - uint32_t scratch114; - uint32_t scratch115; - uint32_t scratch116; - uint32_t scratch117; - uint32_t scratch118; - uint32_t scratch119; - uint32_t scratch120; - uint32_t scratch121; - uint32_t scratch122; - uint32_t scratch123; - uint32_t scratch124; - uint32_t scratch125; - uint32_t scratch126; - uint32_t scratch127; - uint32_t scratch128; - uint32_t scratch129; - uint32_t scratch130; - uint32_t scratch131; - uint32_t scratch132; - uint32_t scratch133; - uint32_t scratch134; - uint32_t scratch135; - uint32_t scratch136; - uint32_t scratch137; - uint32_t scratch138; - uint32_t scratch139; - uint32_t scratch140; - uint32_t scratch141; - uint32_t scratch142; - uint32_t scratch143; - uint32_t scratch144; - uint32_t scratch145; - uint32_t scratch146; - uint32_t scratch147; - uint32_t scratch148; - uint32_t scratch149; - uint32_t scratch150; - uint32_t scratch151; - uint32_t scratch152; - uint32_t scratch153; - uint32_t scratch154; - uint32_t scratch155; - uint32_t scratch156; - uint32_t scratch157; - uint32_t scratch158; - uint32_t scratch159; - uint32_t scratch160; - uint32_t scratch161; - uint32_t scratch162; - uint32_t scratch163; - uint32_t scratch164; - uint32_t scratch165; - uint32_t scratch166; - uint32_t scratch167; - uint32_t scratch168; - uint32_t scratch169; - uint32_t scratch170; - uint32_t scratch171; - uint32_t scratch172; - uint32_t scratch173; - uint32_t scratch174; - uint32_t scratch175; - uint32_t scratch176; - uint32_t scratch177; - uint32_t scratch178; - uint32_t scratch179; - uint32_t scratch180; - uint32_t scratch181; - uint32_t scratch182; - uint32_t scratch183; - uint32_t scratch184; - uint32_t scratch185; - uint32_t scratch186; - uint32_t scratch187; - uint32_t scratch188; - uint32_t scratch189; - uint32_t scratch190; - uint32_t scratch191; - uint32_t scratch192; - uint32_t scratch193; - uint32_t scratch194; - uint32_t scratch195; - uint32_t scratch196; - uint32_t scratch197; - uint32_t scratch198; - uint32_t scratch199; - uint32_t scratch200; - uint32_t scratch201; - uint32_t scratch202; - uint32_t scratch203; - uint32_t scratch204; - uint32_t scratch205; - uint32_t scratch206; - uint32_t scratch207; - uint32_t scratch208; - uint32_t scratch209; - uint32_t scratch210; - uint32_t scratch211; - uint32_t scratch212; - uint32_t scratch213; - uint32_t scratch214; - uint32_t scratch215; - uint32_t scratch216; - uint32_t scratch217; - uint32_t scratch218; - uint32_t scratch219; - uint32_t scratch220; - uint32_t scratch221; - uint32_t scratch222; - uint32_t scratch223; - uint32_t scratch224; - uint32_t scratch225; - uint32_t scratch226; - uint32_t scratch227; - uint32_t scratch228; - uint32_t scratch229; - uint32_t scratch230; - uint32_t scratch231; - uint32_t scratch232; - uint32_t scratch233; - uint32_t scratch234; - uint32_t scratch235; - uint32_t scratch236; - uint32_t scratch237; - uint32_t scratch238; - uint32_t scratch239; - uint32_t scratch240; - uint32_t scratch241; - uint32_t scratch242; - uint32_t scratch243; - uint32_t scratch244; - uint32_t scratch245; - uint32_t scratch246; - uint32_t scratch247; - uint32_t scratch248; - uint32_t scratch249; - uint32_t scratch250; - uint32_t scratch251; - uint32_t scratch252; - uint32_t scratch253; - uint32_t scratch254; - uint32_t scratch255; - uint32_t scratch256; - uint32_t scratch257; - uint32_t scratch258; - uint32_t scratch259; - uint32_t scratch260; - uint32_t scratch261; - uint32_t scratch262; - uint32_t scratch263; - uint32_t scratch264; - uint32_t scratch265; - uint32_t scratch266; - uint32_t scratch267; - uint32_t scratch268; - uint32_t scratch269; - uint32_t scratch270; - uint32_t scratch271; - uint32_t scratch272; - uint32_t scratch273; - uint32_t scratch274; - uint32_t scratch275; - uint32_t scratch276; - uint32_t scratch277; - uint32_t scratch278; - uint32_t scratch279; - uint32_t scratch280; - uint32_t scratch281; - uint32_t scratch282; - uint32_t scratch283; - uint32_t scratch284; - uint32_t scratch285; - uint32_t scratch286; - uint32_t scratch287; - uint32_t scratch288; - uint32_t scratch289; - uint32_t scratch290; - uint32_t scratch291; - uint32_t scratch292; - uint32_t scratch293; - uint32_t scratch294; - uint32_t scratch295; - uint32_t scratch296; - uint32_t scratch297; - uint32_t scratch298; - uint32_t scratch299; - uint32_t _reserved7[50]; - uint32_t secure_scratch80; - uint32_t secure_scratch81; - uint32_t secure_scratch82; - uint32_t secure_scratch83; - uint32_t secure_scratch84; - uint32_t secure_scratch85; - uint32_t secure_scratch86; - uint32_t secure_scratch87; - uint32_t secure_scratch88; - uint32_t secure_scratch89; - uint32_t secure_scratch90; - uint32_t secure_scratch91; - uint32_t secure_scratch92; - uint32_t secure_scratch93; - uint32_t secure_scratch94; - uint32_t secure_scratch95; - uint32_t secure_scratch96; - uint32_t secure_scratch97; - uint32_t secure_scratch98; - uint32_t secure_scratch99; - uint32_t secure_scratch100; - uint32_t secure_scratch101; - uint32_t secure_scratch102; - uint32_t secure_scratch103; - uint32_t secure_scratch104; - uint32_t secure_scratch105; - uint32_t secure_scratch106; - uint32_t secure_scratch107; - uint32_t secure_scratch108; - uint32_t secure_scratch109; - uint32_t secure_scratch110; - uint32_t secure_scratch111; - uint32_t secure_scratch112; - uint32_t secure_scratch113; - uint32_t secure_scratch114; - uint32_t secure_scratch115; - uint32_t secure_scratch116; - uint32_t secure_scratch117; - uint32_t secure_scratch118; - uint32_t secure_scratch119; + uint32_t cntrl; /* _CNTRL_0, 0x00 */ + uint32_t sec_disable; /* _SEC_DISABLE_0, 0x04 */ + uint32_t pmc_swrst; /* _PMC_SWRST_0, 0x08 */ + uint32_t wake_mask; /* _WAKE_MASK_0, 0x0c */ + uint32_t wake_lvl; /* _WAKE_LVL_0, 0x10 */ + uint32_t wake_status; /* _WAKE_STATUS_0, 0x14 */ + uint32_t sw_wake_status; /* _SW_WAKE_STATUS_0, 0x18 */ + uint32_t dpd_pads_oride; /* _DPD_PADS_ORIDE_0, 0x1c */ + uint32_t dpd_sample; /* _DPD_SAMPLE_0, 0x20 */ + uint32_t dpd_enable; /* _DPD_ENABLE_0, 0x24 */ + uint32_t pwrgate_timer_off; /* _PWRGATE_TIMER_OFF_0, 0x28 */ + uint32_t clamp_status; /* _CLAMP_STATUS_0, 0x2c */ + uint32_t pwrgate_toggle; /* _PWRGATE_TOGGLE_0, 0x30 */ + uint32_t remove_clamping; /* _REMOVE_CLAMPING_0, 0x34 */ + uint32_t pwrgate_status; /* _PWRGATE_STATUS_0, 0x38 */ + uint32_t pwrgood_timer; /* _PWRGOOD_TIMER_0, 0x3c */ + uint32_t blink_timer; /* _BLINK_TIMER_0, 0x40 */ + uint32_t no_iopower; /* _NO_IOPOWER_0, 0x44 */ + uint32_t pwr_det; /* _PWR_DET_0, 0x48 */ + uint32_t pwr_det_latch; /* _PWR_DET_LATCH_0, 0x4c */ + uint32_t scratch0; /* _SCRATCH0_0, 0x50 */ + uint32_t scratch1; /* _SCRATCH1_0, 0x54 */ + uint32_t scratch2; /* _SCRATCH2_0, 0x58 */ + uint32_t scratch3; /* _SCRATCH3_0, 0x5c */ + uint32_t scratch4; /* _SCRATCH4_0, 0x60 */ + uint32_t scratch5; /* _SCRATCH5_0, 0x64 */ + uint32_t scratch6; /* _SCRATCH6_0, 0x68 */ + uint32_t scratch7; /* _SCRATCH7_0, 0x6c */ + uint32_t scratch8; /* _SCRATCH8_0, 0x70 */ + uint32_t scratch9; /* _SCRATCH9_0, 0x74 */ + uint32_t scratch10; /* _SCRATCH10_0, 0x78 */ + uint32_t scratch11; /* _SCRATCH11_0, 0x7c */ + uint32_t scratch12; /* _SCRATCH12_0, 0x80 */ + uint32_t scratch13; /* _SCRATCH13_0, 0x84 */ + uint32_t scratch14; /* _SCRATCH14_0, 0x88 */ + uint32_t scratch15; /* _SCRATCH15_0, 0x8c */ + uint32_t scratch16; /* _SCRATCH16_0, 0x90 */ + uint32_t scratch17; /* _SCRATCH17_0, 0x94 */ + uint32_t scratch18; /* _SCRATCH18_0, 0x98 */ + uint32_t scratch19; /* _SCRATCH19_0, 0x9c */ + uint32_t scratch20; /* _SCRATCH20_0, 0xa0 */ + uint32_t scratch21; /* _SCRATCH21_0, 0xa4 */ + uint32_t scratch22; /* _SCRATCH22_0, 0xa8 */ + uint32_t scratch23; /* _SCRATCH23_0, 0xac */ + uint32_t secure_scratch0; /* _SECURE_SCRATCH0_0, 0xb0 */ + uint32_t secure_scratch1; /* _SECURE_SCRATCH1_0, 0xb4 */ + uint32_t secure_scratch2; /* _SECURE_SCRATCH2_0, 0xb8 */ + uint32_t secure_scratch3; /* _SECURE_SCRATCH3_0, 0xbc */ + uint32_t secure_scratch4; /* _SECURE_SCRATCH4_0, 0xc0 */ + uint32_t secure_scratch5; /* _SECURE_SCRATCH5_0, 0xc4 */ + uint32_t cpupwrgood_timer; /* _CPUPWRGOOD_TIMER_0, 0xc8 */ + uint32_t cpupwroff_timer; /* _CPUPWROFF_TIMER_0, 0xcc */ + uint32_t pg_mask; /* _PG_MASK_0, 0xd0 */ + uint32_t pg_mask_1; /* _PG_MASK_1_0, 0xd4 */ + uint32_t auto_wake_lvl; /* _AUTO_WAKE_LVL_0, 0xd8 */ + uint32_t auto_wake_lvl_mask; /* _AUTO_WAKE_LVL_MASK_0, 0xdc */ + uint32_t wake_delay; /* _WAKE_DELAY_0, 0xe0 */ + uint32_t pwr_det_val; /* _PWR_DET_VAL_0, 0xe4 */ + uint32_t ddr_pwr; /* _DDR_PWR_0, 0xe8 */ + uint32_t usb_debounce_del; /* _USB_DEBOUNCE_DEL_0, 0xec */ + uint32_t usb_ao; /* _USB_AO_0, 0xf0 */ + uint32_t crypto_op; /* _CRYPTO_OP_0, 0xf4 */ + uint32_t pllp_wb0_override; /* _PLLP_WB0_OVERRIDE_0, 0xf8 */ + uint32_t scratch24; /* _SCRATCH24_0, 0xfc */ + uint32_t scratch25; /* _SCRATCH25_0, 0x100 */ + uint32_t scratch26; /* _SCRATCH26_0, 0x104 */ + uint32_t scratch27; /* _SCRATCH27_0, 0x108 */ + uint32_t scratch28; /* _SCRATCH28_0, 0x10c */ + uint32_t scratch29; /* _SCRATCH29_0, 0x110 */ + uint32_t scratch30; /* _SCRATCH30_0, 0x114 */ + uint32_t scratch31; /* _SCRATCH31_0, 0x118 */ + uint32_t scratch32; /* _SCRATCH32_0, 0x11c */ + uint32_t scratch33; /* _SCRATCH33_0, 0x120 */ + uint32_t scratch34; /* _SCRATCH34_0, 0x124 */ + uint32_t scratch35; /* _SCRATCH35_0, 0x128 */ + uint32_t scratch36; /* _SCRATCH36_0, 0x12c */ + uint32_t scratch37; /* _SCRATCH37_0, 0x130 */ + uint32_t scratch38; /* _SCRATCH38_0, 0x134 */ + uint32_t scratch39; /* _SCRATCH39_0, 0x138 */ + uint32_t scratch40; /* _SCRATCH40_0, 0x13c */ + uint32_t scratch41; /* _SCRATCH41_0, 0x140 */ + uint32_t scratch42; /* _SCRATCH42_0, 0x144 */ + uint32_t bondout_mirror0; /* _BONDOUT_MIRROR0_0, 0x148 */ + uint32_t bondout_mirror1; /* _BONDOUT_MIRROR1_0, 0x14c */ + uint32_t bondout_mirror2; /* _BONDOUT_MIRROR2_0, 0x150 */ + uint32_t sys_33v_en; /* _SYS_33V_EN_0, 0x154 */ + uint32_t bondout_mirror_access; /* _BONDOUT_MIRROR_ACCESS_0, 0x158 */ + uint32_t gate; /* _GATE_0, 0x15c */ + uint32_t wake2_mask; /* _WAKE2_MASK_0, 0x160 */ + uint32_t wake2_lvl; /* _WAKE2_LVL_0, 0x164 */ + uint32_t wake2_status; /* _WAKE2_STATUS_0, 0x168 */ + uint32_t sw_wake2_status; /* _SW_WAKE2_STATUS_0, 0x16c */ + uint32_t auto_wake2_lvl_mask; /* _AUTO_WAKE2_LVL_MASK_0, 0x170 */ + uint32_t pg_mask_2; /* _PG_MASK_2_0, 0x174 */ + uint32_t pg_mask_ce1; /* _PG_MASK_CE1_0, 0x178 */ + uint32_t pg_mask_ce2; /* _PG_MASK_CE2_0, 0x17c */ + uint32_t pg_mask_ce3; /* _PG_MASK_CE3_0, 0x180 */ + uint32_t pwrgate_timer_ce_0; /* _PWRGATE_TIMER_CE_0_0, 0x184 */ + uint32_t pwrgate_timer_ce_1; /* _PWRGATE_TIMER_CE_1_0, 0x188 */ + uint32_t pwrgate_timer_ce_2; /* _PWRGATE_TIMER_CE_2_0, 0x18c */ + uint32_t pwrgate_timer_ce_3; /* _PWRGATE_TIMER_CE_3_0, 0x190 */ + uint32_t pwrgate_timer_ce_4; /* _PWRGATE_TIMER_CE_4_0, 0x194 */ + uint32_t pwrgate_timer_ce_5; /* _PWRGATE_TIMER_CE_5_0, 0x198 */ + uint32_t pwrgate_timer_ce_6; /* _PWRGATE_TIMER_CE_6_0, 0x19c */ + uint32_t pcx_edpd_cntrl; /* _PCX_EDPD_CNTRL_0, 0x1a0 */ + uint32_t osc_edpd_over; /* _OSC_EDPD_OVER_0, 0x1a4 */ + uint32_t clk_out_cntrl; /* _CLK_OUT_CNTRL_0, 0x1a8 */ + uint32_t sata_pwrgt; /* _SATA_PWRGT_0, 0x1ac */ + uint32_t sensor_ctrl; /* _SENSOR_CTRL_0, 0x1b0 */ + uint32_t rst_status; /* _RST_STATUS_0, 0x1b4 */ + uint32_t io_dpd_req; /* _IO_DPD_REQ_0, 0x1b8 */ + uint32_t io_dpd_status; /* _IO_DPD_STATUS_0, 0x1bc */ + uint32_t io_dpd2_req; /* _IO_DPD2_REQ_0, 0x1c0 */ + uint32_t io_dpd2_status; /* _IO_DPD2_STATUS_0, 0x1c4 */ + uint32_t sel_dpd_tim; /* _SEL_DPD_TIM_0, 0x1c8 */ + uint32_t vddp_sel; /* _VDDP_SEL_0, 0x1cc */ + uint32_t ddr_cfg; /* _DDR_CFG_0, 0x1d0 */ + uint32_t _0x1d4[2]; + uint32_t pllm_wb0_override_freq; /* _PLLM_WB0_OVERRIDE_FREQ_0, 0x1dc */ + uint32_t _0x1e0; + uint32_t pwrgate_timer_mult; /* _PWRGATE_TIMER_MULT_0, 0x1e4 */ + uint32_t dsi_sel_dpd; /* _DSI_SEL_DPD_0, 0x1e8 */ + uint32_t utmip_uhsic_triggers; /* _UTMIP_UHSIC_TRIGGERS_0, 0x1ec */ + uint32_t utmip_uhsic_saved_state; /* _UTMIP_UHSIC_SAVED_STATE_0, 0x1f0 */ + uint32_t _0x1f4; + uint32_t utmip_term_pad_cfg; /* _UTMIP_TERM_PAD_CFG_0, 0x1f8 */ + uint32_t utmip_uhsic_sleep_cfg; /* _UTMIP_UHSIC_SLEEP_CFG_0, 0x1fc */ + uint32_t utmip_uhsic_sleepwalk_cfg; /* _UTMIP_UHSIC_SLEEPWALK_CFG_0, 0x200 */ + uint32_t utmip_sleepwalk_p0; /* _UTMIP_SLEEPWALK_P0_0, 0x204 */ + uint32_t utmip_sleepwalk_p1; /* _UTMIP_SLEEPWALK_P1_0, 0x208 */ + uint32_t utmip_sleepwalk_p2; /* _UTMIP_SLEEPWALK_P2_0, 0x20c */ + uint32_t uhsic_sleepwalk_p0; /* _UHSIC_SLEEPWALK_P0_0, 0x210 */ + uint32_t utmip_uhsic_status; /* _UTMIP_UHSIC_STATUS_0, 0x214 */ + uint32_t utmip_uhsic_fake; /* _UTMIP_UHSIC_FAKE_0, 0x218 */ + uint32_t bondout_mirror3; /* _BONDOUT_MIRROR3_0, 0x21c */ + uint32_t bondout_mirror4; /* _BONDOUT_MIRROR4_0, 0x220 */ + uint32_t secure_scratch6; /* _SECURE_SCRATCH6_0, 0x224 */ + uint32_t secure_scratch7; /* _SECURE_SCRATCH7_0, 0x228 */ + uint32_t scratch43; /* _SCRATCH43_0, 0x22c */ + uint32_t scratch44; /* _SCRATCH44_0, 0x230 */ + uint32_t scratch45; /* _SCRATCH45_0, 0x234 */ + uint32_t scratch46; /* _SCRATCH46_0, 0x238 */ + uint32_t scratch47; /* _SCRATCH47_0, 0x23c */ + uint32_t scratch48; /* _SCRATCH48_0, 0x240 */ + uint32_t scratch49; /* _SCRATCH49_0, 0x244 */ + uint32_t scratch50; /* _SCRATCH50_0, 0x248 */ + uint32_t scratch51; /* _SCRATCH51_0, 0x24c */ + uint32_t scratch52; /* _SCRATCH52_0, 0x250 */ + uint32_t scratch53; /* _SCRATCH53_0, 0x254 */ + uint32_t scratch54; /* _SCRATCH54_0, 0x258 */ + uint32_t scratch55; /* _SCRATCH55_0, 0x25c */ + uint32_t scratch0_eco; /* _SCRATCH0_ECO_0, 0x260 */ + uint32_t por_dpd_ctrl; /* _POR_DPD_CTRL_0, 0x264 */ + uint32_t scratch2_eco; /* _SCRATCH2_ECO_0, 0x268 */ + uint32_t utmip_uhsic_line_wakeup; /* _UTMIP_UHSIC_LINE_WAKEUP_0, 0x26c */ + uint32_t utmip_bias_master_cntrl; /* _UTMIP_BIAS_MASTER_CNTRL_0, 0x270 */ + uint32_t utmip_master_config; /* _UTMIP_MASTER_CONFIG_0, 0x274 */ + uint32_t td_pwrgate_inter_part_timer; /* _TD_PWRGATE_INTER_PART_TIMER_0, 0x278 */ + uint32_t utmip_uhsic2_triggers; /* _UTMIP_UHSIC2_TRIGGERS_0, 0x27c */ + uint32_t utmip_uhsic2_saved_state; /* _UTMIP_UHSIC2_SAVED_STATE_0, 0x280 */ + uint32_t utmip_uhsic2_sleep_cfg; /* _UTMIP_UHSIC2_SLEEP_CFG_0, 0x284 */ + uint32_t utmip_uhsic2_sleepwalk_cfg; /* _UTMIP_UHSIC2_SLEEPWALK_CFG_0, 0x288 */ + uint32_t uhsic2_sleepwalk_p1; /* _UHSIC2_SLEEPWALK_P1_0, 0x28c */ + uint32_t utmip_uhsic2_status; /* _UTMIP_UHSIC2_STATUS_0, 0x290 */ + uint32_t utmip_uhsic2_fake; /* _UTMIP_UHSIC2_FAKE_0, 0x294 */ + uint32_t utmip_uhsic2_line_wakeup; /* _UTMIP_UHSIC2_LINE_WAKEUP_0, 0x298 */ + uint32_t utmip_master2_config; /* _UTMIP_MASTER2_CONFIG_0, 0x29c */ + uint32_t utmip_uhsic_rpd_cfg; /* _UTMIP_UHSIC_RPD_CFG_0, 0x2a0 */ + uint32_t pg_mask_ce0; /* _PG_MASK_CE0_0, 0x2a4 */ + uint32_t pg_mask_3; /* _PG_MASK_3_0, 0x2a8 */ + uint32_t pg_mask_4; /* _PG_MASK_4_0, 0x2ac */ + uint32_t pllm_wb0_override2; /* _PLLM_WB0_OVERRIDE2_0, 0x2b0 */ + uint32_t tsc_mult; /* _TSC_MULT_0, 0x2b4 */ + uint32_t cpu_vsense_override; /* _CPU_VSENSE_OVERRIDE_0, 0x2b8 */ + uint32_t glb_amap_cfg; /* _GLB_AMAP_CFG_0, 0x2bc */ + uint32_t sticky_bits; /* _STICKY_BITS_0, 0x2c0 */ + uint32_t sec_disable2; /* _SEC_DISABLE2_0, 0x2c4 */ + uint32_t weak_bias; /* _WEAK_BIAS_0, 0x2c8 */ + uint32_t reg_short; /* _REG_SHORT_0, 0x2cc */ + uint32_t pg_mask_andor; /* _PG_MASK_ANDOR_0, 0x2d0 */ + uint32_t gpu_rg_cntrl; /* _GPU_RG_CNTRL_0, 0x2d4 */ + uint32_t sec_disable3; /* _SEC_DISABLE3_0, 0x2d8 */ + uint32_t pg_mask_5; /* _PG_MASK_5_0, 0x2dc */ + uint32_t pg_mask_6; /* _PG_MASK_6_0, 0x2e0 */ + uint32_t _0x2e4[7]; + uint32_t secure_scratch8; /* _SECURE_SCRATCH8_0, 0x300 */ + uint32_t secure_scratch9; /* _SECURE_SCRATCH9_0, 0x304 */ + uint32_t secure_scratch10; /* _SECURE_SCRATCH10_0, 0x308 */ + uint32_t secure_scratch11; /* _SECURE_SCRATCH11_0, 0x30c */ + uint32_t secure_scratch12; /* _SECURE_SCRATCH12_0, 0x310 */ + uint32_t secure_scratch13; /* _SECURE_SCRATCH13_0, 0x314 */ + uint32_t secure_scratch14; /* _SECURE_SCRATCH14_0, 0x318 */ + uint32_t secure_scratch15; /* _SECURE_SCRATCH15_0, 0x31c */ + uint32_t secure_scratch16; /* _SECURE_SCRATCH16_0, 0x320 */ + uint32_t secure_scratch17; /* _SECURE_SCRATCH17_0, 0x324 */ + uint32_t secure_scratch18; /* _SECURE_SCRATCH18_0, 0x328 */ + uint32_t secure_scratch19; /* _SECURE_SCRATCH19_0, 0x32c */ + uint32_t secure_scratch20; /* _SECURE_SCRATCH20_0, 0x330 */ + uint32_t secure_scratch21; /* _SECURE_SCRATCH21_0, 0x334 */ + uint32_t secure_scratch22; /* _SECURE_SCRATCH22_0, 0x338 */ + uint32_t secure_scratch23; /* _SECURE_SCRATCH23_0, 0x33c */ + uint32_t secure_scratch24; /* _SECURE_SCRATCH24_0, 0x340 */ + uint32_t secure_scratch25; /* _SECURE_SCRATCH25_0, 0x344 */ + uint32_t secure_scratch26; /* _SECURE_SCRATCH26_0, 0x348 */ + uint32_t secure_scratch27; /* _SECURE_SCRATCH27_0, 0x34c */ + uint32_t secure_scratch28; /* _SECURE_SCRATCH28_0, 0x350 */ + uint32_t secure_scratch29; /* _SECURE_SCRATCH29_0, 0x354 */ + uint32_t secure_scratch30; /* _SECURE_SCRATCH30_0, 0x358 */ + uint32_t secure_scratch31; /* _SECURE_SCRATCH31_0, 0x35c */ + uint32_t secure_scratch32; /* _SECURE_SCRATCH32_0, 0x360 */ + uint32_t secure_scratch33; /* _SECURE_SCRATCH33_0, 0x364 */ + uint32_t secure_scratch34; /* _SECURE_SCRATCH34_0, 0x368 */ + uint32_t secure_scratch35; /* _SECURE_SCRATCH35_0, 0x36c */ + uint32_t secure_scratch36; /* _SECURE_SCRATCH36_0, 0x370 */ + uint32_t secure_scratch37; /* _SECURE_SCRATCH37_0, 0x374 */ + uint32_t secure_scratch38; /* _SECURE_SCRATCH38_0, 0x378 */ + uint32_t secure_scratch39; /* _SECURE_SCRATCH39_0, 0x37c */ + uint32_t secure_scratch40; /* _SECURE_SCRATCH40_0, 0x380 */ + uint32_t secure_scratch41; /* _SECURE_SCRATCH41_0, 0x384 */ + uint32_t secure_scratch42; /* _SECURE_SCRATCH42_0, 0x388 */ + uint32_t secure_scratch43; /* _SECURE_SCRATCH43_0, 0x38c */ + uint32_t secure_scratch44; /* _SECURE_SCRATCH44_0, 0x390 */ + uint32_t secure_scratch45; /* _SECURE_SCRATCH45_0, 0x394 */ + uint32_t secure_scratch46; /* _SECURE_SCRATCH46_0, 0x398 */ + uint32_t secure_scratch47; /* _SECURE_SCRATCH47_0, 0x39c */ + uint32_t secure_scratch48; /* _SECURE_SCRATCH48_0, 0x3a0 */ + uint32_t secure_scratch49; /* _SECURE_SCRATCH49_0, 0x3a4 */ + uint32_t secure_scratch50; /* _SECURE_SCRATCH50_0, 0x3a8 */ + uint32_t secure_scratch51; /* _SECURE_SCRATCH51_0, 0x3ac */ + uint32_t secure_scratch52; /* _SECURE_SCRATCH52_0, 0x3b0 */ + uint32_t secure_scratch53; /* _SECURE_SCRATCH53_0, 0x3b4 */ + uint32_t secure_scratch54; /* _SECURE_SCRATCH54_0, 0x3b8 */ + uint32_t secure_scratch55; /* _SECURE_SCRATCH55_0, 0x3bc */ + uint32_t secure_scratch56; /* _SECURE_SCRATCH56_0, 0x3c0 */ + uint32_t secure_scratch57; /* _SECURE_SCRATCH57_0, 0x3c4 */ + uint32_t secure_scratch58; /* _SECURE_SCRATCH58_0, 0x3c8 */ + uint32_t secure_scratch59; /* _SECURE_SCRATCH59_0, 0x3cc */ + uint32_t secure_scratch60; /* _SECURE_SCRATCH60_0, 0x3d0 */ + uint32_t secure_scratch61; /* _SECURE_SCRATCH61_0, 0x3d4 */ + uint32_t secure_scratch62; /* _SECURE_SCRATCH62_0, 0x3d8 */ + uint32_t secure_scratch63; /* _SECURE_SCRATCH63_0, 0x3dc */ + uint32_t secure_scratch64; /* _SECURE_SCRATCH64_0, 0x3e0 */ + uint32_t secure_scratch65; /* _SECURE_SCRATCH65_0, 0x3e4 */ + uint32_t secure_scratch66; /* _SECURE_SCRATCH66_0, 0x3e8 */ + uint32_t secure_scratch67; /* _SECURE_SCRATCH67_0, 0x3ec */ + uint32_t secure_scratch68; /* _SECURE_SCRATCH68_0, 0x3f0 */ + uint32_t secure_scratch69; /* _SECURE_SCRATCH69_0, 0x3f4 */ + uint32_t secure_scratch70; /* _SECURE_SCRATCH70_0, 0x3f8 */ + uint32_t secure_scratch71; /* _SECURE_SCRATCH71_0, 0x3fc */ + uint32_t secure_scratch72; /* _SECURE_SCRATCH72_0, 0x400 */ + uint32_t secure_scratch73; /* _SECURE_SCRATCH73_0, 0x404 */ + uint32_t secure_scratch74; /* _SECURE_SCRATCH74_0, 0x408 */ + uint32_t secure_scratch75; /* _SECURE_SCRATCH75_0, 0x40c */ + uint32_t secure_scratch76; /* _SECURE_SCRATCH76_0, 0x410 */ + uint32_t secure_scratch77; /* _SECURE_SCRATCH77_0, 0x414 */ + uint32_t secure_scratch78; /* _SECURE_SCRATCH78_0, 0x418 */ + uint32_t secure_scratch79; /* _SECURE_SCRATCH79_0, 0x41c */ + uint32_t _0x420[8]; + uint32_t cntrl2; /* _CNTRL2_0, 0x440 */ + uint32_t io_dpd_off_mask; /* _IO_DPD_OFF_MASK_0, 0x444 */ + uint32_t io_dpd2_off_mask; /* _IO_DPD2_OFF_MASK_0, 0x448 */ + uint32_t event_counter; /* _EVENT_COUNTER_0, 0x44c */ + uint32_t fuse_control; /* _FUSE_CONTROL_0, 0x450 */ + uint32_t scratch1_eco; /* _SCRATCH1_ECO_0, 0x454 */ + uint32_t _0x458; + uint32_t io_dpd3_req; /* _IO_DPD3_REQ_0, 0x45c */ + uint32_t io_dpd3_status; /* _IO_DPD3_STATUS_0, 0x460 */ + uint32_t io_dpd4_req; /* _IO_DPD4_REQ_0, 0x464 */ + uint32_t io_dpd4_status; /* _IO_DPD4_STATUS_0, 0x468 */ + uint32_t _0x46c[2]; + uint32_t direct_thermtrip_cfg; /* _DIRECT_THERMTRIP_CFG_0, 0x474 */ + uint32_t tsosc_delay; /* _TSOSC_DELAY_0, 0x478 */ + uint32_t set_sw_clamp; /* _SET_SW_CLAMP_0, 0x47c */ + uint32_t debug_authentication; /* _DEBUG_AUTHENTICATION_0, 0x480 */ + uint32_t aotag_cfg; /* _AOTAG_CFG_0, 0x484 */ + uint32_t aotag_thresh1_cfg; /* _AOTAG_THRESH1_CFG_0, 0x488 */ + uint32_t aotag_thresh2_cfg; /* _AOTAG_THRESH2_CFG_0, 0x48c */ + uint32_t aotag_thresh3_cfg; /* _AOTAG_THRESH3_CFG_0, 0x490 */ + uint32_t aotag_status; /* _AOTAG_STATUS_0, 0x494 */ + uint32_t aotag_security; /* _AOTAG_SECURITY_0, 0x498 */ + uint32_t tsensor_config0; /* _TSENSOR_CONFIG0_0, 0x49c */ + uint32_t tsensor_config1; /* _TSENSOR_CONFIG1_0, 0x4a0 */ + uint32_t tsensor_config2; /* _TSENSOR_CONFIG2_0, 0x4a4 */ + uint32_t tsensor_status0; /* _TSENSOR_STATUS0_0, 0x4a8 */ + uint32_t tsensor_status1; /* _TSENSOR_STATUS1_0, 0x4ac */ + uint32_t tsensor_status2; /* _TSENSOR_STATUS2_0, 0x4b0 */ + uint32_t tsensor_pdiv; /* _TSENSOR_PDIV_0, 0x4b4 */ + uint32_t aotag_intr_en; /* _AOTAG_INTR_EN_0, 0x4b8 */ + uint32_t aotag_intr_dis; /* _AOTAG_INTR_DIS_0, 0x4bc */ + uint32_t utmip_pad_cfg0; /* _UTMIP_PAD_CFG0_0, 0x4c0 */ + uint32_t utmip_pad_cfg1; /* _UTMIP_PAD_CFG1_0, 0x4c4 */ + uint32_t utmip_pad_cfg2; /* _UTMIP_PAD_CFG2_0, 0x4c8 */ + uint32_t utmip_pad_cfg3; /* _UTMIP_PAD_CFG3_0, 0x4cc */ + uint32_t utmip_uhsic_sleep_cfg1; /* _UTMIP_UHSIC_SLEEP_CFG1_0, 0x4d0 */ + uint32_t cc4_hvc_control; /* _CC4_HVC_CONTROL_0, 0x4d4 */ + uint32_t wake_debounce_en; /* _WAKE_DEBOUNCE_EN_0, 0x4d8 */ + uint32_t ramdump_ctl_status; /* _RAMDUMP_CTL_STATUS_0, 0x4dc */ + uint32_t utmip_sleepwalk_p3; /* _UTMIP_SLEEPWALK_P3_0, 0x4e0 */ + uint32_t ddr_cntrl; /* _DDR_CNTRL_0, 0x4e4 */ + uint32_t _0x4e8[50]; + uint32_t sec_disable4; /* _SEC_DISABLE4_0, 0x5b0 */ + uint32_t sec_disable5; /* _SEC_DISABLE5_0, 0x5b4 */ + uint32_t sec_disable6; /* _SEC_DISABLE6_0, 0x5b8 */ + uint32_t sec_disable7; /* _SEC_DISABLE7_0, 0x5bc */ + uint32_t sec_disable8; /* _SEC_DISABLE8_0, 0x5c0 */ + uint32_t sec_disable9; /* _SEC_DISABLE9_0, 0x5c4 */ + uint32_t sec_disable10; /* _SEC_DISABLE10_0, 0x5c8 */ + uint32_t _0x5cc[13]; + uint32_t scratch56; /* _SCRATCH56_0, 0x600 */ + uint32_t scratch57; /* _SCRATCH57_0, 0x604 */ + uint32_t scratch58; /* _SCRATCH58_0, 0x608 */ + uint32_t scratch59; /* _SCRATCH59_0, 0x60c */ + uint32_t scratch60; /* _SCRATCH60_0, 0x610 */ + uint32_t scratch61; /* _SCRATCH61_0, 0x614 */ + uint32_t scratch62; /* _SCRATCH62_0, 0x618 */ + uint32_t scratch63; /* _SCRATCH63_0, 0x61c */ + uint32_t scratch64; /* _SCRATCH64_0, 0x620 */ + uint32_t scratch65; /* _SCRATCH65_0, 0x624 */ + uint32_t scratch66; /* _SCRATCH66_0, 0x628 */ + uint32_t scratch67; /* _SCRATCH67_0, 0x62c */ + uint32_t scratch68; /* _SCRATCH68_0, 0x630 */ + uint32_t scratch69; /* _SCRATCH69_0, 0x634 */ + uint32_t scratch70; /* _SCRATCH70_0, 0x638 */ + uint32_t scratch71; /* _SCRATCH71_0, 0x63c */ + uint32_t scratch72; /* _SCRATCH72_0, 0x640 */ + uint32_t scratch73; /* _SCRATCH73_0, 0x644 */ + uint32_t scratch74; /* _SCRATCH74_0, 0x648 */ + uint32_t scratch75; /* _SCRATCH75_0, 0x64c */ + uint32_t scratch76; /* _SCRATCH76_0, 0x650 */ + uint32_t scratch77; /* _SCRATCH77_0, 0x654 */ + uint32_t scratch78; /* _SCRATCH78_0, 0x658 */ + uint32_t scratch79; /* _SCRATCH79_0, 0x65c */ + uint32_t scratch80; /* _SCRATCH80_0, 0x660 */ + uint32_t scratch81; /* _SCRATCH81_0, 0x664 */ + uint32_t scratch82; /* _SCRATCH82_0, 0x668 */ + uint32_t scratch83; /* _SCRATCH83_0, 0x66c */ + uint32_t scratch84; /* _SCRATCH84_0, 0x670 */ + uint32_t scratch85; /* _SCRATCH85_0, 0x674 */ + uint32_t scratch86; /* _SCRATCH86_0, 0x678 */ + uint32_t scratch87; /* _SCRATCH87_0, 0x67c */ + uint32_t scratch88; /* _SCRATCH88_0, 0x680 */ + uint32_t scratch89; /* _SCRATCH89_0, 0x684 */ + uint32_t scratch90; /* _SCRATCH90_0, 0x688 */ + uint32_t scratch91; /* _SCRATCH91_0, 0x68c */ + uint32_t scratch92; /* _SCRATCH92_0, 0x690 */ + uint32_t scratch93; /* _SCRATCH93_0, 0x694 */ + uint32_t scratch94; /* _SCRATCH94_0, 0x698 */ + uint32_t scratch95; /* _SCRATCH95_0, 0x69c */ + uint32_t scratch96; /* _SCRATCH96_0, 0x6a0 */ + uint32_t scratch97; /* _SCRATCH97_0, 0x6a4 */ + uint32_t scratch98; /* _SCRATCH98_0, 0x6a8 */ + uint32_t scratch99; /* _SCRATCH99_0, 0x6ac */ + uint32_t scratch100; /* _SCRATCH100_0, 0x6b0 */ + uint32_t scratch101; /* _SCRATCH101_0, 0x6b4 */ + uint32_t scratch102; /* _SCRATCH102_0, 0x6b8 */ + uint32_t scratch103; /* _SCRATCH103_0, 0x6bc */ + uint32_t scratch104; /* _SCRATCH104_0, 0x6c0 */ + uint32_t scratch105; /* _SCRATCH105_0, 0x6c4 */ + uint32_t scratch106; /* _SCRATCH106_0, 0x6c8 */ + uint32_t scratch107; /* _SCRATCH107_0, 0x6cc */ + uint32_t scratch108; /* _SCRATCH108_0, 0x6d0 */ + uint32_t scratch109; /* _SCRATCH109_0, 0x6d4 */ + uint32_t scratch110; /* _SCRATCH110_0, 0x6d8 */ + uint32_t scratch111; /* _SCRATCH111_0, 0x6dc */ + uint32_t scratch112; /* _SCRATCH112_0, 0x6e0 */ + uint32_t scratch113; /* _SCRATCH113_0, 0x6e4 */ + uint32_t scratch114; /* _SCRATCH114_0, 0x6e8 */ + uint32_t scratch115; /* _SCRATCH115_0, 0x6ec */ + uint32_t scratch116; /* _SCRATCH116_0, 0x6f0 */ + uint32_t scratch117; /* _SCRATCH117_0, 0x6f4 */ + uint32_t scratch118; /* _SCRATCH118_0, 0x6f8 */ + uint32_t scratch119; /* _SCRATCH119_0, 0x6fc */ + uint32_t scratch120; /* _SCRATCH120_0, 0x700 */ + uint32_t scratch121; /* _SCRATCH121_0, 0x704 */ + uint32_t scratch122; /* _SCRATCH122_0, 0x708 */ + uint32_t scratch123; /* _SCRATCH123_0, 0x70c */ + uint32_t scratch124; /* _SCRATCH124_0, 0x710 */ + uint32_t scratch125; /* _SCRATCH125_0, 0x714 */ + uint32_t scratch126; /* _SCRATCH126_0, 0x718 */ + uint32_t scratch127; /* _SCRATCH127_0, 0x71c */ + uint32_t scratch128; /* _SCRATCH128_0, 0x720 */ + uint32_t scratch129; /* _SCRATCH129_0, 0x724 */ + uint32_t scratch130; /* _SCRATCH130_0, 0x728 */ + uint32_t scratch131; /* _SCRATCH131_0, 0x72c */ + uint32_t scratch132; /* _SCRATCH132_0, 0x730 */ + uint32_t scratch133; /* _SCRATCH133_0, 0x734 */ + uint32_t scratch134; /* _SCRATCH134_0, 0x738 */ + uint32_t scratch135; /* _SCRATCH135_0, 0x73c */ + uint32_t scratch136; /* _SCRATCH136_0, 0x740 */ + uint32_t scratch137; /* _SCRATCH137_0, 0x744 */ + uint32_t scratch138; /* _SCRATCH138_0, 0x748 */ + uint32_t scratch139; /* _SCRATCH139_0, 0x74c */ + uint32_t scratch140; /* _SCRATCH140_0, 0x750 */ + uint32_t scratch141; /* _SCRATCH141_0, 0x754 */ + uint32_t scratch142; /* _SCRATCH142_0, 0x758 */ + uint32_t scratch143; /* _SCRATCH143_0, 0x75c */ + uint32_t scratch144; /* _SCRATCH144_0, 0x760 */ + uint32_t scratch145; /* _SCRATCH145_0, 0x764 */ + uint32_t scratch146; /* _SCRATCH146_0, 0x768 */ + uint32_t scratch147; /* _SCRATCH147_0, 0x76c */ + uint32_t scratch148; /* _SCRATCH148_0, 0x770 */ + uint32_t scratch149; /* _SCRATCH149_0, 0x774 */ + uint32_t scratch150; /* _SCRATCH150_0, 0x778 */ + uint32_t scratch151; /* _SCRATCH151_0, 0x77c */ + uint32_t scratch152; /* _SCRATCH152_0, 0x780 */ + uint32_t scratch153; /* _SCRATCH153_0, 0x784 */ + uint32_t scratch154; /* _SCRATCH154_0, 0x788 */ + uint32_t scratch155; /* _SCRATCH155_0, 0x78c */ + uint32_t scratch156; /* _SCRATCH156_0, 0x790 */ + uint32_t scratch157; /* _SCRATCH157_0, 0x794 */ + uint32_t scratch158; /* _SCRATCH158_0, 0x798 */ + uint32_t scratch159; /* _SCRATCH159_0, 0x79c */ + uint32_t scratch160; /* _SCRATCH160_0, 0x7a0 */ + uint32_t scratch161; /* _SCRATCH161_0, 0x7a4 */ + uint32_t scratch162; /* _SCRATCH162_0, 0x7a8 */ + uint32_t scratch163; /* _SCRATCH163_0, 0x7ac */ + uint32_t scratch164; /* _SCRATCH164_0, 0x7b0 */ + uint32_t scratch165; /* _SCRATCH165_0, 0x7b4 */ + uint32_t scratch166; /* _SCRATCH166_0, 0x7b8 */ + uint32_t scratch167; /* _SCRATCH167_0, 0x7bc */ + uint32_t scratch168; /* _SCRATCH168_0, 0x7c0 */ + uint32_t scratch169; /* _SCRATCH169_0, 0x7c4 */ + uint32_t scratch170; /* _SCRATCH170_0, 0x7c8 */ + uint32_t scratch171; /* _SCRATCH171_0, 0x7cc */ + uint32_t scratch172; /* _SCRATCH172_0, 0x7d0 */ + uint32_t scratch173; /* _SCRATCH173_0, 0x7d4 */ + uint32_t scratch174; /* _SCRATCH174_0, 0x7d8 */ + uint32_t scratch175; /* _SCRATCH175_0, 0x7dc */ + uint32_t scratch176; /* _SCRATCH176_0, 0x7e0 */ + uint32_t scratch177; /* _SCRATCH177_0, 0x7e4 */ + uint32_t scratch178; /* _SCRATCH178_0, 0x7e8 */ + uint32_t scratch179; /* _SCRATCH179_0, 0x7ec */ + uint32_t scratch180; /* _SCRATCH180_0, 0x7f0 */ + uint32_t scratch181; /* _SCRATCH181_0, 0x7f4 */ + uint32_t scratch182; /* _SCRATCH182_0, 0x7f8 */ + uint32_t scratch183; /* _SCRATCH183_0, 0x7fc */ + uint32_t scratch184; /* _SCRATCH184_0, 0x800 */ + uint32_t scratch185; /* _SCRATCH185_0, 0x804 */ + uint32_t scratch186; /* _SCRATCH186_0, 0x808 */ + uint32_t scratch187; /* _SCRATCH187_0, 0x80c */ + uint32_t scratch188; /* _SCRATCH188_0, 0x810 */ + uint32_t scratch189; /* _SCRATCH189_0, 0x814 */ + uint32_t scratch190; /* _SCRATCH190_0, 0x818 */ + uint32_t scratch191; /* _SCRATCH191_0, 0x81c */ + uint32_t scratch192; /* _SCRATCH192_0, 0x820 */ + uint32_t scratch193; /* _SCRATCH193_0, 0x824 */ + uint32_t scratch194; /* _SCRATCH194_0, 0x828 */ + uint32_t scratch195; /* _SCRATCH195_0, 0x82c */ + uint32_t scratch196; /* _SCRATCH196_0, 0x830 */ + uint32_t scratch197; /* _SCRATCH197_0, 0x834 */ + uint32_t scratch198; /* _SCRATCH198_0, 0x838 */ + uint32_t scratch199; /* _SCRATCH199_0, 0x83c */ + uint32_t scratch200; /* _SCRATCH200_0, 0x840 */ + uint32_t scratch201; /* _SCRATCH201_0, 0x844 */ + uint32_t scratch202; /* _SCRATCH202_0, 0x848 */ + uint32_t scratch203; /* _SCRATCH203_0, 0x84c */ + uint32_t scratch204; /* _SCRATCH204_0, 0x850 */ + uint32_t scratch205; /* _SCRATCH205_0, 0x854 */ + uint32_t scratch206; /* _SCRATCH206_0, 0x858 */ + uint32_t scratch207; /* _SCRATCH207_0, 0x85c */ + uint32_t scratch208; /* _SCRATCH208_0, 0x860 */ + uint32_t scratch209; /* _SCRATCH209_0, 0x864 */ + uint32_t scratch210; /* _SCRATCH210_0, 0x868 */ + uint32_t scratch211; /* _SCRATCH211_0, 0x86c */ + uint32_t scratch212; /* _SCRATCH212_0, 0x870 */ + uint32_t scratch213; /* _SCRATCH213_0, 0x874 */ + uint32_t scratch214; /* _SCRATCH214_0, 0x878 */ + uint32_t scratch215; /* _SCRATCH215_0, 0x87c */ + uint32_t scratch216; /* _SCRATCH216_0, 0x880 */ + uint32_t scratch217; /* _SCRATCH217_0, 0x884 */ + uint32_t scratch218; /* _SCRATCH218_0, 0x888 */ + uint32_t scratch219; /* _SCRATCH219_0, 0x88c */ + uint32_t scratch220; /* _SCRATCH220_0, 0x890 */ + uint32_t scratch221; /* _SCRATCH221_0, 0x894 */ + uint32_t scratch222; /* _SCRATCH222_0, 0x898 */ + uint32_t scratch223; /* _SCRATCH223_0, 0x89c */ + uint32_t scratch224; /* _SCRATCH224_0, 0x8a0 */ + uint32_t scratch225; /* _SCRATCH225_0, 0x8a4 */ + uint32_t scratch226; /* _SCRATCH226_0, 0x8a8 */ + uint32_t scratch227; /* _SCRATCH227_0, 0x8ac */ + uint32_t scratch228; /* _SCRATCH228_0, 0x8b0 */ + uint32_t scratch229; /* _SCRATCH229_0, 0x8b4 */ + uint32_t scratch230; /* _SCRATCH230_0, 0x8b8 */ + uint32_t scratch231; /* _SCRATCH231_0, 0x8bc */ + uint32_t scratch232; /* _SCRATCH232_0, 0x8c0 */ + uint32_t scratch233; /* _SCRATCH233_0, 0x8c4 */ + uint32_t scratch234; /* _SCRATCH234_0, 0x8c8 */ + uint32_t scratch235; /* _SCRATCH235_0, 0x8cc */ + uint32_t scratch236; /* _SCRATCH236_0, 0x8d0 */ + uint32_t scratch237; /* _SCRATCH237_0, 0x8d4 */ + uint32_t scratch238; /* _SCRATCH238_0, 0x8d8 */ + uint32_t scratch239; /* _SCRATCH239_0, 0x8dc */ + uint32_t scratch240; /* _SCRATCH240_0, 0x8e0 */ + uint32_t scratch241; /* _SCRATCH241_0, 0x8e4 */ + uint32_t scratch242; /* _SCRATCH242_0, 0x8e8 */ + uint32_t scratch243; /* _SCRATCH243_0, 0x8ec */ + uint32_t scratch244; /* _SCRATCH244_0, 0x8f0 */ + uint32_t scratch245; /* _SCRATCH245_0, 0x8f4 */ + uint32_t scratch246; /* _SCRATCH246_0, 0x8f8 */ + uint32_t scratch247; /* _SCRATCH247_0, 0x8fc */ + uint32_t scratch248; /* _SCRATCH248_0, 0x900 */ + uint32_t scratch249; /* _SCRATCH249_0, 0x904 */ + uint32_t scratch250; /* _SCRATCH250_0, 0x908 */ + uint32_t scratch251; /* _SCRATCH251_0, 0x90c */ + uint32_t scratch252; /* _SCRATCH252_0, 0x910 */ + uint32_t scratch253; /* _SCRATCH253_0, 0x914 */ + uint32_t scratch254; /* _SCRATCH254_0, 0x918 */ + uint32_t scratch255; /* _SCRATCH255_0, 0x91c */ + uint32_t scratch256; /* _SCRATCH256_0, 0x920 */ + uint32_t scratch257; /* _SCRATCH257_0, 0x924 */ + uint32_t scratch258; /* _SCRATCH258_0, 0x928 */ + uint32_t scratch259; /* _SCRATCH259_0, 0x92c */ + uint32_t scratch260; /* _SCRATCH260_0, 0x930 */ + uint32_t scratch261; /* _SCRATCH261_0, 0x934 */ + uint32_t scratch262; /* _SCRATCH262_0, 0x938 */ + uint32_t scratch263; /* _SCRATCH263_0, 0x93c */ + uint32_t scratch264; /* _SCRATCH264_0, 0x940 */ + uint32_t scratch265; /* _SCRATCH265_0, 0x944 */ + uint32_t scratch266; /* _SCRATCH266_0, 0x948 */ + uint32_t scratch267; /* _SCRATCH267_0, 0x94c */ + uint32_t scratch268; /* _SCRATCH268_0, 0x950 */ + uint32_t scratch269; /* _SCRATCH269_0, 0x954 */ + uint32_t scratch270; /* _SCRATCH270_0, 0x958 */ + uint32_t scratch271; /* _SCRATCH271_0, 0x95c */ + uint32_t scratch272; /* _SCRATCH272_0, 0x960 */ + uint32_t scratch273; /* _SCRATCH273_0, 0x964 */ + uint32_t scratch274; /* _SCRATCH274_0, 0x968 */ + uint32_t scratch275; /* _SCRATCH275_0, 0x96c */ + uint32_t scratch276; /* _SCRATCH276_0, 0x970 */ + uint32_t scratch277; /* _SCRATCH277_0, 0x974 */ + uint32_t scratch278; /* _SCRATCH278_0, 0x978 */ + uint32_t scratch279; /* _SCRATCH279_0, 0x97c */ + uint32_t scratch280; /* _SCRATCH280_0, 0x980 */ + uint32_t scratch281; /* _SCRATCH281_0, 0x984 */ + uint32_t scratch282; /* _SCRATCH282_0, 0x988 */ + uint32_t scratch283; /* _SCRATCH283_0, 0x98c */ + uint32_t scratch284; /* _SCRATCH284_0, 0x990 */ + uint32_t scratch285; /* _SCRATCH285_0, 0x994 */ + uint32_t scratch286; /* _SCRATCH286_0, 0x998 */ + uint32_t scratch287; /* _SCRATCH287_0, 0x99c */ + uint32_t scratch288; /* _SCRATCH288_0, 0x9a0 */ + uint32_t scratch289; /* _SCRATCH289_0, 0x9a4 */ + uint32_t scratch290; /* _SCRATCH290_0, 0x9a8 */ + uint32_t scratch291; /* _SCRATCH291_0, 0x9ac */ + uint32_t scratch292; /* _SCRATCH292_0, 0x9b0 */ + uint32_t scratch293; /* _SCRATCH293_0, 0x9b4 */ + uint32_t scratch294; /* _SCRATCH294_0, 0x9b8 */ + uint32_t scratch295; /* _SCRATCH295_0, 0x9bc */ + uint32_t scratch296; /* _SCRATCH296_0, 0x9c0 */ + uint32_t scratch297; /* _SCRATCH297_0, 0x9c4 */ + uint32_t scratch298; /* _SCRATCH298_0, 0x9c8 */ + uint32_t scratch299; /* _SCRATCH299_0, 0x9cc */ + uint32_t _0x9d0[50]; + uint32_t secure_scratch80; /* _SECURE_SCRATCH80_0, 0xa98 */ + uint32_t secure_scratch81; /* _SECURE_SCRATCH81_0, 0xa9c */ + uint32_t secure_scratch82; /* _SECURE_SCRATCH82_0, 0xaa0 */ + uint32_t secure_scratch83; /* _SECURE_SCRATCH83_0, 0xaa4 */ + uint32_t secure_scratch84; /* _SECURE_SCRATCH84_0, 0xaa8 */ + uint32_t secure_scratch85; /* _SECURE_SCRATCH85_0, 0xaac */ + uint32_t secure_scratch86; /* _SECURE_SCRATCH86_0, 0xab0 */ + uint32_t secure_scratch87; /* _SECURE_SCRATCH87_0, 0xab4 */ + uint32_t secure_scratch88; /* _SECURE_SCRATCH88_0, 0xab8 */ + uint32_t secure_scratch89; /* _SECURE_SCRATCH89_0, 0xabc */ + uint32_t secure_scratch90; /* _SECURE_SCRATCH90_0, 0xac0 */ + uint32_t secure_scratch91; /* _SECURE_SCRATCH91_0, 0xac4 */ + uint32_t secure_scratch92; /* _SECURE_SCRATCH92_0, 0xac8 */ + uint32_t secure_scratch93; /* _SECURE_SCRATCH93_0, 0xacc */ + uint32_t secure_scratch94; /* _SECURE_SCRATCH94_0, 0xad0 */ + uint32_t secure_scratch95; /* _SECURE_SCRATCH95_0, 0xad4 */ + uint32_t secure_scratch96; /* _SECURE_SCRATCH96_0, 0xad8 */ + uint32_t secure_scratch97; /* _SECURE_SCRATCH97_0, 0xadc */ + uint32_t secure_scratch98; /* _SECURE_SCRATCH98_0, 0xae0 */ + uint32_t secure_scratch99; /* _SECURE_SCRATCH99_0, 0xae4 */ + uint32_t secure_scratch100; /* _SECURE_SCRATCH100_0, 0xae8 */ + uint32_t secure_scratch101; /* _SECURE_SCRATCH101_0, 0xaec */ + uint32_t secure_scratch102; /* _SECURE_SCRATCH102_0, 0xaf0 */ + uint32_t secure_scratch103; /* _SECURE_SCRATCH103_0, 0xaf4 */ + uint32_t secure_scratch104; /* _SECURE_SCRATCH104_0, 0xaf8 */ + uint32_t secure_scratch105; /* _SECURE_SCRATCH105_0, 0xafc */ + uint32_t secure_scratch106; /* _SECURE_SCRATCH106_0, 0xb00 */ + uint32_t secure_scratch107; /* _SECURE_SCRATCH107_0, 0xb04 */ + uint32_t secure_scratch108; /* _SECURE_SCRATCH108_0, 0xb08 */ + uint32_t secure_scratch109; /* _SECURE_SCRATCH109_0, 0xb0c */ + uint32_t secure_scratch110; /* _SECURE_SCRATCH110_0, 0xb10 */ + uint32_t secure_scratch111; /* _SECURE_SCRATCH111_0, 0xb14 */ + uint32_t secure_scratch112; /* _SECURE_SCRATCH112_0, 0xb18 */ + uint32_t secure_scratch113; /* _SECURE_SCRATCH113_0, 0xb1c */ + uint32_t secure_scratch114; /* _SECURE_SCRATCH114_0, 0xb20 */ + uint32_t secure_scratch115; /* _SECURE_SCRATCH115_0, 0xb24 */ + uint32_t secure_scratch116; /* _SECURE_SCRATCH116_0, 0xb28 */ + uint32_t secure_scratch117; /* _SECURE_SCRATCH117_0, 0xb2c */ + uint32_t secure_scratch118; /* _SECURE_SCRATCH118_0, 0xb30 */ + uint32_t secure_scratch119; /* _SECURE_SCRATCH119_0, 0xb34 */ + uint32_t secure_scratch120; /* _SECURE_SCRATCH120_0, 0xb38 */ + uint32_t secure_scratch121; /* _SECURE_SCRATCH121_0, 0xb3c */ + uint32_t secure_scratch122; /* _SECURE_SCRATCH122_0, 0xb40 */ + uint32_t secure_scratch123; /* _SECURE_SCRATCH123_0, 0xb44 */ + uint32_t led_breathing_ctrl; /* _LED_BREATHING_CTRL_0, 0xb48 */ + uint32_t led_breathing_counter0; /* _LED_BREATHING_COUNTER0_0, 0xb4c */ + uint32_t led_breathing_counter1; /* _LED_BREATHING_COUNTER1_0, 0xb50 */ + uint32_t led_breathing_counter2; /* _LED_BREATHING_COUNTER2_0, 0xb54 */ + uint32_t led_breathing_counter3; /* _LED_BREATHING_COUNTER3_0, 0xb58 */ + uint32_t led_breathing_status; /* _LED_BREATHING_STATUS_0, 0xb5c */ + uint32_t _0xb60[2]; + uint32_t secure_scratch124; /* _SECURE_SCRATCH124_0, 0xb68 */ + uint32_t secure_scratch125; /* _SECURE_SCRATCH125_0, 0xb6c */ + uint32_t secure_scratch126; /* _SECURE_SCRATCH126_0, 0xb70 */ + uint32_t secure_scratch127; /* _SECURE_SCRATCH127_0, 0xb74 */ + uint32_t secure_scratch128; /* _SECURE_SCRATCH128_0, 0xb78 */ + uint32_t secure_scratch129; /* _SECURE_SCRATCH129_0, 0xb7c */ + uint32_t secure_scratch130; /* _SECURE_SCRATCH130_0, 0xb80 */ + uint32_t secure_scratch131; /* _SECURE_SCRATCH131_0, 0xb84 */ + uint32_t secure_scratch132; /* _SECURE_SCRATCH132_0, 0xb88 */ + uint32_t secure_scratch133; /* _SECURE_SCRATCH133_0, 0xb8c */ + uint32_t secure_scratch134; /* _SECURE_SCRATCH134_0, 0xb90 */ + uint32_t secure_scratch135; /* _SECURE_SCRATCH135_0, 0xb94 */ + uint32_t secure_scratch136; /* _SECURE_SCRATCH136_0, 0xb98 */ + uint32_t secure_scratch137; /* _SECURE_SCRATCH137_0, 0xb9c */ + uint32_t secure_scratch138; /* _SECURE_SCRATCH138_0, 0xba0 */ + uint32_t secure_scratch139; /* _SECURE_SCRATCH139_0, 0xba4 */ + uint32_t _0xba8[2]; + uint32_t sec_disable_ns; /* _SEC_DISABLE_NS_0, 0xbb0 */ + uint32_t sec_disable2_ns; /* _SEC_DISABLE2_NS_0, 0xbb4 */ + uint32_t sec_disable3_ns; /* _SEC_DISABLE3_NS_0, 0xbb8 */ + uint32_t sec_disable4_ns; /* _SEC_DISABLE4_NS_0, 0xbbc */ + uint32_t sec_disable5_ns; /* _SEC_DISABLE5_NS_0, 0xbc0 */ + uint32_t sec_disable6_ns; /* _SEC_DISABLE6_NS_0, 0xbc4 */ + uint32_t sec_disable7_ns; /* _SEC_DISABLE7_NS_0, 0xbc8 */ + uint32_t sec_disable8_ns; /* _SEC_DISABLE8_NS_0, 0xbcc */ + uint32_t sec_disable9_ns; /* _SEC_DISABLE9_NS_0, 0xbd0 */ + uint32_t sec_disable10_ns; /* _SEC_DISABLE10_NS_0, 0xbd4 */ + uint32_t _0xbd8[4]; + uint32_t tzram_pwr_cntrl; /* _TZRAM_PWR_CNTRL_0, 0xbe8 */ + uint32_t tzram_sec_disable; /* _TZRAM_SEC_DISABLE_0, 0xbec */ + uint32_t tzram_non_sec_disable; /* _TZRAM_NON_SEC_DISABLE_0, 0xbf0 */ } tegra_pmc_t; static inline volatile tegra_pmc_t *pmc_get_regs(void) diff --git a/sept/sept-secondary/src/hwinit.c b/sept/sept-secondary/src/hwinit.c index dc343e70e..3f922fb77 100644 --- a/sept/sept-secondary/src/hwinit.c +++ b/sept/sept-secondary/src/hwinit.c @@ -206,7 +206,7 @@ static void config_se_brom(void) { /* Clear the boot reason to avoid problems later */ pmc->scratch200 = 0; - pmc->reset_status = 0; + pmc->rst_status = 0; } void nx_hwinit_erista(bool enable_log) { @@ -318,15 +318,16 @@ void nx_hwinit_erista(bool enable_log) { /* Configure memory controller carveouts. */ /* NOTE: [4.0.0+] This is now done in the Secure Monitor. */ /* mc_config_carveout(); */ - - /* Initialize SDRAM. */ - sdram_init_erista(); /* Save SDRAM parameters to scratch. */ sdram_save_params_erista(sdram_get_params_erista(fuse_get_dram_id())); + + /* Initialize SDRAM. */ + sdram_init_erista(); } void nx_hwinit_mariko(bool enable_log) { + volatile tegra_pmc_t *pmc = pmc_get_regs(); volatile tegra_car_t *car = car_get_regs(); /* Enable SE clock. */ @@ -390,14 +391,14 @@ void nx_hwinit_mariko(bool enable_log) { /* Set super clock burst policy. */ car->sclk_brst_pol = ((car->sclk_brst_pol & 0xFFFF8888) | 0x3333); - /* Mariko only PMC configuration. */ - MAKE_PMC_REG(0xBE8) &= 0xFFFFFFFE; - MAKE_PMC_REG(0xBF0) = 0x3; - MAKE_PMC_REG(0xBEC) = 0x3; - - /* Initialize SDRAM. */ - sdram_init_mariko(); + /* Mariko only PMC configuration for TZRAM. */ + pmc->tzram_pwr_cntrl &= 0xFFFFFFFE; + pmc->tzram_non_sec_disable = 0x3; + pmc->tzram_sec_disable = 0x3; /* Save SDRAM parameters to scratch. */ sdram_save_params_mariko(sdram_get_params_mariko(fuse_get_dram_id())); + + /* Initialize SDRAM. */ + sdram_init_mariko(); } \ No newline at end of file diff --git a/sept/sept-secondary/src/pmc.h b/sept/sept-secondary/src/pmc.h index 6fc009ff6..a287d85e7 100644 --- a/sept/sept-secondary/src/pmc.h +++ b/sept/sept-secondary/src/pmc.h @@ -66,556 +66,643 @@ #define APBDEV_PMC_SCRATCH33_0 MAKE_PMC_REG(0x120) #define APBDEV_PMC_SCRATCH40_0 MAKE_PMC_REG(0x13C) +/* Power Management Controller (APBDEV_PMC_) regs */ typedef struct { - uint32_t cntrl; - uint32_t sec_disable; - uint32_t pmc_swrst; - uint32_t wake_mask; - uint32_t wake_lvl; - uint32_t wake_status; - uint32_t sw_wake_status; - uint32_t dpd_pads_oride; - uint32_t dpd_sample; - uint32_t dpd_enable; - uint32_t pwrgate_timer_off; - uint32_t clamp_status; - uint32_t pwrgate_toggle; - uint32_t remove_clamping; - uint32_t pwrgate_status; - uint32_t pwrgood_timer; - uint32_t blink_timer; - uint32_t no_iopower; - uint32_t pwr_det; - uint32_t pwr_det_latch; - uint32_t scratch0; - uint32_t scratch1; - uint32_t scratch2; - uint32_t scratch3; - uint32_t scratch4; - uint32_t scratch5; - uint32_t scratch6; - uint32_t scratch7; - uint32_t scratch8; - uint32_t scratch9; - uint32_t scratch10; - uint32_t scratch11; - uint32_t scratch12; - uint32_t scratch13; - uint32_t scratch14; - uint32_t scratch15; - uint32_t scratch16; - uint32_t scratch17; - uint32_t scratch18; - uint32_t scratch19; - uint32_t scratch20; - uint32_t scratch21; - uint32_t scratch22; - uint32_t scratch23; - uint32_t secure_scratch0; - uint32_t secure_scratch1; - uint32_t secure_scratch2; - uint32_t secure_scratch3; - uint32_t secure_scratch4; - uint32_t secure_scratch5; - uint32_t cpupwrgood_timer; - uint32_t cpupwroff_timer; - uint32_t pg_mask; - uint32_t pg_mask_1; - uint32_t auto_wake_lvl; - uint32_t auto_wake_lvl_mask; - uint32_t wake_delay; - uint32_t pwr_det_val; - uint32_t ddr_pwr; - uint32_t usb_debounce_del; - uint32_t usb_ao; - uint32_t crypto_op; - uint32_t pllp_wb0_override; - uint32_t scratch24; - uint32_t scratch25; - uint32_t scratch26; - uint32_t scratch27; - uint32_t scratch28; - uint32_t scratch29; - uint32_t scratch30; - uint32_t scratch31; - uint32_t scratch32; - uint32_t scratch33; - uint32_t scratch34; - uint32_t scratch35; - uint32_t scratch36; - uint32_t scratch37; - uint32_t scratch38; - uint32_t scratch39; - uint32_t scratch40; - uint32_t scratch41; - uint32_t scratch42; - uint32_t bo_mirror0; - uint32_t bo_mirror1; - uint32_t bo_mirror2; - uint32_t sys_33v_en; - uint32_t bo_mirror_access; - uint32_t gate; - uint32_t wake2_mask; - uint32_t wake2_lvl; - uint32_t wake2_stat; - uint32_t sw_wake2_stat; - uint32_t auto_wake2_lvl_mask; - uint32_t pg_mask2; - uint32_t pg_mask_ce1; - uint32_t pg_mask_ce2; - uint32_t pg_mask_ce3; - uint32_t pwrgate_timer_ce0; - uint32_t pwrgate_timer_ce1; - uint32_t pwrgate_timer_ce2; - uint32_t pwrgate_timer_ce3; - uint32_t pwrgate_timer_ce4; - uint32_t pwrgate_timer_ce5; - uint32_t pwrgate_timer_ce6; - uint32_t pcx_edpd_cntrl; - uint32_t osc_edpd_over; - uint32_t clk_out_cntrl; - uint32_t sata_pwrgate; - uint32_t sensor_ctrl; - uint32_t reset_status; - uint32_t io_dpd_req; - uint32_t io_dpd_stat; - uint32_t io_dpd2_req; - uint32_t io_dpd2_stat; - uint32_t sel_dpd_tim; - uint32_t vddp_sel; - uint32_t ddr_cfg; - uint32_t e_no_vttgen; - uint32_t _reserved0; - uint32_t pllm_wb0_ovrride_frq; - uint32_t test_pwrgate; - uint32_t pwrgate_timer_mult; - uint32_t dsi_sel_dpd; - uint32_t utmip_uhsic_triggers; - uint32_t utmip_uhsic_saved_st; - uint32_t utmip_pad_cfg; - uint32_t utmip_term_pad_cfg; - uint32_t utmip_uhsic_sleep_cfg; - uint32_t utmip_uhsic_sleepwalk_cfg; - uint32_t utmip_sleepwalk_p[3]; - uint32_t uhsic_sleepwalk_p0; - uint32_t utmip_uhsic_status; - uint32_t utmip_uhsic_fake; - uint32_t bo_mirror3[2]; - uint32_t secure_scratch6; - uint32_t secure_scratch7; - uint32_t scratch43; - uint32_t scratch44; - uint32_t scratch45; - uint32_t scratch46; - uint32_t scratch47; - uint32_t scratch48; - uint32_t scratch49; - uint32_t scratch50; - uint32_t scratch51; - uint32_t scratch52; - uint32_t scratch53; - uint32_t scratch54; - uint32_t scratch55; - uint32_t scratch0_eco; - uint32_t por_dpd_ctrl; - uint32_t scratch2_eco; - uint32_t utmip_uhsic_line_wakeup; - uint32_t utmip_bias_master_cntrl; - uint32_t utmip_master_config; - uint32_t td_pwrgate_inter_part_timer; - uint32_t utmip_uhsic2_triggers; - uint32_t utmip_uhsic2_saved_state; - uint32_t utmip_uhsic2_sleep_cfg; - uint32_t utmip_uhsic2_sleepwalk_cfg; - uint32_t uhsic2_sleepwalk_p1; - uint32_t utmip_uhsic2_status; - uint32_t utmip_uhsic2_fake; - uint32_t utmip_uhsic2_line_wakeup; - uint32_t utmip_master2_config; - uint32_t utmip_uhsic_rpd_cfg; - uint32_t pg_mask_ce0; - uint32_t pg_mask3[2]; - uint32_t pllm_wb0_override2; - uint32_t tsc_mult; - uint32_t cpu_vsense_override; - uint32_t glb_amap_cfg; - uint32_t sticky_bits; - uint32_t sec_disable2; - uint32_t weak_bias; - uint32_t reg_short; - uint32_t pg_mask_andor; - uint32_t _reserved1[11]; - uint32_t secure_scratch8; - uint32_t secure_scratch9; - uint32_t secure_scratch10; - uint32_t secure_scratch11; - uint32_t secure_scratch12; - uint32_t secure_scratch13; - uint32_t secure_scratch14; - uint32_t secure_scratch15; - uint32_t secure_scratch16; - uint32_t secure_scratch17; - uint32_t secure_scratch18; - uint32_t secure_scratch19; - uint32_t secure_scratch20; - uint32_t secure_scratch21; - uint32_t secure_scratch22; - uint32_t secure_scratch23; - uint32_t secure_scratch24; - uint32_t secure_scratch25; - uint32_t secure_scratch26; - uint32_t secure_scratch27; - uint32_t secure_scratch28; - uint32_t secure_scratch29; - uint32_t secure_scratch30; - uint32_t secure_scratch31; - uint32_t secure_scratch32; - uint32_t secure_scratch33; - uint32_t secure_scratch34; - uint32_t secure_scratch35; - uint32_t secure_scratch36; - uint32_t secure_scratch37; - uint32_t secure_scratch38; - uint32_t secure_scratch39; - uint32_t secure_scratch40; - uint32_t secure_scratch41; - uint32_t secure_scratch42; - uint32_t secure_scratch43; - uint32_t secure_scratch44; - uint32_t secure_scratch45; - uint32_t secure_scratch46; - uint32_t secure_scratch47; - uint32_t secure_scratch48; - uint32_t secure_scratch49; - uint32_t secure_scratch50; - uint32_t secure_scratch51; - uint32_t secure_scratch52; - uint32_t secure_scratch53; - uint32_t secure_scratch54; - uint32_t secure_scratch55; - uint32_t secure_scratch56; - uint32_t secure_scratch57; - uint32_t secure_scratch58; - uint32_t secure_scratch59; - uint32_t secure_scratch60; - uint32_t secure_scratch61; - uint32_t secure_scratch62; - uint32_t secure_scratch63; - uint32_t secure_scratch64; - uint32_t secure_scratch65; - uint32_t secure_scratch66; - uint32_t secure_scratch67; - uint32_t secure_scratch68; - uint32_t secure_scratch69; - uint32_t secure_scratch70; - uint32_t secure_scratch71; - uint32_t secure_scratch72; - uint32_t secure_scratch73; - uint32_t secure_scratch74; - uint32_t secure_scratch75; - uint32_t secure_scratch76; - uint32_t secure_scratch77; - uint32_t secure_scratch78; - uint32_t secure_scratch79; - uint32_t _reserved2[8]; - uint32_t cntrl2; - uint32_t _reserved3[2]; - uint32_t event_counter; - uint32_t fuse_control; - uint32_t scratch1_eco; - uint32_t _reserved4; - uint32_t io_dpd3_req; - uint32_t io_dpd3_status; - uint32_t io_dpd4_req; - uint32_t io_dpd4_status; - uint32_t _reserved5[30]; - uint32_t ddr_cntrl; - uint32_t _reserved6[70]; - uint32_t scratch56; - uint32_t scratch57; - uint32_t scratch58; - uint32_t scratch59; - uint32_t scratch60; - uint32_t scratch61; - uint32_t scratch62; - uint32_t scratch63; - uint32_t scratch64; - uint32_t scratch65; - uint32_t scratch66; - uint32_t scratch67; - uint32_t scratch68; - uint32_t scratch69; - uint32_t scratch70; - uint32_t scratch71; - uint32_t scratch72; - uint32_t scratch73; - uint32_t scratch74; - uint32_t scratch75; - uint32_t scratch76; - uint32_t scratch77; - uint32_t scratch78; - uint32_t scratch79; - uint32_t scratch80; - uint32_t scratch81; - uint32_t scratch82; - uint32_t scratch83; - uint32_t scratch84; - uint32_t scratch85; - uint32_t scratch86; - uint32_t scratch87; - uint32_t scratch88; - uint32_t scratch89; - uint32_t scratch90; - uint32_t scratch91; - uint32_t scratch92; - uint32_t scratch93; - uint32_t scratch94; - uint32_t scratch95; - uint32_t scratch96; - uint32_t scratch97; - uint32_t scratch98; - uint32_t scratch99; - uint32_t scratch100; - uint32_t scratch101; - uint32_t scratch102; - uint32_t scratch103; - uint32_t scratch104; - uint32_t scratch105; - uint32_t scratch106; - uint32_t scratch107; - uint32_t scratch108; - uint32_t scratch109; - uint32_t scratch110; - uint32_t scratch111; - uint32_t scratch112; - uint32_t scratch113; - uint32_t scratch114; - uint32_t scratch115; - uint32_t scratch116; - uint32_t scratch117; - uint32_t scratch118; - uint32_t scratch119; - uint32_t scratch120; - uint32_t scratch121; - uint32_t scratch122; - uint32_t scratch123; - uint32_t scratch124; - uint32_t scratch125; - uint32_t scratch126; - uint32_t scratch127; - uint32_t scratch128; - uint32_t scratch129; - uint32_t scratch130; - uint32_t scratch131; - uint32_t scratch132; - uint32_t scratch133; - uint32_t scratch134; - uint32_t scratch135; - uint32_t scratch136; - uint32_t scratch137; - uint32_t scratch138; - uint32_t scratch139; - uint32_t scratch140; - uint32_t scratch141; - uint32_t scratch142; - uint32_t scratch143; - uint32_t scratch144; - uint32_t scratch145; - uint32_t scratch146; - uint32_t scratch147; - uint32_t scratch148; - uint32_t scratch149; - uint32_t scratch150; - uint32_t scratch151; - uint32_t scratch152; - uint32_t scratch153; - uint32_t scratch154; - uint32_t scratch155; - uint32_t scratch156; - uint32_t scratch157; - uint32_t scratch158; - uint32_t scratch159; - uint32_t scratch160; - uint32_t scratch161; - uint32_t scratch162; - uint32_t scratch163; - uint32_t scratch164; - uint32_t scratch165; - uint32_t scratch166; - uint32_t scratch167; - uint32_t scratch168; - uint32_t scratch169; - uint32_t scratch170; - uint32_t scratch171; - uint32_t scratch172; - uint32_t scratch173; - uint32_t scratch174; - uint32_t scratch175; - uint32_t scratch176; - uint32_t scratch177; - uint32_t scratch178; - uint32_t scratch179; - uint32_t scratch180; - uint32_t scratch181; - uint32_t scratch182; - uint32_t scratch183; - uint32_t scratch184; - uint32_t scratch185; - uint32_t scratch186; - uint32_t scratch187; - uint32_t scratch188; - uint32_t scratch189; - uint32_t scratch190; - uint32_t scratch191; - uint32_t scratch192; - uint32_t scratch193; - uint32_t scratch194; - uint32_t scratch195; - uint32_t scratch196; - uint32_t scratch197; - uint32_t scratch198; - uint32_t scratch199; - uint32_t scratch200; - uint32_t scratch201; - uint32_t scratch202; - uint32_t scratch203; - uint32_t scratch204; - uint32_t scratch205; - uint32_t scratch206; - uint32_t scratch207; - uint32_t scratch208; - uint32_t scratch209; - uint32_t scratch210; - uint32_t scratch211; - uint32_t scratch212; - uint32_t scratch213; - uint32_t scratch214; - uint32_t scratch215; - uint32_t scratch216; - uint32_t scratch217; - uint32_t scratch218; - uint32_t scratch219; - uint32_t scratch220; - uint32_t scratch221; - uint32_t scratch222; - uint32_t scratch223; - uint32_t scratch224; - uint32_t scratch225; - uint32_t scratch226; - uint32_t scratch227; - uint32_t scratch228; - uint32_t scratch229; - uint32_t scratch230; - uint32_t scratch231; - uint32_t scratch232; - uint32_t scratch233; - uint32_t scratch234; - uint32_t scratch235; - uint32_t scratch236; - uint32_t scratch237; - uint32_t scratch238; - uint32_t scratch239; - uint32_t scratch240; - uint32_t scratch241; - uint32_t scratch242; - uint32_t scratch243; - uint32_t scratch244; - uint32_t scratch245; - uint32_t scratch246; - uint32_t scratch247; - uint32_t scratch248; - uint32_t scratch249; - uint32_t scratch250; - uint32_t scratch251; - uint32_t scratch252; - uint32_t scratch253; - uint32_t scratch254; - uint32_t scratch255; - uint32_t scratch256; - uint32_t scratch257; - uint32_t scratch258; - uint32_t scratch259; - uint32_t scratch260; - uint32_t scratch261; - uint32_t scratch262; - uint32_t scratch263; - uint32_t scratch264; - uint32_t scratch265; - uint32_t scratch266; - uint32_t scratch267; - uint32_t scratch268; - uint32_t scratch269; - uint32_t scratch270; - uint32_t scratch271; - uint32_t scratch272; - uint32_t scratch273; - uint32_t scratch274; - uint32_t scratch275; - uint32_t scratch276; - uint32_t scratch277; - uint32_t scratch278; - uint32_t scratch279; - uint32_t scratch280; - uint32_t scratch281; - uint32_t scratch282; - uint32_t scratch283; - uint32_t scratch284; - uint32_t scratch285; - uint32_t scratch286; - uint32_t scratch287; - uint32_t scratch288; - uint32_t scratch289; - uint32_t scratch290; - uint32_t scratch291; - uint32_t scratch292; - uint32_t scratch293; - uint32_t scratch294; - uint32_t scratch295; - uint32_t scratch296; - uint32_t scratch297; - uint32_t scratch298; - uint32_t scratch299; - uint32_t _reserved7[50]; - uint32_t secure_scratch80; - uint32_t secure_scratch81; - uint32_t secure_scratch82; - uint32_t secure_scratch83; - uint32_t secure_scratch84; - uint32_t secure_scratch85; - uint32_t secure_scratch86; - uint32_t secure_scratch87; - uint32_t secure_scratch88; - uint32_t secure_scratch89; - uint32_t secure_scratch90; - uint32_t secure_scratch91; - uint32_t secure_scratch92; - uint32_t secure_scratch93; - uint32_t secure_scratch94; - uint32_t secure_scratch95; - uint32_t secure_scratch96; - uint32_t secure_scratch97; - uint32_t secure_scratch98; - uint32_t secure_scratch99; - uint32_t secure_scratch100; - uint32_t secure_scratch101; - uint32_t secure_scratch102; - uint32_t secure_scratch103; - uint32_t secure_scratch104; - uint32_t secure_scratch105; - uint32_t secure_scratch106; - uint32_t secure_scratch107; - uint32_t secure_scratch108; - uint32_t secure_scratch109; - uint32_t secure_scratch110; - uint32_t secure_scratch111; - uint32_t secure_scratch112; - uint32_t secure_scratch113; - uint32_t secure_scratch114; - uint32_t secure_scratch115; - uint32_t secure_scratch116; - uint32_t secure_scratch117; - uint32_t secure_scratch118; - uint32_t secure_scratch119; + uint32_t cntrl; /* _CNTRL_0, 0x00 */ + uint32_t sec_disable; /* _SEC_DISABLE_0, 0x04 */ + uint32_t pmc_swrst; /* _PMC_SWRST_0, 0x08 */ + uint32_t wake_mask; /* _WAKE_MASK_0, 0x0c */ + uint32_t wake_lvl; /* _WAKE_LVL_0, 0x10 */ + uint32_t wake_status; /* _WAKE_STATUS_0, 0x14 */ + uint32_t sw_wake_status; /* _SW_WAKE_STATUS_0, 0x18 */ + uint32_t dpd_pads_oride; /* _DPD_PADS_ORIDE_0, 0x1c */ + uint32_t dpd_sample; /* _DPD_SAMPLE_0, 0x20 */ + uint32_t dpd_enable; /* _DPD_ENABLE_0, 0x24 */ + uint32_t pwrgate_timer_off; /* _PWRGATE_TIMER_OFF_0, 0x28 */ + uint32_t clamp_status; /* _CLAMP_STATUS_0, 0x2c */ + uint32_t pwrgate_toggle; /* _PWRGATE_TOGGLE_0, 0x30 */ + uint32_t remove_clamping; /* _REMOVE_CLAMPING_0, 0x34 */ + uint32_t pwrgate_status; /* _PWRGATE_STATUS_0, 0x38 */ + uint32_t pwrgood_timer; /* _PWRGOOD_TIMER_0, 0x3c */ + uint32_t blink_timer; /* _BLINK_TIMER_0, 0x40 */ + uint32_t no_iopower; /* _NO_IOPOWER_0, 0x44 */ + uint32_t pwr_det; /* _PWR_DET_0, 0x48 */ + uint32_t pwr_det_latch; /* _PWR_DET_LATCH_0, 0x4c */ + uint32_t scratch0; /* _SCRATCH0_0, 0x50 */ + uint32_t scratch1; /* _SCRATCH1_0, 0x54 */ + uint32_t scratch2; /* _SCRATCH2_0, 0x58 */ + uint32_t scratch3; /* _SCRATCH3_0, 0x5c */ + uint32_t scratch4; /* _SCRATCH4_0, 0x60 */ + uint32_t scratch5; /* _SCRATCH5_0, 0x64 */ + uint32_t scratch6; /* _SCRATCH6_0, 0x68 */ + uint32_t scratch7; /* _SCRATCH7_0, 0x6c */ + uint32_t scratch8; /* _SCRATCH8_0, 0x70 */ + uint32_t scratch9; /* _SCRATCH9_0, 0x74 */ + uint32_t scratch10; /* _SCRATCH10_0, 0x78 */ + uint32_t scratch11; /* _SCRATCH11_0, 0x7c */ + uint32_t scratch12; /* _SCRATCH12_0, 0x80 */ + uint32_t scratch13; /* _SCRATCH13_0, 0x84 */ + uint32_t scratch14; /* _SCRATCH14_0, 0x88 */ + uint32_t scratch15; /* _SCRATCH15_0, 0x8c */ + uint32_t scratch16; /* _SCRATCH16_0, 0x90 */ + uint32_t scratch17; /* _SCRATCH17_0, 0x94 */ + uint32_t scratch18; /* _SCRATCH18_0, 0x98 */ + uint32_t scratch19; /* _SCRATCH19_0, 0x9c */ + uint32_t scratch20; /* _SCRATCH20_0, 0xa0 */ + uint32_t scratch21; /* _SCRATCH21_0, 0xa4 */ + uint32_t scratch22; /* _SCRATCH22_0, 0xa8 */ + uint32_t scratch23; /* _SCRATCH23_0, 0xac */ + uint32_t secure_scratch0; /* _SECURE_SCRATCH0_0, 0xb0 */ + uint32_t secure_scratch1; /* _SECURE_SCRATCH1_0, 0xb4 */ + uint32_t secure_scratch2; /* _SECURE_SCRATCH2_0, 0xb8 */ + uint32_t secure_scratch3; /* _SECURE_SCRATCH3_0, 0xbc */ + uint32_t secure_scratch4; /* _SECURE_SCRATCH4_0, 0xc0 */ + uint32_t secure_scratch5; /* _SECURE_SCRATCH5_0, 0xc4 */ + uint32_t cpupwrgood_timer; /* _CPUPWRGOOD_TIMER_0, 0xc8 */ + uint32_t cpupwroff_timer; /* _CPUPWROFF_TIMER_0, 0xcc */ + uint32_t pg_mask; /* _PG_MASK_0, 0xd0 */ + uint32_t pg_mask_1; /* _PG_MASK_1_0, 0xd4 */ + uint32_t auto_wake_lvl; /* _AUTO_WAKE_LVL_0, 0xd8 */ + uint32_t auto_wake_lvl_mask; /* _AUTO_WAKE_LVL_MASK_0, 0xdc */ + uint32_t wake_delay; /* _WAKE_DELAY_0, 0xe0 */ + uint32_t pwr_det_val; /* _PWR_DET_VAL_0, 0xe4 */ + uint32_t ddr_pwr; /* _DDR_PWR_0, 0xe8 */ + uint32_t usb_debounce_del; /* _USB_DEBOUNCE_DEL_0, 0xec */ + uint32_t usb_ao; /* _USB_AO_0, 0xf0 */ + uint32_t crypto_op; /* _CRYPTO_OP_0, 0xf4 */ + uint32_t pllp_wb0_override; /* _PLLP_WB0_OVERRIDE_0, 0xf8 */ + uint32_t scratch24; /* _SCRATCH24_0, 0xfc */ + uint32_t scratch25; /* _SCRATCH25_0, 0x100 */ + uint32_t scratch26; /* _SCRATCH26_0, 0x104 */ + uint32_t scratch27; /* _SCRATCH27_0, 0x108 */ + uint32_t scratch28; /* _SCRATCH28_0, 0x10c */ + uint32_t scratch29; /* _SCRATCH29_0, 0x110 */ + uint32_t scratch30; /* _SCRATCH30_0, 0x114 */ + uint32_t scratch31; /* _SCRATCH31_0, 0x118 */ + uint32_t scratch32; /* _SCRATCH32_0, 0x11c */ + uint32_t scratch33; /* _SCRATCH33_0, 0x120 */ + uint32_t scratch34; /* _SCRATCH34_0, 0x124 */ + uint32_t scratch35; /* _SCRATCH35_0, 0x128 */ + uint32_t scratch36; /* _SCRATCH36_0, 0x12c */ + uint32_t scratch37; /* _SCRATCH37_0, 0x130 */ + uint32_t scratch38; /* _SCRATCH38_0, 0x134 */ + uint32_t scratch39; /* _SCRATCH39_0, 0x138 */ + uint32_t scratch40; /* _SCRATCH40_0, 0x13c */ + uint32_t scratch41; /* _SCRATCH41_0, 0x140 */ + uint32_t scratch42; /* _SCRATCH42_0, 0x144 */ + uint32_t bondout_mirror0; /* _BONDOUT_MIRROR0_0, 0x148 */ + uint32_t bondout_mirror1; /* _BONDOUT_MIRROR1_0, 0x14c */ + uint32_t bondout_mirror2; /* _BONDOUT_MIRROR2_0, 0x150 */ + uint32_t sys_33v_en; /* _SYS_33V_EN_0, 0x154 */ + uint32_t bondout_mirror_access; /* _BONDOUT_MIRROR_ACCESS_0, 0x158 */ + uint32_t gate; /* _GATE_0, 0x15c */ + uint32_t wake2_mask; /* _WAKE2_MASK_0, 0x160 */ + uint32_t wake2_lvl; /* _WAKE2_LVL_0, 0x164 */ + uint32_t wake2_status; /* _WAKE2_STATUS_0, 0x168 */ + uint32_t sw_wake2_status; /* _SW_WAKE2_STATUS_0, 0x16c */ + uint32_t auto_wake2_lvl_mask; /* _AUTO_WAKE2_LVL_MASK_0, 0x170 */ + uint32_t pg_mask_2; /* _PG_MASK_2_0, 0x174 */ + uint32_t pg_mask_ce1; /* _PG_MASK_CE1_0, 0x178 */ + uint32_t pg_mask_ce2; /* _PG_MASK_CE2_0, 0x17c */ + uint32_t pg_mask_ce3; /* _PG_MASK_CE3_0, 0x180 */ + uint32_t pwrgate_timer_ce_0; /* _PWRGATE_TIMER_CE_0_0, 0x184 */ + uint32_t pwrgate_timer_ce_1; /* _PWRGATE_TIMER_CE_1_0, 0x188 */ + uint32_t pwrgate_timer_ce_2; /* _PWRGATE_TIMER_CE_2_0, 0x18c */ + uint32_t pwrgate_timer_ce_3; /* _PWRGATE_TIMER_CE_3_0, 0x190 */ + uint32_t pwrgate_timer_ce_4; /* _PWRGATE_TIMER_CE_4_0, 0x194 */ + uint32_t pwrgate_timer_ce_5; /* _PWRGATE_TIMER_CE_5_0, 0x198 */ + uint32_t pwrgate_timer_ce_6; /* _PWRGATE_TIMER_CE_6_0, 0x19c */ + uint32_t pcx_edpd_cntrl; /* _PCX_EDPD_CNTRL_0, 0x1a0 */ + uint32_t osc_edpd_over; /* _OSC_EDPD_OVER_0, 0x1a4 */ + uint32_t clk_out_cntrl; /* _CLK_OUT_CNTRL_0, 0x1a8 */ + uint32_t sata_pwrgt; /* _SATA_PWRGT_0, 0x1ac */ + uint32_t sensor_ctrl; /* _SENSOR_CTRL_0, 0x1b0 */ + uint32_t rst_status; /* _RST_STATUS_0, 0x1b4 */ + uint32_t io_dpd_req; /* _IO_DPD_REQ_0, 0x1b8 */ + uint32_t io_dpd_status; /* _IO_DPD_STATUS_0, 0x1bc */ + uint32_t io_dpd2_req; /* _IO_DPD2_REQ_0, 0x1c0 */ + uint32_t io_dpd2_status; /* _IO_DPD2_STATUS_0, 0x1c4 */ + uint32_t sel_dpd_tim; /* _SEL_DPD_TIM_0, 0x1c8 */ + uint32_t vddp_sel; /* _VDDP_SEL_0, 0x1cc */ + uint32_t ddr_cfg; /* _DDR_CFG_0, 0x1d0 */ + uint32_t _0x1d4[2]; + uint32_t pllm_wb0_override_freq; /* _PLLM_WB0_OVERRIDE_FREQ_0, 0x1dc */ + uint32_t _0x1e0; + uint32_t pwrgate_timer_mult; /* _PWRGATE_TIMER_MULT_0, 0x1e4 */ + uint32_t dsi_sel_dpd; /* _DSI_SEL_DPD_0, 0x1e8 */ + uint32_t utmip_uhsic_triggers; /* _UTMIP_UHSIC_TRIGGERS_0, 0x1ec */ + uint32_t utmip_uhsic_saved_state; /* _UTMIP_UHSIC_SAVED_STATE_0, 0x1f0 */ + uint32_t _0x1f4; + uint32_t utmip_term_pad_cfg; /* _UTMIP_TERM_PAD_CFG_0, 0x1f8 */ + uint32_t utmip_uhsic_sleep_cfg; /* _UTMIP_UHSIC_SLEEP_CFG_0, 0x1fc */ + uint32_t utmip_uhsic_sleepwalk_cfg; /* _UTMIP_UHSIC_SLEEPWALK_CFG_0, 0x200 */ + uint32_t utmip_sleepwalk_p0; /* _UTMIP_SLEEPWALK_P0_0, 0x204 */ + uint32_t utmip_sleepwalk_p1; /* _UTMIP_SLEEPWALK_P1_0, 0x208 */ + uint32_t utmip_sleepwalk_p2; /* _UTMIP_SLEEPWALK_P2_0, 0x20c */ + uint32_t uhsic_sleepwalk_p0; /* _UHSIC_SLEEPWALK_P0_0, 0x210 */ + uint32_t utmip_uhsic_status; /* _UTMIP_UHSIC_STATUS_0, 0x214 */ + uint32_t utmip_uhsic_fake; /* _UTMIP_UHSIC_FAKE_0, 0x218 */ + uint32_t bondout_mirror3; /* _BONDOUT_MIRROR3_0, 0x21c */ + uint32_t bondout_mirror4; /* _BONDOUT_MIRROR4_0, 0x220 */ + uint32_t secure_scratch6; /* _SECURE_SCRATCH6_0, 0x224 */ + uint32_t secure_scratch7; /* _SECURE_SCRATCH7_0, 0x228 */ + uint32_t scratch43; /* _SCRATCH43_0, 0x22c */ + uint32_t scratch44; /* _SCRATCH44_0, 0x230 */ + uint32_t scratch45; /* _SCRATCH45_0, 0x234 */ + uint32_t scratch46; /* _SCRATCH46_0, 0x238 */ + uint32_t scratch47; /* _SCRATCH47_0, 0x23c */ + uint32_t scratch48; /* _SCRATCH48_0, 0x240 */ + uint32_t scratch49; /* _SCRATCH49_0, 0x244 */ + uint32_t scratch50; /* _SCRATCH50_0, 0x248 */ + uint32_t scratch51; /* _SCRATCH51_0, 0x24c */ + uint32_t scratch52; /* _SCRATCH52_0, 0x250 */ + uint32_t scratch53; /* _SCRATCH53_0, 0x254 */ + uint32_t scratch54; /* _SCRATCH54_0, 0x258 */ + uint32_t scratch55; /* _SCRATCH55_0, 0x25c */ + uint32_t scratch0_eco; /* _SCRATCH0_ECO_0, 0x260 */ + uint32_t por_dpd_ctrl; /* _POR_DPD_CTRL_0, 0x264 */ + uint32_t scratch2_eco; /* _SCRATCH2_ECO_0, 0x268 */ + uint32_t utmip_uhsic_line_wakeup; /* _UTMIP_UHSIC_LINE_WAKEUP_0, 0x26c */ + uint32_t utmip_bias_master_cntrl; /* _UTMIP_BIAS_MASTER_CNTRL_0, 0x270 */ + uint32_t utmip_master_config; /* _UTMIP_MASTER_CONFIG_0, 0x274 */ + uint32_t td_pwrgate_inter_part_timer; /* _TD_PWRGATE_INTER_PART_TIMER_0, 0x278 */ + uint32_t utmip_uhsic2_triggers; /* _UTMIP_UHSIC2_TRIGGERS_0, 0x27c */ + uint32_t utmip_uhsic2_saved_state; /* _UTMIP_UHSIC2_SAVED_STATE_0, 0x280 */ + uint32_t utmip_uhsic2_sleep_cfg; /* _UTMIP_UHSIC2_SLEEP_CFG_0, 0x284 */ + uint32_t utmip_uhsic2_sleepwalk_cfg; /* _UTMIP_UHSIC2_SLEEPWALK_CFG_0, 0x288 */ + uint32_t uhsic2_sleepwalk_p1; /* _UHSIC2_SLEEPWALK_P1_0, 0x28c */ + uint32_t utmip_uhsic2_status; /* _UTMIP_UHSIC2_STATUS_0, 0x290 */ + uint32_t utmip_uhsic2_fake; /* _UTMIP_UHSIC2_FAKE_0, 0x294 */ + uint32_t utmip_uhsic2_line_wakeup; /* _UTMIP_UHSIC2_LINE_WAKEUP_0, 0x298 */ + uint32_t utmip_master2_config; /* _UTMIP_MASTER2_CONFIG_0, 0x29c */ + uint32_t utmip_uhsic_rpd_cfg; /* _UTMIP_UHSIC_RPD_CFG_0, 0x2a0 */ + uint32_t pg_mask_ce0; /* _PG_MASK_CE0_0, 0x2a4 */ + uint32_t pg_mask_3; /* _PG_MASK_3_0, 0x2a8 */ + uint32_t pg_mask_4; /* _PG_MASK_4_0, 0x2ac */ + uint32_t pllm_wb0_override2; /* _PLLM_WB0_OVERRIDE2_0, 0x2b0 */ + uint32_t tsc_mult; /* _TSC_MULT_0, 0x2b4 */ + uint32_t cpu_vsense_override; /* _CPU_VSENSE_OVERRIDE_0, 0x2b8 */ + uint32_t glb_amap_cfg; /* _GLB_AMAP_CFG_0, 0x2bc */ + uint32_t sticky_bits; /* _STICKY_BITS_0, 0x2c0 */ + uint32_t sec_disable2; /* _SEC_DISABLE2_0, 0x2c4 */ + uint32_t weak_bias; /* _WEAK_BIAS_0, 0x2c8 */ + uint32_t reg_short; /* _REG_SHORT_0, 0x2cc */ + uint32_t pg_mask_andor; /* _PG_MASK_ANDOR_0, 0x2d0 */ + uint32_t gpu_rg_cntrl; /* _GPU_RG_CNTRL_0, 0x2d4 */ + uint32_t sec_disable3; /* _SEC_DISABLE3_0, 0x2d8 */ + uint32_t pg_mask_5; /* _PG_MASK_5_0, 0x2dc */ + uint32_t pg_mask_6; /* _PG_MASK_6_0, 0x2e0 */ + uint32_t _0x2e4[7]; + uint32_t secure_scratch8; /* _SECURE_SCRATCH8_0, 0x300 */ + uint32_t secure_scratch9; /* _SECURE_SCRATCH9_0, 0x304 */ + uint32_t secure_scratch10; /* _SECURE_SCRATCH10_0, 0x308 */ + uint32_t secure_scratch11; /* _SECURE_SCRATCH11_0, 0x30c */ + uint32_t secure_scratch12; /* _SECURE_SCRATCH12_0, 0x310 */ + uint32_t secure_scratch13; /* _SECURE_SCRATCH13_0, 0x314 */ + uint32_t secure_scratch14; /* _SECURE_SCRATCH14_0, 0x318 */ + uint32_t secure_scratch15; /* _SECURE_SCRATCH15_0, 0x31c */ + uint32_t secure_scratch16; /* _SECURE_SCRATCH16_0, 0x320 */ + uint32_t secure_scratch17; /* _SECURE_SCRATCH17_0, 0x324 */ + uint32_t secure_scratch18; /* _SECURE_SCRATCH18_0, 0x328 */ + uint32_t secure_scratch19; /* _SECURE_SCRATCH19_0, 0x32c */ + uint32_t secure_scratch20; /* _SECURE_SCRATCH20_0, 0x330 */ + uint32_t secure_scratch21; /* _SECURE_SCRATCH21_0, 0x334 */ + uint32_t secure_scratch22; /* _SECURE_SCRATCH22_0, 0x338 */ + uint32_t secure_scratch23; /* _SECURE_SCRATCH23_0, 0x33c */ + uint32_t secure_scratch24; /* _SECURE_SCRATCH24_0, 0x340 */ + uint32_t secure_scratch25; /* _SECURE_SCRATCH25_0, 0x344 */ + uint32_t secure_scratch26; /* _SECURE_SCRATCH26_0, 0x348 */ + uint32_t secure_scratch27; /* _SECURE_SCRATCH27_0, 0x34c */ + uint32_t secure_scratch28; /* _SECURE_SCRATCH28_0, 0x350 */ + uint32_t secure_scratch29; /* _SECURE_SCRATCH29_0, 0x354 */ + uint32_t secure_scratch30; /* _SECURE_SCRATCH30_0, 0x358 */ + uint32_t secure_scratch31; /* _SECURE_SCRATCH31_0, 0x35c */ + uint32_t secure_scratch32; /* _SECURE_SCRATCH32_0, 0x360 */ + uint32_t secure_scratch33; /* _SECURE_SCRATCH33_0, 0x364 */ + uint32_t secure_scratch34; /* _SECURE_SCRATCH34_0, 0x368 */ + uint32_t secure_scratch35; /* _SECURE_SCRATCH35_0, 0x36c */ + uint32_t secure_scratch36; /* _SECURE_SCRATCH36_0, 0x370 */ + uint32_t secure_scratch37; /* _SECURE_SCRATCH37_0, 0x374 */ + uint32_t secure_scratch38; /* _SECURE_SCRATCH38_0, 0x378 */ + uint32_t secure_scratch39; /* _SECURE_SCRATCH39_0, 0x37c */ + uint32_t secure_scratch40; /* _SECURE_SCRATCH40_0, 0x380 */ + uint32_t secure_scratch41; /* _SECURE_SCRATCH41_0, 0x384 */ + uint32_t secure_scratch42; /* _SECURE_SCRATCH42_0, 0x388 */ + uint32_t secure_scratch43; /* _SECURE_SCRATCH43_0, 0x38c */ + uint32_t secure_scratch44; /* _SECURE_SCRATCH44_0, 0x390 */ + uint32_t secure_scratch45; /* _SECURE_SCRATCH45_0, 0x394 */ + uint32_t secure_scratch46; /* _SECURE_SCRATCH46_0, 0x398 */ + uint32_t secure_scratch47; /* _SECURE_SCRATCH47_0, 0x39c */ + uint32_t secure_scratch48; /* _SECURE_SCRATCH48_0, 0x3a0 */ + uint32_t secure_scratch49; /* _SECURE_SCRATCH49_0, 0x3a4 */ + uint32_t secure_scratch50; /* _SECURE_SCRATCH50_0, 0x3a8 */ + uint32_t secure_scratch51; /* _SECURE_SCRATCH51_0, 0x3ac */ + uint32_t secure_scratch52; /* _SECURE_SCRATCH52_0, 0x3b0 */ + uint32_t secure_scratch53; /* _SECURE_SCRATCH53_0, 0x3b4 */ + uint32_t secure_scratch54; /* _SECURE_SCRATCH54_0, 0x3b8 */ + uint32_t secure_scratch55; /* _SECURE_SCRATCH55_0, 0x3bc */ + uint32_t secure_scratch56; /* _SECURE_SCRATCH56_0, 0x3c0 */ + uint32_t secure_scratch57; /* _SECURE_SCRATCH57_0, 0x3c4 */ + uint32_t secure_scratch58; /* _SECURE_SCRATCH58_0, 0x3c8 */ + uint32_t secure_scratch59; /* _SECURE_SCRATCH59_0, 0x3cc */ + uint32_t secure_scratch60; /* _SECURE_SCRATCH60_0, 0x3d0 */ + uint32_t secure_scratch61; /* _SECURE_SCRATCH61_0, 0x3d4 */ + uint32_t secure_scratch62; /* _SECURE_SCRATCH62_0, 0x3d8 */ + uint32_t secure_scratch63; /* _SECURE_SCRATCH63_0, 0x3dc */ + uint32_t secure_scratch64; /* _SECURE_SCRATCH64_0, 0x3e0 */ + uint32_t secure_scratch65; /* _SECURE_SCRATCH65_0, 0x3e4 */ + uint32_t secure_scratch66; /* _SECURE_SCRATCH66_0, 0x3e8 */ + uint32_t secure_scratch67; /* _SECURE_SCRATCH67_0, 0x3ec */ + uint32_t secure_scratch68; /* _SECURE_SCRATCH68_0, 0x3f0 */ + uint32_t secure_scratch69; /* _SECURE_SCRATCH69_0, 0x3f4 */ + uint32_t secure_scratch70; /* _SECURE_SCRATCH70_0, 0x3f8 */ + uint32_t secure_scratch71; /* _SECURE_SCRATCH71_0, 0x3fc */ + uint32_t secure_scratch72; /* _SECURE_SCRATCH72_0, 0x400 */ + uint32_t secure_scratch73; /* _SECURE_SCRATCH73_0, 0x404 */ + uint32_t secure_scratch74; /* _SECURE_SCRATCH74_0, 0x408 */ + uint32_t secure_scratch75; /* _SECURE_SCRATCH75_0, 0x40c */ + uint32_t secure_scratch76; /* _SECURE_SCRATCH76_0, 0x410 */ + uint32_t secure_scratch77; /* _SECURE_SCRATCH77_0, 0x414 */ + uint32_t secure_scratch78; /* _SECURE_SCRATCH78_0, 0x418 */ + uint32_t secure_scratch79; /* _SECURE_SCRATCH79_0, 0x41c */ + uint32_t _0x420[8]; + uint32_t cntrl2; /* _CNTRL2_0, 0x440 */ + uint32_t io_dpd_off_mask; /* _IO_DPD_OFF_MASK_0, 0x444 */ + uint32_t io_dpd2_off_mask; /* _IO_DPD2_OFF_MASK_0, 0x448 */ + uint32_t event_counter; /* _EVENT_COUNTER_0, 0x44c */ + uint32_t fuse_control; /* _FUSE_CONTROL_0, 0x450 */ + uint32_t scratch1_eco; /* _SCRATCH1_ECO_0, 0x454 */ + uint32_t _0x458; + uint32_t io_dpd3_req; /* _IO_DPD3_REQ_0, 0x45c */ + uint32_t io_dpd3_status; /* _IO_DPD3_STATUS_0, 0x460 */ + uint32_t io_dpd4_req; /* _IO_DPD4_REQ_0, 0x464 */ + uint32_t io_dpd4_status; /* _IO_DPD4_STATUS_0, 0x468 */ + uint32_t _0x46c[2]; + uint32_t direct_thermtrip_cfg; /* _DIRECT_THERMTRIP_CFG_0, 0x474 */ + uint32_t tsosc_delay; /* _TSOSC_DELAY_0, 0x478 */ + uint32_t set_sw_clamp; /* _SET_SW_CLAMP_0, 0x47c */ + uint32_t debug_authentication; /* _DEBUG_AUTHENTICATION_0, 0x480 */ + uint32_t aotag_cfg; /* _AOTAG_CFG_0, 0x484 */ + uint32_t aotag_thresh1_cfg; /* _AOTAG_THRESH1_CFG_0, 0x488 */ + uint32_t aotag_thresh2_cfg; /* _AOTAG_THRESH2_CFG_0, 0x48c */ + uint32_t aotag_thresh3_cfg; /* _AOTAG_THRESH3_CFG_0, 0x490 */ + uint32_t aotag_status; /* _AOTAG_STATUS_0, 0x494 */ + uint32_t aotag_security; /* _AOTAG_SECURITY_0, 0x498 */ + uint32_t tsensor_config0; /* _TSENSOR_CONFIG0_0, 0x49c */ + uint32_t tsensor_config1; /* _TSENSOR_CONFIG1_0, 0x4a0 */ + uint32_t tsensor_config2; /* _TSENSOR_CONFIG2_0, 0x4a4 */ + uint32_t tsensor_status0; /* _TSENSOR_STATUS0_0, 0x4a8 */ + uint32_t tsensor_status1; /* _TSENSOR_STATUS1_0, 0x4ac */ + uint32_t tsensor_status2; /* _TSENSOR_STATUS2_0, 0x4b0 */ + uint32_t tsensor_pdiv; /* _TSENSOR_PDIV_0, 0x4b4 */ + uint32_t aotag_intr_en; /* _AOTAG_INTR_EN_0, 0x4b8 */ + uint32_t aotag_intr_dis; /* _AOTAG_INTR_DIS_0, 0x4bc */ + uint32_t utmip_pad_cfg0; /* _UTMIP_PAD_CFG0_0, 0x4c0 */ + uint32_t utmip_pad_cfg1; /* _UTMIP_PAD_CFG1_0, 0x4c4 */ + uint32_t utmip_pad_cfg2; /* _UTMIP_PAD_CFG2_0, 0x4c8 */ + uint32_t utmip_pad_cfg3; /* _UTMIP_PAD_CFG3_0, 0x4cc */ + uint32_t utmip_uhsic_sleep_cfg1; /* _UTMIP_UHSIC_SLEEP_CFG1_0, 0x4d0 */ + uint32_t cc4_hvc_control; /* _CC4_HVC_CONTROL_0, 0x4d4 */ + uint32_t wake_debounce_en; /* _WAKE_DEBOUNCE_EN_0, 0x4d8 */ + uint32_t ramdump_ctl_status; /* _RAMDUMP_CTL_STATUS_0, 0x4dc */ + uint32_t utmip_sleepwalk_p3; /* _UTMIP_SLEEPWALK_P3_0, 0x4e0 */ + uint32_t ddr_cntrl; /* _DDR_CNTRL_0, 0x4e4 */ + uint32_t _0x4e8[50]; + uint32_t sec_disable4; /* _SEC_DISABLE4_0, 0x5b0 */ + uint32_t sec_disable5; /* _SEC_DISABLE5_0, 0x5b4 */ + uint32_t sec_disable6; /* _SEC_DISABLE6_0, 0x5b8 */ + uint32_t sec_disable7; /* _SEC_DISABLE7_0, 0x5bc */ + uint32_t sec_disable8; /* _SEC_DISABLE8_0, 0x5c0 */ + uint32_t sec_disable9; /* _SEC_DISABLE9_0, 0x5c4 */ + uint32_t sec_disable10; /* _SEC_DISABLE10_0, 0x5c8 */ + uint32_t _0x5cc[13]; + uint32_t scratch56; /* _SCRATCH56_0, 0x600 */ + uint32_t scratch57; /* _SCRATCH57_0, 0x604 */ + uint32_t scratch58; /* _SCRATCH58_0, 0x608 */ + uint32_t scratch59; /* _SCRATCH59_0, 0x60c */ + uint32_t scratch60; /* _SCRATCH60_0, 0x610 */ + uint32_t scratch61; /* _SCRATCH61_0, 0x614 */ + uint32_t scratch62; /* _SCRATCH62_0, 0x618 */ + uint32_t scratch63; /* _SCRATCH63_0, 0x61c */ + uint32_t scratch64; /* _SCRATCH64_0, 0x620 */ + uint32_t scratch65; /* _SCRATCH65_0, 0x624 */ + uint32_t scratch66; /* _SCRATCH66_0, 0x628 */ + uint32_t scratch67; /* _SCRATCH67_0, 0x62c */ + uint32_t scratch68; /* _SCRATCH68_0, 0x630 */ + uint32_t scratch69; /* _SCRATCH69_0, 0x634 */ + uint32_t scratch70; /* _SCRATCH70_0, 0x638 */ + uint32_t scratch71; /* _SCRATCH71_0, 0x63c */ + uint32_t scratch72; /* _SCRATCH72_0, 0x640 */ + uint32_t scratch73; /* _SCRATCH73_0, 0x644 */ + uint32_t scratch74; /* _SCRATCH74_0, 0x648 */ + uint32_t scratch75; /* _SCRATCH75_0, 0x64c */ + uint32_t scratch76; /* _SCRATCH76_0, 0x650 */ + uint32_t scratch77; /* _SCRATCH77_0, 0x654 */ + uint32_t scratch78; /* _SCRATCH78_0, 0x658 */ + uint32_t scratch79; /* _SCRATCH79_0, 0x65c */ + uint32_t scratch80; /* _SCRATCH80_0, 0x660 */ + uint32_t scratch81; /* _SCRATCH81_0, 0x664 */ + uint32_t scratch82; /* _SCRATCH82_0, 0x668 */ + uint32_t scratch83; /* _SCRATCH83_0, 0x66c */ + uint32_t scratch84; /* _SCRATCH84_0, 0x670 */ + uint32_t scratch85; /* _SCRATCH85_0, 0x674 */ + uint32_t scratch86; /* _SCRATCH86_0, 0x678 */ + uint32_t scratch87; /* _SCRATCH87_0, 0x67c */ + uint32_t scratch88; /* _SCRATCH88_0, 0x680 */ + uint32_t scratch89; /* _SCRATCH89_0, 0x684 */ + uint32_t scratch90; /* _SCRATCH90_0, 0x688 */ + uint32_t scratch91; /* _SCRATCH91_0, 0x68c */ + uint32_t scratch92; /* _SCRATCH92_0, 0x690 */ + uint32_t scratch93; /* _SCRATCH93_0, 0x694 */ + uint32_t scratch94; /* _SCRATCH94_0, 0x698 */ + uint32_t scratch95; /* _SCRATCH95_0, 0x69c */ + uint32_t scratch96; /* _SCRATCH96_0, 0x6a0 */ + uint32_t scratch97; /* _SCRATCH97_0, 0x6a4 */ + uint32_t scratch98; /* _SCRATCH98_0, 0x6a8 */ + uint32_t scratch99; /* _SCRATCH99_0, 0x6ac */ + uint32_t scratch100; /* _SCRATCH100_0, 0x6b0 */ + uint32_t scratch101; /* _SCRATCH101_0, 0x6b4 */ + uint32_t scratch102; /* _SCRATCH102_0, 0x6b8 */ + uint32_t scratch103; /* _SCRATCH103_0, 0x6bc */ + uint32_t scratch104; /* _SCRATCH104_0, 0x6c0 */ + uint32_t scratch105; /* _SCRATCH105_0, 0x6c4 */ + uint32_t scratch106; /* _SCRATCH106_0, 0x6c8 */ + uint32_t scratch107; /* _SCRATCH107_0, 0x6cc */ + uint32_t scratch108; /* _SCRATCH108_0, 0x6d0 */ + uint32_t scratch109; /* _SCRATCH109_0, 0x6d4 */ + uint32_t scratch110; /* _SCRATCH110_0, 0x6d8 */ + uint32_t scratch111; /* _SCRATCH111_0, 0x6dc */ + uint32_t scratch112; /* _SCRATCH112_0, 0x6e0 */ + uint32_t scratch113; /* _SCRATCH113_0, 0x6e4 */ + uint32_t scratch114; /* _SCRATCH114_0, 0x6e8 */ + uint32_t scratch115; /* _SCRATCH115_0, 0x6ec */ + uint32_t scratch116; /* _SCRATCH116_0, 0x6f0 */ + uint32_t scratch117; /* _SCRATCH117_0, 0x6f4 */ + uint32_t scratch118; /* _SCRATCH118_0, 0x6f8 */ + uint32_t scratch119; /* _SCRATCH119_0, 0x6fc */ + uint32_t scratch120; /* _SCRATCH120_0, 0x700 */ + uint32_t scratch121; /* _SCRATCH121_0, 0x704 */ + uint32_t scratch122; /* _SCRATCH122_0, 0x708 */ + uint32_t scratch123; /* _SCRATCH123_0, 0x70c */ + uint32_t scratch124; /* _SCRATCH124_0, 0x710 */ + uint32_t scratch125; /* _SCRATCH125_0, 0x714 */ + uint32_t scratch126; /* _SCRATCH126_0, 0x718 */ + uint32_t scratch127; /* _SCRATCH127_0, 0x71c */ + uint32_t scratch128; /* _SCRATCH128_0, 0x720 */ + uint32_t scratch129; /* _SCRATCH129_0, 0x724 */ + uint32_t scratch130; /* _SCRATCH130_0, 0x728 */ + uint32_t scratch131; /* _SCRATCH131_0, 0x72c */ + uint32_t scratch132; /* _SCRATCH132_0, 0x730 */ + uint32_t scratch133; /* _SCRATCH133_0, 0x734 */ + uint32_t scratch134; /* _SCRATCH134_0, 0x738 */ + uint32_t scratch135; /* _SCRATCH135_0, 0x73c */ + uint32_t scratch136; /* _SCRATCH136_0, 0x740 */ + uint32_t scratch137; /* _SCRATCH137_0, 0x744 */ + uint32_t scratch138; /* _SCRATCH138_0, 0x748 */ + uint32_t scratch139; /* _SCRATCH139_0, 0x74c */ + uint32_t scratch140; /* _SCRATCH140_0, 0x750 */ + uint32_t scratch141; /* _SCRATCH141_0, 0x754 */ + uint32_t scratch142; /* _SCRATCH142_0, 0x758 */ + uint32_t scratch143; /* _SCRATCH143_0, 0x75c */ + uint32_t scratch144; /* _SCRATCH144_0, 0x760 */ + uint32_t scratch145; /* _SCRATCH145_0, 0x764 */ + uint32_t scratch146; /* _SCRATCH146_0, 0x768 */ + uint32_t scratch147; /* _SCRATCH147_0, 0x76c */ + uint32_t scratch148; /* _SCRATCH148_0, 0x770 */ + uint32_t scratch149; /* _SCRATCH149_0, 0x774 */ + uint32_t scratch150; /* _SCRATCH150_0, 0x778 */ + uint32_t scratch151; /* _SCRATCH151_0, 0x77c */ + uint32_t scratch152; /* _SCRATCH152_0, 0x780 */ + uint32_t scratch153; /* _SCRATCH153_0, 0x784 */ + uint32_t scratch154; /* _SCRATCH154_0, 0x788 */ + uint32_t scratch155; /* _SCRATCH155_0, 0x78c */ + uint32_t scratch156; /* _SCRATCH156_0, 0x790 */ + uint32_t scratch157; /* _SCRATCH157_0, 0x794 */ + uint32_t scratch158; /* _SCRATCH158_0, 0x798 */ + uint32_t scratch159; /* _SCRATCH159_0, 0x79c */ + uint32_t scratch160; /* _SCRATCH160_0, 0x7a0 */ + uint32_t scratch161; /* _SCRATCH161_0, 0x7a4 */ + uint32_t scratch162; /* _SCRATCH162_0, 0x7a8 */ + uint32_t scratch163; /* _SCRATCH163_0, 0x7ac */ + uint32_t scratch164; /* _SCRATCH164_0, 0x7b0 */ + uint32_t scratch165; /* _SCRATCH165_0, 0x7b4 */ + uint32_t scratch166; /* _SCRATCH166_0, 0x7b8 */ + uint32_t scratch167; /* _SCRATCH167_0, 0x7bc */ + uint32_t scratch168; /* _SCRATCH168_0, 0x7c0 */ + uint32_t scratch169; /* _SCRATCH169_0, 0x7c4 */ + uint32_t scratch170; /* _SCRATCH170_0, 0x7c8 */ + uint32_t scratch171; /* _SCRATCH171_0, 0x7cc */ + uint32_t scratch172; /* _SCRATCH172_0, 0x7d0 */ + uint32_t scratch173; /* _SCRATCH173_0, 0x7d4 */ + uint32_t scratch174; /* _SCRATCH174_0, 0x7d8 */ + uint32_t scratch175; /* _SCRATCH175_0, 0x7dc */ + uint32_t scratch176; /* _SCRATCH176_0, 0x7e0 */ + uint32_t scratch177; /* _SCRATCH177_0, 0x7e4 */ + uint32_t scratch178; /* _SCRATCH178_0, 0x7e8 */ + uint32_t scratch179; /* _SCRATCH179_0, 0x7ec */ + uint32_t scratch180; /* _SCRATCH180_0, 0x7f0 */ + uint32_t scratch181; /* _SCRATCH181_0, 0x7f4 */ + uint32_t scratch182; /* _SCRATCH182_0, 0x7f8 */ + uint32_t scratch183; /* _SCRATCH183_0, 0x7fc */ + uint32_t scratch184; /* _SCRATCH184_0, 0x800 */ + uint32_t scratch185; /* _SCRATCH185_0, 0x804 */ + uint32_t scratch186; /* _SCRATCH186_0, 0x808 */ + uint32_t scratch187; /* _SCRATCH187_0, 0x80c */ + uint32_t scratch188; /* _SCRATCH188_0, 0x810 */ + uint32_t scratch189; /* _SCRATCH189_0, 0x814 */ + uint32_t scratch190; /* _SCRATCH190_0, 0x818 */ + uint32_t scratch191; /* _SCRATCH191_0, 0x81c */ + uint32_t scratch192; /* _SCRATCH192_0, 0x820 */ + uint32_t scratch193; /* _SCRATCH193_0, 0x824 */ + uint32_t scratch194; /* _SCRATCH194_0, 0x828 */ + uint32_t scratch195; /* _SCRATCH195_0, 0x82c */ + uint32_t scratch196; /* _SCRATCH196_0, 0x830 */ + uint32_t scratch197; /* _SCRATCH197_0, 0x834 */ + uint32_t scratch198; /* _SCRATCH198_0, 0x838 */ + uint32_t scratch199; /* _SCRATCH199_0, 0x83c */ + uint32_t scratch200; /* _SCRATCH200_0, 0x840 */ + uint32_t scratch201; /* _SCRATCH201_0, 0x844 */ + uint32_t scratch202; /* _SCRATCH202_0, 0x848 */ + uint32_t scratch203; /* _SCRATCH203_0, 0x84c */ + uint32_t scratch204; /* _SCRATCH204_0, 0x850 */ + uint32_t scratch205; /* _SCRATCH205_0, 0x854 */ + uint32_t scratch206; /* _SCRATCH206_0, 0x858 */ + uint32_t scratch207; /* _SCRATCH207_0, 0x85c */ + uint32_t scratch208; /* _SCRATCH208_0, 0x860 */ + uint32_t scratch209; /* _SCRATCH209_0, 0x864 */ + uint32_t scratch210; /* _SCRATCH210_0, 0x868 */ + uint32_t scratch211; /* _SCRATCH211_0, 0x86c */ + uint32_t scratch212; /* _SCRATCH212_0, 0x870 */ + uint32_t scratch213; /* _SCRATCH213_0, 0x874 */ + uint32_t scratch214; /* _SCRATCH214_0, 0x878 */ + uint32_t scratch215; /* _SCRATCH215_0, 0x87c */ + uint32_t scratch216; /* _SCRATCH216_0, 0x880 */ + uint32_t scratch217; /* _SCRATCH217_0, 0x884 */ + uint32_t scratch218; /* _SCRATCH218_0, 0x888 */ + uint32_t scratch219; /* _SCRATCH219_0, 0x88c */ + uint32_t scratch220; /* _SCRATCH220_0, 0x890 */ + uint32_t scratch221; /* _SCRATCH221_0, 0x894 */ + uint32_t scratch222; /* _SCRATCH222_0, 0x898 */ + uint32_t scratch223; /* _SCRATCH223_0, 0x89c */ + uint32_t scratch224; /* _SCRATCH224_0, 0x8a0 */ + uint32_t scratch225; /* _SCRATCH225_0, 0x8a4 */ + uint32_t scratch226; /* _SCRATCH226_0, 0x8a8 */ + uint32_t scratch227; /* _SCRATCH227_0, 0x8ac */ + uint32_t scratch228; /* _SCRATCH228_0, 0x8b0 */ + uint32_t scratch229; /* _SCRATCH229_0, 0x8b4 */ + uint32_t scratch230; /* _SCRATCH230_0, 0x8b8 */ + uint32_t scratch231; /* _SCRATCH231_0, 0x8bc */ + uint32_t scratch232; /* _SCRATCH232_0, 0x8c0 */ + uint32_t scratch233; /* _SCRATCH233_0, 0x8c4 */ + uint32_t scratch234; /* _SCRATCH234_0, 0x8c8 */ + uint32_t scratch235; /* _SCRATCH235_0, 0x8cc */ + uint32_t scratch236; /* _SCRATCH236_0, 0x8d0 */ + uint32_t scratch237; /* _SCRATCH237_0, 0x8d4 */ + uint32_t scratch238; /* _SCRATCH238_0, 0x8d8 */ + uint32_t scratch239; /* _SCRATCH239_0, 0x8dc */ + uint32_t scratch240; /* _SCRATCH240_0, 0x8e0 */ + uint32_t scratch241; /* _SCRATCH241_0, 0x8e4 */ + uint32_t scratch242; /* _SCRATCH242_0, 0x8e8 */ + uint32_t scratch243; /* _SCRATCH243_0, 0x8ec */ + uint32_t scratch244; /* _SCRATCH244_0, 0x8f0 */ + uint32_t scratch245; /* _SCRATCH245_0, 0x8f4 */ + uint32_t scratch246; /* _SCRATCH246_0, 0x8f8 */ + uint32_t scratch247; /* _SCRATCH247_0, 0x8fc */ + uint32_t scratch248; /* _SCRATCH248_0, 0x900 */ + uint32_t scratch249; /* _SCRATCH249_0, 0x904 */ + uint32_t scratch250; /* _SCRATCH250_0, 0x908 */ + uint32_t scratch251; /* _SCRATCH251_0, 0x90c */ + uint32_t scratch252; /* _SCRATCH252_0, 0x910 */ + uint32_t scratch253; /* _SCRATCH253_0, 0x914 */ + uint32_t scratch254; /* _SCRATCH254_0, 0x918 */ + uint32_t scratch255; /* _SCRATCH255_0, 0x91c */ + uint32_t scratch256; /* _SCRATCH256_0, 0x920 */ + uint32_t scratch257; /* _SCRATCH257_0, 0x924 */ + uint32_t scratch258; /* _SCRATCH258_0, 0x928 */ + uint32_t scratch259; /* _SCRATCH259_0, 0x92c */ + uint32_t scratch260; /* _SCRATCH260_0, 0x930 */ + uint32_t scratch261; /* _SCRATCH261_0, 0x934 */ + uint32_t scratch262; /* _SCRATCH262_0, 0x938 */ + uint32_t scratch263; /* _SCRATCH263_0, 0x93c */ + uint32_t scratch264; /* _SCRATCH264_0, 0x940 */ + uint32_t scratch265; /* _SCRATCH265_0, 0x944 */ + uint32_t scratch266; /* _SCRATCH266_0, 0x948 */ + uint32_t scratch267; /* _SCRATCH267_0, 0x94c */ + uint32_t scratch268; /* _SCRATCH268_0, 0x950 */ + uint32_t scratch269; /* _SCRATCH269_0, 0x954 */ + uint32_t scratch270; /* _SCRATCH270_0, 0x958 */ + uint32_t scratch271; /* _SCRATCH271_0, 0x95c */ + uint32_t scratch272; /* _SCRATCH272_0, 0x960 */ + uint32_t scratch273; /* _SCRATCH273_0, 0x964 */ + uint32_t scratch274; /* _SCRATCH274_0, 0x968 */ + uint32_t scratch275; /* _SCRATCH275_0, 0x96c */ + uint32_t scratch276; /* _SCRATCH276_0, 0x970 */ + uint32_t scratch277; /* _SCRATCH277_0, 0x974 */ + uint32_t scratch278; /* _SCRATCH278_0, 0x978 */ + uint32_t scratch279; /* _SCRATCH279_0, 0x97c */ + uint32_t scratch280; /* _SCRATCH280_0, 0x980 */ + uint32_t scratch281; /* _SCRATCH281_0, 0x984 */ + uint32_t scratch282; /* _SCRATCH282_0, 0x988 */ + uint32_t scratch283; /* _SCRATCH283_0, 0x98c */ + uint32_t scratch284; /* _SCRATCH284_0, 0x990 */ + uint32_t scratch285; /* _SCRATCH285_0, 0x994 */ + uint32_t scratch286; /* _SCRATCH286_0, 0x998 */ + uint32_t scratch287; /* _SCRATCH287_0, 0x99c */ + uint32_t scratch288; /* _SCRATCH288_0, 0x9a0 */ + uint32_t scratch289; /* _SCRATCH289_0, 0x9a4 */ + uint32_t scratch290; /* _SCRATCH290_0, 0x9a8 */ + uint32_t scratch291; /* _SCRATCH291_0, 0x9ac */ + uint32_t scratch292; /* _SCRATCH292_0, 0x9b0 */ + uint32_t scratch293; /* _SCRATCH293_0, 0x9b4 */ + uint32_t scratch294; /* _SCRATCH294_0, 0x9b8 */ + uint32_t scratch295; /* _SCRATCH295_0, 0x9bc */ + uint32_t scratch296; /* _SCRATCH296_0, 0x9c0 */ + uint32_t scratch297; /* _SCRATCH297_0, 0x9c4 */ + uint32_t scratch298; /* _SCRATCH298_0, 0x9c8 */ + uint32_t scratch299; /* _SCRATCH299_0, 0x9cc */ + uint32_t _0x9d0[50]; + uint32_t secure_scratch80; /* _SECURE_SCRATCH80_0, 0xa98 */ + uint32_t secure_scratch81; /* _SECURE_SCRATCH81_0, 0xa9c */ + uint32_t secure_scratch82; /* _SECURE_SCRATCH82_0, 0xaa0 */ + uint32_t secure_scratch83; /* _SECURE_SCRATCH83_0, 0xaa4 */ + uint32_t secure_scratch84; /* _SECURE_SCRATCH84_0, 0xaa8 */ + uint32_t secure_scratch85; /* _SECURE_SCRATCH85_0, 0xaac */ + uint32_t secure_scratch86; /* _SECURE_SCRATCH86_0, 0xab0 */ + uint32_t secure_scratch87; /* _SECURE_SCRATCH87_0, 0xab4 */ + uint32_t secure_scratch88; /* _SECURE_SCRATCH88_0, 0xab8 */ + uint32_t secure_scratch89; /* _SECURE_SCRATCH89_0, 0xabc */ + uint32_t secure_scratch90; /* _SECURE_SCRATCH90_0, 0xac0 */ + uint32_t secure_scratch91; /* _SECURE_SCRATCH91_0, 0xac4 */ + uint32_t secure_scratch92; /* _SECURE_SCRATCH92_0, 0xac8 */ + uint32_t secure_scratch93; /* _SECURE_SCRATCH93_0, 0xacc */ + uint32_t secure_scratch94; /* _SECURE_SCRATCH94_0, 0xad0 */ + uint32_t secure_scratch95; /* _SECURE_SCRATCH95_0, 0xad4 */ + uint32_t secure_scratch96; /* _SECURE_SCRATCH96_0, 0xad8 */ + uint32_t secure_scratch97; /* _SECURE_SCRATCH97_0, 0xadc */ + uint32_t secure_scratch98; /* _SECURE_SCRATCH98_0, 0xae0 */ + uint32_t secure_scratch99; /* _SECURE_SCRATCH99_0, 0xae4 */ + uint32_t secure_scratch100; /* _SECURE_SCRATCH100_0, 0xae8 */ + uint32_t secure_scratch101; /* _SECURE_SCRATCH101_0, 0xaec */ + uint32_t secure_scratch102; /* _SECURE_SCRATCH102_0, 0xaf0 */ + uint32_t secure_scratch103; /* _SECURE_SCRATCH103_0, 0xaf4 */ + uint32_t secure_scratch104; /* _SECURE_SCRATCH104_0, 0xaf8 */ + uint32_t secure_scratch105; /* _SECURE_SCRATCH105_0, 0xafc */ + uint32_t secure_scratch106; /* _SECURE_SCRATCH106_0, 0xb00 */ + uint32_t secure_scratch107; /* _SECURE_SCRATCH107_0, 0xb04 */ + uint32_t secure_scratch108; /* _SECURE_SCRATCH108_0, 0xb08 */ + uint32_t secure_scratch109; /* _SECURE_SCRATCH109_0, 0xb0c */ + uint32_t secure_scratch110; /* _SECURE_SCRATCH110_0, 0xb10 */ + uint32_t secure_scratch111; /* _SECURE_SCRATCH111_0, 0xb14 */ + uint32_t secure_scratch112; /* _SECURE_SCRATCH112_0, 0xb18 */ + uint32_t secure_scratch113; /* _SECURE_SCRATCH113_0, 0xb1c */ + uint32_t secure_scratch114; /* _SECURE_SCRATCH114_0, 0xb20 */ + uint32_t secure_scratch115; /* _SECURE_SCRATCH115_0, 0xb24 */ + uint32_t secure_scratch116; /* _SECURE_SCRATCH116_0, 0xb28 */ + uint32_t secure_scratch117; /* _SECURE_SCRATCH117_0, 0xb2c */ + uint32_t secure_scratch118; /* _SECURE_SCRATCH118_0, 0xb30 */ + uint32_t secure_scratch119; /* _SECURE_SCRATCH119_0, 0xb34 */ + uint32_t secure_scratch120; /* _SECURE_SCRATCH120_0, 0xb38 */ + uint32_t secure_scratch121; /* _SECURE_SCRATCH121_0, 0xb3c */ + uint32_t secure_scratch122; /* _SECURE_SCRATCH122_0, 0xb40 */ + uint32_t secure_scratch123; /* _SECURE_SCRATCH123_0, 0xb44 */ + uint32_t led_breathing_ctrl; /* _LED_BREATHING_CTRL_0, 0xb48 */ + uint32_t led_breathing_counter0; /* _LED_BREATHING_COUNTER0_0, 0xb4c */ + uint32_t led_breathing_counter1; /* _LED_BREATHING_COUNTER1_0, 0xb50 */ + uint32_t led_breathing_counter2; /* _LED_BREATHING_COUNTER2_0, 0xb54 */ + uint32_t led_breathing_counter3; /* _LED_BREATHING_COUNTER3_0, 0xb58 */ + uint32_t led_breathing_status; /* _LED_BREATHING_STATUS_0, 0xb5c */ + uint32_t _0xb60[2]; + uint32_t secure_scratch124; /* _SECURE_SCRATCH124_0, 0xb68 */ + uint32_t secure_scratch125; /* _SECURE_SCRATCH125_0, 0xb6c */ + uint32_t secure_scratch126; /* _SECURE_SCRATCH126_0, 0xb70 */ + uint32_t secure_scratch127; /* _SECURE_SCRATCH127_0, 0xb74 */ + uint32_t secure_scratch128; /* _SECURE_SCRATCH128_0, 0xb78 */ + uint32_t secure_scratch129; /* _SECURE_SCRATCH129_0, 0xb7c */ + uint32_t secure_scratch130; /* _SECURE_SCRATCH130_0, 0xb80 */ + uint32_t secure_scratch131; /* _SECURE_SCRATCH131_0, 0xb84 */ + uint32_t secure_scratch132; /* _SECURE_SCRATCH132_0, 0xb88 */ + uint32_t secure_scratch133; /* _SECURE_SCRATCH133_0, 0xb8c */ + uint32_t secure_scratch134; /* _SECURE_SCRATCH134_0, 0xb90 */ + uint32_t secure_scratch135; /* _SECURE_SCRATCH135_0, 0xb94 */ + uint32_t secure_scratch136; /* _SECURE_SCRATCH136_0, 0xb98 */ + uint32_t secure_scratch137; /* _SECURE_SCRATCH137_0, 0xb9c */ + uint32_t secure_scratch138; /* _SECURE_SCRATCH138_0, 0xba0 */ + uint32_t secure_scratch139; /* _SECURE_SCRATCH139_0, 0xba4 */ + uint32_t _0xba8[2]; + uint32_t sec_disable_ns; /* _SEC_DISABLE_NS_0, 0xbb0 */ + uint32_t sec_disable2_ns; /* _SEC_DISABLE2_NS_0, 0xbb4 */ + uint32_t sec_disable3_ns; /* _SEC_DISABLE3_NS_0, 0xbb8 */ + uint32_t sec_disable4_ns; /* _SEC_DISABLE4_NS_0, 0xbbc */ + uint32_t sec_disable5_ns; /* _SEC_DISABLE5_NS_0, 0xbc0 */ + uint32_t sec_disable6_ns; /* _SEC_DISABLE6_NS_0, 0xbc4 */ + uint32_t sec_disable7_ns; /* _SEC_DISABLE7_NS_0, 0xbc8 */ + uint32_t sec_disable8_ns; /* _SEC_DISABLE8_NS_0, 0xbcc */ + uint32_t sec_disable9_ns; /* _SEC_DISABLE9_NS_0, 0xbd0 */ + uint32_t sec_disable10_ns; /* _SEC_DISABLE10_NS_0, 0xbd4 */ + uint32_t _0xbd8[4]; + uint32_t tzram_pwr_cntrl; /* _TZRAM_PWR_CNTRL_0, 0xbe8 */ + uint32_t tzram_sec_disable; /* _TZRAM_SEC_DISABLE_0, 0xbec */ + uint32_t tzram_non_sec_disable; /* _TZRAM_NON_SEC_DISABLE_0, 0xbf0 */ } tegra_pmc_t; static inline volatile tegra_pmc_t *pmc_get_regs(void) diff --git a/sept/sept-secondary/src/sdram.c b/sept/sept-secondary/src/sdram.c index 6198c2ceb..00c1b632d 100644 --- a/sept/sept-secondary/src/sdram.c +++ b/sept/sept-secondary/src/sdram.c @@ -1139,88 +1139,88 @@ void sdram_save_params_erista(const void *save_params) { /* 32 bits version c macro */ #define c32(value, pmcreg) pmc->pmcreg = value - //TODO: pkg1.1 (1.X - 3.X) reads them from MC. - // Patch carveout parameters. - /*params->McGeneralizedCarveout1Bom = 0; - params->McGeneralizedCarveout1BomHi = 0; - params->McGeneralizedCarveout1Size128kb = 0; - params->McGeneralizedCarveout1Access0 = 0; - params->McGeneralizedCarveout1Access1 = 0; - params->McGeneralizedCarveout1Access2 = 0; - params->McGeneralizedCarveout1Access3 = 0; - params->McGeneralizedCarveout1Access4 = 0; - params->McGeneralizedCarveout1ForceInternalAccess0 = 0; - params->McGeneralizedCarveout1ForceInternalAccess1 = 0; - params->McGeneralizedCarveout1ForceInternalAccess2 = 0; - params->McGeneralizedCarveout1ForceInternalAccess3 = 0; - params->McGeneralizedCarveout1ForceInternalAccess4 = 0; - params->McGeneralizedCarveout1Cfg0 = 0; - params->McGeneralizedCarveout2Bom = 0x80020000; - params->McGeneralizedCarveout2BomHi = 0; - params->McGeneralizedCarveout2Size128kb = 2; - params->McGeneralizedCarveout2Access0 = 0; - params->McGeneralizedCarveout2Access1 = 0; - params->McGeneralizedCarveout2Access2 = 0x3000000; - params->McGeneralizedCarveout2Access3 = 0; - params->McGeneralizedCarveout2Access4 = 0x300; - params->McGeneralizedCarveout2ForceInternalAccess0 = 0; - params->McGeneralizedCarveout2ForceInternalAccess1 = 0; - params->McGeneralizedCarveout2ForceInternalAccess2 = 0; - params->McGeneralizedCarveout2ForceInternalAccess3 = 0; - params->McGeneralizedCarveout2ForceInternalAccess4 = 0; - params->McGeneralizedCarveout2Cfg0 = 0x440167E; - params->McGeneralizedCarveout3Bom = 0; - params->McGeneralizedCarveout3BomHi = 0; - params->McGeneralizedCarveout3Size128kb = 0; - params->McGeneralizedCarveout3Access0 = 0; - params->McGeneralizedCarveout3Access1 = 0; - params->McGeneralizedCarveout3Access2 = 0x3000000; - params->McGeneralizedCarveout3Access3 = 0; - params->McGeneralizedCarveout3Access4 = 0x300; - params->McGeneralizedCarveout3ForceInternalAccess0 = 0; - params->McGeneralizedCarveout3ForceInternalAccess1 = 0; - params->McGeneralizedCarveout3ForceInternalAccess2 = 0; - params->McGeneralizedCarveout3ForceInternalAccess3 = 0; - params->McGeneralizedCarveout3ForceInternalAccess4 = 0; - params->McGeneralizedCarveout3Cfg0 = 0x4401E7E; - params->McGeneralizedCarveout4Bom = 0; - params->McGeneralizedCarveout4BomHi = 0; - params->McGeneralizedCarveout4Size128kb = 0; - params->McGeneralizedCarveout4Access0 = 0; - params->McGeneralizedCarveout4Access1 = 0; - params->McGeneralizedCarveout4Access2 = 0; - params->McGeneralizedCarveout4Access3 = 0; - params->McGeneralizedCarveout4Access4 = 0; - params->McGeneralizedCarveout4ForceInternalAccess0 = 0; - params->McGeneralizedCarveout4ForceInternalAccess1 = 0; - params->McGeneralizedCarveout4ForceInternalAccess2 = 0; - params->McGeneralizedCarveout4ForceInternalAccess3 = 0; - params->McGeneralizedCarveout4ForceInternalAccess4 = 0; - params->McGeneralizedCarveout4Cfg0 = 0x8F; - params->McGeneralizedCarveout5Bom = 0; - params->McGeneralizedCarveout5BomHi = 0; - params->McGeneralizedCarveout5Size128kb = 0; - params->McGeneralizedCarveout5Access0 = 0; - params->McGeneralizedCarveout5Access1 = 0; - params->McGeneralizedCarveout5Access2 = 0; - params->McGeneralizedCarveout5Access3 = 0; - params->McGeneralizedCarveout5Access4 = 0; - params->McGeneralizedCarveout5ForceInternalAccess0 = 0; - params->McGeneralizedCarveout5ForceInternalAccess1 = 0; - params->McGeneralizedCarveout5ForceInternalAccess2 = 0; - params->McGeneralizedCarveout5ForceInternalAccess3 = 0; - params->McGeneralizedCarveout5ForceInternalAccess4 = 0; - params->McGeneralizedCarveout5Cfg0 = 0x8F;*/ + /* [1.0.0-3.0.2] Patch carveout parameters. */ + /* + *(volatile uint32_t *)params->McGeneralizedCarveout1Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Access4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout1Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Bom = 0x80020000; + *(volatile uint32_t *)params->McGeneralizedCarveout2BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Size128kb = 2; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access2 = 0x3000000; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Access4 = 0x300; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Cfg0 = 0x440167E; + *(volatile uint32_t *)params->McGeneralizedCarveout3Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access2 = 0x3000000; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Access4 = 0x300; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Cfg0 = 0x4401E7E; + *(volatile uint32_t *)params->McGeneralizedCarveout4Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Access4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Cfg0 = 0x8F; + *(volatile uint32_t *)params->McGeneralizedCarveout5Bom = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5BomHi = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Size128kb = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Access4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess1 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess2 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess3 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5ForceInternalAccess4 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Cfg0 = 0x8F; + */ - //TODO: this is 4.X+ behaviour which seems to work fine for < 4.X. - // Patch carveout parameters. + /* [4.0.0+] Patch carveout parameters. */ *(volatile uint32_t *)params->McGeneralizedCarveout1Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout2Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout3Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout4Cfg0 = 0; *(volatile uint32_t *)params->McGeneralizedCarveout5Cfg0 = 0; - // Patch SDRAM parameters. + /* Patch SDRAM parameters. */ uint32_t t0 = params->EmcSwizzleRank0Byte0 << 5 >> 29 > params->EmcSwizzleRank0Byte0 << 1 >> 29; uint32_t t1 = (t0 & 0xFFFFFFEF) | ((params->EmcSwizzleRank1Byte0 << 5 >> 29 > params->EmcSwizzleRank1Byte0 << 1 >> 29) << 4); uint32_t t2 = (t1 & 0xFFFFFFFD) | ((params->EmcSwizzleRank0Byte1 << 5 >> 29 > params->EmcSwizzleRank0Byte1 << 1 >> 29) << 1); @@ -2219,5 +2219,1118 @@ void sdram_save_params_erista(const void *save_params) { } void sdram_save_params_mariko(const void *save_params) { - /* TODO */ + const sdram_params_mariko_t *params = (const sdram_params_mariko_t *)save_params; + volatile tegra_pmc_t *pmc = pmc_get_regs(); + +#define pack(src, src_bits, dst, dst_bits) { \ + uint32_t mask = 0xffffffff >> (31 - ((1 ? src_bits) - (0 ? src_bits))); \ + dst &= ~(mask << (0 ? dst_bits)); \ + dst |= ((src >> (0 ? src_bits)) & mask) << (0 ? dst_bits); \ +} + +#define s(param, src_bits, pmcreg, dst_bits) \ + pack(params->param, src_bits, pmc->pmcreg, dst_bits) + +#define c(value, pmcreg, dst_bits) \ + pack(value, (1 ? dst_bits) - (0 ? dst_bits) : 0, pmc->pmcreg, dst_bits) + +/* 32 bits version of s macro. */ +#define s32(param, pmcreg) pmc->pmcreg = params->param + +/* 32 bits version c macro. */ +#define c32(value, pmcreg) pmc->pmcreg = value + + /* Patch carveout parameters. */ + *(volatile uint32_t *)params->McGeneralizedCarveout1Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout2Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout3Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout4Cfg0 = 0; + *(volatile uint32_t *)params->McGeneralizedCarveout5Cfg0 = 0; + + /* Patch SDRAM parameters. */ + *(volatile uint32_t *)params->SwizzleRankByteEncode = 0; + uint32_t t0 = params->EmcSwizzleRank0Byte0 << 5 >> 29 > params->EmcSwizzleRank0Byte0 << 1 >> 29; + uint32_t t1 = (t0 & 0xFFFFFFEF) | ((params->EmcSwizzleRank1Byte0 << 5 >> 29 > params->EmcSwizzleRank1Byte0 << 1 >> 29) << 4); + uint32_t t2 = (t1 & 0xFFFFFFFD) | ((params->EmcSwizzleRank0Byte1 << 5 >> 29 > params->EmcSwizzleRank0Byte1 << 1 >> 29) << 1); + uint32_t t3 = (t2 & 0xFFFFFFDF) | ((params->EmcSwizzleRank1Byte1 << 5 >> 29 > params->EmcSwizzleRank1Byte1 << 1 >> 29) << 5); + uint32_t t4 = (t3 & 0xFFFFFFFB) | ((params->EmcSwizzleRank0Byte2 << 5 >> 29 > params->EmcSwizzleRank0Byte2 << 1 >> 29) << 2); + uint32_t t5 = (t4 & 0xFFFFFFBF) | ((params->EmcSwizzleRank1Byte2 << 5 >> 29 > params->EmcSwizzleRank1Byte2 << 1 >> 29) << 6); + uint32_t t6 = (t5 & 0xFFFFFFF7) | ((params->EmcSwizzleRank0Byte3 << 5 >> 29 > params->EmcSwizzleRank0Byte3 << 1 >> 29) << 3); + uint32_t t7 = (t6 & 0xFFFFFF7F) | ((params->EmcSwizzleRank1Byte3 << 5 >> 29 > params->EmcSwizzleRank1Byte3 << 1 >> 29) << 7); + *(volatile uint32_t *)params->SwizzleRankByteEncode = t7; + *(volatile uint32_t *)params->EmcBctSpare2 = 0x40000DD8; + *(volatile uint32_t *)params->EmcBctSpare3 = t7; + + s(EmcClockSource, 7:0, scratch6, 15:8); + s(EmcClockSourceDll, 7:0, scratch6, 23:16); + s(EmcClockSource, 31:29, scratch6, 26:24); + s(EmcClockSourceDll, 31:29, scratch6, 29:27); + s(EmcClockSourceDll, 11:10, scratch6, 31:30); + s(ClkRstControllerPllmMisc2Override, 9:8, scratch7, 1:0); + s(ClkRstControllerPllmMisc2Override, 2:1, scratch7, 3:2); + s(EmcZqCalLpDdr4WarmBoot, 31:30, scratch7, 5:4); + s(EmcClockSource, 27:27, scratch7, 6:6); + s(EmcClockSource, 26:26, scratch7, 7:7); + s(EmcClockSource, 15:15, scratch7, 8:8); + s(EmcClockSource, 25:25, scratch7, 9:9); + s(EmcClockSource, 19:19, scratch7, 10:10); + s(EmcClockSource, 20:20, scratch7, 11:11); + s(EmcClockSource, 16:16, scratch7, 12:12); + s(ClkRstControllerPllmMisc2Override, 13:13, scratch7, 13:13); + s(ClkRstControllerPllmMisc2Override, 12:12, scratch7, 14:14); + s(ClkRstControllerPllmMisc2Override, 11:11, scratch7, 15:15); + s(ClkRstControllerPllmMisc2Override, 10:10, scratch7, 16:16); + s(ClkRstControllerPllmMisc2Override, 5:5, scratch7, 17:17); + s(ClkRstControllerPllmMisc2Override, 4:4, scratch7, 18:18); + s(ClkRstControllerPllmMisc2Override, 3:3, scratch7, 19:19); + s(ClkRstControllerPllmMisc2Override, 0:0, scratch7, 20:20); + s(EmcZqCalLpDdr4WarmBoot, 1:0, scratch7, 22:21); + s(EmcZqCalLpDdr4WarmBoot, 4:4, scratch7, 23:23); + s(EmcRc, 7:0, scratch7, 31:24); + s(EmcPmacroBgBiasCtrl0, 13:12, scratch8, 31:30); + s(EmcFdpdCtrlCmdNoRamp, 0:0, scratch14, 30:30); + s(EmcCfgPipeClk, 0:0, scratch14, 31:31); + s(EmcQRst, 6:0, scratch15, 26:20); + s(EmcQRst, 20:16, scratch15, 31:27); + s(EmcPmacroCmdTxDrv, 5:0, scratch16, 25:20); + s(EmcPmacroCmdTxDrv, 13:8, scratch16, 31:26); + s(EmcFbioCfg8, 27:16, scratch17, 31:20); + s(EmcTxsrDll, 11:0, scratch18, 31:20); + s(EmcTxdsrvttgen, 11:0, scratch19, 31:20); + s32(EmcCfgRsv,scratch22); + s32(EmcAutoCalConfig, scratch23); + s32(EmcAutoCalVrefSel0, scratch24); + s32(EmcPmacroBrickCtrlRfu1, scratch25); + s32(EmcPmacroBrickCtrlRfu2, scratch26); + s32(EmcPmcScratch1, scratch27); + s32(EmcPmcScratch2, scratch28); + s32(EmcPmcScratch3, scratch29); + s32(EmcPmacroPerbitRfuCtrl0, scratch30); + s32(EmcPmacroPerbitRfuCtrl1, scratch31); + s32(EmcPmacroPerbitRfuCtrl2, scratch32); + s32(EmcPmacroPerbitRfuCtrl3, scratch33); + s32(EmcPmacroPerbitRfuCtrl4, scratch40); + s32(EmcPmacroPerbitRfuCtrl5, scratch42); + s32(McEmemArbDaTurns, scratch44); + s(EmcFbioSpare, 31:24, scratch64, 7:0); + s(EmcFbioSpare, 23:16, scratch64, 15:8); + s(EmcFbioSpare, 15:8, scratch64, 23:16); + s(EmcFbioSpare, 7:2, scratch64, 29:24); + s(EmcFbioSpare, 0:0, scratch64, 30:30); + s(McEmemArbMisc2, 0:0, scratch64, 31:31); + s(McEmemArbMisc0, 14:0, scratch65, 14:0); + s(McEmemArbMisc0, 30:16, scratch65, 29:15); + s(McDaCfg0, 0:0, scratch65, 30:30); + s(EmcFdpdCtrlCmd, 16:0, scratch66, 16:0); + s(EmcFdpdCtrlCmd, 31:20, scratch66, 28:17); + s(EmcAutoCalConfig2, 27:0, scratch67, 27:0); + s(EmcBurstRefreshNum, 3:0, scratch67, 31:28); + s(EmcCfgDigDll, 10:0, scratch68, 10:0); + s(EmcCfgDigDll, 25:12, scratch68, 24:11); + s(EmcCfgDigDll, 27:27, scratch68, 25:25); + s(EmcCfgDigDll, 31:30, scratch68, 27:26); + s(EmcTppd, 3:0, scratch68, 31:28); + s(EmcFdpdCtrlDq, 16:0, scratch69, 16:0); + s(EmcFdpdCtrlDq, 28:20, scratch69, 25:17); + s(EmcFdpdCtrlDq, 31:30, scratch69, 27:26); + s(EmcR2r, 3:0, scratch69, 31:28); + s(EmcPmacroIbVrefDq_0, 6:0, scratch70, 6:0); + s(EmcPmacroIbVrefDq_0, 14:8, scratch70, 13:7); + s(EmcPmacroIbVrefDq_0, 22:16, scratch70, 20:14); + s(EmcPmacroIbVrefDq_0, 30:24, scratch70, 27:21); + s(EmcW2w, 3:0, scratch70, 31:28); + s(EmcPmacroIbVrefDq_1, 6:0, scratch71, 6:0); + s(EmcPmacroIbVrefDq_1, 14:8, scratch71, 13:7); + s(EmcPmacroIbVrefDq_1, 22:16, scratch71, 20:14); + s(EmcPmacroIbVrefDq_1, 30:24, scratch71, 27:21); + s(EmcPmacroVttgenCtrl0, 19:16, scratch71, 31:28); + s(EmcPmacroIbVrefDqs_0, 6:0, scratch72, 6:0); + s(EmcPmacroIbVrefDqs_0, 14:8, scratch72, 13:7); + s(EmcPmacroIbVrefDqs_0, 22:16, scratch72, 20:14); + s(EmcPmacroIbVrefDqs_0, 30:24, scratch72, 27:21); + s(EmcPmacroIbVrefDqs_0, 6:0, scratch73, 6:0); + s(EmcPmacroIbVrefDqs_0, 14:8, scratch73, 13:7); + s(EmcPmacroIbVrefDqs_0, 22:16, scratch73, 20:14); + s(EmcPmacroIbVrefDqs_0, 30:24, scratch73, 27:21); + s(EmcPmacroDdllShortCmd_0, 6:0, scratch74, 6:0); + s(EmcPmacroDdllShortCmd_0, 14:8, scratch74, 13:7); + s(EmcPmacroDdllShortCmd_0, 22:16, scratch74, 20:14); + s(EmcPmacroDdllShortCmd_0, 30:24, scratch74, 27:21); + s(EmcPmacroDdllShortCmd_1, 6:0, scratch75, 6:0); + s(EmcPmacroDdllShortCmd_1, 14:8, scratch75, 13:7); + s(EmcPmacroDdllShortCmd_1, 22:16, scratch75, 20:14); + s(EmcPmacroDdllShortCmd_1, 30:24, scratch75, 27:21); + s(EmcPmacroDllCfg0, 29:4, scratch76, 25:0); + s(EmcRp, 5:0, scratch76, 31:26); + s(EmcPmacroTxPwrd0, 10:0, scratch77, 10:0); + s(EmcPmacroTxPwrd0, 13:12, scratch77, 12:11); + s(EmcPmacroTxPwrd0, 26:16, scratch77, 23:13); + s(EmcPmacroTxPwrd0, 29:28, scratch77, 25:24); + s(EmcR2w, 5:0, scratch77, 31:26); + s(EmcPmacroTxPwrd1, 10:0, scratch78, 10:0); + s(EmcPmacroTxPwrd1, 13:12, scratch78, 12:11); + s(EmcPmacroTxPwrd1, 26:16, scratch78, 23:13); + s(EmcPmacroTxPwrd1, 29:28, scratch78, 25:24); + s(EmcW2r, 5:0, scratch78, 31:26); + s(EmcPmacroTxPwrd2, 10:0, scratch79, 10:0); + s(EmcPmacroTxPwrd2, 13:12, scratch79, 12:11); + s(EmcPmacroTxPwrd2, 26:16, scratch79, 23:13); + s(EmcPmacroTxPwrd2, 29:28, scratch79, 25:24); + s(EmcR2p, 5:0, scratch79, 31:26); + s(EmcPmacroTxPwrd3, 10:0, scratch80, 10:0); + s(EmcPmacroTxPwrd3, 13:12, scratch80, 12:11); + s(EmcPmacroTxPwrd3, 26:16, scratch80, 23:13); + s(EmcPmacroTxPwrd3, 29:28, scratch80, 25:24); + s(EmcCcdmw, 5:0, scratch80, 31:26); + s(EmcPmacroTxPwrd4, 10:0, scratch81, 10:0); + s(EmcPmacroTxPwrd4, 13:12, scratch81, 12:11); + s(EmcPmacroTxPwrd4, 26:16, scratch81, 23:13); + s(EmcPmacroTxPwrd4, 29:28, scratch81, 25:24); + s(EmcRdRcd, 5:0, scratch81, 31:26); + s(EmcPmacroTxPwrd5, 10:0, scratch82, 10:0); + s(EmcPmacroTxPwrd5, 13:12, scratch82, 12:11); + s(EmcPmacroTxPwrd5, 26:16, scratch82, 23:13); + s(EmcPmacroTxPwrd5, 29:28, scratch82, 25:24); + s(EmcWrRcd, 5:0, scratch82, 31:26); + s(EmcAutoCalChannel, 5:0, scratch83, 5:0); + s(EmcAutoCalChannel, 11:8, scratch83, 9:6); + s(EmcAutoCalChannel, 27:16, scratch83, 21:10); + s(EmcAutoCalChannel, 31:29, scratch83, 24:22); + s(EmcAutoCalChannel, 6:0, scratch83, 31:25); + s(EmcPmacroRxTerm, 5:0, scratch84, 5:0); + s(EmcPmacroRxTerm, 13:8, scratch84, 11:6); + s(EmcPmacroRxTerm, 21:16, scratch84, 17:12); + s(EmcPmacroRxTerm, 29:24, scratch84, 23:18); + s(EmcSelDpdCtrl, 5:2, scratch84, 27:24); + s(EmcSelDpdCtrl, 8:8, scratch84, 28:28); + s(EmcSelDpdCtrl, 18:16, scratch84, 31:29); + s(EmcPmacroDqTxDrv, 5:0, scratch85, 5:0); + s(EmcPmacroDqTxDrv, 13:8, scratch85, 11:6); + s(EmcPmacroDqTxDrv, 21:16, scratch85, 17:12); + s(EmcPmacroDqTxDrv, 29:24, scratch85, 23:18); + s(EmcObdly, 5:0, scratch85, 29:24); + s(EmcObdly, 29:28, scratch85, 31:30); + s(EmcPmacroCaTxDrv, 5:0, scratch86, 5:0); + s(EmcPmacroCaTxDrv, 13:8, scratch86, 11:6); + s(EmcPmacroCaTxDrv, 21:16, scratch86, 17:12); + s(EmcPmacroCaTxDrv, 29:24, scratch86, 23:18); + s(EmcPmacroVttgenCtrl1, 15:10, scratch86, 29:24); + s(EmcPmacroVttgenCtrl1, 21:20, scratch86, 31:30); + s(EmcPmacroZctrl, 27:4, scratch87, 23:0); + s(EmcPmacroVttgenCtrl2, 23:16, scratch87, 31:24); + s(EmcZcalInterval, 23:10, scratch88, 13:0); + s(EmcZcalInterval, 9:0, scratch88, 23:14); + s(McEmemArbTimingRc, 7:0, scratch88, 31:24); + s(EmcDataBrlshft0, 23:0, scratch89, 23:0); + s(McEmemArbRsv, 7:0, scratch89, 31:24); + s(EmcDataBrlshft1, 23:0, scratch90, 23:0); + s(EmcDqsBrlshft0, 23:0, scratch91, 23:0); + s(EmcDqsBrlshft1, 23:0, scratch92, 23:0); + s(EmcSwizzleRank0Byte0, 2:0, scratch93, 2:0); + s(EmcSwizzleRank0Byte0, 6:4, scratch93, 5:3); + s(EmcSwizzleRank0Byte0, 10:8, scratch93, 8:6); + s(EmcSwizzleRank0Byte0, 14:12, scratch93, 11:9); + s(EmcSwizzleRank0Byte0, 18:16, scratch93, 14:12); + s(EmcSwizzleRank0Byte0, 22:20, scratch93, 17:15); + s(EmcSwizzleRank0Byte0, 26:24, scratch93, 20:18); + s(EmcSwizzleRank0Byte0, 30:28, scratch93, 23:21); + s(EmcSwizzleRank0Byte1, 2:0, scratch94, 2:0); + s(EmcSwizzleRank0Byte1, 6:4, scratch94, 5:3); + s(EmcSwizzleRank0Byte1, 10:8, scratch94, 8:6); + s(EmcSwizzleRank0Byte1, 14:12, scratch94, 11:9); + s(EmcSwizzleRank0Byte1, 18:16, scratch94, 14:12); + s(EmcSwizzleRank0Byte1, 22:20, scratch94, 17:15); + s(EmcSwizzleRank0Byte1, 26:24, scratch94, 20:18); + s(EmcSwizzleRank0Byte1, 30:28, scratch94, 23:21); + s(EmcRas, 6:0, scratch94, 30:24); + s(EmcCfg, 4:4, scratch94, 31:31); + s(EmcSwizzleRank0Byte2, 2:0, scratch95, 2:0); + s(EmcSwizzleRank0Byte2, 6:4, scratch95, 5:3); + s(EmcSwizzleRank0Byte2, 10:8, scratch95, 8:6); + s(EmcSwizzleRank0Byte2, 14:12, scratch95, 11:9); + s(EmcSwizzleRank0Byte2, 18:16, scratch95, 14:12); + s(EmcSwizzleRank0Byte2, 22:20, scratch95, 17:15); + s(EmcSwizzleRank0Byte2, 26:24, scratch95, 20:18); + s(EmcSwizzleRank0Byte2, 30:28, scratch95, 23:21); + s(EmcW2p, 6:0, scratch95, 30:24); + s(EmcCfg, 5:5, scratch95, 31:31); + s(EmcSwizzleRank0Byte3, 2:0, scratch96, 2:0); + s(EmcSwizzleRank0Byte3, 6:4, scratch96, 5:3); + s(EmcSwizzleRank0Byte3, 10:8, scratch96, 8:6); + s(EmcSwizzleRank0Byte3, 14:12, scratch96, 11:9); + s(EmcSwizzleRank0Byte3, 18:16, scratch96, 14:12); + s(EmcSwizzleRank0Byte3, 22:20, scratch96, 17:15); + s(EmcSwizzleRank0Byte3, 26:24, scratch96, 20:18); + s(EmcSwizzleRank0Byte3, 30:28, scratch96, 23:21); + s(EmcQSafe, 6:0, scratch96, 30:24); + s(EmcCfg, 6:6, scratch96, 31:31); + s(EmcSwizzleRank1Byte0, 2:0, scratch97, 2:0); + s(EmcSwizzleRank1Byte0, 6:4, scratch97, 5:3); + s(EmcSwizzleRank1Byte0, 10:8, scratch97, 8:6); + s(EmcSwizzleRank1Byte0, 14:12, scratch97, 11:9); + s(EmcSwizzleRank1Byte0, 18:16, scratch97, 14:12); + s(EmcSwizzleRank1Byte0, 22:20, scratch97, 17:15); + s(EmcSwizzleRank1Byte0, 26:24, scratch97, 20:18); + s(EmcSwizzleRank1Byte0, 30:28, scratch97, 23:21); + s(EmcRdv, 6:0, scratch97, 30:24); + s(EmcCfg, 7:7, scratch97, 31:31); + s(EmcSwizzleRank1Byte1, 2:0, scratch98, 2:0); + s(EmcSwizzleRank1Byte1, 6:4, scratch98, 5:3); + s(EmcSwizzleRank1Byte1, 10:8, scratch98, 8:6); + s(EmcSwizzleRank1Byte1, 14:12, scratch98, 11:9); + s(EmcSwizzleRank1Byte1, 18:16, scratch98, 14:12); + s(EmcSwizzleRank1Byte1, 22:20, scratch98, 17:15); + s(EmcSwizzleRank1Byte1, 26:24, scratch98, 20:18); + s(EmcSwizzleRank1Byte1, 30:28, scratch98, 23:21); + s(EmcRw2Pden, 6:0, scratch98, 30:24); + s(EmcCfg, 8:8, scratch98, 31:31); + s(EmcSwizzleRank1Byte2, 2:0, scratch99, 2:0); + s(EmcSwizzleRank1Byte2, 6:4, scratch99, 5:3); + s(EmcSwizzleRank1Byte2, 10:8, scratch99, 8:6); + s(EmcSwizzleRank1Byte2, 14:12, scratch99, 11:9); + s(EmcSwizzleRank1Byte2, 18:16, scratch99, 14:12); + s(EmcSwizzleRank1Byte2, 22:20, scratch99, 17:15); + s(EmcSwizzleRank1Byte2, 26:24, scratch99, 20:18); + s(EmcSwizzleRank1Byte2, 30:28, scratch99, 23:21); + s(EmcTfaw, 6:0, scratch99, 30:24); + s(EmcCfg, 9:9, scratch99, 31:31); + s(EmcSwizzleRank1Byte3, 2:0, scratch100, 2:0); + s(EmcSwizzleRank1Byte3, 6:4, scratch100, 5:3); + s(EmcSwizzleRank1Byte3, 10:8, scratch100, 8:6); + s(EmcSwizzleRank1Byte3, 14:12, scratch100, 11:9); + s(EmcSwizzleRank1Byte3, 18:16, scratch100, 14:12); + s(EmcSwizzleRank1Byte3, 22:20, scratch100, 17:15); + s(EmcSwizzleRank1Byte3, 26:24, scratch100, 20:18); + s(EmcSwizzleRank1Byte3, 30:28, scratch100, 23:21); + s(EmcTClkStable, 6:0, scratch100, 30:24); + s(EmcCfg, 18:18, scratch100, 31:31); + s(EmcCfgPipe2, 11:0, scratch101, 11:0); + s(EmcCfgPipe2, 27:16, scratch101, 23:12); + s(EmcTrtm, 6:0, scratch101, 30:24); + s(EmcCfg, 21:21, scratch101, 31:31); + s(EmcCfgPipe1, 11:0, scratch102, 11:0); + s(EmcCfgPipe1, 27:16, scratch102, 23:12); + s(EmcTwtm, 6:0, scratch102, 30:24); + s(EmcCfg, 22:22, scratch102, 31:31); + s(EmcPmacroDdllPwrd0, 4:1, scratch103, 3:0); + s(EmcPmacroDdllPwrd0, 7:6, scratch103, 5:4); + s(EmcPmacroDdllPwrd0, 12:9, scratch103, 9:6); + s(EmcPmacroDdllPwrd0, 15:14, scratch103, 11:10); + s(EmcPmacroDdllPwrd0, 20:17, scratch103, 15:12); + s(EmcPmacroDdllPwrd0, 23:22, scratch103, 17:16); + s(EmcPmacroDdllPwrd0, 28:25, scratch103, 21:18); + s(EmcPmacroDdllPwrd0, 31:30, scratch103, 23:22); + s(EmcTratm, 6:0, scratch103, 30:24); + s(EmcCfg, 23:23, scratch103, 31:31); + s(EmcPmacroDdllPwrd1, 4:1, scratch104, 3:0); + s(EmcPmacroDdllPwrd1, 7:6, scratch104, 5:4); + s(EmcPmacroDdllPwrd1, 12:9, scratch104, 9:6); + s(EmcPmacroDdllPwrd1, 15:14, scratch104, 11:10); + s(EmcPmacroDdllPwrd1, 20:17, scratch104, 15:12); + s(EmcPmacroDdllPwrd1, 23:22, scratch104, 17:16); + s(EmcPmacroDdllPwrd1, 28:25, scratch104, 21:18); + s(EmcPmacroDdllPwrd1, 31:30, scratch104, 23:22); + s(EmcTwatm, 6:0, scratch104, 30:24); + s(EmcCfg, 24:24, scratch104, 31:31); + s(EmcPmacroDdllPwrd2, 4:1, scratch105, 3:0); + s(EmcPmacroDdllPwrd2, 7:6, scratch105, 5:4); + s(EmcPmacroDdllPwrd2, 12:9, scratch105, 9:6); + s(EmcPmacroDdllPwrd2, 15:14, scratch105, 11:10); + s(EmcPmacroDdllPwrd2, 20:17, scratch105, 15:12); + s(EmcPmacroDdllPwrd2, 23:22, scratch105, 17:16); + s(EmcPmacroDdllPwrd2, 28:25, scratch105, 21:18); + s(EmcPmacroDdllPwrd2, 31:30, scratch105, 23:22); + s(EmcTr2ref, 6:0, scratch105, 30:24); + s(EmcCfg, 25:25, scratch105, 31:31); + s(EmcPmacroDdllPeriodicOffset, 5:0, scratch106, 5:0); + s(EmcPmacroDdllPeriodicOffset, 16:8, scratch106, 14:6); + s(EmcPmacroDdllPeriodicOffset, 28:20, scratch106, 23:15); + s(EmcPdex2Mrr, 6:0, scratch106, 30:24); + s(EmcCfg, 26:26, scratch106, 31:31); + s(McEmemArbDaCovers, 23:0, scratch107, 23:0); + s(EmcClkenOverride, 3:1, scratch107, 26:24); + s(EmcClkenOverride, 8:6, scratch107, 29:27); + s(EmcClkenOverride, 16:16, scratch107, 30:30); + s(EmcCfg, 28:28, scratch107, 31:31); + s(EmcXm2CompPadCtrl, 1:0, scratch108, 1:0); + s(EmcXm2CompPadCtrl, 6:4, scratch108, 4:2); + s(EmcXm2CompPadCtrl, 9:9, scratch108, 5:5); + s(EmcXm2CompPadCtrl, 19:11, scratch108, 14:6); + s(EmcXm2CompPadCtrl, 31:24, scratch108, 22:15); + s(EmcRfcPb, 8:0, scratch108, 31:23); + s(EmcAutoCalConfig3, 6:0, scratch109, 6:0); + s(EmcAutoCalConfig3, 14:8, scratch109, 13:7); + s(EmcAutoCalConfig3, 23:16, scratch109, 21:14); + s(EmcCfgUpdate, 2:0, scratch109, 24:22); + s(EmcCfgUpdate, 10:8, scratch109, 27:25); + s(EmcCfgUpdate, 31:28, scratch109, 31:28); + s(EmcAutoCalConfig4, 6:0, scratch110, 6:0); + s(EmcAutoCalConfig4, 14:8, scratch110, 13:7); + s(EmcAutoCalConfig4, 23:16, scratch110, 21:14); + s(EmcRfc, 9:0, scratch110, 31:22); + s(EmcAutoCalConfig5, 6:0, scratch111, 6:0); + s(EmcAutoCalConfig5, 14:8, scratch111, 13:7); + s(EmcAutoCalConfig5, 23:16, scratch111, 21:14); + s(EmcTxsr, 9:0, scratch111, 31:22); + s(EmcAutoCalConfig6, 6:0, scratch112, 6:0); + s(EmcAutoCalConfig6, 14:8, scratch112, 13:7); + s(EmcAutoCalConfig6, 23:16, scratch112, 21:14); + s(EmcMc2EmcQ, 2:0, scratch112, 24:22); + s(EmcMc2EmcQ, 10:8, scratch112, 27:25); + s(EmcMc2EmcQ, 27:24, scratch112, 31:28); + s(EmcAutoCalConfig7, 6:0, scratch113, 6:0); + s(EmcAutoCalConfig7, 14:8, scratch113, 13:7); + s(EmcAutoCalConfig7, 23:16, scratch113, 21:14); + s(McEmemArbRing1Throttle, 4:0, scratch113, 26:22); + s(McEmemArbRing1Throttle, 20:16, scratch113, 31:27); + s(EmcAutoCalConfig8, 6:0, scratch114, 6:0); + s(EmcAutoCalConfig8, 14:8, scratch114, 13:7); + s(EmcAutoCalConfig8, 23:16, scratch114, 21:14); + s(EmcFbioCfg7, 21:0, scratch115, 21:0); + s(EmcAr2Pden, 8:0, scratch115, 30:22); + s(EmcCfg, 29:29, scratch115, 31:31); + s(EmcPmacroQuseDdllRank0_0, 10:0, scratch123, 10:0); + s(EmcPmacroQuseDdllRank0_0, 26:16, scratch123, 21:11); + s(EmcRfcSlr, 8:0, scratch123, 30:22); + s(EmcCfg, 30:30, scratch123, 31:31); + s(EmcPmacroQuseDdllRank0_1, 10:0, scratch124, 10:0); + s(EmcPmacroQuseDdllRank0_1, 26:16, scratch124, 21:11); + s(EmcIbdly, 6:0, scratch124, 28:22); + s(EmcIbdly, 29:28, scratch124, 30:29); + s(EmcCfg, 31:31, scratch124, 31:31); + s(EmcPmacroQuseDdllRank0_2, 10:0, scratch125, 10:0); + s(EmcPmacroQuseDdllRank0_2, 26:16, scratch125, 21:11); + s(McEmemArbTimingRFCPB, 8:0, scratch125, 30:22); + s(EmcFbioCfg5, 4:4, scratch125, 31:31); + s(EmcPmacroQuseDdllRank0_3, 10:0, scratch126, 10:0); + s(EmcPmacroQuseDdllRank0_3, 26:16, scratch126, 21:11); + s(EmcAutoCalConfig9, 6:0, scratch126, 28:22); + s(EmcFbioCfg5, 15:13, scratch126, 31:29); + s(EmcPmacroQuseDdllRank0_4, 10:0, scratch127, 10:0); + s(EmcPmacroQuseDdllRank0_4, 26:16, scratch127, 21:11); + s(EmcRdvMask, 6:0, scratch127, 28:22); + s(EmcCfg2, 5:3, scratch127, 31:29); + s(EmcPmacroQuseDdllRank0_5, 10:0, scratch128, 10:0); + s(EmcPmacroQuseDdllRank0_5, 26:16, scratch128, 21:11); + s(EmcRdvEarlyMask, 6:0, scratch128, 28:22); + s(EmcPmacroCmdPadTxCtrl, 4:2, scratch128, 31:29); + s(EmcPmacroQuseDdllRank0_5, 10:0, scratch129, 10:0); + s(EmcPmacroQuseDdllRank0_5, 26:16, scratch129, 21:11); + s(EmcRdvEarly, 6:0, scratch129, 28:22); + s(EmcPmacroCmdPadTxCtrl, 9:7, scratch129, 31:29); + s(EmcPmacroQuseDdllRank1_1, 10:0, scratch130, 10:0); + s(EmcPmacroQuseDdllRank1_1, 26:16, scratch130, 21:11); + s(EmcQuseWidth, 4:0, scratch130, 26:22); + s(EmcQuseWidth, 29:28, scratch130, 28:27); + s(EmcPmacroCmdPadTxCtrl, 14:12, scratch130, 31:29); + s(EmcPmacroQuseDdllRank1_2, 10:0, scratch131, 10:0); + s(EmcPmacroQuseDdllRank1_2, 26:16, scratch131, 21:11); + s(EmcPmacroDdllShortCmd_2, 6:0, scratch131, 28:22); + s(EmcPmacroCmdPadTxCtrl, 19:17, scratch131, 31:29); + s(EmcPmacroQuseDdllRank1_3, 10:0, scratch132, 10:0); + s(EmcPmacroQuseDdllRank1_3, 26:16, scratch132, 21:11); + s(EmcPmacroCmdRxTermMode, 1:0, scratch132, 23:22); + s(EmcPmacroCmdRxTermMode, 5:4, scratch132, 25:24); + s(EmcPmacroCmdRxTermMode, 9:8, scratch132, 27:26); + s(EmcPmacroCmdRxTermMode, 13:13, scratch132, 28:28); + s(EmcPmacroDataPadTxCtrl, 4:2, scratch132, 31:29); + s(EmcPmacroQuseDdllRank1_4, 10:0, scratch133, 10:0); + s(EmcPmacroQuseDdllRank1_4, 26:16, scratch133, 21:11); + s(EmcPmacroDataRxTermMode, 1:0, scratch133, 23:22); + s(EmcPmacroDataRxTermMode, 5:4, scratch133, 25:24); + s(EmcPmacroDataRxTermMode, 9:8, scratch133, 27:26); + s(EmcPmacroDataRxTermMode, 13:13, scratch133, 28:28); + s(EmcPmacroDataPadTxCtrl, 9:7, scratch133, 31:29); + s(EmcPmacroQuseDdllRank1_5, 10:0, scratch134, 10:0); + s(EmcPmacroQuseDdllRank1_5, 26:16, scratch134, 21:11); + s(McEmemArbTimingRp, 6:0, scratch134, 28:22); + s(EmcPmacroDataPadTxCtrl, 14:12, scratch134, 31:29); + s(EmcPmacroObDdllLongDqRank0_0, 10:0, scratch135, 10:0); + s(EmcPmacroObDdllLongDqRank0_0, 26:16, scratch135, 21:11); + s(McEmemArbTimingRas, 6:0, scratch135, 28:22); + s(EmcPmacroDataPadTxCtrl, 19:17, scratch135, 31:29); + s(EmcPmacroObDdllLongDqRank0_1, 10:0, scratch136, 10:0); + s(EmcPmacroObDdllLongDqRank0_1, 26:16, scratch136, 21:11); + s(McEmemArbTimingFaw, 6:0, scratch136, 28:22); + s(EmcCfg, 17:16, scratch136, 30:29); + s(EmcFbioCfg5, 8:8, scratch136, 31:31); + s(EmcPmacroObDdllLongDqRank0_2, 10:0, scratch137, 10:0); + s(EmcPmacroObDdllLongDqRank0_2, 26:16, scratch137, 21:11); + s(McEmemArbTimingRap2Pre, 6:0, scratch137, 28:22); + s(EmcFbioCfg5, 1:0, scratch137, 30:29); + s(EmcFbioCfg5, 10:10, scratch137, 31:31); + s(EmcPmacroObDdllLongDqRank0_3, 10:0, scratch138, 10:0); + s(EmcPmacroObDdllLongDqRank0_3, 26:16, scratch138, 21:11); + s(McEmemArbTimingWap2Pre, 6:0, scratch138, 28:22); + s(EmcFbioCfg5, 3:2, scratch138, 30:29); + s(EmcFbioCfg5, 12:12, scratch138, 31:31); + s(EmcPmacroObDdllLongDqRank0_4, 10:0, scratch139, 10:0); + s(EmcPmacroObDdllLongDqRank0_4, 26:16, scratch139, 21:11); + s(McEmemArbTimingR2W, 6:0, scratch139, 28:22); + s(EmcCfg2, 27:26, scratch139, 30:29); + s(EmcFbioCfg5, 24:24, scratch139, 31:31); + s(EmcPmacroObDdllLongDqRank0_5, 10:0, scratch140, 10:0); + s(EmcPmacroObDdllLongDqRank0_5, 26:16, scratch140, 21:11); + s(McEmemArbTimingW2R, 6:0, scratch140, 28:22); + s(EmcFbioCfg5, 27:25, scratch140, 31:29); + s(EmcPmacroObDdllLongDqRank1_0, 10:0, scratch141, 10:0); + s(EmcPmacroObDdllLongDqRank1_0, 26:16, scratch141, 21:11); + s(EmcWdv, 5:0, scratch141, 27:22); + s(EmcFbioCfg5, 23:20, scratch141, 31:28); + s(EmcPmacroObDdllLongDqRank1_1, 10:0, scratch142, 10:0); + s(EmcPmacroObDdllLongDqRank1_1, 26:16, scratch142, 21:11); + s(EmcQUse, 4:0, scratch142, 27:22); + s(EmcFbioCfg5, 28:28, scratch142, 28:28); + s(EmcFbioCfg5, 31:30, scratch142, 30:29); + s(EmcCfg2, 0:0, scratch142, 31:31); + s(EmcPmacroObDdllLongDqRank1_2, 10:0, scratch143, 10:0); + s(EmcPmacroObDdllLongDqRank1_2, 26:16, scratch143, 21:11); + s(EmcPdEx2Wr, 5:0, scratch143, 27:22); + s(EmcCfg2, 2:1, scratch143, 29:28); + s(EmcCfg2, 7:7, scratch143, 30:30); + s(EmcCfg2, 10:10, scratch143, 31:31); + s(EmcPmacroObDdllLongDqRank1_3, 10:0, scratch144, 10:0); + s(EmcPmacroObDdllLongDqRank1_3, 26:16, scratch144, 21:11); + s(EmcPdEx2Rd, 5:0, scratch144, 27:22); + s(EmcCfg2, 11:11, scratch144, 28:28); + s(EmcCfg2, 16:14, scratch144, 31:29); + s(EmcPmacroObDdllLongDqRank1_4, 10:0, scratch145, 10:0); + s(EmcPmacroObDdllLongDqRank1_4, 26:16, scratch145, 21:11); + s(EmcPdex2Cke, 5:0, scratch145, 27:22); + s(EmcCfg2, 20:20, scratch145, 28:28); + s(EmcCfg2, 24:22, scratch145, 31:29); + s(EmcPmacroObDdllLongDqRank1_5, 10:0, scratch146, 10:0); + s(EmcPmacroObDdllLongDqRank1_5, 26:16, scratch146, 21:11); + s(EmcPChg2Pden, 5:0, scratch146, 27:22); + s(EmcCfg2, 25:25, scratch146, 28:28); + s(EmcCfg2, 30:28, scratch146, 31:29); + s(EmcPmacroObDdllLongDqsRank0_0, 10:0, scratch147, 10:0); + s(EmcPmacroObDdllLongDqsRank0_0, 26:16, scratch147, 21:11); + s(EmcAct2Pden, 5:0, scratch147, 27:22); + s(EmcCfg2, 31:31, scratch147, 28:28); + s(EmcCfgPipe, 2:0, scratch147, 31:29); + s(EmcPmacroObDdllLongDqsRank0_1, 10:0, scratch148, 10:0); + s(EmcPmacroObDdllLongDqsRank0_1, 26:16, scratch148, 21:11); + s(EmcCke2Pden, 5:0, scratch148, 27:22); + s(EmcCfgPipe, 6:3, scratch148, 31:28); + s(EmcPmacroObDdllLongDqsRank0_2, 10:0, scratch149, 10:0); + s(EmcPmacroObDdllLongDqsRank0_2, 26:16, scratch149, 21:11); + s(EmcTcke, 5:0, scratch149, 27:22); + s(EmcCfgPipe, 10:7, scratch149, 31:28); + s(EmcPmacroObDdllLongDqsRank0_3, 10:0, scratch150, 10:0); + s(EmcPmacroObDdllLongDqsRank0_3, 26:16, scratch150, 21:11); + s(EmcTrpab, 5:0, scratch150, 27:22); + s(EmcCfgPipe, 11:11, scratch150, 28:28); + s(EmcCfgPipe, 18:16, scratch150, 31:29); + s(EmcPmacroObDdllLongDqsRank0_4, 10:0, scratch151, 10:0); + s(EmcPmacroObDdllLongDqsRank0_4, 26:16, scratch151, 21:11); + s(EmcEInput, 5:0, scratch151, 27:22); + s(EmcCfgPipe, 22:19, scratch151, 31:28); + s(EmcPmacroObDdllLongDqsRank0_5, 10:0, scratch152, 10:0); + s(EmcPmacroObDdllLongDqsRank0_5, 26:16, scratch152, 21:11); + s(EmcEInputDuration, 5:0, scratch152, 27:22); + s(EmcCfgPipe, 26:23, scratch152, 31:28); + s(EmcPmacroObDdllLongDqsRank1_0, 10:0, scratch153, 10:0); + s(EmcPmacroObDdllLongDqsRank1_0, 26:16, scratch153, 21:11); + s(EmcPutermExtra, 5:0, scratch153, 27:22); + s(EmcCfgPipe, 27:27, scratch153, 28:28); + s(EmcPmacroTxSelClkSrc0, 2:0, scratch153, 31:29); + s(EmcPmacroObDdllLongDqsRank1_1, 10:0, scratch154, 10:0); + s(EmcPmacroObDdllLongDqsRank1_1, 26:16, scratch154, 21:11); + s(EmcTckesr, 5:0, scratch154, 27:22); + s(EmcPmacroTxSelClkSrc0, 6:3, scratch154, 31:28); + s(EmcPmacroObDdllLongDqsRank1_2, 10:0, scratch155, 10:0); + s(EmcPmacroObDdllLongDqsRank1_2, 26:16, scratch155, 21:11); + s(EmcTpd, 5:0, scratch155, 27:22); + s(EmcPmacroTxSelClkSrc0, 10:7, scratch155, 31:28); + s(EmcPmacroObDdllLongDqsRank1_3, 10:0, scratch156, 10:0); + s(EmcPmacroObDdllLongDqsRank1_3, 26:16, scratch156, 21:11); + s(EmcWdvMask, 5:0, scratch156, 27:22); + s(EmcPmacroTxSelClkSrc0, 19:16, scratch156, 31:28); + s(EmcPmacroObDdllLongDqsRank1_4, 10:0, scratch157, 10:0); + s(EmcPmacroObDdllLongDqsRank1_4, 26:16, scratch157, 21:11); + s(EmcWdvChk, 5:0, scratch157, 27:22); + s(EmcPmacroTxSelClkSrc0, 23:20, scratch157, 31:28); + s(EmcPmacroObDdllLongDqsRank1_5, 10:0, scratch158, 10:0); + s(EmcPmacroObDdllLongDqsRank1_5, 26:16, scratch158, 21:11); + s(EmcCmdBrlshft0, 5:0, scratch158, 27:22); + s(EmcPmacroTxSelClkSrc0, 26:24, scratch158, 30:28); + s(EmcPmacroTxSelClkSrc1, 0:0, scratch158, 31:31); + s(EmcPmacroIbDdllLongDqsRank0_0, 10:0, scratch159, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_0, 26:16, scratch159, 21:11); + s(EmcCmdBrlshft1, 5:0, scratch159, 27:22); + s(EmcPmacroTxSelClkSrc1, 4:1, scratch159, 31:28); + s(EmcPmacroIbDdllLongDqsRank0_1, 10:0, scratch160, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_1, 26:16, scratch160, 21:11); + s(EmcCmdBrlshft2, 5:0, scratch160, 27:22); + s(EmcPmacroTxSelClkSrc1, 8:5, scratch160, 31:28); + s(EmcPmacroIbDdllLongDqsRank0_2, 10:0, scratch161, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_2, 26:16, scratch161, 21:11); + s(EmcCmdBrlshft3, 5:0, scratch161, 27:22); + s(EmcPmacroTxSelClkSrc1, 10:9, scratch161, 29:28); + s(EmcPmacroTxSelClkSrc1, 17:16, scratch161, 31:30); + s(EmcPmacroIbDdllLongDqsRank0_3, 10:0, scratch162, 10:0); + s(EmcPmacroIbDdllLongDqsRank0_3, 26:16, scratch162, 21:11); + s(EmcWev, 5:0, scratch162, 27:22); + s(EmcPmacroTxSelClkSrc1, 21:18, scratch162, 31:28); + s(EmcPmacroIbDdllLongDqsRank1_0, 10:0, scratch163, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_0, 26:16, scratch163, 21:11); + s(EmcWsv, 5:0, scratch163, 27:22); + s(EmcPmacroTxSelClkSrc1, 25:22, scratch163, 31:28); + s(EmcPmacroIbDdllLongDqsRank1_1, 10:0, scratch164, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_1, 26:16, scratch164, 21:11); + s(EmcCfg3, 2:0, scratch164, 24:22); + s(EmcCfg3, 6:4, scratch164, 27:25); + s(EmcPmacroTxSelClkSrc1, 26:26, scratch164, 28:28); + s(EmcPmacroTxSelClkSrc3, 2:0, scratch164, 31:29); + s(EmcPmacroIbDdllLongDqsRank1_2, 10:0, scratch165, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_2, 26:16, scratch165, 21:11); + s(EmcPutermWidth, 31:31, scratch165, 22:22); + s(EmcPutermWidth, 4:0, scratch165, 27:23); + s(EmcPmacroTxSelClkSrc3, 6:3, scratch165, 31:28); + s(EmcPmacroIbDdllLongDqsRank1_3, 10:0, scratch166, 10:0); + s(EmcPmacroIbDdllLongDqsRank1_3, 26:16, scratch166, 21:11); + s(McEmemArbTimingRcd, 5:0, scratch166, 27:22); + s(EmcPmacroTxSelClkSrc3, 10:7, scratch166, 31:28); + s(EmcPmacroDdllLongCmd_0, 10:0, scratch167, 10:0); + s(EmcPmacroDdllLongCmd_0, 26:16, scratch167, 21:11); + s(McEmemArbTimingCcdmw, 5:0, scratch167, 27:22); + s(EmcPmacroTxSelClkSrc3, 19:16, scratch167, 31:28); + s(EmcPmacroDdllLongCmd_1, 10:0, scratch168, 10:0); + s(EmcPmacroDdllLongCmd_1, 26:16, scratch168, 21:11); + s(McEmemArbOverride, 27:26, scratch168, 23:22); + s(McEmemArbOverride, 16:16, scratch168, 24:24); + s(McEmemArbOverride, 10:10, scratch168, 25:25); + s(McEmemArbOverride, 4:3, scratch168, 27:26); + s(EmcPmacroTxSelClkSrc3, 23:20, scratch168, 31:28); + s(EmcPmacroDdllLongCmd_2, 10:0, scratch169, 10:0); + s(EmcPmacroDdllLongCmd_2, 26:16, scratch169, 21:11); + s(EmcRrd, 4:0, scratch169, 26:22); + s(EmcRext, 4:0, scratch169, 31:27); + s(EmcPmacroDdllLongCmd_3, 10:0, scratch170, 10:0); + s(EmcPmacroDdllLongCmd_3, 26:16, scratch170, 21:11); + s(EmcTClkStop, 4:0, scratch170, 26:22); + s(EmcWext, 4:0, scratch170, 31:27); + s(EmcPmacroPerbitFgcgCtrl0, 10:0, scratch171, 10:0); + s(EmcPmacroPerbitFgcgCtrl0, 26:16, scratch171, 21:11); + s(EmcRefctrl2, 0:0, scratch171, 22:22); + s(EmcRefctrl2, 26:24, scratch171, 25:23); + s(EmcRefctrl2, 31:31, scratch171, 26:26); + s(EmcWeDuration, 4:0, scratch171, 31:27); + s(EmcPmacroPerbitFgcgCtrl1, 10:0, scratch172, 10:0); + s(EmcPmacroPerbitFgcgCtrl1, 26:16, scratch172, 21:11); + s(EmcWsDuration, 4:0, scratch172, 26:22); + s(EmcPmacroPadCfgCtrl, 0:0, scratch172, 27:27); + s(EmcPmacroPadCfgCtrl, 9:9, scratch172, 28:28); + s(EmcPmacroPadCfgCtrl, 13:13, scratch172, 29:29); + s(EmcPmacroPadCfgCtrl, 17:16, scratch172, 31:30); + s(EmcPmacroPerbitFgcgCtrl2, 10:0, scratch173, 10:0); + s(EmcPmacroPerbitFgcgCtrl2, 26:16, scratch173, 21:11); + s(McEmemArbTimingRrd, 4:0, scratch173, 26:22); + s(McEmemArbTimingR2R, 4:0, scratch173, 31:27); + s(EmcPmacroPerbitFgcgCtrl3, 10:0, scratch174, 10:0); + s(EmcPmacroPerbitFgcgCtrl3, 26:16, scratch174, 21:11); + s(McEmemArbTimingW2W, 4:0, scratch174, 26:22); + s(EmcPmacroTxSelClkSrc3, 26:24, scratch174, 29:27); + s(EmcPmacroTxSelClkSrc2, 1:0, scratch174, 31:30); + s(EmcPmacroPerbitFgcgCtrl4, 10:0, scratch175, 10:0); + s(EmcPmacroPerbitFgcgCtrl4, 26:16, scratch175, 21:11); + s(EmcPmacroTxSelClkSrc2, 10:2, scratch175, 30:22); + s(EmcPmacroTxSelClkSrc2, 16:16, scratch175, 31:31); + s(EmcPmacroPerbitFgcgCtrl5, 10:0, scratch176, 10:0); + s(EmcPmacroPerbitFgcgCtrl5, 26:16, scratch176, 21:11); + s(EmcPmacroTxSelClkSrc2, 26:17, scratch176, 31:22); + s(McEmemArbCfg, 8:0, scratch177, 8:0); + s(McEmemArbCfg, 20:16, scratch177, 13:9); + s(McEmemArbCfg, 31:24, scratch177, 21:14); + s(EmcPmacroTxSelClkSrc4, 9:0, scratch177, 31:22); + s(McEmemArbMisc1, 12:0, scratch178, 12:0); + s(McEmemArbMisc1, 25:21, scratch178, 17:13); + s(McEmemArbMisc1, 31:28, scratch178, 21:18); + s(EmcPmacroTxSelClkSrc4, 10:10, scratch178, 22:22); + s(EmcPmacroTxSelClkSrc4, 24:16, scratch178, 31:23); + s(EmcMrsWaitCnt2, 9:0, scratch179, 9:0); + s(EmcMrsWaitCnt2, 26:16, scratch179, 20:10); + s(EmcOdtWrite, 5:0, scratch179, 26:21); + s(EmcOdtWrite, 11:8, scratch179, 30:27); + s(EmcOdtWrite, 31:31, scratch179, 31:31); + s(EmcMrsWaitCnt, 9:0, scratch180, 9:0); + s(EmcMrsWaitCnt, 26:16, scratch180, 20:10); + s(EmcPmacroIbRxrt, 10:0, scratch180, 31:21); + s(EmcAutoCalInterval, 20:0, scratch181, 20:0); + s(EmcPmacroDdllLongCmd_4, 10:0, scratch181, 31:21); + s(McEmemArbRefpbHpCtrl, 6:0, scratch182, 6:0); + s(McEmemArbRefpbHpCtrl, 14:8, scratch182, 13:7); + s(McEmemArbRefpbHpCtrl, 22:16, scratch182, 20:14); + s(McEmemArbOutstandingReq, 8:0, scratch182, 29:21); + s(McEmemArbOutstandingReq, 31:30, scratch182, 31:30); + s(EmcXm2CompPadCtrl2, 5:0, scratch183, 5:0); + s(EmcXm2CompPadCtrl2, 17:12, scratch183, 11:6); + s(EmcXm2CompPadCtrl2, 21:20, scratch183, 13:12); + s(EmcXm2CompPadCtrl2, 29:24, scratch183, 19:14); + s(EmcPmacroCmdCtrl0, 0:0, scratch183, 20:20); + s(EmcPmacroCmdCtrl0, 5:4, scratch183, 22:21); + s(EmcPmacroCmdCtrl0, 8:8, scratch183, 23:23); + s(EmcPmacroCmdCtrl0, 13:12, scratch183, 25:24); + s(EmcPmacroCmdCtrl0, 16:16, scratch183, 26:26); + s(EmcPmacroCmdCtrl0, 21:20, scratch183, 28:27); + s(EmcPmacroCmdCtrl0, 24:24, scratch183, 29:29); + s(EmcPmacroCmdCtrl0, 29:28, scratch183, 31:30); + s(EmcCfgDigDll_1, 19:0, scratch184, 19:0); + s(EmcPmacroCmdCtrl1, 0:0, scratch184, 20:20); + s(EmcPmacroCmdCtrl1, 5:4, scratch184, 22:21); + s(EmcPmacroCmdCtrl1, 8:8, scratch184, 23:23); + s(EmcPmacroCmdCtrl1, 13:12, scratch184, 25:24); + s(EmcPmacroCmdCtrl1, 16:16, scratch184, 26:26); + s(EmcPmacroCmdCtrl1, 21:20, scratch184, 28:27); + s(EmcPmacroCmdCtrl1, 24:24, scratch184, 29:29); + s(EmcPmacroCmdCtrl1, 29:28, scratch184, 31:30); + s(EmcQuseBrlshft0, 19:0, scratch185, 19:0); + s(EmcPmacroCmdCtrl2, 0:0, scratch185, 20:20); + s(EmcPmacroCmdCtrl2, 5:4, scratch185, 22:21); + s(EmcPmacroCmdCtrl2, 8:8, scratch185, 23:23); + s(EmcPmacroCmdCtrl2, 13:12, scratch185, 25:24); + s(EmcPmacroCmdCtrl2, 16:16, scratch185, 26:26); + s(EmcPmacroCmdCtrl2, 21:20, scratch185, 28:27); + s(EmcPmacroCmdCtrl2, 24:24, scratch185, 29:29); + s(EmcPmacroCmdCtrl2, 29:28, scratch185, 31:30); + s(EmcQuseBrlshft1, 19:0, scratch186, 19:0); + s(EmcPmacroDsrVttgenCtrl0, 3:0, scratch186, 23:20); + s(EmcPmacroDsrVttgenCtrl0, 15:8, scratch186, 31:24); + s(EmcQuseBrlshft2, 19:0, scratch187, 19:0); + s(EmcPmacroPerbitRfu1Ctrl0, 5:0, scratch187, 25:20); + s(EmcPmacroPerbitRfu1Ctrl0, 21:20, scratch187, 31:26); + s(EmcQuseBrlshft3, 19:0, scratch188, 19:0); + s(EmcPmacroPerbitRfu1Ctrl1, 5:0, scratch188, 25:20); + s(EmcPmacroPerbitRfu1Ctrl1, 21:20, scratch188, 31:26); + s(EmcDbg, 4:0, scratch189, 4:0); + s(EmcDbg, 13:9, scratch189, 9:5); + s(EmcDbg, 31:24, scratch189, 17:10); + s(EmcTRefBw, 13:0, scratch189, 31:18); + s(EmcZcalWaitCnt, 10:0, scratch191, 10:0); + s(EmcZcalWaitCnt, 21:16, scratch191, 16:11); + s(EmcZcalWaitCnt, 31:31, scratch191, 17:17); + s(EmcQpop, 6:0, scratch191, 24:18); + s(EmcQpop, 22:16, scratch191, 31:25); + s(EmcZcalMrwCmd, 7:0, scratch192, 7:0); + s(EmcZcalMrwCmd, 23:16, scratch192, 15:8); + s(EmcZcalMrwCmd, 31:30, scratch192, 17:16); + s(EmcPmacroAutocalCfgCommon, 5:0, scratch192, 23:18); + s(EmcPmacroAutocalCfgCommon, 13:8, scratch192, 29:24); + s(EmcPmacroAutocalCfgCommon, 16:16, scratch192, 30:30); + s(EmcPmacroTxSelClkSrc4, 25:25, scratch192, 31:31); + s(EmcPmacroDllCfg1, 10:0, scratch193, 10:0); + s(EmcPmacroDllCfg1, 13:12, scratch193, 12:11); + s(EmcPmacroDllCfg1, 17:16, scratch193, 14:13); + s(EmcPmacroDllCfg1, 21:20, scratch193, 16:15); + s(EmcPmacroDllCfg1, 24:24, scratch193, 17:17); + s(EmcPmacroPerbitRfu1Ctrl2, 5:0, scratch193, 23:18); + s(EmcPmacroPerbitRfu1Ctrl2, 21:16, scratch193, 29:24); + s(EmcPmacroTxSelClkSrc4, 26:26, scratch193, 30:30); + s(EmcPmacroTxSelClkSrc5, 0:0, scratch193, 31:31); + s(EmcPmacroCmdBrickCtrlFdpd, 17:0, scratch194, 17:0); + s(EmcPmacroPerbitRfu1Ctrl3, 5:0, scratch194, 23:18); + s(EmcPmacroPerbitRfu1Ctrl3, 21:16, scratch194, 29:24); + s(EmcPmacroTxSelClkSrc5, 2:1, scratch194, 31:30); + s(EmcPmacroDataBrickCtrlFdpd, 17:0, scratch195, 17:0); + s(EmcPmacroPerbitRfu1Ctrl4, 5:0, scratch195, 23:18); + s(EmcPmacroPerbitRfu1Ctrl4, 21:16, scratch195, 29:24); + s(EmcPmacroTxSelClkSrc5, 4:3, scratch195, 31:30); + s(EmcDynSelfRefControl, 15:0, scratch196, 15:0); + s(EmcDynSelfRefControl, 31:31, scratch196, 16:16); + s(McEmemArbRefpbBankCtrl, 6:0, scratch196, 23:17); + s(McEmemArbRefpbBankCtrl, 14:8, scratch196, 30:24); + s(McEmemArbRefpbBankCtrl, 31:31, scratch196, 31:31); + s(EmcPmacroCmdPadRxCtrl, 1:0, scratch197, 1:0); + s(EmcPmacroCmdPadRxCtrl, 5:4, scratch197, 3:2); + s(EmcPmacroCmdPadRxCtrl, 12:12, scratch197, 4:4); + s(EmcPmacroCmdPadRxCtrl, 19:15, scratch197, 9:5); + s(EmcPmacroCmdPadRxCtrl, 27:21, scratch197, 16:10); + s(EmcPmacroPerbitRfu1Ctrl5, 5:0, scratch197, 22:17); + s(EmcPmacroPerbitRfu1Ctrl5, 21:16, scratch197, 28:23); + s(EmcPmacroTxSelClkSrc5, 7:5, scratch197, 31:29); + s(EmcPmacroDataPadRxCtrl, 1:0, scratch198, 1:0); + s(EmcPmacroDataPadRxCtrl, 5:4, scratch198, 3:2); + s(EmcPmacroDataPadRxCtrl, 12:12, scratch198, 4:4); + s(EmcPmacroDataPadRxCtrl, 19:15, scratch198, 9:5); + s(EmcPmacroDataPadRxCtrl, 27:21, scratch198, 16:10); + s(EmcPmacroTxSelClkSrc5, 10:8, scratch198, 19:17); + s(EmcPmacroTxSelClkSrc5, 26:16, scratch198, 30:20); + s(EmcPmacroCmdPadTxCtrl, 0:0, scratch198, 31:31); + s(EmcRefresh, 15:0, scratch199, 15:0); + s(EmcCmdQ, 4:0, scratch199, 20:16); + s(EmcCmdQ, 10:8, scratch199, 23:21); + s(EmcCmdQ, 14:12, scratch199, 26:24); + s(EmcCmdQ, 28:24, scratch199, 31:27); + s(EmcAcpdControl, 15:0, scratch210, 15:0); + s(EmcAutoCalVrefSel1, 15:0, scratch210, 31:16); + s(EmcPmacroAutocalCfg0, 3:0, scratch211, 3:0); + s(EmcPmacroAutocalCfg0, 11:8, scratch211, 7:4); + s(EmcPmacroAutocalCfg0, 19:16, scratch211, 11:8); + s(EmcPmacroAutocalCfg0, 27:24, scratch211, 15:12); + s(EmcPmacroAutocalCfg1, 3:0, scratch211, 19:16); + s(EmcPmacroAutocalCfg1, 11:8, scratch211, 23:20); + s(EmcPmacroAutocalCfg1, 19:16, scratch211, 27:24); + s(EmcPmacroAutocalCfg1, 27:24, scratch211, 31:28); + s(EmcPmacroAutocalCfg2, 3:0, scratch212, 3:0); + s(EmcPmacroAutocalCfg2, 11:8, scratch212, 7:4); + s(EmcPmacroAutocalCfg2, 19:16, scratch212, 11:8); + s(EmcPmacroAutocalCfg2, 27:24, scratch212, 15:12); + s(EmcXm2CompPadCtrl3, 5:0, scratch212, 21:16); + s(EmcXm2CompPadCtrl3, 17:12, scratch212, 27:22); + s(EmcXm2CompPadCtrl3, 23:20, scratch212, 31:28); + s(EmcCfgDigDllPeriod, 15:0, scratch213, 15:0); + s(EmcPreRefreshReqCnt, 15:0, scratch213, 31:16); + s(EmcPmacroDdllBypass, 0:0, scratch214, 0:0); + s(EmcPmacroDdllBypass, 11:8, scratch214, 4:1); + s(EmcPmacroDdllBypass, 16:13, scratch214, 8:5); + s(EmcPmacroDdllBypass, 27:24, scratch214, 12:9); + s(EmcPmacroDdllBypass, 31:29, scratch214, 15:13); + s(EmcPmacroDataPiCtrl, 4:0, scratch214, 20:16); + s(EmcPmacroDataPiCtrl, 12:8, scratch214, 26:21); + s(EmcPmacroDataPiCtrl, 21:16, scratch214, 31:26); + s(EmcPmacroCmdPiCtrl, 4:0, scratch215, 4:0); + s(EmcPmacroCmdPiCtrl, 12:8, scratch215, 9:5); + s(EmcPmacroCmdPiCtrl, 21:16, scratch215, 15:10); + s(EmcPmacroCmdPadTxCtrl, 6:5, scratch216, 1:0); + s(EmcPmacroCmdPadTxCtrl, 10:10, scratch216, 2:2); + s(EmcPmacroCmdPadTxCtrl, 16:15, scratch216, 4:3); + s(EmcPmacroCmdPadTxCtrl, 30:21, scratch216, 14:5); + s(EmcPmacroDataPadTxCtrl, 0:0, scratch216, 15:15); + s(EmcPmacroDataPadTxCtrl, 6:5, scratch216, 17:16); + s(EmcPmacroDataPadTxCtrl, 10:10, scratch216, 18:18); + s(EmcPmacroDataPadTxCtrl, 16:15, scratch216, 20:19); + s(EmcPmacroDataPadTxCtrl, 30:21, scratch216, 30:21); + + s(EmcPinGpio, 1:0, scratch9, 31:30); + s(EmcPinGpioEn, 1:0, scratch10, 31:30); + s(EmcDevSelect, 1:0, scratch11, 31:30); + s(EmcZcalWarmColdBootEnables, 1:0, scratch12, 31:30); + s(EmcCfgDigDllPeriodWarmBoot, 1:0, scratch13, 31:30); + s32(EmcBctSpare13, scratch45); + s32(EmcBctSpare12, scratch46); + s32(EmcBctSpare7, scratch47); + s32(EmcBctSpare6, scratch48); + s32(EmcBctSpare5, scratch50); + s32(EmcBctSpare4, scratch51); + s32(EmcBctSpare3, scratch56); + s32(EmcBctSpare2, scratch57); + s32(EmcBctSpare1, scratch58); + s32(EmcBctSpare0, scratch59); + s32(EmcBctSpare9, scratch60); + s32(EmcBctSpare8, scratch61); + s32(BootRomPatchData, scratch62); + s32(BootRomPatchControl, scratch63); + s(McClkenOverrideAllWarmBoot, 0:0, scratch65, 31:31); + s(EmcExtraRefreshNum, 2:0, scratch66, 31:29); + s(PmcIoDpd3ReqWait, 2:0, scratch72, 30:28); + s(EmcClkenOverrideAllWarmBoot, 0:0, scratch72, 31:31); + s(MemoryType, 2:0, scratch73, 30:28); + s(EmcMrsWarmBootEnable, 0:0, scratch73, 31:31); + s(PmcIoDpd4ReqWait, 2:0, scratch74, 30:28); + s(ClearClk2Mc1, 0:0, scratch74, 31:31); + s(EmcWarmBootExtraModeRegWriteEnable, 0:0, scratch75, 28:28); + s(ClkRstControllerPllmMisc2OverrideEnable, 0:0, scratch75, 29:29); + s(EmcDbgWriteMux, 0:0, scratch75, 30:30); + s(AhbArbitrationXbarCtrlMemInitDone, 0:0, scratch75, 31:31); + s(EmcTimingControlWait, 7:0, scratch90, 31:24); + s(EmcZcalWarmBootWait, 7:0, scratch91, 31:24); + s(WarmBootWait, 7:0, scratch92, 31:24); + s(EmcPinProgramWait, 7:0, scratch93, 31:24); + s(EmcAutoCalWait, 9:0, scratch114, 31:22); + s(SwizzleRankByteEncode, 15:0, scratch215, 31:16); + + switch (params->MemoryType) { + case NvBootMemoryType_LpDdr2: + case NvBootMemoryType_LpDdr4: + s(EmcMrwLpddr2ZcalWarmBoot, 23:16, scratch5, 7:0); + s(EmcMrwLpddr2ZcalWarmBoot, 7:0, scratch5, 15:8); + s(EmcWarmBootMrwExtra, 23:16, scratch5, 23:16); + s(EmcWarmBootMrwExtra, 7:0, scratch5, 31:24); + s(EmcMrwLpddr2ZcalWarmBoot, 31:30, scratch6, 1:0); + s(EmcWarmBootMrwExtra, 31:30, scratch6, 3:2); + s(EmcMrwLpddr2ZcalWarmBoot, 27:26, scratch6, 5:4); + s(EmcWarmBootMrwExtra, 27:26, scratch6, 7:6); + s(EmcMrw6, 27:0, scratch8, 27:0); + s(EmcMrw6, 31:30, scratch8, 29:28); + s(EmcMrw8, 27:0, scratch9, 27:0); + s(EmcMrw8, 31:30, scratch9, 29:28); + s(EmcMrw9, 27:0, scratch10, 27:0); + s(EmcMrw9, 31:30, scratch10, 29:28); + s(EmcMrw10, 27:0, scratch11, 27:0); + s(EmcMrw10, 31:30, scratch11, 29:28); + s(EmcMrw12, 27:0, scratch12, 27:0); + s(EmcMrw12, 31:30, scratch12, 29:28); + s(EmcMrw13, 27:0, scratch13, 27:0); + s(EmcMrw13, 31:30, scratch13, 29:28); + s(EmcMrw14, 27:0, scratch14, 27:0); + s(EmcMrw14, 31:30, scratch14, 29:28); + s(EmcMrw1, 7:0, scratch15, 7:0); + s(EmcMrw1, 23:16, scratch15, 15:8); + s(EmcMrw1, 27:26, scratch15, 17:16); + s(EmcMrw1, 31:30, scratch15, 19:18); + s(EmcWarmBootMrwExtra, 7:0, scratch16, 7:0); + s(EmcWarmBootMrwExtra, 23:16, scratch16, 15:8); + s(EmcWarmBootMrwExtra, 27:26, scratch16, 17:16); + s(EmcWarmBootMrwExtra, 31:30, scratch16, 19:18); + s(EmcMrw2, 7:0, scratch17, 7:0); + s(EmcMrw2, 23:16, scratch17, 15:8); + s(EmcMrw2, 27:26, scratch17, 17:16); + s(EmcMrw2, 31:30, scratch17, 19:18); + s(EmcMrw3, 7:0, scratch18, 7:0); + s(EmcMrw3, 23:16, scratch18, 15:8); + s(EmcMrw3, 27:26, scratch18, 17:16); + s(EmcMrw3, 31:30, scratch18, 19:18); + s(EmcMrw4, 7:0, scratch19, 7:0); + s(EmcMrw4, 23:16, scratch19, 15:8); + s(EmcMrw4, 27:26, scratch19, 17:16); + s(EmcMrw4, 31:30, scratch19, 19:18); + break; + case NvBootMemoryType_Ddr3: + s(EmcMrs, 13:0, scratch5, 13:0); + s(EmcEmrs, 13:0, scratch5, 27:14); + s(EmcMrs, 21:20, scratch5, 29:28); + s(EmcMrs, 31:30, scratch5, 31:30); + s(EmcEmrs2, 13:0, scratch8, 13:0); + s(EmcEmrs3, 13:0, scratch8, 27:14); + s(EmcEmrs, 21:20, scratch8, 29:28); + s(EmcWarmBootMrsExtra, 13:0, scratch9, 13:0); + s(EmcEmrs, 31:30, scratch9, 15:14); + s(EmcEmrs2, 21:20, scratch9, 17:16); + s(EmcEmrs2, 31:30, scratch9, 19:18); + s(EmcEmrs3, 21:20, scratch9, 21:20); + s(EmcEmrs3, 31:30, scratch9, 23:22); + s(EmcWarmBootMrsExtra, 31:30, scratch9, 25:24); + s(EmcWarmBootMrsExtra, 21:20, scratch9, 27:26); + s(EmcZqCalDdr3WarmBoot, 31:30, scratch9, 29:28); + s(EmcMrs, 27:26, scratch10, 1:0); + s(EmcEmrs, 27:26, scratch10, 3:2); + s(EmcEmrs2, 27:26, scratch10, 5:4); + s(EmcEmrs3, 27:26, scratch10, 7:6); + s(EmcWarmBootMrsExtra, 27:27, scratch10, 8:8); + s(EmcWarmBootMrsExtra, 26:26, scratch10, 9:9); + s(EmcZqCalDdr3WarmBoot, 0:0, scratch10, 10:10); + s(EmcZqCalDdr3WarmBoot, 4:4, scratch10, 11:11); + break; + default: break; + } + + s32(EmcCmdMappingByte, secure_scratch8); + s32(EmcPmacroBrickMapping0, secure_scratch9); + s32(EmcPmacroBrickMapping1, secure_scratch10); + s32(EmcPmacroBrickMapping2, secure_scratch11); + s32(McVideoProtectGpuOverride0, secure_scratch12); + s(EmcCmdMappingCmd0_0, 6:0, secure_scratch13, 6:0); + s(EmcCmdMappingCmd0_0, 14:8, secure_scratch13, 13:7); + s(EmcCmdMappingCmd0_0, 22:16, secure_scratch13, 20:14); + s(EmcCmdMappingCmd0_0, 30:24, secure_scratch13, 27:21); + s(McUntranslatedRegionCheck, 0:0, secure_scratch13, 28:28); + s(McUntranslatedRegionCheck, 9:8, secure_scratch13, 30:29); + s(EmcAdrCfg, 0:0, secure_scratch13, 31:31); + s(EmcCmdMappingCmd0_1, 6:0, secure_scratch14, 6:0); + s(EmcCmdMappingCmd0_1, 14:8, secure_scratch14, 13:7); + s(EmcCmdMappingCmd0_1, 22:16, secure_scratch14, 20:14); + s(EmcCmdMappingCmd0_1, 30:24, secure_scratch14, 27:21); + s(McVideoProtectBomAdrHi, 1:0, secure_scratch14, 29:28); + s(McVideoProtectWriteAccess, 1:0, secure_scratch14, 31:30); + s(EmcCmdMappingCmd1_0, 6:0, secure_scratch15, 6:0); + s(EmcCmdMappingCmd1_0, 14:8, secure_scratch15, 13:7); + s(EmcCmdMappingCmd1_0, 22:16, secure_scratch15, 20:14); + s(EmcCmdMappingCmd1_0, 30:24, secure_scratch15, 27:21); + s(McSecCarveoutAdrHi, 1:0, secure_scratch15, 29:28); + s(McMtsCarveoutAdrHi, 1:0, secure_scratch15, 31:30); + s(EmcCmdMappingCmd1_1, 6:0, secure_scratch16, 6:0); + s(EmcCmdMappingCmd1_1, 14:8, secure_scratch16, 13:7); + s(EmcCmdMappingCmd1_1, 22:16, secure_scratch16, 20:14); + s(EmcCmdMappingCmd1_1, 30:24, secure_scratch16, 27:21); + s(McGeneralizedCarveout5BomHi, 1:0, secure_scratch16, 29:28); + s(McGeneralizedCarveout3BomHi, 1:0, secure_scratch16, 31:30); + s(EmcCmdMappingCmd2_0, 6:0, secure_scratch17, 6:0); + s(EmcCmdMappingCmd2_0, 14:8, secure_scratch17, 13:7); + s(EmcCmdMappingCmd2_0, 22:16, secure_scratch17, 20:14); + s(EmcCmdMappingCmd2_0, 30:24, secure_scratch17, 27:21); + s(McGeneralizedCarveout2BomHi, 1:0, secure_scratch17, 29:28); + s(McGeneralizedCarveout4BomHi, 1:0, secure_scratch17, 31:30); + s(EmcCmdMappingCmd2_1, 6:0, secure_scratch18, 6:0); + s(EmcCmdMappingCmd2_1, 14:8, secure_scratch18, 13:7); + s(EmcCmdMappingCmd2_1, 22:16, secure_scratch18, 20:14); + s(EmcCmdMappingCmd2_1, 30:24, secure_scratch18, 27:21); + s(McGeneralizedCarveout1BomHi, 1:0, secure_scratch18, 29:28); + s(EmcFbioSpare, 1:1, secure_scratch18, 30:30); + s(EmcFbioCfg8, 15:15, secure_scratch18, 31:31); + s(EmcCmdMappingCmd3_0, 6:0, secure_scratch19, 6:0); + s(EmcCmdMappingCmd3_0, 14:8, secure_scratch19, 13:7); + s(EmcCmdMappingCmd3_0, 22:16, secure_scratch19, 20:14); + s(EmcCmdMappingCmd3_0, 30:24, secure_scratch19, 27:21); + s(McEmemAdrCfg, 0:0, secure_scratch19, 28:28); + s(McSecCarveoutProtectWriteAccess, 0:0, secure_scratch19, 29:29); + s(McMtsCarveoutRegCtrl, 0:0, secure_scratch19, 30:30); + s(McVideoProtectVprOverride, 0:0, secure_scratch19, 31:31); + s(EmcCmdMappingCmd3_1, 6:0, secure_scratch20, 6:0); + s(EmcCmdMappingCmd3_1, 14:8, secure_scratch20, 13:7); + s(EmcCmdMappingCmd3_1, 22:16, secure_scratch20, 20:14); + s(EmcCmdMappingCmd3_1, 30:24, secure_scratch20, 27:21); + s(McGeneralizedCarveout2Cfg0, 6:3, secure_scratch20, 31:28); + s(McGeneralizedCarveout4Cfg0, 26:0, secure_scratch39, 26:0); + s(McGeneralizedCarveout2Cfg0, 10:7, secure_scratch39, 30:27); + s(McVideoProtectVprOverride, 1:1, secure_scratch39, 31:31); + s(McGeneralizedCarveout5Cfg0, 26:0, secure_scratch40, 26:0); + s(McGeneralizedCarveout2Cfg0, 17:14, secure_scratch40, 30:27); + s(McVideoProtectVprOverride, 2:2, secure_scratch40, 31:31); + s(EmcCmdMappingCmd0_2, 6:0, secure_scratch41, 6:0); + s(EmcCmdMappingCmd0_2, 14:8, secure_scratch41, 13:7); + s(EmcCmdMappingCmd0_2, 22:16, secure_scratch41, 20:14); + s(EmcCmdMappingCmd0_2, 27:24, secure_scratch41, 24:21); + s(McGeneralizedCarveout2Cfg0, 21:18, secure_scratch41, 28:25); + s(McGeneralizedCarveout2Cfg0, 13:11, secure_scratch41, 31:29); + s(EmcCmdMappingCmd1_2, 6:0, secure_scratch42, 6:0); + s(EmcCmdMappingCmd1_2, 14:8, secure_scratch42, 13:7); + s(EmcCmdMappingCmd1_2, 22:16, secure_scratch42, 20:14); + s(EmcCmdMappingCmd1_2, 27:24, secure_scratch42, 24:21); + s(McGeneralizedCarveout1Cfg0, 6:3, secure_scratch42, 28:25); + s(McGeneralizedCarveout1Cfg0, 13:11, secure_scratch42, 31:29); + s(EmcCmdMappingCmd2_2, 6:0, secure_scratch43, 6:0); + s(EmcCmdMappingCmd2_2, 14:8, secure_scratch43, 13:7); + s(EmcCmdMappingCmd2_2, 22:16, secure_scratch43, 20:14); + s(EmcCmdMappingCmd2_2, 27:24, secure_scratch43, 24:21); + s(McGeneralizedCarveout1Cfg0, 10:7, secure_scratch43, 28:25); + s(McGeneralizedCarveout3Cfg0, 13:11, secure_scratch43, 31:29); + s(EmcCmdMappingCmd3_2, 6:0, secure_scratch44, 6:0); + s(EmcCmdMappingCmd3_2, 14:8, secure_scratch44, 13:7); + s(EmcCmdMappingCmd3_2, 22:16, secure_scratch44, 20:14); + s(EmcCmdMappingCmd3_2, 27:24, secure_scratch44, 24:21); + s(McGeneralizedCarveout1Cfg0, 17:14, secure_scratch44, 28:25); + s(McVideoProtectVprOverride, 3:3, secure_scratch44, 29:29); + s(McVideoProtectVprOverride, 7:6, secure_scratch44, 31:30); + s(McEmemAdrCfgChannelMask, 31:9, secure_scratch45, 22:0); + s(McEmemAdrCfgDev0, 2:0, secure_scratch45, 25:23); + s(McEmemAdrCfgDev0, 9:8, secure_scratch45, 27:26); + s(McEmemAdrCfgDev0, 19:16, secure_scratch45, 31:28); + s(McEmemAdrCfgBankMask0, 31:10, secure_scratch46, 21:0); + s(McEmemAdrCfgDev1, 2:0, secure_scratch46, 24:22); + s(McEmemAdrCfgDev1, 9:8, secure_scratch46, 26:25); + s(McEmemAdrCfgDev1, 19:16, secure_scratch46, 30:27); + s(McVideoProtectVprOverride, 8:8, secure_scratch46, 31:31); + s(McEmemAdrCfgBankMask1, 31:10, secure_scratch47, 21:0); + s(McGeneralizedCarveout1Cfg0, 21:18, secure_scratch47, 25:22); + s(McGeneralizedCarveout3Cfg0, 6:3, secure_scratch47, 29:26); + s(McVideoProtectVprOverride, 9:9, secure_scratch47, 30:30); + s(McVideoProtectVprOverride, 11:11, secure_scratch47, 31:31); + s(McEmemAdrCfgBankMask2, 31:10, secure_scratch48, 21:0); + s(McGeneralizedCarveout3Cfg0, 10:7, secure_scratch48, 25:22); + s(McGeneralizedCarveout3Cfg0, 17:14, secure_scratch48, 29:26); + s(McVideoProtectVprOverride, 15:14, secure_scratch48, 31:30); + s(McVideoProtectGpuOverride1, 15:0, secure_scratch49, 15:0); + s(McEmemCfg, 13:0, secure_scratch49, 29:16); + s(McEmemCfg, 31:31, secure_scratch49, 30:30); + s(McVideoProtectVprOverride, 17:17, secure_scratch49, 31:31); + s(McGeneralizedCarveout3Bom, 31:17, secure_scratch50, 14:0); + s(McGeneralizedCarveout1Bom, 31:17, secure_scratch50, 29:15); + s(McVideoProtectVprOverride, 19:18, secure_scratch50, 31:30); + s(McGeneralizedCarveout4Bom, 31:17, secure_scratch51, 14:0); + s(McGeneralizedCarveout2Bom, 31:17, secure_scratch51, 29:15); + s(McVideoProtectVprOverride, 21:20, secure_scratch51, 31:30); + s(McGeneralizedCarveout5Bom, 31:17, secure_scratch52, 14:0); + s(McVideoProtectBom, 31:20, secure_scratch52, 26:15); + s(McGeneralizedCarveout3Cfg0, 21:18, secure_scratch52, 30:27); + s(McVideoProtectVprOverride, 22:22, secure_scratch52, 31:31); + s(McVideoProtectSizeMb, 11:0, secure_scratch53, 11:0); + s(McSecCarveoutBom, 31:20, secure_scratch53, 23:12); + s(McVideoProtectVprOverride, 23:23, secure_scratch53, 24:24); + s(McVideoProtectVprOverride, 26:26, secure_scratch53, 25:25); + s(McVideoProtectVprOverride, 31:29, secure_scratch53, 28:26); + s(McVideoProtectVprOverride1, 1:0, secure_scratch53, 30:29); + s(McVideoProtectVprOverride1, 4:4, secure_scratch53, 31:31); + s(McSecCarveoutSizeMb, 11:0, secure_scratch54, 11:0); + s(McMtsCarveoutBom, 31:20, secure_scratch54, 23:12); + s(McVideoProtectVprOverride1, 12:5, secure_scratch54, 31:24); + s(McMtsCarveoutSizeMb, 11:0, secure_scratch55, 11:0); + s(McGeneralizedCarveout4Size128kb, 11:0, secure_scratch55, 23:12); + s(McVideoProtectVprOverride1, 16:13, secure_scratch55, 27:24); + s(McVideoProtectVprOverride1, 26:25, secure_scratch55, 29:28); + s(McGeneralizedCarveout2Cfg0, 1:0, secure_scratch55, 31:30); + s(McGeneralizedCarveout3Size128kb, 11:0, secure_scratch56, 11:0); + s(McGeneralizedCarveout2Size128kb, 11:0, secure_scratch56, 23:12); + s(McGeneralizedCarveout2Cfg0, 2:2, secure_scratch56, 24:24); + s(McGeneralizedCarveout2Cfg0, 26:22, secure_scratch56, 29:25); + s(McGeneralizedCarveout1Cfg0, 1:0, secure_scratch56, 31:30); + s(McGeneralizedCarveout1Size128kb, 11:0, secure_scratch57, 11:0); + s(McGeneralizedCarveout5Size128kb, 11:0, secure_scratch57, 23:12); + s(McGeneralizedCarveout1Cfg0, 2:2, secure_scratch57, 24:24); + s(McGeneralizedCarveout1Cfg0, 26:22, secure_scratch57, 29:25); + s(McGeneralizedCarveout3Cfg0, 1:0, secure_scratch57, 31:30); + s(McGeneralizedCarveout3Cfg0, 2:2, secure_scratch58, 0:0); + s(McGeneralizedCarveout3Cfg0, 26:22, secure_scratch57, 5:1); + + s32(McGeneralizedCarveout1Access0, secure_scratch59); + s32(McGeneralizedCarveout1Access1, secure_scratch60); + s32(McGeneralizedCarveout1Access2, secure_scratch61); + s32(McGeneralizedCarveout1Access3, secure_scratch62); + s32(McGeneralizedCarveout1Access4, secure_scratch63); + s32(McGeneralizedCarveout2Access0, secure_scratch64); + s32(McGeneralizedCarveout2Access1, secure_scratch65); + s32(McGeneralizedCarveout2Access2, secure_scratch66); + s32(McGeneralizedCarveout2Access3, secure_scratch67); + s32(McGeneralizedCarveout2Access4, secure_scratch68); + s32(McGeneralizedCarveout3Access0, secure_scratch69); + s32(McGeneralizedCarveout3Access1, secure_scratch70); + s32(McGeneralizedCarveout3Access2, secure_scratch71); + s32(McGeneralizedCarveout3Access3, secure_scratch72); + s32(McGeneralizedCarveout3Access4, secure_scratch73); + s32(McGeneralizedCarveout4Access0, secure_scratch74); + s32(McGeneralizedCarveout4Access1, secure_scratch75); + s32(McGeneralizedCarveout4Access2, secure_scratch76); + s32(McGeneralizedCarveout4Access3, secure_scratch77); + s32(McGeneralizedCarveout4Access4, secure_scratch78); + s32(McGeneralizedCarveout5Access0, secure_scratch79); + s32(McGeneralizedCarveout5Access1, secure_scratch80); + s32(McGeneralizedCarveout5Access2, secure_scratch81); + s32(McGeneralizedCarveout5Access3, secure_scratch82); + s32(McGeneralizedCarveout1ForceInternalAccess0, secure_scratch84); + s32(McGeneralizedCarveout1ForceInternalAccess1, secure_scratch85); + s32(McGeneralizedCarveout1ForceInternalAccess2, secure_scratch86); + s32(McGeneralizedCarveout1ForceInternalAccess3, secure_scratch87); + s32(McGeneralizedCarveout1ForceInternalAccess4, secure_scratch88); + s32(McGeneralizedCarveout2ForceInternalAccess0, secure_scratch89); + s32(McGeneralizedCarveout2ForceInternalAccess1, secure_scratch90); + s32(McGeneralizedCarveout2ForceInternalAccess2, secure_scratch91); + s32(McGeneralizedCarveout2ForceInternalAccess3, secure_scratch92); + s32(McGeneralizedCarveout2ForceInternalAccess4, secure_scratch93); + s32(McGeneralizedCarveout3ForceInternalAccess0, secure_scratch94); + s32(McGeneralizedCarveout3ForceInternalAccess1, secure_scratch95); + s32(McGeneralizedCarveout3ForceInternalAccess2, secure_scratch96); + s32(McGeneralizedCarveout3ForceInternalAccess3, secure_scratch97); + s32(McGeneralizedCarveout3ForceInternalAccess4, secure_scratch98); + s32(McGeneralizedCarveout4ForceInternalAccess0, secure_scratch99); + s32(McGeneralizedCarveout4ForceInternalAccess1, secure_scratch100); + s32(McGeneralizedCarveout4ForceInternalAccess2, secure_scratch101); + s32(McGeneralizedCarveout4ForceInternalAccess3, secure_scratch102); + s32(McGeneralizedCarveout4ForceInternalAccess4, secure_scratch103); + s32(McGeneralizedCarveout5ForceInternalAccess0, secure_scratch104); + s32(McGeneralizedCarveout5ForceInternalAccess1, secure_scratch105); + s32(McGeneralizedCarveout5ForceInternalAccess2, secure_scratch106); + s32(McGeneralizedCarveout5ForceInternalAccess3, secure_scratch107); + + c32(0, scratch2); + s(PllMInputDivider, 7:0, scratch2, 7:0); + s(PllMFeedbackDivider, 7:0, scratch2, 15:8); + s(PllMPostDivider, 0:0, scratch2, 16:16); + s(PllMKVCO, 0:0, scratch2, 17:17); + s(PllMKCP, 1:0, scratch2, 19:18); + + c32(0, scratch35); + s(PllMSetupControl, 27:0, scratch35, 27:0); + + c32(0, scratch3); + s(PllMInputDivider, 7:0, scratch3, 7:0); + c(0x3e, scratch3, 15:8); + c(0, scratch3, 20:16); + s(PllMKVCO, 0:0, scratch3, 21:21); + s(PllMKCP, 1:0, scratch3, 23:22); + + c32(0, scratch36); + s(PllMSetupControl, 23:0, scratch36, 23:0); + + c32(0, scratch4); + s(PllMStableTime, 19:0, scratch4, 19:0); } \ No newline at end of file