10cee9a95SJohnny Huang /* 20cee9a95SJohnny Huang * Generated by info2header.py 30cee9a95SJohnny Huang * Do not edit it. 40cee9a95SJohnny Huang */ 50cee9a95SJohnny Huang 60cee9a95SJohnny Huang #define OTP_INFO_VER "1.0.0" 70cee9a95SJohnny Huang #define OTP_REG_RESERVED -1 80cee9a95SJohnny Huang #define OTP_REG_VALUE -2 90cee9a95SJohnny Huang #define OTP_REG_VALID_BIT -3 100cee9a95SJohnny Huang 110cee9a95SJohnny Huang struct otpstrap_info { 12*2e151c2bSJohnny Huang signed char bit_offset; 13*2e151c2bSJohnny Huang signed char length; 14*2e151c2bSJohnny Huang signed char value; 150cee9a95SJohnny Huang char *information; 160cee9a95SJohnny Huang }; 170cee9a95SJohnny Huang 180cee9a95SJohnny Huang struct otpconf_info { 19*2e151c2bSJohnny Huang signed char dw_offset; 20*2e151c2bSJohnny Huang signed char bit_offset; 21*2e151c2bSJohnny Huang signed char length; 22*2e151c2bSJohnny Huang signed char value; 230cee9a95SJohnny Huang char *information; 240cee9a95SJohnny Huang }; 250cee9a95SJohnny Huang 260cee9a95SJohnny Huang static const struct otpstrap_info a0_strap_info[] = { 270cee9a95SJohnny Huang { 0, 1, 0, "Disable Secure Boot" }, 280cee9a95SJohnny Huang { 0, 1, 1, "Enable Secure Boot" }, 290cee9a95SJohnny Huang { 1, 1, 0, "Disable boot from eMMC" }, 300cee9a95SJohnny Huang { 1, 1, 1, "Enable boot from eMMC" }, 310cee9a95SJohnny Huang { 2, 1, 0, "Disable Boot from debug SPI" }, 320cee9a95SJohnny Huang { 2, 1, 1, "Enable Boot from debug SPI" }, 330cee9a95SJohnny Huang { 3, 1, 0, "Enable ARM CM3" }, 340cee9a95SJohnny Huang { 3, 1, 1, "Disable ARM CM3" }, 350cee9a95SJohnny Huang { 4, 1, 0, "No VGA BIOS ROM, VGA BIOS is merged in the system BIOS" }, 360cee9a95SJohnny Huang { 4, 1, 1, "Enable dedicated VGA BIOS ROM" }, 370cee9a95SJohnny Huang { 5, 1, 0, "MAC 1 : RMII/NCSI" }, 380cee9a95SJohnny Huang { 5, 1, 1, "MAC 1 : RGMII" }, 390cee9a95SJohnny Huang { 6, 1, 0, "MAC 2 : RMII/NCSI" }, 400cee9a95SJohnny Huang { 6, 1, 1, "MAC 2 : RGMII" }, 410cee9a95SJohnny Huang { 7, 2, 0, "CPU Frequency : 1GHz" }, 420cee9a95SJohnny Huang { 7, 2, 1, "CPU Frequency : 800MHz" }, 430cee9a95SJohnny Huang { 7, 2, 2, "CPU Frequency : 1.2GHz" }, 440cee9a95SJohnny Huang { 7, 2, 3, "CPU Frequency : 1.4GHz" }, 450cee9a95SJohnny Huang { 10, 2, 1, "HCLK ratio AXI:AHB = 2:1" }, 460cee9a95SJohnny Huang { 10, 2, 2, "HCLK ratio AXI:AHB = 3:1" }, 470cee9a95SJohnny Huang { 10, 2, 3, "HCLK ratio AXI:AHB = 4:1" }, 480cee9a95SJohnny Huang { 12, 2, 0, "VGA memory size : 8MB" }, 490cee9a95SJohnny Huang { 12, 2, 1, "VGA memory size : 16MB" }, 500cee9a95SJohnny Huang { 12, 2, 2, "VGA memory size : 32MB" }, 510cee9a95SJohnny Huang { 12, 2, 3, "VGA memory size : 64MB" }, 520cee9a95SJohnny Huang { 15, 1, 0, "CPU/AXI clock ratio : 2:1" }, 530cee9a95SJohnny Huang { 15, 1, 1, "CPU/AXI clock ratio : 1:1" }, 540cee9a95SJohnny Huang { 16, 1, 0, "Enable ARM JTAG debug" }, 550cee9a95SJohnny Huang { 16, 1, 1, "Disable ARM JTAG debug" }, 560cee9a95SJohnny Huang { 17, 1, 0, "VGA class code : video_device" }, 570cee9a95SJohnny Huang { 17, 1, 1, "VGA class code : vga_device" }, 580cee9a95SJohnny Huang { 18, 1, 0, "Enable debug interfaces 0" }, 590cee9a95SJohnny Huang { 18, 1, 1, "Disable debug interfaces 0" }, 600cee9a95SJohnny Huang { 19, 1, 0, "Boot from eMMC speed mode : normal" }, 610cee9a95SJohnny Huang { 19, 1, 1, "Boot from eMMC speed mode : high" }, 620cee9a95SJohnny Huang { 20, 1, 0, "Disable Pcie EHCI device" }, 630cee9a95SJohnny Huang { 20, 1, 1, "Enable Pcie EHCI device" }, 640cee9a95SJohnny Huang { 21, 1, 0, "Enable ARM JTAG trust world debug" }, 650cee9a95SJohnny Huang { 21, 1, 1, "Disable ARM JTAG trust world debug" }, 660cee9a95SJohnny Huang { 22, 1, 0, "Normal BMC mode" }, 670cee9a95SJohnny Huang { 22, 1, 1, "Disable dedicated BMC functions for non-BMC application" }, 680cee9a95SJohnny Huang { 23, 1, 0, "SSPRST# pin is for secondary processor dedicated reset pin" }, 690cee9a95SJohnny Huang { 23, 1, 1, "SSPRST# pin is for PCIE root complex dedicated reset pin" }, 700cee9a95SJohnny Huang { 24, 1, 0, "Enable watchdog to reset full chip" }, 710cee9a95SJohnny Huang { 24, 1, 1, "Disable watchdog to reset full chip" }, 720cee9a95SJohnny Huang { 25, 2, 0, "Internal bridge speed selection : 1x" }, 730cee9a95SJohnny Huang { 25, 2, 1, "Internal bridge speed selection : 1/2x" }, 740cee9a95SJohnny Huang { 25, 2, 2, "Internal bridge speed selection : 1/4x" }, 750cee9a95SJohnny Huang { 25, 2, 3, "Internal bridge speed selection : 1/8x" }, 760cee9a95SJohnny Huang { 29, 1, 0, "Enable RVAS function" }, 770cee9a95SJohnny Huang { 29, 1, 1, "Disable RVAS function" }, 780cee9a95SJohnny Huang { 32, 1, 0, "MAC 3 : RMII/NCSI" }, 790cee9a95SJohnny Huang { 32, 1, 1, "MAC 3 : RGMII" }, 800cee9a95SJohnny Huang { 33, 1, 0, "MAC 4 : RMII/NCSI" }, 810cee9a95SJohnny Huang { 33, 1, 1, "MAC 4 : RGMII" }, 820cee9a95SJohnny Huang { 34, 1, 0, "SuperIO configuration address : 0x2e" }, 830cee9a95SJohnny Huang { 34, 1, 1, "SuperIO configuration address : 0x4e" }, 840cee9a95SJohnny Huang { 35, 1, 0, "Enable LPC to decode SuperIO" }, 850cee9a95SJohnny Huang { 35, 1, 1, "Disable LPC to decode SuperIO" }, 860cee9a95SJohnny Huang { 36, 1, 0, "Enable debug interfaces 1" }, 870cee9a95SJohnny Huang { 36, 1, 1, "Disable debug interfaces 1" }, 880cee9a95SJohnny Huang { 37, 1, 0, "Disable ACPI function" }, 890cee9a95SJohnny Huang { 37, 1, 1, "Enable ACPI function" }, 900cee9a95SJohnny Huang { 38, 1, 0, "Select LPC/eSPI : eSPI" }, 910cee9a95SJohnny Huang { 38, 1, 1, "Select LPC/eSPI : LPC" }, 920cee9a95SJohnny Huang { 39, 1, 0, "Disable SAFS mode" }, 930cee9a95SJohnny Huang { 39, 1, 1, "Enable SAFS mode" }, 940cee9a95SJohnny Huang { 40, 1, 0, "Disable boot from uart5" }, 950cee9a95SJohnny Huang { 40, 1, 1, "Enable boot from uart5" }, 960cee9a95SJohnny Huang { 41, 1, 0, "Disable boot SPI 3B address mode auto-clear" }, 970cee9a95SJohnny Huang { 41, 1, 1, "Enable boot SPI 3B address mode auto-clear" }, 980cee9a95SJohnny Huang { 42, 1, 0, "Disable boot SPI 3B/4B address mode auto detection" }, 990cee9a95SJohnny Huang { 42, 1, 1, "Enable boot SPI 3B/4B address mode auto detection" }, 1000cee9a95SJohnny Huang { 43, 1, 0, "Disable boot SPI or eMMC ABR" }, 1010cee9a95SJohnny Huang { 43, 1, 1, "Enable boot SPI or eMMC ABR" }, 1020cee9a95SJohnny Huang { 44, 1, 0, "Boot SPI ABR Mode : dual" }, 1030cee9a95SJohnny Huang { 44, 1, 1, "Boot SPI ABR Mode : single" }, 1040cee9a95SJohnny Huang { 45, 3, 0, "Boot SPI flash size : 0MB" }, 1050cee9a95SJohnny Huang { 45, 3, 1, "Boot SPI flash size : 2MB" }, 1060cee9a95SJohnny Huang { 45, 3, 2, "Boot SPI flash size : 4MB" }, 1070cee9a95SJohnny Huang { 45, 3, 3, "Boot SPI flash size : 8MB" }, 1080cee9a95SJohnny Huang { 45, 3, 4, "Boot SPI flash size : 16MB" }, 1090cee9a95SJohnny Huang { 45, 3, 5, "Boot SPI flash size : 32MB" }, 1100cee9a95SJohnny Huang { 45, 3, 6, "Boot SPI flash size : 64MB" }, 1110cee9a95SJohnny Huang { 45, 3, 7, "Boot SPI flash size : 128MB" }, 1120cee9a95SJohnny Huang { 48, 1, 0, "Disable host SPI ABR" }, 1130cee9a95SJohnny Huang { 48, 1, 1, "Enable host SPI ABR" }, 1140cee9a95SJohnny Huang { 49, 1, 0, "Disable host SPI ABR mode select pin" }, 1150cee9a95SJohnny Huang { 49, 1, 1, "Enable host SPI ABR mode select pin" }, 1160cee9a95SJohnny Huang { 50, 1, 0, "Host SPI ABR mode : dual" }, 1170cee9a95SJohnny Huang { 50, 1, 1, "Host SPI ABR mode : single" }, 1180cee9a95SJohnny Huang { 51, 3, 0, "Host SPI flash size : 0MB" }, 1190cee9a95SJohnny Huang { 51, 3, 1, "Host SPI flash size : 2MB" }, 1200cee9a95SJohnny Huang { 51, 3, 2, "Host SPI flash size : 4MB" }, 1210cee9a95SJohnny Huang { 51, 3, 3, "Host SPI flash size : 8MB" }, 1220cee9a95SJohnny Huang { 51, 3, 4, "Host SPI flash size : 16MB" }, 1230cee9a95SJohnny Huang { 51, 3, 5, "Host SPI flash size : 32MB" }, 1240cee9a95SJohnny Huang { 51, 3, 6, "Host SPI flash size : 64MB" }, 1250cee9a95SJohnny Huang { 51, 3, 7, "Host SPI flash size : 128MB" }, 1260cee9a95SJohnny Huang { 54, 1, 0, "Disable boot SPI auxiliary control pins" }, 1270cee9a95SJohnny Huang { 54, 1, 1, "Enable boot SPI auxiliary control pins" }, 1280cee9a95SJohnny Huang { 55, 2, 0, "Boot SPI CRTM size : 0KB" }, 1290cee9a95SJohnny Huang { 55, 2, 1, "Boot SPI CRTM size : 256KB" }, 1300cee9a95SJohnny Huang { 55, 2, 2, "Boot SPI CRTM size : 512KB" }, 1310cee9a95SJohnny Huang { 55, 2, 3, "Boot SPI CRTM size : 1024KB" }, 1320cee9a95SJohnny Huang { 57, 2, 0, "Host SPI CRTM size : 0KB" }, 1330cee9a95SJohnny Huang { 57, 2, 1, "Host SPI CRTM size : 1024KB" }, 1340cee9a95SJohnny Huang { 57, 2, 2, "Host SPI CRTM size : 2048KB" }, 1350cee9a95SJohnny Huang { 57, 2, 3, "Host SPI CRTM size : 4096KB" }, 1360cee9a95SJohnny Huang { 59, 1, 0, "Disable host SPI auxiliary control pins" }, 1370cee9a95SJohnny Huang { 59, 1, 1, "Enable host SPI auxiliary control pins" }, 1380cee9a95SJohnny Huang { 60, 1, 0, "Disable GPIO pass through" }, 1390cee9a95SJohnny Huang { 60, 1, 1, "Enable GPIO pass through" }, 1400cee9a95SJohnny Huang { 62, 1, 0, "Disable dedicate GPIO strap pins" }, 1410cee9a95SJohnny Huang { 62, 1, 1, "Enable dedicate GPIO strap pins" } 1420cee9a95SJohnny Huang }; 1430cee9a95SJohnny Huang 1440cee9a95SJohnny Huang static const struct otpstrap_info a1_strap_info[] = { 1450cee9a95SJohnny Huang { 0, 1, 0, "Disable Secure Boot" }, 1460cee9a95SJohnny Huang { 0, 1, 1, "Enable Secure Boot" }, 1470cee9a95SJohnny Huang { 1, 1, 0, "Disable boot from eMMC" }, 1480cee9a95SJohnny Huang { 1, 1, 1, "Enable boot from eMMC" }, 1490cee9a95SJohnny Huang { 2, 1, 0, "Disable Boot from debug SPI" }, 1500cee9a95SJohnny Huang { 2, 1, 1, "Enable Boot from debug SPI" }, 1510cee9a95SJohnny Huang { 3, 1, 0, "Enable ARM CM3" }, 1520cee9a95SJohnny Huang { 3, 1, 1, "Disable ARM CM3" }, 1530cee9a95SJohnny Huang { 4, 1, 0, "No VGA BIOS ROM, VGA BIOS is merged in the system BIOS" }, 1540cee9a95SJohnny Huang { 4, 1, 1, "Enable dedicated VGA BIOS ROM" }, 1550cee9a95SJohnny Huang { 5, 1, 0, "MAC 1 : RMII/NCSI" }, 1560cee9a95SJohnny Huang { 5, 1, 1, "MAC 1 : RGMII" }, 1570cee9a95SJohnny Huang { 6, 1, 0, "MAC 2 : RMII/NCSI" }, 1580cee9a95SJohnny Huang { 6, 1, 1, "MAC 2 : RGMII" }, 1590cee9a95SJohnny Huang { 7, 3, 0, "CPU Frequency : 1.2GHz" }, 1600cee9a95SJohnny Huang { 7, 3, 1, "CPU Frequency : 1.6MHz" }, 1610cee9a95SJohnny Huang { 7, 3, 2, "CPU Frequency : 1.2GHz" }, 1620cee9a95SJohnny Huang { 7, 3, 3, "CPU Frequency : 1.6GHz" }, 1630cee9a95SJohnny Huang { 7, 3, 4, "CPU Frequency : 800MHz" }, 1640cee9a95SJohnny Huang { 7, 3, 5, "CPU Frequency : 800MHz" }, 1650cee9a95SJohnny Huang { 7, 3, 6, "CPU Frequency : 800MHz" }, 1660cee9a95SJohnny Huang { 7, 3, 7, "CPU Frequency : 800MHz" }, 1670cee9a95SJohnny Huang { 10, 2, 1, "HCLK ratio AXI:AHB = 2:1" }, 1680cee9a95SJohnny Huang { 10, 2, 2, "HCLK ratio AXI:AHB = 3:1" }, 1690cee9a95SJohnny Huang { 10, 2, 3, "HCLK ratio AXI:AHB = 4:1" }, 1700cee9a95SJohnny Huang { 12, 2, 0, "VGA memory size : 8MB" }, 1710cee9a95SJohnny Huang { 12, 2, 1, "VGA memory size : 16MB" }, 1720cee9a95SJohnny Huang { 12, 2, 2, "VGA memory size : 32MB" }, 1730cee9a95SJohnny Huang { 12, 2, 3, "VGA memory size : 64MB" }, 1740cee9a95SJohnny Huang { 15, 1, 0, "CPU/AXI clock ratio : 2:1" }, 1750cee9a95SJohnny Huang { 15, 1, 1, "CPU/AXI clock ratio : 1:1" }, 1760cee9a95SJohnny Huang { 16, 1, 0, "Enable ARM JTAG debug" }, 1770cee9a95SJohnny Huang { 16, 1, 1, "Disable ARM JTAG debug" }, 1780cee9a95SJohnny Huang { 17, 1, 0, "VGA class code : video_device" }, 1790cee9a95SJohnny Huang { 17, 1, 1, "VGA class code : vga_device" }, 1800cee9a95SJohnny Huang { 18, 1, 0, "Enable debug interfaces 0" }, 1810cee9a95SJohnny Huang { 18, 1, 1, "Disable debug interfaces 0" }, 1820cee9a95SJohnny Huang { 19, 1, 0, "Boot from eMMC speed mode : normal" }, 1830cee9a95SJohnny Huang { 19, 1, 1, "Boot from eMMC speed mode : high" }, 1840cee9a95SJohnny Huang { 20, 1, 0, "Disable Pcie EHCI device" }, 1850cee9a95SJohnny Huang { 20, 1, 1, "Enable Pcie EHCI device" }, 1860cee9a95SJohnny Huang { 21, 1, 0, "Enable ARM JTAG trust world debug" }, 1870cee9a95SJohnny Huang { 21, 1, 1, "Disable ARM JTAG trust world debug" }, 1880cee9a95SJohnny Huang { 22, 1, 0, "Normal BMC mode" }, 1890cee9a95SJohnny Huang { 22, 1, 1, "Disable dedicated BMC functions for non-BMC application" }, 1900cee9a95SJohnny Huang { 23, 1, 0, "SSPRST# pin is for secondary processor dedicated reset pin" }, 1910cee9a95SJohnny Huang { 23, 1, 1, "SSPRST# pin is for PCIE root complex dedicated reset pin" }, 1920cee9a95SJohnny Huang { 24, 1, 0, "Enable watchdog to reset full chip" }, 1930cee9a95SJohnny Huang { 24, 1, 1, "Disable watchdog to reset full chip" }, 1940cee9a95SJohnny Huang { 25, 2, 0, "Internal bridge speed selection : 1x" }, 1950cee9a95SJohnny Huang { 25, 2, 1, "Internal bridge speed selection : 1/2x" }, 1960cee9a95SJohnny Huang { 25, 2, 2, "Internal bridge speed selection : 1/4x" }, 1970cee9a95SJohnny Huang { 25, 2, 3, "Internal bridge speed selection : 1/8x" }, 1980cee9a95SJohnny Huang { 29, 1, 0, "Enable RVAS function" }, 1990cee9a95SJohnny Huang { 29, 1, 1, "Disable RVAS function" }, 2000cee9a95SJohnny Huang { 32, 1, 0, "MAC 3 : RMII/NCSI" }, 2010cee9a95SJohnny Huang { 32, 1, 1, "MAC 3 : RGMII" }, 2020cee9a95SJohnny Huang { 33, 1, 0, "MAC 4 : RMII/NCSI" }, 2030cee9a95SJohnny Huang { 33, 1, 1, "MAC 4 : RGMII" }, 2040cee9a95SJohnny Huang { 34, 1, 0, "SuperIO configuration address : 0x2e" }, 2050cee9a95SJohnny Huang { 34, 1, 1, "SuperIO configuration address : 0x4e" }, 2060cee9a95SJohnny Huang { 35, 1, 0, "Enable LPC to decode SuperIO" }, 2070cee9a95SJohnny Huang { 35, 1, 1, "Disable LPC to decode SuperIO" }, 2080cee9a95SJohnny Huang { 36, 1, 0, "Enable debug interfaces 1" }, 2090cee9a95SJohnny Huang { 36, 1, 1, "Disable debug interfaces 1" }, 2100cee9a95SJohnny Huang { 37, 1, 0, "Disable ACPI function" }, 2110cee9a95SJohnny Huang { 37, 1, 1, "Enable ACPI function" }, 2120cee9a95SJohnny Huang { 38, 1, 0, "Select LPC/eSPI : eSPI" }, 2130cee9a95SJohnny Huang { 38, 1, 1, "Select LPC/eSPI : LPC" }, 2140cee9a95SJohnny Huang { 39, 1, 0, "Disable SAFS mode" }, 2150cee9a95SJohnny Huang { 39, 1, 1, "Enable SAFS mode" }, 2160cee9a95SJohnny Huang { 40, 1, 0, "Disable boot from uart5" }, 2170cee9a95SJohnny Huang { 40, 1, 1, "Enable boot from uart5" }, 2180cee9a95SJohnny Huang { 41, 1, 0, "Disable boot SPI 3B address mode auto-clear" }, 2190cee9a95SJohnny Huang { 41, 1, 1, "Enable boot SPI 3B address mode auto-clear" }, 2200cee9a95SJohnny Huang { 42, 1, 0, "Disable boot SPI 3B/4B address mode auto detection" }, 2210cee9a95SJohnny Huang { 42, 1, 1, "Enable boot SPI 3B/4B address mode auto detection" }, 2220cee9a95SJohnny Huang { 43, 1, 0, "Disable boot SPI or eMMC ABR" }, 2230cee9a95SJohnny Huang { 43, 1, 1, "Enable boot SPI or eMMC ABR" }, 2240cee9a95SJohnny Huang { 44, 1, 0, "Boot SPI ABR Mode : dual" }, 2250cee9a95SJohnny Huang { 44, 1, 1, "Boot SPI ABR Mode : single" }, 2260cee9a95SJohnny Huang { 45, 3, 0, "Boot SPI flash size : 0MB" }, 2270cee9a95SJohnny Huang { 45, 3, 1, "Boot SPI flash size : 2MB" }, 2280cee9a95SJohnny Huang { 45, 3, 2, "Boot SPI flash size : 4MB" }, 2290cee9a95SJohnny Huang { 45, 3, 3, "Boot SPI flash size : 8MB" }, 2300cee9a95SJohnny Huang { 45, 3, 4, "Boot SPI flash size : 16MB" }, 2310cee9a95SJohnny Huang { 45, 3, 5, "Boot SPI flash size : 32MB" }, 2320cee9a95SJohnny Huang { 45, 3, 6, "Boot SPI flash size : 64MB" }, 2330cee9a95SJohnny Huang { 45, 3, 7, "Boot SPI flash size : 128MB" }, 2340cee9a95SJohnny Huang { 48, 1, 0, "Disable host SPI ABR" }, 2350cee9a95SJohnny Huang { 48, 1, 1, "Enable host SPI ABR" }, 2360cee9a95SJohnny Huang { 49, 1, 0, "Disable host SPI ABR mode select pin" }, 2370cee9a95SJohnny Huang { 49, 1, 1, "Enable host SPI ABR mode select pin" }, 2380cee9a95SJohnny Huang { 50, 1, 0, "Host SPI ABR mode : dual" }, 2390cee9a95SJohnny Huang { 50, 1, 1, "Host SPI ABR mode : single" }, 2400cee9a95SJohnny Huang { 51, 3, 0, "Host SPI flash size : 0MB" }, 2410cee9a95SJohnny Huang { 51, 3, 1, "Host SPI flash size : 2MB" }, 2420cee9a95SJohnny Huang { 51, 3, 2, "Host SPI flash size : 4MB" }, 2430cee9a95SJohnny Huang { 51, 3, 3, "Host SPI flash size : 8MB" }, 2440cee9a95SJohnny Huang { 51, 3, 4, "Host SPI flash size : 16MB" }, 2450cee9a95SJohnny Huang { 51, 3, 5, "Host SPI flash size : 32MB" }, 2460cee9a95SJohnny Huang { 51, 3, 6, "Host SPI flash size : 64MB" }, 2470cee9a95SJohnny Huang { 51, 3, 7, "Host SPI flash size : 128MB" }, 2480cee9a95SJohnny Huang { 54, 1, 0, "Disable boot SPI auxiliary control pins" }, 2490cee9a95SJohnny Huang { 54, 1, 1, "Enable boot SPI auxiliary control pins" }, 2500cee9a95SJohnny Huang { 55, 2, 0, "Boot SPI CRTM size : 0KB" }, 2510cee9a95SJohnny Huang { 55, 2, 1, "Boot SPI CRTM size : 256KB" }, 2520cee9a95SJohnny Huang { 55, 2, 2, "Boot SPI CRTM size : 512KB" }, 2530cee9a95SJohnny Huang { 55, 2, 3, "Boot SPI CRTM size : 1024KB" }, 2540cee9a95SJohnny Huang { 57, 2, 0, "Host SPI CRTM size : 0KB" }, 2550cee9a95SJohnny Huang { 57, 2, 1, "Host SPI CRTM size : 1024KB" }, 2560cee9a95SJohnny Huang { 57, 2, 2, "Host SPI CRTM size : 2048KB" }, 2570cee9a95SJohnny Huang { 57, 2, 3, "Host SPI CRTM size : 4096KB" }, 2580cee9a95SJohnny Huang { 59, 1, 0, "Disable host SPI auxiliary control pins" }, 2590cee9a95SJohnny Huang { 59, 1, 1, "Enable host SPI auxiliary control pins" }, 2600cee9a95SJohnny Huang { 60, 1, 0, "Disable GPIO pass through" }, 2610cee9a95SJohnny Huang { 60, 1, 1, "Enable GPIO pass through" }, 2620cee9a95SJohnny Huang { 62, 1, 0, "Disable dedicate GPIO strap pins" }, 2630cee9a95SJohnny Huang { 62, 1, 1, "Enable dedicate GPIO strap pins" } 2640cee9a95SJohnny Huang }; 2650cee9a95SJohnny Huang 2660cee9a95SJohnny Huang static const struct otpstrap_info a2_strap_info[] = { 2670cee9a95SJohnny Huang { 0, 1, 0, "Disable Secure Boot" }, 2680cee9a95SJohnny Huang { 0, 1, 1, "Enable Secure Boot" }, 2690cee9a95SJohnny Huang { 1, 1, 0, "Disable boot from eMMC" }, 2700cee9a95SJohnny Huang { 1, 1, 1, "Enable boot from eMMC" }, 2710cee9a95SJohnny Huang { 2, 1, 0, "Disable Boot from debug SPI" }, 2720cee9a95SJohnny Huang { 2, 1, 1, "Enable Boot from debug SPI" }, 2730cee9a95SJohnny Huang { 3, 1, 0, "Enable ARM CM3" }, 2740cee9a95SJohnny Huang { 3, 1, 1, "Disable ARM CM3" }, 2750cee9a95SJohnny Huang { 4, 1, 0, "No VGA BIOS ROM, VGA BIOS is merged in the system BIOS" }, 2760cee9a95SJohnny Huang { 4, 1, 1, "Enable dedicated VGA BIOS ROM" }, 2770cee9a95SJohnny Huang { 5, 1, 0, "MAC 1 : RMII/NCSI" }, 2780cee9a95SJohnny Huang { 5, 1, 1, "MAC 1 : RGMII" }, 2790cee9a95SJohnny Huang { 6, 1, 0, "MAC 2 : RMII/NCSI" }, 2800cee9a95SJohnny Huang { 6, 1, 1, "MAC 2 : RGMII" }, 2810cee9a95SJohnny Huang { 7, 3, 0, "CPU Frequency : 1.2GHz" }, 2820cee9a95SJohnny Huang { 7, 3, 1, "CPU Frequency : 1.6MHz" }, 2830cee9a95SJohnny Huang { 7, 3, 2, "CPU Frequency : 1.2GHz" }, 2840cee9a95SJohnny Huang { 7, 3, 3, "CPU Frequency : 1.6GHz" }, 2850cee9a95SJohnny Huang { 7, 3, 4, "CPU Frequency : 800MHz" }, 2860cee9a95SJohnny Huang { 7, 3, 5, "CPU Frequency : 800MHz" }, 2870cee9a95SJohnny Huang { 7, 3, 6, "CPU Frequency : 800MHz" }, 2880cee9a95SJohnny Huang { 7, 3, 7, "CPU Frequency : 800MHz" }, 2890cee9a95SJohnny Huang { 10, 2, 1, "HCLK ratio AXI:AHB = 2:1" }, 2900cee9a95SJohnny Huang { 10, 2, 2, "HCLK ratio AXI:AHB = 3:1" }, 2910cee9a95SJohnny Huang { 10, 2, 3, "HCLK ratio AXI:AHB = 4:1" }, 2920cee9a95SJohnny Huang { 12, 2, 0, "VGA memory size : 8MB" }, 2930cee9a95SJohnny Huang { 12, 2, 1, "VGA memory size : 16MB" }, 2940cee9a95SJohnny Huang { 12, 2, 2, "VGA memory size : 32MB" }, 2950cee9a95SJohnny Huang { 12, 2, 3, "VGA memory size : 64MB" }, 2960cee9a95SJohnny Huang { 15, 1, 0, "CPU/AXI clock ratio : 2:1" }, 2970cee9a95SJohnny Huang { 15, 1, 1, "CPU/AXI clock ratio : 1:1" }, 2980cee9a95SJohnny Huang { 16, 1, 0, "Enable ARM JTAG debug" }, 2990cee9a95SJohnny Huang { 16, 1, 1, "Disable ARM JTAG debug" }, 3000cee9a95SJohnny Huang { 17, 1, 0, "VGA class code : video_device" }, 3010cee9a95SJohnny Huang { 17, 1, 1, "VGA class code : vga_device" }, 3020cee9a95SJohnny Huang { 18, 1, 0, "Enable debug interfaces 0" }, 3030cee9a95SJohnny Huang { 18, 1, 1, "Disable debug interfaces 0" }, 3040cee9a95SJohnny Huang { 19, 1, 0, "Boot from eMMC speed mode : normal" }, 3050cee9a95SJohnny Huang { 19, 1, 1, "Boot from eMMC speed mode : high" }, 3060cee9a95SJohnny Huang { 20, 1, 0, "Disable Pcie EHCI device" }, 3070cee9a95SJohnny Huang { 20, 1, 1, "Enable Pcie EHCI device" }, 3080cee9a95SJohnny Huang { 21, 1, 0, "Enable ARM JTAG trust world debug" }, 3090cee9a95SJohnny Huang { 21, 1, 1, "Disable ARM JTAG trust world debug" }, 3100cee9a95SJohnny Huang { 22, 1, 0, "Normal BMC mode" }, 3110cee9a95SJohnny Huang { 22, 1, 1, "Disable dedicated BMC functions for non-BMC application" }, 3120cee9a95SJohnny Huang { 23, 1, 0, "SSPRST# pin is for secondary processor dedicated reset pin" }, 3130cee9a95SJohnny Huang { 23, 1, 1, "SSPRST# pin is for PCIE root complex dedicated reset pin" }, 3140cee9a95SJohnny Huang { 24, 1, 0, "Enable watchdog to reset full chip" }, 3150cee9a95SJohnny Huang { 24, 1, 1, "Disable watchdog to reset full chip" }, 3160cee9a95SJohnny Huang { 25, 2, 0, "Internal bridge speed selection : 1x" }, 3170cee9a95SJohnny Huang { 25, 2, 1, "Internal bridge speed selection : 1/2x" }, 3180cee9a95SJohnny Huang { 25, 2, 2, "Internal bridge speed selection : 1/4x" }, 3190cee9a95SJohnny Huang { 25, 2, 3, "Internal bridge speed selection : 1/8x" }, 3200cee9a95SJohnny Huang { 29, 1, 0, "Enable RVAS function" }, 3210cee9a95SJohnny Huang { 29, 1, 1, "Disable RVAS function" }, 3220cee9a95SJohnny Huang { 32, 1, 0, "MAC 3 : RMII/NCSI" }, 3230cee9a95SJohnny Huang { 32, 1, 1, "MAC 3 : RGMII" }, 3240cee9a95SJohnny Huang { 33, 1, 0, "MAC 4 : RMII/NCSI" }, 3250cee9a95SJohnny Huang { 33, 1, 1, "MAC 4 : RGMII" }, 3260cee9a95SJohnny Huang { 34, 1, 0, "SuperIO configuration address : 0x2e" }, 3270cee9a95SJohnny Huang { 34, 1, 1, "SuperIO configuration address : 0x4e" }, 3280cee9a95SJohnny Huang { 35, 1, 0, "Enable LPC to decode SuperIO" }, 3290cee9a95SJohnny Huang { 35, 1, 1, "Disable LPC to decode SuperIO" }, 3300cee9a95SJohnny Huang { 36, 1, 0, "Enable debug interfaces 1" }, 3310cee9a95SJohnny Huang { 36, 1, 1, "Disable debug interfaces 1" }, 3320cee9a95SJohnny Huang { 37, 1, 0, "Disable ACPI function" }, 3330cee9a95SJohnny Huang { 37, 1, 1, "Enable ACPI function" }, 3340cee9a95SJohnny Huang { 38, 1, 0, "Select LPC/eSPI : eSPI" }, 3350cee9a95SJohnny Huang { 38, 1, 1, "Select LPC/eSPI : LPC" }, 3360cee9a95SJohnny Huang { 39, 1, 0, "Disable SAFS mode" }, 3370cee9a95SJohnny Huang { 39, 1, 1, "Enable SAFS mode" }, 3380cee9a95SJohnny Huang { 40, 1, 0, "Disable boot from uart5" }, 3390cee9a95SJohnny Huang { 40, 1, 1, "Enable boot from uart5" }, 3400cee9a95SJohnny Huang { 41, 1, 0, "Disable boot SPI 3B address mode auto-clear" }, 3410cee9a95SJohnny Huang { 41, 1, 1, "Enable boot SPI 3B address mode auto-clear" }, 3420cee9a95SJohnny Huang { 42, 1, 0, "Disable boot SPI 3B/4B address mode auto detection" }, 3430cee9a95SJohnny Huang { 42, 1, 1, "Enable boot SPI 3B/4B address mode auto detection" }, 3440cee9a95SJohnny Huang { 43, 1, 0, "Disable boot SPI or eMMC ABR" }, 3450cee9a95SJohnny Huang { 43, 1, 1, "Enable boot SPI or eMMC ABR" }, 3460cee9a95SJohnny Huang { 44, 1, 0, "Boot SPI ABR Mode : dual" }, 3470cee9a95SJohnny Huang { 44, 1, 1, "Boot SPI ABR Mode : single" }, 3480cee9a95SJohnny Huang { 45, 3, 0, "Boot SPI flash size : 0MB" }, 3490cee9a95SJohnny Huang { 45, 3, 1, "Boot SPI flash size : 2MB" }, 3500cee9a95SJohnny Huang { 45, 3, 2, "Boot SPI flash size : 4MB" }, 3510cee9a95SJohnny Huang { 45, 3, 3, "Boot SPI flash size : 8MB" }, 3520cee9a95SJohnny Huang { 45, 3, 4, "Boot SPI flash size : 16MB" }, 3530cee9a95SJohnny Huang { 45, 3, 5, "Boot SPI flash size : 32MB" }, 3540cee9a95SJohnny Huang { 45, 3, 6, "Boot SPI flash size : 64MB" }, 3550cee9a95SJohnny Huang { 45, 3, 7, "Boot SPI flash size : 128MB" }, 3560cee9a95SJohnny Huang { 48, 1, 0, "Disable host SPI ABR" }, 3570cee9a95SJohnny Huang { 48, 1, 1, "Enable host SPI ABR" }, 3580cee9a95SJohnny Huang { 49, 1, 0, "Disable host SPI ABR mode select pin" }, 3590cee9a95SJohnny Huang { 49, 1, 1, "Enable host SPI ABR mode select pin" }, 3600cee9a95SJohnny Huang { 50, 1, 0, "Host SPI ABR mode : dual" }, 3610cee9a95SJohnny Huang { 50, 1, 1, "Host SPI ABR mode : single" }, 3620cee9a95SJohnny Huang { 51, 3, 0, "Host SPI flash size : 0MB" }, 3630cee9a95SJohnny Huang { 51, 3, 1, "Host SPI flash size : 2MB" }, 3640cee9a95SJohnny Huang { 51, 3, 2, "Host SPI flash size : 4MB" }, 3650cee9a95SJohnny Huang { 51, 3, 3, "Host SPI flash size : 8MB" }, 3660cee9a95SJohnny Huang { 51, 3, 4, "Host SPI flash size : 16MB" }, 3670cee9a95SJohnny Huang { 51, 3, 5, "Host SPI flash size : 32MB" }, 3680cee9a95SJohnny Huang { 51, 3, 6, "Host SPI flash size : 64MB" }, 3690cee9a95SJohnny Huang { 51, 3, 7, "Host SPI flash size : 128MB" }, 3700cee9a95SJohnny Huang { 54, 1, 0, "Disable boot SPI auxiliary control pins" }, 3710cee9a95SJohnny Huang { 54, 1, 1, "Enable boot SPI auxiliary control pins" }, 3720cee9a95SJohnny Huang { 55, 2, 0, "Boot SPI CRTM size : 0KB" }, 3730cee9a95SJohnny Huang { 55, 2, 1, "Boot SPI CRTM size : 256KB" }, 3740cee9a95SJohnny Huang { 55, 2, 2, "Boot SPI CRTM size : 512KB" }, 3750cee9a95SJohnny Huang { 55, 2, 3, "Boot SPI CRTM size : 1024KB" }, 3760cee9a95SJohnny Huang { 57, 2, 0, "Host SPI CRTM size : 0KB" }, 3770cee9a95SJohnny Huang { 57, 2, 1, "Host SPI CRTM size : 1024KB" }, 3780cee9a95SJohnny Huang { 57, 2, 2, "Host SPI CRTM size : 2048KB" }, 3790cee9a95SJohnny Huang { 57, 2, 3, "Host SPI CRTM size : 4096KB" }, 3800cee9a95SJohnny Huang { 59, 1, 0, "Disable host SPI auxiliary control pins" }, 3810cee9a95SJohnny Huang { 59, 1, 1, "Enable host SPI auxiliary control pins" }, 3820cee9a95SJohnny Huang { 60, 1, 0, "Disable GPIO pass through" }, 3830cee9a95SJohnny Huang { 60, 1, 1, "Enable GPIO pass through" }, 3840cee9a95SJohnny Huang { 62, 1, 0, "Disable dedicate GPIO strap pins" }, 3850cee9a95SJohnny Huang { 62, 1, 1, "Enable dedicate GPIO strap pins" } 3860cee9a95SJohnny Huang }; 3870cee9a95SJohnny Huang 3880cee9a95SJohnny Huang static const struct otpconf_info a0_conf_info[] = { 3890cee9a95SJohnny Huang { 0, 1, 1, 0, "Disable Secure Boot" }, 3900cee9a95SJohnny Huang { 0, 1, 1, 1, "Enable Secure Boot" }, 3910cee9a95SJohnny Huang { 0, 3, 1, 0, "User region ECC disable" }, 3920cee9a95SJohnny Huang { 0, 3, 1, 1, "User region ECC enable" }, 3930cee9a95SJohnny Huang { 0, 4, 1, 0, "Secure Region ECC disable" }, 3940cee9a95SJohnny Huang { 0, 4, 1, 1, "Secure Region ECC enable" }, 3950cee9a95SJohnny Huang { 0, 5, 1, 0, "Enable low security key" }, 3960cee9a95SJohnny Huang { 0, 5, 1, 1, "Disable low security key" }, 3970cee9a95SJohnny Huang { 0, 6, 1, 0, "Do not ignore Secure Boot hardware strap" }, 3980cee9a95SJohnny Huang { 0, 6, 1, 1, "Ignore Secure Boot hardware strap" }, 3990cee9a95SJohnny Huang { 0, 7, 1, 0, "Secure Boot Mode: Mode_GCM" }, 4000cee9a95SJohnny Huang { 0, 7, 1, 1, "Secure Boot Mode: Mode_2" }, 4010cee9a95SJohnny Huang { 0, 10, 2, 0, "RSA mode : RSA1024" }, 4020cee9a95SJohnny Huang { 0, 10, 2, 1, "RSA mode : RSA2048" }, 4030cee9a95SJohnny Huang { 0, 10, 2, 2, "RSA mode : RSA3072" }, 4040cee9a95SJohnny Huang { 0, 10, 2, 3, "RSA mode : RSA4096" }, 4050cee9a95SJohnny Huang { 0, 12, 2, 0, "SHA mode : SHA224" }, 4060cee9a95SJohnny Huang { 0, 12, 2, 1, "SHA mode : SHA256" }, 4070cee9a95SJohnny Huang { 0, 12, 2, 2, "SHA mode : SHA384" }, 4080cee9a95SJohnny Huang { 0, 12, 2, 3, "SHA mode : SHA512" }, 4090cee9a95SJohnny Huang { 0, 14, 1, 0, "Disable patch code" }, 4100cee9a95SJohnny Huang { 0, 14, 1, 1, "Enable patch code" }, 4110cee9a95SJohnny Huang { 0, 15, 1, 0, "Enable Boot from Uart" }, 4120cee9a95SJohnny Huang { 0, 15, 1, 1, "Disable Boot from Uart" }, 4130cee9a95SJohnny Huang { 0, 16, 6, OTP_REG_VALUE, "Secure Region size (DW): 0x%x" }, 4140cee9a95SJohnny Huang { 0, 22, 1, 0, "Secure Region : Writable" }, 4150cee9a95SJohnny Huang { 0, 22, 1, 1, "Secure Region : Write Protect" }, 4160cee9a95SJohnny Huang { 0, 23, 1, 0, "User Region : Writable" }, 4170cee9a95SJohnny Huang { 0, 23, 1, 1, "User Region : Write Protect" }, 4180cee9a95SJohnny Huang { 0, 24, 1, 0, "Configure Region : Writable" }, 4190cee9a95SJohnny Huang { 0, 24, 1, 1, "Configure Region : Write Protect" }, 4200cee9a95SJohnny Huang { 0, 25, 1, 0, "OTP strap Region : Writable" }, 4210cee9a95SJohnny Huang { 0, 25, 1, 1, "OTP strap Region : Write Protect" }, 4220cee9a95SJohnny Huang { 0, 26, 1, 0, "Disable Copy Boot Image to Internal SRAM" }, 4230cee9a95SJohnny Huang { 0, 26, 1, 1, "Copy Boot Image to Internal SRAM" }, 4240cee9a95SJohnny Huang { 0, 27, 1, 0, "Disable image encryption" }, 4250cee9a95SJohnny Huang { 0, 27, 1, 1, "Enable image encryption" }, 4260cee9a95SJohnny Huang { 0, 29, 1, 0, "OTP key retire Region : Writable" }, 4270cee9a95SJohnny Huang { 0, 29, 1, 1, "OTP key retire Region : Write Protect" }, 4280cee9a95SJohnny Huang { 0, 31, 1, 0, "OTP memory lock disable" }, 4290cee9a95SJohnny Huang { 0, 31, 1, 1, "OTP memory lock enable" }, 4300cee9a95SJohnny Huang { 2, 0, 16, OTP_REG_VALUE, "Vender ID : 0x%x" }, 4310cee9a95SJohnny Huang { 2, 16, 16, OTP_REG_VALUE, "Key Revision : 0x%x" }, 4320cee9a95SJohnny Huang { 3, 0, 16, OTP_REG_VALUE, "Secure boot header offset : 0x%x" }, 4330cee9a95SJohnny Huang { 4, 0, 8, OTP_REG_VALID_BIT, "Keys retire : %s" }, 4340cee9a95SJohnny Huang { 5, 0, 32, OTP_REG_VALUE, "User define data, random number low : 0x%x" }, 4350cee9a95SJohnny Huang { 6, 0, 32, OTP_REG_VALUE, "User define data, random number high : 0x%x" }, 4360cee9a95SJohnny Huang { 10, 0, 64, OTP_REG_VALID_BIT, "Manifest ID : %s" }, 4370cee9a95SJohnny Huang { 14, 0, 11, OTP_REG_VALUE, "Patch code location (DW): 0x%x" }, 4380cee9a95SJohnny Huang { 14, 11, 6, OTP_REG_VALUE, "Patch code size (DW): 0x%x" } 4390cee9a95SJohnny Huang }; 4400cee9a95SJohnny Huang 4410cee9a95SJohnny Huang static const struct otpconf_info a1_conf_info[] = { 4420cee9a95SJohnny Huang { 0, 1, 1, 0, "Disable Secure Boot" }, 4430cee9a95SJohnny Huang { 0, 1, 1, 1, "Enable Secure Boot" }, 4440cee9a95SJohnny Huang { 0, 3, 1, 0, "User region ECC disable" }, 4450cee9a95SJohnny Huang { 0, 3, 1, 1, "User region ECC enable" }, 4460cee9a95SJohnny Huang { 0, 4, 1, 0, "Secure Region ECC disable" }, 4470cee9a95SJohnny Huang { 0, 4, 1, 1, "Secure Region ECC enable" }, 4480cee9a95SJohnny Huang { 0, 5, 1, 0, "Enable low security key" }, 4490cee9a95SJohnny Huang { 0, 5, 1, 1, "Disable low security key" }, 4500cee9a95SJohnny Huang { 0, 6, 1, 0, "Do not ignore Secure Boot hardware strap" }, 4510cee9a95SJohnny Huang { 0, 6, 1, 1, "Ignore Secure Boot hardware strap" }, 4520cee9a95SJohnny Huang { 0, 7, 1, 0, "Secure Boot Mode: Mode_GCM" }, 4530cee9a95SJohnny Huang { 0, 7, 1, 1, "Secure Boot Mode: Mode_2" }, 4540cee9a95SJohnny Huang { 0, 10, 2, 0, "RSA mode : RSA1024" }, 4550cee9a95SJohnny Huang { 0, 10, 2, 1, "RSA mode : RSA2048" }, 4560cee9a95SJohnny Huang { 0, 10, 2, 2, "RSA mode : RSA3072" }, 4570cee9a95SJohnny Huang { 0, 10, 2, 3, "RSA mode : RSA4096" }, 4580cee9a95SJohnny Huang { 0, 12, 2, 0, "SHA mode : SHA224" }, 4590cee9a95SJohnny Huang { 0, 12, 2, 1, "SHA mode : SHA256" }, 4600cee9a95SJohnny Huang { 0, 12, 2, 2, "SHA mode : SHA384" }, 4610cee9a95SJohnny Huang { 0, 12, 2, 3, "SHA mode : SHA512" }, 4620cee9a95SJohnny Huang { 0, 14, 1, 0, "Disable patch code" }, 4630cee9a95SJohnny Huang { 0, 14, 1, 1, "Enable patch code" }, 4640cee9a95SJohnny Huang { 0, 15, 1, 0, "Enable Boot from Uart" }, 4650cee9a95SJohnny Huang { 0, 15, 1, 1, "Disable Boot from Uart" }, 4660cee9a95SJohnny Huang { 0, 16, 6, OTP_REG_VALUE, "Secure Region size (DW): 0x%x" }, 4670cee9a95SJohnny Huang { 0, 22, 1, 0, "Secure Region : Writable" }, 4680cee9a95SJohnny Huang { 0, 22, 1, 1, "Secure Region : Write Protect" }, 4690cee9a95SJohnny Huang { 0, 23, 1, 0, "User Region : Writable" }, 4700cee9a95SJohnny Huang { 0, 23, 1, 1, "User Region : Write Protect" }, 4710cee9a95SJohnny Huang { 0, 24, 1, 0, "Configure Region : Writable" }, 4720cee9a95SJohnny Huang { 0, 24, 1, 1, "Configure Region : Write Protect" }, 4730cee9a95SJohnny Huang { 0, 25, 1, 0, "OTP strap Region : Writable" }, 4740cee9a95SJohnny Huang { 0, 25, 1, 1, "OTP strap Region : Write Protect" }, 4750cee9a95SJohnny Huang { 0, 26, 1, 0, "Disable Copy Boot Image to Internal SRAM" }, 4760cee9a95SJohnny Huang { 0, 26, 1, 1, "Copy Boot Image to Internal SRAM" }, 4770cee9a95SJohnny Huang { 0, 27, 1, 0, "Disable image encryption" }, 4780cee9a95SJohnny Huang { 0, 27, 1, 1, "Enable image encryption" }, 4790cee9a95SJohnny Huang { 0, 29, 1, 0, "OTP key retire Region : Writable" }, 4800cee9a95SJohnny Huang { 0, 29, 1, 1, "OTP key retire Region : Write Protect" }, 4810cee9a95SJohnny Huang { 0, 31, 1, 0, "OTP memory lock disable" }, 4820cee9a95SJohnny Huang { 0, 31, 1, 1, "OTP memory lock enable" }, 4830cee9a95SJohnny Huang { 2, 0, 16, OTP_REG_VALUE, "Vender ID : 0x%x" }, 4840cee9a95SJohnny Huang { 2, 16, 16, OTP_REG_VALUE, "Key Revision : 0x%x" }, 4850cee9a95SJohnny Huang { 3, 0, 16, OTP_REG_VALUE, "Secure boot header offset : 0x%x" }, 4860cee9a95SJohnny Huang { 4, 0, 8, OTP_REG_VALID_BIT, "Keys retire : %s" }, 4870cee9a95SJohnny Huang { 5, 0, 32, OTP_REG_VALUE, "User define data, random number low : 0x%x" }, 4880cee9a95SJohnny Huang { 6, 0, 32, OTP_REG_VALUE, "User define data, random number high : 0x%x" }, 4890cee9a95SJohnny Huang { 10, 0, 64, OTP_REG_VALID_BIT, "Manifest ID : %s" }, 4900cee9a95SJohnny Huang { 14, 0, 11, OTP_REG_VALUE, "Patch code location (DW): 0x%x" }, 4910cee9a95SJohnny Huang { 14, 11, 6, OTP_REG_VALUE, "Patch code size (DW): 0x%x" } 4920cee9a95SJohnny Huang }; 4930cee9a95SJohnny Huang 4940cee9a95SJohnny Huang static const struct otpconf_info a2_conf_info[] = { 4950cee9a95SJohnny Huang { 0, 1, 1, 0, "Disable Secure Boot" }, 4960cee9a95SJohnny Huang { 0, 1, 1, 1, "Enable Secure Boot" }, 4970cee9a95SJohnny Huang { 0, 3, 1, 0, "User region ECC disable" }, 4980cee9a95SJohnny Huang { 0, 3, 1, 1, "User region ECC enable" }, 4990cee9a95SJohnny Huang { 0, 4, 1, 0, "Secure Region ECC disable" }, 5000cee9a95SJohnny Huang { 0, 4, 1, 1, "Secure Region ECC enable" }, 5010cee9a95SJohnny Huang { 0, 5, 1, 0, "Enable low security key" }, 5020cee9a95SJohnny Huang { 0, 5, 1, 1, "Disable low security key" }, 5030cee9a95SJohnny Huang { 0, 6, 1, 0, "Do not ignore Secure Boot hardware strap" }, 5040cee9a95SJohnny Huang { 0, 6, 1, 1, "Ignore Secure Boot hardware strap" }, 5050cee9a95SJohnny Huang { 0, 7, 1, 0, "Secure Boot Mode: Mode_GCM" }, 5060cee9a95SJohnny Huang { 0, 7, 1, 1, "Secure Boot Mode: Mode_2" }, 5070cee9a95SJohnny Huang { 0, 10, 2, 0, "RSA mode : RSA1024" }, 5080cee9a95SJohnny Huang { 0, 10, 2, 1, "RSA mode : RSA2048" }, 5090cee9a95SJohnny Huang { 0, 10, 2, 2, "RSA mode : RSA3072" }, 5100cee9a95SJohnny Huang { 0, 10, 2, 3, "RSA mode : RSA4096" }, 5110cee9a95SJohnny Huang { 0, 12, 2, 0, "SHA mode : SHA224" }, 5120cee9a95SJohnny Huang { 0, 12, 2, 1, "SHA mode : SHA256" }, 5130cee9a95SJohnny Huang { 0, 12, 2, 2, "SHA mode : SHA384" }, 5140cee9a95SJohnny Huang { 0, 12, 2, 3, "SHA mode : SHA512" }, 5150cee9a95SJohnny Huang { 0, 14, 1, 0, "Disable patch code" }, 5160cee9a95SJohnny Huang { 0, 14, 1, 1, "Enable patch code" }, 5170cee9a95SJohnny Huang { 0, 15, 1, 0, "Enable Boot from Uart" }, 5180cee9a95SJohnny Huang { 0, 15, 1, 1, "Disable Boot from Uart" }, 5190cee9a95SJohnny Huang { 0, 16, 6, OTP_REG_VALUE, "Secure Region size (DW): 0x%x" }, 5200cee9a95SJohnny Huang { 0, 22, 1, 0, "Secure Region : Writable" }, 5210cee9a95SJohnny Huang { 0, 22, 1, 1, "Secure Region : Write Protect" }, 5220cee9a95SJohnny Huang { 0, 23, 1, 0, "User Region : Writable" }, 5230cee9a95SJohnny Huang { 0, 23, 1, 1, "User Region : Write Protect" }, 5240cee9a95SJohnny Huang { 0, 24, 1, 0, "Configure Region : Writable" }, 5250cee9a95SJohnny Huang { 0, 24, 1, 1, "Configure Region : Write Protect" }, 5260cee9a95SJohnny Huang { 0, 25, 1, 0, "OTP strap Region : Writable" }, 5270cee9a95SJohnny Huang { 0, 25, 1, 1, "OTP strap Region : Write Protect" }, 5280cee9a95SJohnny Huang { 0, 26, 1, 0, "Disable Copy Boot Image to Internal SRAM" }, 5290cee9a95SJohnny Huang { 0, 26, 1, 1, "Copy Boot Image to Internal SRAM" }, 5300cee9a95SJohnny Huang { 0, 27, 1, 0, "Disable image encryption" }, 5310cee9a95SJohnny Huang { 0, 27, 1, 1, "Enable image encryption" }, 5320cee9a95SJohnny Huang { 0, 29, 1, 0, "OTP key retire Region : Writable" }, 5330cee9a95SJohnny Huang { 0, 29, 1, 1, "OTP key retire Region : Write Protect" }, 5340cee9a95SJohnny Huang { 0, 31, 1, 0, "OTP memory lock disable" }, 5350cee9a95SJohnny Huang { 0, 31, 1, 1, "OTP memory lock enable" }, 5360cee9a95SJohnny Huang { 2, 0, 16, OTP_REG_VALUE, "Vender ID : 0x%x" }, 5370cee9a95SJohnny Huang { 2, 16, 16, OTP_REG_VALUE, "Key Revision : 0x%x" }, 5380cee9a95SJohnny Huang { 3, 0, 16, OTP_REG_VALUE, "Secure boot header offset : 0x%x" }, 5390cee9a95SJohnny Huang { 4, 0, 8, OTP_REG_VALID_BIT, "Keys retire : %s" }, 5400cee9a95SJohnny Huang { 5, 0, 32, OTP_REG_VALUE, "User define data, random number low : 0x%x" }, 5410cee9a95SJohnny Huang { 6, 0, 32, OTP_REG_VALUE, "User define data, random number high : 0x%x" }, 5420cee9a95SJohnny Huang { 10, 0, 64, OTP_REG_VALID_BIT, "Manifest ID : %s" }, 5430cee9a95SJohnny Huang { 14, 0, 11, OTP_REG_VALUE, "Patch code location (DW): 0x%x" }, 5440cee9a95SJohnny Huang { 14, 11, 6, OTP_REG_VALUE, "Patch code size (DW): 0x%x" } 5450cee9a95SJohnny Huang }; 5460cee9a95SJohnny Huang 547