10cee9a95SJohnny Huang /* 20cee9a95SJohnny Huang * Generated by info2header.py 30cee9a95SJohnny Huang * Do not edit it. 40cee9a95SJohnny Huang */ 50cee9a95SJohnny Huang 6*b63af886SJohnny Huang #define OTP_INFO_VER "1.0.5" 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 { 122e151c2bSJohnny Huang signed char bit_offset; 132e151c2bSJohnny Huang signed char length; 142e151c2bSJohnny Huang signed char value; 150cee9a95SJohnny Huang char *information; 160cee9a95SJohnny Huang }; 170cee9a95SJohnny Huang 180cee9a95SJohnny Huang struct otpconf_info { 192e151c2bSJohnny Huang signed char dw_offset; 202e151c2bSJohnny Huang signed char bit_offset; 212e151c2bSJohnny Huang signed char length; 222e151c2bSJohnny 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" }, 45513af504SJohnny Huang { 10, 2, 0, "HCLK ratio AXI:AHB = default" }, 460cee9a95SJohnny Huang { 10, 2, 1, "HCLK ratio AXI:AHB = 2:1" }, 470cee9a95SJohnny Huang { 10, 2, 2, "HCLK ratio AXI:AHB = 3:1" }, 480cee9a95SJohnny Huang { 10, 2, 3, "HCLK ratio AXI:AHB = 4:1" }, 490cee9a95SJohnny Huang { 12, 2, 0, "VGA memory size : 8MB" }, 500cee9a95SJohnny Huang { 12, 2, 1, "VGA memory size : 16MB" }, 510cee9a95SJohnny Huang { 12, 2, 2, "VGA memory size : 32MB" }, 520cee9a95SJohnny Huang { 12, 2, 3, "VGA memory size : 64MB" }, 530cee9a95SJohnny Huang { 15, 1, 0, "CPU/AXI clock ratio : 2:1" }, 540cee9a95SJohnny Huang { 15, 1, 1, "CPU/AXI clock ratio : 1:1" }, 550cee9a95SJohnny Huang { 16, 1, 0, "Enable ARM JTAG debug" }, 560cee9a95SJohnny Huang { 16, 1, 1, "Disable ARM JTAG debug" }, 5764b66712SJohnny Huang { 17, 1, 0, "VGA class code : vga_device" }, 5864b66712SJohnny Huang { 17, 1, 1, "VGA class code : video_device" }, 590cee9a95SJohnny Huang { 18, 1, 0, "Enable debug interfaces 0" }, 600cee9a95SJohnny Huang { 18, 1, 1, "Disable debug interfaces 0" }, 610cee9a95SJohnny Huang { 19, 1, 0, "Boot from eMMC speed mode : normal" }, 620cee9a95SJohnny Huang { 19, 1, 1, "Boot from eMMC speed mode : high" }, 630cee9a95SJohnny Huang { 20, 1, 0, "Disable Pcie EHCI device" }, 640cee9a95SJohnny Huang { 20, 1, 1, "Enable Pcie EHCI device" }, 650cee9a95SJohnny Huang { 21, 1, 0, "Enable ARM JTAG trust world debug" }, 660cee9a95SJohnny Huang { 21, 1, 1, "Disable ARM JTAG trust world debug" }, 670cee9a95SJohnny Huang { 22, 1, 0, "Normal BMC mode" }, 680cee9a95SJohnny Huang { 22, 1, 1, "Disable dedicated BMC functions for non-BMC application" }, 690cee9a95SJohnny Huang { 23, 1, 0, "SSPRST# pin is for secondary processor dedicated reset pin" }, 700cee9a95SJohnny Huang { 23, 1, 1, "SSPRST# pin is for PCIE root complex dedicated reset pin" }, 710cee9a95SJohnny Huang { 24, 1, 0, "Enable watchdog to reset full chip" }, 720cee9a95SJohnny Huang { 24, 1, 1, "Disable watchdog to reset full chip" }, 730cee9a95SJohnny Huang { 25, 2, 0, "Internal bridge speed selection : 1x" }, 740cee9a95SJohnny Huang { 25, 2, 1, "Internal bridge speed selection : 1/2x" }, 750cee9a95SJohnny Huang { 25, 2, 2, "Internal bridge speed selection : 1/4x" }, 760cee9a95SJohnny Huang { 25, 2, 3, "Internal bridge speed selection : 1/8x" }, 770cee9a95SJohnny Huang { 29, 1, 0, "Enable RVAS function" }, 780cee9a95SJohnny Huang { 29, 1, 1, "Disable RVAS function" }, 790cee9a95SJohnny Huang { 32, 1, 0, "MAC 3 : RMII/NCSI" }, 800cee9a95SJohnny Huang { 32, 1, 1, "MAC 3 : RGMII" }, 810cee9a95SJohnny Huang { 33, 1, 0, "MAC 4 : RMII/NCSI" }, 820cee9a95SJohnny Huang { 33, 1, 1, "MAC 4 : RGMII" }, 830cee9a95SJohnny Huang { 34, 1, 0, "SuperIO configuration address : 0x2e" }, 840cee9a95SJohnny Huang { 34, 1, 1, "SuperIO configuration address : 0x4e" }, 850cee9a95SJohnny Huang { 35, 1, 0, "Enable LPC to decode SuperIO" }, 860cee9a95SJohnny Huang { 35, 1, 1, "Disable LPC to decode SuperIO" }, 870cee9a95SJohnny Huang { 36, 1, 0, "Enable debug interfaces 1" }, 880cee9a95SJohnny Huang { 36, 1, 1, "Disable debug interfaces 1" }, 890cee9a95SJohnny Huang { 37, 1, 0, "Disable ACPI function" }, 900cee9a95SJohnny Huang { 37, 1, 1, "Enable ACPI function" }, 910cee9a95SJohnny Huang { 38, 1, 0, "Select LPC/eSPI : eSPI" }, 920cee9a95SJohnny Huang { 38, 1, 1, "Select LPC/eSPI : LPC" }, 930cee9a95SJohnny Huang { 39, 1, 0, "Disable SAFS mode" }, 940cee9a95SJohnny Huang { 39, 1, 1, "Enable SAFS mode" }, 950cee9a95SJohnny Huang { 40, 1, 0, "Disable boot from uart5" }, 960cee9a95SJohnny Huang { 40, 1, 1, "Enable boot from uart5" }, 970cee9a95SJohnny Huang { 41, 1, 0, "Disable boot SPI 3B address mode auto-clear" }, 980cee9a95SJohnny Huang { 41, 1, 1, "Enable boot SPI 3B address mode auto-clear" }, 990cee9a95SJohnny Huang { 42, 1, 0, "Disable boot SPI 3B/4B address mode auto detection" }, 1000cee9a95SJohnny Huang { 42, 1, 1, "Enable boot SPI 3B/4B address mode auto detection" }, 1010cee9a95SJohnny Huang { 43, 1, 0, "Disable boot SPI or eMMC ABR" }, 1020cee9a95SJohnny Huang { 43, 1, 1, "Enable boot SPI or eMMC ABR" }, 1030cee9a95SJohnny Huang { 44, 1, 0, "Boot SPI ABR Mode : dual" }, 1040cee9a95SJohnny Huang { 44, 1, 1, "Boot SPI ABR Mode : single" }, 1050cee9a95SJohnny Huang { 45, 3, 0, "Boot SPI flash size : 0MB" }, 1060cee9a95SJohnny Huang { 45, 3, 1, "Boot SPI flash size : 2MB" }, 1070cee9a95SJohnny Huang { 45, 3, 2, "Boot SPI flash size : 4MB" }, 1080cee9a95SJohnny Huang { 45, 3, 3, "Boot SPI flash size : 8MB" }, 1090cee9a95SJohnny Huang { 45, 3, 4, "Boot SPI flash size : 16MB" }, 1100cee9a95SJohnny Huang { 45, 3, 5, "Boot SPI flash size : 32MB" }, 1110cee9a95SJohnny Huang { 45, 3, 6, "Boot SPI flash size : 64MB" }, 1120cee9a95SJohnny Huang { 45, 3, 7, "Boot SPI flash size : 128MB" }, 1130cee9a95SJohnny Huang { 48, 1, 0, "Disable host SPI ABR" }, 1140cee9a95SJohnny Huang { 48, 1, 1, "Enable host SPI ABR" }, 1150cee9a95SJohnny Huang { 49, 1, 0, "Disable host SPI ABR mode select pin" }, 1160cee9a95SJohnny Huang { 49, 1, 1, "Enable host SPI ABR mode select pin" }, 1170cee9a95SJohnny Huang { 50, 1, 0, "Host SPI ABR mode : dual" }, 1180cee9a95SJohnny Huang { 50, 1, 1, "Host SPI ABR mode : single" }, 1190cee9a95SJohnny Huang { 51, 3, 0, "Host SPI flash size : 0MB" }, 1200cee9a95SJohnny Huang { 51, 3, 1, "Host SPI flash size : 2MB" }, 1210cee9a95SJohnny Huang { 51, 3, 2, "Host SPI flash size : 4MB" }, 1220cee9a95SJohnny Huang { 51, 3, 3, "Host SPI flash size : 8MB" }, 1230cee9a95SJohnny Huang { 51, 3, 4, "Host SPI flash size : 16MB" }, 1240cee9a95SJohnny Huang { 51, 3, 5, "Host SPI flash size : 32MB" }, 1250cee9a95SJohnny Huang { 51, 3, 6, "Host SPI flash size : 64MB" }, 1260cee9a95SJohnny Huang { 51, 3, 7, "Host SPI flash size : 128MB" }, 1270cee9a95SJohnny Huang { 54, 1, 0, "Disable boot SPI auxiliary control pins" }, 1280cee9a95SJohnny Huang { 54, 1, 1, "Enable boot SPI auxiliary control pins" }, 1290cee9a95SJohnny Huang { 55, 2, 0, "Boot SPI CRTM size : 0KB" }, 1300cee9a95SJohnny Huang { 55, 2, 1, "Boot SPI CRTM size : 256KB" }, 1310cee9a95SJohnny Huang { 55, 2, 2, "Boot SPI CRTM size : 512KB" }, 1320cee9a95SJohnny Huang { 55, 2, 3, "Boot SPI CRTM size : 1024KB" }, 1330cee9a95SJohnny Huang { 57, 2, 0, "Host SPI CRTM size : 0KB" }, 1340cee9a95SJohnny Huang { 57, 2, 1, "Host SPI CRTM size : 1024KB" }, 1350cee9a95SJohnny Huang { 57, 2, 2, "Host SPI CRTM size : 2048KB" }, 1360cee9a95SJohnny Huang { 57, 2, 3, "Host SPI CRTM size : 4096KB" }, 1370cee9a95SJohnny Huang { 59, 1, 0, "Disable host SPI auxiliary control pins" }, 1380cee9a95SJohnny Huang { 59, 1, 1, "Enable host SPI auxiliary control pins" }, 1390cee9a95SJohnny Huang { 60, 1, 0, "Disable GPIO pass through" }, 1400cee9a95SJohnny Huang { 60, 1, 1, "Enable GPIO pass through" }, 1410cee9a95SJohnny Huang { 62, 1, 0, "Disable dedicate GPIO strap pins" }, 1420cee9a95SJohnny Huang { 62, 1, 1, "Enable dedicate GPIO strap pins" } 1430cee9a95SJohnny Huang }; 1440cee9a95SJohnny Huang 1450cee9a95SJohnny Huang static const struct otpstrap_info a1_strap_info[] = { 1460cee9a95SJohnny Huang { 0, 1, 0, "Disable Secure Boot" }, 1470cee9a95SJohnny Huang { 0, 1, 1, "Enable Secure Boot" }, 1480cee9a95SJohnny Huang { 1, 1, 0, "Disable boot from eMMC" }, 1490cee9a95SJohnny Huang { 1, 1, 1, "Enable boot from eMMC" }, 1500cee9a95SJohnny Huang { 2, 1, 0, "Disable Boot from debug SPI" }, 1510cee9a95SJohnny Huang { 2, 1, 1, "Enable Boot from debug SPI" }, 1520cee9a95SJohnny Huang { 3, 1, 0, "Enable ARM CM3" }, 1530cee9a95SJohnny Huang { 3, 1, 1, "Disable ARM CM3" }, 1540cee9a95SJohnny Huang { 4, 1, 0, "No VGA BIOS ROM, VGA BIOS is merged in the system BIOS" }, 1550cee9a95SJohnny Huang { 4, 1, 1, "Enable dedicated VGA BIOS ROM" }, 1560cee9a95SJohnny Huang { 5, 1, 0, "MAC 1 : RMII/NCSI" }, 1570cee9a95SJohnny Huang { 5, 1, 1, "MAC 1 : RGMII" }, 1580cee9a95SJohnny Huang { 6, 1, 0, "MAC 2 : RMII/NCSI" }, 1590cee9a95SJohnny Huang { 6, 1, 1, "MAC 2 : RGMII" }, 1600cee9a95SJohnny Huang { 7, 3, 0, "CPU Frequency : 1.2GHz" }, 161*b63af886SJohnny Huang { 7, 3, 1, "CPU Frequency : 1.6GHz" }, 1620cee9a95SJohnny Huang { 7, 3, 2, "CPU Frequency : 1.2GHz" }, 1630cee9a95SJohnny Huang { 7, 3, 3, "CPU Frequency : 1.6GHz" }, 1640cee9a95SJohnny Huang { 7, 3, 4, "CPU Frequency : 800MHz" }, 1650cee9a95SJohnny Huang { 7, 3, 5, "CPU Frequency : 800MHz" }, 1660cee9a95SJohnny Huang { 7, 3, 6, "CPU Frequency : 800MHz" }, 1670cee9a95SJohnny Huang { 7, 3, 7, "CPU Frequency : 800MHz" }, 168513af504SJohnny Huang { 10, 2, 0, "HCLK ratio AXI:AHB = default" }, 1690cee9a95SJohnny Huang { 10, 2, 1, "HCLK ratio AXI:AHB = 2:1" }, 1700cee9a95SJohnny Huang { 10, 2, 2, "HCLK ratio AXI:AHB = 3:1" }, 1710cee9a95SJohnny Huang { 10, 2, 3, "HCLK ratio AXI:AHB = 4:1" }, 1720cee9a95SJohnny Huang { 12, 2, 0, "VGA memory size : 8MB" }, 1730cee9a95SJohnny Huang { 12, 2, 1, "VGA memory size : 16MB" }, 1740cee9a95SJohnny Huang { 12, 2, 2, "VGA memory size : 32MB" }, 1750cee9a95SJohnny Huang { 12, 2, 3, "VGA memory size : 64MB" }, 1760cee9a95SJohnny Huang { 15, 1, 0, "CPU/AXI clock ratio : 2:1" }, 1770cee9a95SJohnny Huang { 15, 1, 1, "CPU/AXI clock ratio : 1:1" }, 1780cee9a95SJohnny Huang { 16, 1, 0, "Enable ARM JTAG debug" }, 1790cee9a95SJohnny Huang { 16, 1, 1, "Disable ARM JTAG debug" }, 18064b66712SJohnny Huang { 17, 1, 0, "VGA class code : vga_device" }, 18164b66712SJohnny Huang { 17, 1, 1, "VGA class code : video_device" }, 1820cee9a95SJohnny Huang { 18, 1, 0, "Enable debug interfaces 0" }, 1830cee9a95SJohnny Huang { 18, 1, 1, "Disable debug interfaces 0" }, 1840cee9a95SJohnny Huang { 19, 1, 0, "Boot from eMMC speed mode : normal" }, 1850cee9a95SJohnny Huang { 19, 1, 1, "Boot from eMMC speed mode : high" }, 1860cee9a95SJohnny Huang { 20, 1, 0, "Disable Pcie EHCI device" }, 1870cee9a95SJohnny Huang { 20, 1, 1, "Enable Pcie EHCI device" }, 1880cee9a95SJohnny Huang { 21, 1, 0, "Enable ARM JTAG trust world debug" }, 1890cee9a95SJohnny Huang { 21, 1, 1, "Disable ARM JTAG trust world debug" }, 1900cee9a95SJohnny Huang { 22, 1, 0, "Normal BMC mode" }, 1910cee9a95SJohnny Huang { 22, 1, 1, "Disable dedicated BMC functions for non-BMC application" }, 1920cee9a95SJohnny Huang { 23, 1, 0, "SSPRST# pin is for secondary processor dedicated reset pin" }, 1930cee9a95SJohnny Huang { 23, 1, 1, "SSPRST# pin is for PCIE root complex dedicated reset pin" }, 1940cee9a95SJohnny Huang { 24, 1, 0, "Enable watchdog to reset full chip" }, 1950cee9a95SJohnny Huang { 24, 1, 1, "Disable watchdog to reset full chip" }, 1960cee9a95SJohnny Huang { 25, 2, 0, "Internal bridge speed selection : 1x" }, 1970cee9a95SJohnny Huang { 25, 2, 1, "Internal bridge speed selection : 1/2x" }, 1980cee9a95SJohnny Huang { 25, 2, 2, "Internal bridge speed selection : 1/4x" }, 1990cee9a95SJohnny Huang { 25, 2, 3, "Internal bridge speed selection : 1/8x" }, 2000cee9a95SJohnny Huang { 29, 1, 0, "Enable RVAS function" }, 2010cee9a95SJohnny Huang { 29, 1, 1, "Disable RVAS function" }, 2020cee9a95SJohnny Huang { 32, 1, 0, "MAC 3 : RMII/NCSI" }, 2030cee9a95SJohnny Huang { 32, 1, 1, "MAC 3 : RGMII" }, 2040cee9a95SJohnny Huang { 33, 1, 0, "MAC 4 : RMII/NCSI" }, 2050cee9a95SJohnny Huang { 33, 1, 1, "MAC 4 : RGMII" }, 2060cee9a95SJohnny Huang { 34, 1, 0, "SuperIO configuration address : 0x2e" }, 2070cee9a95SJohnny Huang { 34, 1, 1, "SuperIO configuration address : 0x4e" }, 2080cee9a95SJohnny Huang { 35, 1, 0, "Enable LPC to decode SuperIO" }, 2090cee9a95SJohnny Huang { 35, 1, 1, "Disable LPC to decode SuperIO" }, 2100cee9a95SJohnny Huang { 36, 1, 0, "Enable debug interfaces 1" }, 2110cee9a95SJohnny Huang { 36, 1, 1, "Disable debug interfaces 1" }, 2120cee9a95SJohnny Huang { 37, 1, 0, "Disable ACPI function" }, 2130cee9a95SJohnny Huang { 37, 1, 1, "Enable ACPI function" }, 2140cee9a95SJohnny Huang { 38, 1, 0, "Select LPC/eSPI : eSPI" }, 2150cee9a95SJohnny Huang { 38, 1, 1, "Select LPC/eSPI : LPC" }, 2160cee9a95SJohnny Huang { 39, 1, 0, "Disable SAFS mode" }, 2170cee9a95SJohnny Huang { 39, 1, 1, "Enable SAFS mode" }, 2180cee9a95SJohnny Huang { 40, 1, 0, "Disable boot from uart5" }, 2190cee9a95SJohnny Huang { 40, 1, 1, "Enable boot from uart5" }, 2200cee9a95SJohnny Huang { 41, 1, 0, "Disable boot SPI 3B address mode auto-clear" }, 2210cee9a95SJohnny Huang { 41, 1, 1, "Enable boot SPI 3B address mode auto-clear" }, 2220cee9a95SJohnny Huang { 42, 1, 0, "Disable boot SPI 3B/4B address mode auto detection" }, 2230cee9a95SJohnny Huang { 42, 1, 1, "Enable boot SPI 3B/4B address mode auto detection" }, 2240cee9a95SJohnny Huang { 43, 1, 0, "Disable boot SPI or eMMC ABR" }, 2250cee9a95SJohnny Huang { 43, 1, 1, "Enable boot SPI or eMMC ABR" }, 2260cee9a95SJohnny Huang { 44, 1, 0, "Boot SPI ABR Mode : dual" }, 2270cee9a95SJohnny Huang { 44, 1, 1, "Boot SPI ABR Mode : single" }, 2280cee9a95SJohnny Huang { 45, 3, 0, "Boot SPI flash size : 0MB" }, 2290cee9a95SJohnny Huang { 45, 3, 1, "Boot SPI flash size : 2MB" }, 2300cee9a95SJohnny Huang { 45, 3, 2, "Boot SPI flash size : 4MB" }, 2310cee9a95SJohnny Huang { 45, 3, 3, "Boot SPI flash size : 8MB" }, 2320cee9a95SJohnny Huang { 45, 3, 4, "Boot SPI flash size : 16MB" }, 2330cee9a95SJohnny Huang { 45, 3, 5, "Boot SPI flash size : 32MB" }, 2340cee9a95SJohnny Huang { 45, 3, 6, "Boot SPI flash size : 64MB" }, 2350cee9a95SJohnny Huang { 45, 3, 7, "Boot SPI flash size : 128MB" }, 2360cee9a95SJohnny Huang { 48, 1, 0, "Disable host SPI ABR" }, 2370cee9a95SJohnny Huang { 48, 1, 1, "Enable host SPI ABR" }, 2380cee9a95SJohnny Huang { 49, 1, 0, "Disable host SPI ABR mode select pin" }, 2390cee9a95SJohnny Huang { 49, 1, 1, "Enable host SPI ABR mode select pin" }, 2400cee9a95SJohnny Huang { 50, 1, 0, "Host SPI ABR mode : dual" }, 2410cee9a95SJohnny Huang { 50, 1, 1, "Host SPI ABR mode : single" }, 2420cee9a95SJohnny Huang { 51, 3, 0, "Host SPI flash size : 0MB" }, 2430cee9a95SJohnny Huang { 51, 3, 1, "Host SPI flash size : 2MB" }, 2440cee9a95SJohnny Huang { 51, 3, 2, "Host SPI flash size : 4MB" }, 2450cee9a95SJohnny Huang { 51, 3, 3, "Host SPI flash size : 8MB" }, 2460cee9a95SJohnny Huang { 51, 3, 4, "Host SPI flash size : 16MB" }, 2470cee9a95SJohnny Huang { 51, 3, 5, "Host SPI flash size : 32MB" }, 2480cee9a95SJohnny Huang { 51, 3, 6, "Host SPI flash size : 64MB" }, 2490cee9a95SJohnny Huang { 51, 3, 7, "Host SPI flash size : 128MB" }, 2500cee9a95SJohnny Huang { 54, 1, 0, "Disable boot SPI auxiliary control pins" }, 2510cee9a95SJohnny Huang { 54, 1, 1, "Enable boot SPI auxiliary control pins" }, 2520cee9a95SJohnny Huang { 55, 2, 0, "Boot SPI CRTM size : 0KB" }, 2530cee9a95SJohnny Huang { 55, 2, 1, "Boot SPI CRTM size : 256KB" }, 2540cee9a95SJohnny Huang { 55, 2, 2, "Boot SPI CRTM size : 512KB" }, 2550cee9a95SJohnny Huang { 55, 2, 3, "Boot SPI CRTM size : 1024KB" }, 2560cee9a95SJohnny Huang { 57, 2, 0, "Host SPI CRTM size : 0KB" }, 2570cee9a95SJohnny Huang { 57, 2, 1, "Host SPI CRTM size : 1024KB" }, 2580cee9a95SJohnny Huang { 57, 2, 2, "Host SPI CRTM size : 2048KB" }, 2590cee9a95SJohnny Huang { 57, 2, 3, "Host SPI CRTM size : 4096KB" }, 2600cee9a95SJohnny Huang { 59, 1, 0, "Disable host SPI auxiliary control pins" }, 2610cee9a95SJohnny Huang { 59, 1, 1, "Enable host SPI auxiliary control pins" }, 2620cee9a95SJohnny Huang { 60, 1, 0, "Disable GPIO pass through" }, 2630cee9a95SJohnny Huang { 60, 1, 1, "Enable GPIO pass through" }, 2640cee9a95SJohnny Huang { 62, 1, 0, "Disable dedicate GPIO strap pins" }, 2650cee9a95SJohnny Huang { 62, 1, 1, "Enable dedicate GPIO strap pins" } 2660cee9a95SJohnny Huang }; 2670cee9a95SJohnny Huang 2680cee9a95SJohnny Huang static const struct otpstrap_info a2_strap_info[] = { 2690cee9a95SJohnny Huang { 0, 1, 0, "Disable Secure Boot" }, 2700cee9a95SJohnny Huang { 0, 1, 1, "Enable Secure Boot" }, 2710cee9a95SJohnny Huang { 1, 1, 0, "Disable boot from eMMC" }, 2720cee9a95SJohnny Huang { 1, 1, 1, "Enable boot from eMMC" }, 2730cee9a95SJohnny Huang { 2, 1, 0, "Disable Boot from debug SPI" }, 2740cee9a95SJohnny Huang { 2, 1, 1, "Enable Boot from debug SPI" }, 2750cee9a95SJohnny Huang { 3, 1, 0, "Enable ARM CM3" }, 2760cee9a95SJohnny Huang { 3, 1, 1, "Disable ARM CM3" }, 2770cee9a95SJohnny Huang { 4, 1, 0, "No VGA BIOS ROM, VGA BIOS is merged in the system BIOS" }, 2780cee9a95SJohnny Huang { 4, 1, 1, "Enable dedicated VGA BIOS ROM" }, 2790cee9a95SJohnny Huang { 5, 1, 0, "MAC 1 : RMII/NCSI" }, 2800cee9a95SJohnny Huang { 5, 1, 1, "MAC 1 : RGMII" }, 2810cee9a95SJohnny Huang { 6, 1, 0, "MAC 2 : RMII/NCSI" }, 2820cee9a95SJohnny Huang { 6, 1, 1, "MAC 2 : RGMII" }, 2830cee9a95SJohnny Huang { 7, 3, 0, "CPU Frequency : 1.2GHz" }, 284*b63af886SJohnny Huang { 7, 3, 1, "CPU Frequency : 1.6GHz" }, 285*b63af886SJohnny Huang { 7, 3, 2, "CPU Frequency : 1.2GHz" }, 286*b63af886SJohnny Huang { 7, 3, 3, "CPU Frequency : 1.6GHz" }, 287*b63af886SJohnny Huang { 7, 3, 4, "CPU Frequency : 800MHz" }, 288*b63af886SJohnny Huang { 7, 3, 5, "CPU Frequency : 800MHz" }, 289*b63af886SJohnny Huang { 7, 3, 6, "CPU Frequency : 800MHz" }, 290*b63af886SJohnny Huang { 7, 3, 7, "CPU Frequency : 800MHz" }, 291*b63af886SJohnny Huang { 10, 2, 0, "HCLK ratio AXI:AHB = default" }, 292*b63af886SJohnny Huang { 10, 2, 1, "HCLK ratio AXI:AHB = 2:1" }, 293*b63af886SJohnny Huang { 10, 2, 2, "HCLK ratio AXI:AHB = 3:1" }, 294*b63af886SJohnny Huang { 10, 2, 3, "HCLK ratio AXI:AHB = 4:1" }, 295*b63af886SJohnny Huang { 12, 2, 0, "VGA memory size : 8MB" }, 296*b63af886SJohnny Huang { 12, 2, 1, "VGA memory size : 16MB" }, 297*b63af886SJohnny Huang { 12, 2, 2, "VGA memory size : 32MB" }, 298*b63af886SJohnny Huang { 12, 2, 3, "VGA memory size : 64MB" }, 299*b63af886SJohnny Huang { 15, 1, 0, "CPU/AXI clock ratio : 2:1" }, 300*b63af886SJohnny Huang { 15, 1, 1, "CPU/AXI clock ratio : 1:1" }, 301*b63af886SJohnny Huang { 16, 1, 0, "Enable ARM JTAG debug" }, 302*b63af886SJohnny Huang { 16, 1, 1, "Disable ARM JTAG debug" }, 303*b63af886SJohnny Huang { 17, 1, 0, "VGA class code : vga_device" }, 304*b63af886SJohnny Huang { 17, 1, 1, "VGA class code : video_device" }, 305*b63af886SJohnny Huang { 18, 1, 0, "Enable debug interfaces 0" }, 306*b63af886SJohnny Huang { 18, 1, 1, "Disable debug interfaces 0" }, 307*b63af886SJohnny Huang { 19, 1, 0, "Boot from eMMC speed mode : normal" }, 308*b63af886SJohnny Huang { 19, 1, 1, "Boot from eMMC speed mode : high" }, 309*b63af886SJohnny Huang { 20, 1, 0, "Disable Pcie EHCI device" }, 310*b63af886SJohnny Huang { 20, 1, 1, "Enable Pcie EHCI device" }, 311*b63af886SJohnny Huang { 21, 1, 0, "Enable ARM JTAG trust world debug" }, 312*b63af886SJohnny Huang { 21, 1, 1, "Disable ARM JTAG trust world debug" }, 313*b63af886SJohnny Huang { 22, 1, 0, "Normal BMC mode" }, 314*b63af886SJohnny Huang { 22, 1, 1, "Disable dedicated BMC functions for non-BMC application" }, 315*b63af886SJohnny Huang { 23, 1, 0, "SSPRST# pin is for secondary processor dedicated reset pin" }, 316*b63af886SJohnny Huang { 23, 1, 1, "SSPRST# pin is for PCIE root complex dedicated reset pin" }, 317*b63af886SJohnny Huang { 24, 1, 0, "Enable watchdog to reset full chip" }, 318*b63af886SJohnny Huang { 24, 1, 1, "Disable watchdog to reset full chip" }, 319*b63af886SJohnny Huang { 25, 2, 0, "Internal bridge speed selection : 1x" }, 320*b63af886SJohnny Huang { 25, 2, 1, "Internal bridge speed selection : 1/2x" }, 321*b63af886SJohnny Huang { 25, 2, 2, "Internal bridge speed selection : 1/4x" }, 322*b63af886SJohnny Huang { 25, 2, 3, "Internal bridge speed selection : 1/8x" }, 323*b63af886SJohnny Huang { 29, 1, 0, "Enable RVAS function" }, 324*b63af886SJohnny Huang { 29, 1, 1, "Disable RVAS function" }, 325*b63af886SJohnny Huang { 32, 1, 0, "MAC 3 : RMII/NCSI" }, 326*b63af886SJohnny Huang { 32, 1, 1, "MAC 3 : RGMII" }, 327*b63af886SJohnny Huang { 33, 1, 0, "MAC 4 : RMII/NCSI" }, 328*b63af886SJohnny Huang { 33, 1, 1, "MAC 4 : RGMII" }, 329*b63af886SJohnny Huang { 34, 1, 0, "SuperIO configuration address : 0x2e" }, 330*b63af886SJohnny Huang { 34, 1, 1, "SuperIO configuration address : 0x4e" }, 331*b63af886SJohnny Huang { 35, 1, 0, "Enable LPC to decode SuperIO" }, 332*b63af886SJohnny Huang { 35, 1, 1, "Disable LPC to decode SuperIO" }, 333*b63af886SJohnny Huang { 36, 1, 0, "Enable debug interfaces 1" }, 334*b63af886SJohnny Huang { 36, 1, 1, "Disable debug interfaces 1" }, 335*b63af886SJohnny Huang { 37, 1, 0, "Disable ACPI function" }, 336*b63af886SJohnny Huang { 37, 1, 1, "Enable ACPI function" }, 337*b63af886SJohnny Huang { 38, 1, 0, "Select LPC/eSPI : eSPI" }, 338*b63af886SJohnny Huang { 38, 1, 1, "Select LPC/eSPI : LPC" }, 339*b63af886SJohnny Huang { 39, 1, 0, "Disable SAFS mode" }, 340*b63af886SJohnny Huang { 39, 1, 1, "Enable SAFS mode" }, 341*b63af886SJohnny Huang { 40, 1, 0, "Disable boot from uart5" }, 342*b63af886SJohnny Huang { 40, 1, 1, "Enable boot from uart5" }, 343*b63af886SJohnny Huang { 41, 1, 0, "Disable boot SPI 3B address mode auto-clear" }, 344*b63af886SJohnny Huang { 41, 1, 1, "Enable boot SPI 3B address mode auto-clear" }, 345*b63af886SJohnny Huang { 42, 1, 0, "Disable boot SPI 3B/4B address mode auto detection" }, 346*b63af886SJohnny Huang { 42, 1, 1, "Enable boot SPI 3B/4B address mode auto detection" }, 347*b63af886SJohnny Huang { 43, 1, 0, "Disable boot SPI or eMMC ABR" }, 348*b63af886SJohnny Huang { 43, 1, 1, "Enable boot SPI or eMMC ABR" }, 349*b63af886SJohnny Huang { 44, 1, 0, "Boot SPI ABR Mode : dual" }, 350*b63af886SJohnny Huang { 44, 1, 1, "Boot SPI ABR Mode : single" }, 351*b63af886SJohnny Huang { 45, 3, 0, "Boot SPI flash size : 0MB" }, 352*b63af886SJohnny Huang { 45, 3, 1, "Boot SPI flash size : 2MB" }, 353*b63af886SJohnny Huang { 45, 3, 2, "Boot SPI flash size : 4MB" }, 354*b63af886SJohnny Huang { 45, 3, 3, "Boot SPI flash size : 8MB" }, 355*b63af886SJohnny Huang { 45, 3, 4, "Boot SPI flash size : 16MB" }, 356*b63af886SJohnny Huang { 45, 3, 5, "Boot SPI flash size : 32MB" }, 357*b63af886SJohnny Huang { 45, 3, 6, "Boot SPI flash size : 64MB" }, 358*b63af886SJohnny Huang { 45, 3, 7, "Boot SPI flash size : 128MB" }, 359*b63af886SJohnny Huang { 48, 1, 0, "Disable host SPI ABR" }, 360*b63af886SJohnny Huang { 48, 1, 1, "Enable host SPI ABR" }, 361*b63af886SJohnny Huang { 49, 1, 0, "Disable host SPI ABR mode select pin" }, 362*b63af886SJohnny Huang { 49, 1, 1, "Enable host SPI ABR mode select pin" }, 363*b63af886SJohnny Huang { 50, 1, 0, "Host SPI ABR mode : dual" }, 364*b63af886SJohnny Huang { 50, 1, 1, "Host SPI ABR mode : single" }, 365*b63af886SJohnny Huang { 51, 3, 0, "Host SPI flash size : 0MB" }, 366*b63af886SJohnny Huang { 51, 3, 1, "Host SPI flash size : 2MB" }, 367*b63af886SJohnny Huang { 51, 3, 2, "Host SPI flash size : 4MB" }, 368*b63af886SJohnny Huang { 51, 3, 3, "Host SPI flash size : 8MB" }, 369*b63af886SJohnny Huang { 51, 3, 4, "Host SPI flash size : 16MB" }, 370*b63af886SJohnny Huang { 51, 3, 5, "Host SPI flash size : 32MB" }, 371*b63af886SJohnny Huang { 51, 3, 6, "Host SPI flash size : 64MB" }, 372*b63af886SJohnny Huang { 51, 3, 7, "Host SPI flash size : 128MB" }, 373*b63af886SJohnny Huang { 54, 1, 0, "Disable boot SPI auxiliary control pins" }, 374*b63af886SJohnny Huang { 54, 1, 1, "Enable boot SPI auxiliary control pins" }, 375*b63af886SJohnny Huang { 55, 2, 0, "Boot SPI CRTM size : 0KB" }, 376*b63af886SJohnny Huang { 55, 2, 1, "Boot SPI CRTM size : 256KB" }, 377*b63af886SJohnny Huang { 55, 2, 2, "Boot SPI CRTM size : 512KB" }, 378*b63af886SJohnny Huang { 55, 2, 3, "Boot SPI CRTM size : 1024KB" }, 379*b63af886SJohnny Huang { 57, 2, 0, "Host SPI CRTM size : 0KB" }, 380*b63af886SJohnny Huang { 57, 2, 1, "Host SPI CRTM size : 1024KB" }, 381*b63af886SJohnny Huang { 57, 2, 2, "Host SPI CRTM size : 2048KB" }, 382*b63af886SJohnny Huang { 57, 2, 3, "Host SPI CRTM size : 4096KB" }, 383*b63af886SJohnny Huang { 59, 1, 0, "Disable host SPI auxiliary control pins" }, 384*b63af886SJohnny Huang { 59, 1, 1, "Enable host SPI auxiliary control pins" }, 385*b63af886SJohnny Huang { 60, 1, 0, "Disable GPIO pass through" }, 386*b63af886SJohnny Huang { 60, 1, 1, "Enable GPIO pass through" }, 387*b63af886SJohnny Huang { 62, 1, 0, "Disable dedicate GPIO strap pins" }, 388*b63af886SJohnny Huang { 62, 1, 1, "Enable dedicate GPIO strap pins" } 389*b63af886SJohnny Huang }; 390*b63af886SJohnny Huang 391*b63af886SJohnny Huang static const struct otpstrap_info a3_strap_info[] = { 392*b63af886SJohnny Huang { 0, 1, 0, "Disable Secure Boot" }, 393*b63af886SJohnny Huang { 0, 1, 1, "Enable Secure Boot" }, 394*b63af886SJohnny Huang { 1, 1, 0, "Disable boot from eMMC" }, 395*b63af886SJohnny Huang { 1, 1, 1, "Enable boot from eMMC" }, 396*b63af886SJohnny Huang { 2, 1, 0, "Disable Boot from debug SPI" }, 397*b63af886SJohnny Huang { 2, 1, 1, "Enable Boot from debug SPI" }, 398*b63af886SJohnny Huang { 3, 1, 0, "Enable ARM CM3" }, 399*b63af886SJohnny Huang { 3, 1, 1, "Disable ARM CM3" }, 400*b63af886SJohnny Huang { 4, 1, 0, "No VGA BIOS ROM, VGA BIOS is merged in the system BIOS" }, 401*b63af886SJohnny Huang { 4, 1, 1, "Enable dedicated VGA BIOS ROM" }, 402*b63af886SJohnny Huang { 5, 1, 0, "MAC 1 : RMII/NCSI" }, 403*b63af886SJohnny Huang { 5, 1, 1, "MAC 1 : RGMII" }, 404*b63af886SJohnny Huang { 6, 1, 0, "MAC 2 : RMII/NCSI" }, 405*b63af886SJohnny Huang { 6, 1, 1, "MAC 2 : RGMII" }, 406*b63af886SJohnny Huang { 7, 3, 0, "CPU Frequency : 1.2GHz" }, 407*b63af886SJohnny Huang { 7, 3, 1, "CPU Frequency : 1.6GHz" }, 4080cee9a95SJohnny Huang { 7, 3, 2, "CPU Frequency : 1.2GHz" }, 4090cee9a95SJohnny Huang { 7, 3, 3, "CPU Frequency : 1.6GHz" }, 4100cee9a95SJohnny Huang { 7, 3, 4, "CPU Frequency : 800MHz" }, 4110cee9a95SJohnny Huang { 7, 3, 5, "CPU Frequency : 800MHz" }, 4120cee9a95SJohnny Huang { 7, 3, 6, "CPU Frequency : 800MHz" }, 4130cee9a95SJohnny Huang { 7, 3, 7, "CPU Frequency : 800MHz" }, 414513af504SJohnny Huang { 10, 2, 0, "HCLK ratio AXI:AHB = default" }, 4150cee9a95SJohnny Huang { 10, 2, 1, "HCLK ratio AXI:AHB = 2:1" }, 4160cee9a95SJohnny Huang { 10, 2, 2, "HCLK ratio AXI:AHB = 3:1" }, 4170cee9a95SJohnny Huang { 10, 2, 3, "HCLK ratio AXI:AHB = 4:1" }, 4180cee9a95SJohnny Huang { 12, 2, 0, "VGA memory size : 8MB" }, 4190cee9a95SJohnny Huang { 12, 2, 1, "VGA memory size : 16MB" }, 4200cee9a95SJohnny Huang { 12, 2, 2, "VGA memory size : 32MB" }, 4210cee9a95SJohnny Huang { 12, 2, 3, "VGA memory size : 64MB" }, 4220cee9a95SJohnny Huang { 15, 1, 0, "CPU/AXI clock ratio : 2:1" }, 4230cee9a95SJohnny Huang { 15, 1, 1, "CPU/AXI clock ratio : 1:1" }, 4240cee9a95SJohnny Huang { 16, 1, 0, "Enable ARM JTAG debug" }, 4250cee9a95SJohnny Huang { 16, 1, 1, "Disable ARM JTAG debug" }, 42664b66712SJohnny Huang { 17, 1, 0, "VGA class code : vga_device" }, 42764b66712SJohnny Huang { 17, 1, 1, "VGA class code : video_device" }, 4280cee9a95SJohnny Huang { 18, 1, 0, "Enable debug interfaces 0" }, 4290cee9a95SJohnny Huang { 18, 1, 1, "Disable debug interfaces 0" }, 4300cee9a95SJohnny Huang { 19, 1, 0, "Boot from eMMC speed mode : normal" }, 4310cee9a95SJohnny Huang { 19, 1, 1, "Boot from eMMC speed mode : high" }, 4320cee9a95SJohnny Huang { 20, 1, 0, "Disable Pcie EHCI device" }, 4330cee9a95SJohnny Huang { 20, 1, 1, "Enable Pcie EHCI device" }, 4340cee9a95SJohnny Huang { 21, 1, 0, "Enable ARM JTAG trust world debug" }, 4350cee9a95SJohnny Huang { 21, 1, 1, "Disable ARM JTAG trust world debug" }, 4360cee9a95SJohnny Huang { 22, 1, 0, "Normal BMC mode" }, 4370cee9a95SJohnny Huang { 22, 1, 1, "Disable dedicated BMC functions for non-BMC application" }, 4380cee9a95SJohnny Huang { 23, 1, 0, "SSPRST# pin is for secondary processor dedicated reset pin" }, 4390cee9a95SJohnny Huang { 23, 1, 1, "SSPRST# pin is for PCIE root complex dedicated reset pin" }, 4400cee9a95SJohnny Huang { 24, 1, 0, "Enable watchdog to reset full chip" }, 4410cee9a95SJohnny Huang { 24, 1, 1, "Disable watchdog to reset full chip" }, 4420cee9a95SJohnny Huang { 25, 2, 0, "Internal bridge speed selection : 1x" }, 4430cee9a95SJohnny Huang { 25, 2, 1, "Internal bridge speed selection : 1/2x" }, 4440cee9a95SJohnny Huang { 25, 2, 2, "Internal bridge speed selection : 1/4x" }, 4450cee9a95SJohnny Huang { 25, 2, 3, "Internal bridge speed selection : 1/8x" }, 4460cee9a95SJohnny Huang { 29, 1, 0, "Enable RVAS function" }, 4470cee9a95SJohnny Huang { 29, 1, 1, "Disable RVAS function" }, 4480cee9a95SJohnny Huang { 32, 1, 0, "MAC 3 : RMII/NCSI" }, 4490cee9a95SJohnny Huang { 32, 1, 1, "MAC 3 : RGMII" }, 4500cee9a95SJohnny Huang { 33, 1, 0, "MAC 4 : RMII/NCSI" }, 4510cee9a95SJohnny Huang { 33, 1, 1, "MAC 4 : RGMII" }, 4520cee9a95SJohnny Huang { 34, 1, 0, "SuperIO configuration address : 0x2e" }, 4530cee9a95SJohnny Huang { 34, 1, 1, "SuperIO configuration address : 0x4e" }, 4540cee9a95SJohnny Huang { 35, 1, 0, "Enable LPC to decode SuperIO" }, 4550cee9a95SJohnny Huang { 35, 1, 1, "Disable LPC to decode SuperIO" }, 4560cee9a95SJohnny Huang { 36, 1, 0, "Enable debug interfaces 1" }, 4570cee9a95SJohnny Huang { 36, 1, 1, "Disable debug interfaces 1" }, 4580cee9a95SJohnny Huang { 37, 1, 0, "Disable ACPI function" }, 4590cee9a95SJohnny Huang { 37, 1, 1, "Enable ACPI function" }, 4600cee9a95SJohnny Huang { 38, 1, 0, "Select LPC/eSPI : eSPI" }, 4610cee9a95SJohnny Huang { 38, 1, 1, "Select LPC/eSPI : LPC" }, 4620cee9a95SJohnny Huang { 39, 1, 0, "Disable SAFS mode" }, 4630cee9a95SJohnny Huang { 39, 1, 1, "Enable SAFS mode" }, 4640cee9a95SJohnny Huang { 40, 1, 0, "Disable boot from uart5" }, 4650cee9a95SJohnny Huang { 40, 1, 1, "Enable boot from uart5" }, 4660cee9a95SJohnny Huang { 41, 1, 0, "Disable boot SPI 3B address mode auto-clear" }, 4670cee9a95SJohnny Huang { 41, 1, 1, "Enable boot SPI 3B address mode auto-clear" }, 4680cee9a95SJohnny Huang { 42, 1, 0, "Disable boot SPI 3B/4B address mode auto detection" }, 4690cee9a95SJohnny Huang { 42, 1, 1, "Enable boot SPI 3B/4B address mode auto detection" }, 4700cee9a95SJohnny Huang { 43, 1, 0, "Disable boot SPI or eMMC ABR" }, 4710cee9a95SJohnny Huang { 43, 1, 1, "Enable boot SPI or eMMC ABR" }, 4720cee9a95SJohnny Huang { 44, 1, 0, "Boot SPI ABR Mode : dual" }, 4730cee9a95SJohnny Huang { 44, 1, 1, "Boot SPI ABR Mode : single" }, 4740cee9a95SJohnny Huang { 45, 3, 0, "Boot SPI flash size : 0MB" }, 4750cee9a95SJohnny Huang { 45, 3, 1, "Boot SPI flash size : 2MB" }, 4760cee9a95SJohnny Huang { 45, 3, 2, "Boot SPI flash size : 4MB" }, 4770cee9a95SJohnny Huang { 45, 3, 3, "Boot SPI flash size : 8MB" }, 4780cee9a95SJohnny Huang { 45, 3, 4, "Boot SPI flash size : 16MB" }, 4790cee9a95SJohnny Huang { 45, 3, 5, "Boot SPI flash size : 32MB" }, 4800cee9a95SJohnny Huang { 45, 3, 6, "Boot SPI flash size : 64MB" }, 4810cee9a95SJohnny Huang { 45, 3, 7, "Boot SPI flash size : 128MB" }, 4820cee9a95SJohnny Huang { 48, 1, 0, "Disable host SPI ABR" }, 4830cee9a95SJohnny Huang { 48, 1, 1, "Enable host SPI ABR" }, 4840cee9a95SJohnny Huang { 49, 1, 0, "Disable host SPI ABR mode select pin" }, 4850cee9a95SJohnny Huang { 49, 1, 1, "Enable host SPI ABR mode select pin" }, 4860cee9a95SJohnny Huang { 50, 1, 0, "Host SPI ABR mode : dual" }, 4870cee9a95SJohnny Huang { 50, 1, 1, "Host SPI ABR mode : single" }, 4880cee9a95SJohnny Huang { 51, 3, 0, "Host SPI flash size : 0MB" }, 4890cee9a95SJohnny Huang { 51, 3, 1, "Host SPI flash size : 2MB" }, 4900cee9a95SJohnny Huang { 51, 3, 2, "Host SPI flash size : 4MB" }, 4910cee9a95SJohnny Huang { 51, 3, 3, "Host SPI flash size : 8MB" }, 4920cee9a95SJohnny Huang { 51, 3, 4, "Host SPI flash size : 16MB" }, 4930cee9a95SJohnny Huang { 51, 3, 5, "Host SPI flash size : 32MB" }, 4940cee9a95SJohnny Huang { 51, 3, 6, "Host SPI flash size : 64MB" }, 4950cee9a95SJohnny Huang { 51, 3, 7, "Host SPI flash size : 128MB" }, 4960cee9a95SJohnny Huang { 54, 1, 0, "Disable boot SPI auxiliary control pins" }, 4970cee9a95SJohnny Huang { 54, 1, 1, "Enable boot SPI auxiliary control pins" }, 4980cee9a95SJohnny Huang { 55, 2, 0, "Boot SPI CRTM size : 0KB" }, 4990cee9a95SJohnny Huang { 55, 2, 1, "Boot SPI CRTM size : 256KB" }, 5000cee9a95SJohnny Huang { 55, 2, 2, "Boot SPI CRTM size : 512KB" }, 5010cee9a95SJohnny Huang { 55, 2, 3, "Boot SPI CRTM size : 1024KB" }, 5020cee9a95SJohnny Huang { 57, 2, 0, "Host SPI CRTM size : 0KB" }, 5030cee9a95SJohnny Huang { 57, 2, 1, "Host SPI CRTM size : 1024KB" }, 5040cee9a95SJohnny Huang { 57, 2, 2, "Host SPI CRTM size : 2048KB" }, 5050cee9a95SJohnny Huang { 57, 2, 3, "Host SPI CRTM size : 4096KB" }, 5060cee9a95SJohnny Huang { 59, 1, 0, "Disable host SPI auxiliary control pins" }, 5070cee9a95SJohnny Huang { 59, 1, 1, "Enable host SPI auxiliary control pins" }, 5080cee9a95SJohnny Huang { 60, 1, 0, "Disable GPIO pass through" }, 5090cee9a95SJohnny Huang { 60, 1, 1, "Enable GPIO pass through" }, 5100cee9a95SJohnny Huang { 62, 1, 0, "Disable dedicate GPIO strap pins" }, 5110cee9a95SJohnny Huang { 62, 1, 1, "Enable dedicate GPIO strap pins" } 5120cee9a95SJohnny Huang }; 5130cee9a95SJohnny Huang 5140cee9a95SJohnny Huang static const struct otpconf_info a0_conf_info[] = { 5150cee9a95SJohnny Huang { 0, 1, 1, 0, "Disable Secure Boot" }, 5160cee9a95SJohnny Huang { 0, 1, 1, 1, "Enable Secure Boot" }, 5170cee9a95SJohnny Huang { 0, 3, 1, 0, "User region ECC disable" }, 5180cee9a95SJohnny Huang { 0, 3, 1, 1, "User region ECC enable" }, 5190cee9a95SJohnny Huang { 0, 4, 1, 0, "Secure Region ECC disable" }, 5200cee9a95SJohnny Huang { 0, 4, 1, 1, "Secure Region ECC enable" }, 5210cee9a95SJohnny Huang { 0, 5, 1, 0, "Enable low security key" }, 5220cee9a95SJohnny Huang { 0, 5, 1, 1, "Disable low security key" }, 5230cee9a95SJohnny Huang { 0, 6, 1, 0, "Do not ignore Secure Boot hardware strap" }, 5240cee9a95SJohnny Huang { 0, 6, 1, 1, "Ignore Secure Boot hardware strap" }, 5250cee9a95SJohnny Huang { 0, 7, 1, 0, "Secure Boot Mode: Mode_GCM" }, 5260cee9a95SJohnny Huang { 0, 7, 1, 1, "Secure Boot Mode: Mode_2" }, 5270cee9a95SJohnny Huang { 0, 10, 2, 0, "RSA mode : RSA1024" }, 5280cee9a95SJohnny Huang { 0, 10, 2, 1, "RSA mode : RSA2048" }, 5290cee9a95SJohnny Huang { 0, 10, 2, 2, "RSA mode : RSA3072" }, 5300cee9a95SJohnny Huang { 0, 10, 2, 3, "RSA mode : RSA4096" }, 5310cee9a95SJohnny Huang { 0, 12, 2, 0, "SHA mode : SHA224" }, 5320cee9a95SJohnny Huang { 0, 12, 2, 1, "SHA mode : SHA256" }, 5330cee9a95SJohnny Huang { 0, 12, 2, 2, "SHA mode : SHA384" }, 5340cee9a95SJohnny Huang { 0, 12, 2, 3, "SHA mode : SHA512" }, 5356d6e9c94SJohnny Huang { 0, 14, 1, 0, "Enable patch code" }, 5366d6e9c94SJohnny Huang { 0, 14, 1, 1, "Disable patch code" }, 5370cee9a95SJohnny Huang { 0, 15, 1, 0, "Enable Boot from Uart" }, 5380cee9a95SJohnny Huang { 0, 15, 1, 1, "Disable Boot from Uart" }, 5390cee9a95SJohnny Huang { 0, 16, 6, OTP_REG_VALUE, "Secure Region size (DW): 0x%x" }, 5400cee9a95SJohnny Huang { 0, 22, 1, 0, "Secure Region : Writable" }, 5410cee9a95SJohnny Huang { 0, 22, 1, 1, "Secure Region : Write Protect" }, 5420cee9a95SJohnny Huang { 0, 23, 1, 0, "User Region : Writable" }, 5430cee9a95SJohnny Huang { 0, 23, 1, 1, "User Region : Write Protect" }, 5440cee9a95SJohnny Huang { 0, 24, 1, 0, "Configure Region : Writable" }, 5450cee9a95SJohnny Huang { 0, 24, 1, 1, "Configure Region : Write Protect" }, 5460cee9a95SJohnny Huang { 0, 25, 1, 0, "OTP strap Region : Writable" }, 5470cee9a95SJohnny Huang { 0, 25, 1, 1, "OTP strap Region : Write Protect" }, 5480cee9a95SJohnny Huang { 0, 26, 1, 0, "Disable Copy Boot Image to Internal SRAM" }, 5490cee9a95SJohnny Huang { 0, 26, 1, 1, "Copy Boot Image to Internal SRAM" }, 5500cee9a95SJohnny Huang { 0, 27, 1, 0, "Disable image encryption" }, 5510cee9a95SJohnny Huang { 0, 27, 1, 1, "Enable image encryption" }, 5520cee9a95SJohnny Huang { 0, 29, 1, 0, "OTP key retire Region : Writable" }, 5530cee9a95SJohnny Huang { 0, 29, 1, 1, "OTP key retire Region : Write Protect" }, 5540cee9a95SJohnny Huang { 0, 31, 1, 0, "OTP memory lock disable" }, 5550cee9a95SJohnny Huang { 0, 31, 1, 1, "OTP memory lock enable" }, 5560cee9a95SJohnny Huang { 2, 0, 16, OTP_REG_VALUE, "Vender ID : 0x%x" }, 5570cee9a95SJohnny Huang { 2, 16, 16, OTP_REG_VALUE, "Key Revision : 0x%x" }, 5580cee9a95SJohnny Huang { 3, 0, 16, OTP_REG_VALUE, "Secure boot header offset : 0x%x" }, 5590cee9a95SJohnny Huang { 4, 0, 8, OTP_REG_VALID_BIT, "Keys retire : %s" }, 5600cee9a95SJohnny Huang { 5, 0, 32, OTP_REG_VALUE, "User define data, random number low : 0x%x" }, 5610cee9a95SJohnny Huang { 6, 0, 32, OTP_REG_VALUE, "User define data, random number high : 0x%x" }, 5620cee9a95SJohnny Huang { 14, 0, 11, OTP_REG_VALUE, "Patch code location (DW): 0x%x" }, 5630cee9a95SJohnny Huang { 14, 11, 6, OTP_REG_VALUE, "Patch code size (DW): 0x%x" } 5640cee9a95SJohnny Huang }; 5650cee9a95SJohnny Huang 5660cee9a95SJohnny Huang static const struct otpconf_info a1_conf_info[] = { 5670cee9a95SJohnny Huang { 0, 1, 1, 0, "Disable Secure Boot" }, 5680cee9a95SJohnny Huang { 0, 1, 1, 1, "Enable Secure Boot" }, 5690cee9a95SJohnny Huang { 0, 3, 1, 0, "User region ECC disable" }, 5700cee9a95SJohnny Huang { 0, 3, 1, 1, "User region ECC enable" }, 5710cee9a95SJohnny Huang { 0, 4, 1, 0, "Secure Region ECC disable" }, 5720cee9a95SJohnny Huang { 0, 4, 1, 1, "Secure Region ECC enable" }, 5730cee9a95SJohnny Huang { 0, 5, 1, 0, "Enable low security key" }, 5740cee9a95SJohnny Huang { 0, 5, 1, 1, "Disable low security key" }, 5750cee9a95SJohnny Huang { 0, 6, 1, 0, "Do not ignore Secure Boot hardware strap" }, 5760cee9a95SJohnny Huang { 0, 6, 1, 1, "Ignore Secure Boot hardware strap" }, 5770cee9a95SJohnny Huang { 0, 7, 1, 0, "Secure Boot Mode: Mode_GCM" }, 5780cee9a95SJohnny Huang { 0, 7, 1, 1, "Secure Boot Mode: Mode_2" }, 5790cee9a95SJohnny Huang { 0, 10, 2, 0, "RSA mode : RSA1024" }, 5800cee9a95SJohnny Huang { 0, 10, 2, 1, "RSA mode : RSA2048" }, 5810cee9a95SJohnny Huang { 0, 10, 2, 2, "RSA mode : RSA3072" }, 5820cee9a95SJohnny Huang { 0, 10, 2, 3, "RSA mode : RSA4096" }, 5830cee9a95SJohnny Huang { 0, 12, 2, 0, "SHA mode : SHA224" }, 5840cee9a95SJohnny Huang { 0, 12, 2, 1, "SHA mode : SHA256" }, 5850cee9a95SJohnny Huang { 0, 12, 2, 2, "SHA mode : SHA384" }, 5860cee9a95SJohnny Huang { 0, 12, 2, 3, "SHA mode : SHA512" }, 58764b66712SJohnny Huang { 0, 14, 1, 0, "Disable patch code" }, 58864b66712SJohnny Huang { 0, 14, 1, 1, "Enable patch code" }, 5890cee9a95SJohnny Huang { 0, 15, 1, 0, "Enable Boot from Uart" }, 5900cee9a95SJohnny Huang { 0, 15, 1, 1, "Disable Boot from Uart" }, 5910cee9a95SJohnny Huang { 0, 16, 6, OTP_REG_VALUE, "Secure Region size (DW): 0x%x" }, 5920cee9a95SJohnny Huang { 0, 22, 1, 0, "Secure Region : Writable" }, 5930cee9a95SJohnny Huang { 0, 22, 1, 1, "Secure Region : Write Protect" }, 5940cee9a95SJohnny Huang { 0, 23, 1, 0, "User Region : Writable" }, 5950cee9a95SJohnny Huang { 0, 23, 1, 1, "User Region : Write Protect" }, 5960cee9a95SJohnny Huang { 0, 24, 1, 0, "Configure Region : Writable" }, 5970cee9a95SJohnny Huang { 0, 24, 1, 1, "Configure Region : Write Protect" }, 5980cee9a95SJohnny Huang { 0, 25, 1, 0, "OTP strap Region : Writable" }, 5990cee9a95SJohnny Huang { 0, 25, 1, 1, "OTP strap Region : Write Protect" }, 6000cee9a95SJohnny Huang { 0, 26, 1, 0, "Disable Copy Boot Image to Internal SRAM" }, 6010cee9a95SJohnny Huang { 0, 26, 1, 1, "Copy Boot Image to Internal SRAM" }, 6020cee9a95SJohnny Huang { 0, 27, 1, 0, "Disable image encryption" }, 6030cee9a95SJohnny Huang { 0, 27, 1, 1, "Enable image encryption" }, 6040cee9a95SJohnny Huang { 0, 29, 1, 0, "OTP key retire Region : Writable" }, 6050cee9a95SJohnny Huang { 0, 29, 1, 1, "OTP key retire Region : Write Protect" }, 6060cee9a95SJohnny Huang { 0, 31, 1, 0, "OTP memory lock disable" }, 6070cee9a95SJohnny Huang { 0, 31, 1, 1, "OTP memory lock enable" }, 6080cee9a95SJohnny Huang { 2, 0, 16, OTP_REG_VALUE, "Vender ID : 0x%x" }, 6090cee9a95SJohnny Huang { 2, 16, 16, OTP_REG_VALUE, "Key Revision : 0x%x" }, 6100cee9a95SJohnny Huang { 3, 0, 16, OTP_REG_VALUE, "Secure boot header offset : 0x%x" }, 6110cee9a95SJohnny Huang { 4, 0, 8, OTP_REG_VALID_BIT, "Keys retire : %s" }, 6120cee9a95SJohnny Huang { 5, 0, 32, OTP_REG_VALUE, "User define data, random number low : 0x%x" }, 6130cee9a95SJohnny Huang { 6, 0, 32, OTP_REG_VALUE, "User define data, random number high : 0x%x" }, 614ebf52524SJohnny Huang { 7, 0, 15, OTP_REG_VALUE, "SCU0C8[14:0] auto setting : 0x%x" }, 615ebf52524SJohnny Huang { 7, 16, 15, OTP_REG_VALUE, "SCU0D8[14:0] auto setting : 0x%x" }, 616ebf52524SJohnny Huang { 7, 31, 1, 0, "Disable chip security setting" }, 617ebf52524SJohnny Huang { 7, 31, 1, 1, "Enable chip security setting" }, 6180cee9a95SJohnny Huang { 14, 0, 11, OTP_REG_VALUE, "Patch code location (DW): 0x%x" }, 6190cee9a95SJohnny Huang { 14, 11, 6, OTP_REG_VALUE, "Patch code size (DW): 0x%x" } 6200cee9a95SJohnny Huang }; 6210cee9a95SJohnny Huang 6220cee9a95SJohnny Huang static const struct otpconf_info a2_conf_info[] = { 62364b66712SJohnny Huang { 0, 0, 1, 0, "Enable OTP Memory BIST Mode" }, 62464b66712SJohnny Huang { 0, 0, 1, 1, "Disable OTP Memory BIST Mode" }, 6250cee9a95SJohnny Huang { 0, 1, 1, 0, "Disable Secure Boot" }, 6260cee9a95SJohnny Huang { 0, 1, 1, 1, "Enable Secure Boot" }, 6270cee9a95SJohnny Huang { 0, 3, 1, 0, "User region ECC disable" }, 6280cee9a95SJohnny Huang { 0, 3, 1, 1, "User region ECC enable" }, 6290cee9a95SJohnny Huang { 0, 4, 1, 0, "Secure Region ECC disable" }, 6300cee9a95SJohnny Huang { 0, 4, 1, 1, "Secure Region ECC enable" }, 6310cee9a95SJohnny Huang { 0, 5, 1, 0, "Enable low security key" }, 6320cee9a95SJohnny Huang { 0, 5, 1, 1, "Disable low security key" }, 6330cee9a95SJohnny Huang { 0, 6, 1, 0, "Do not ignore Secure Boot hardware strap" }, 6340cee9a95SJohnny Huang { 0, 6, 1, 1, "Ignore Secure Boot hardware strap" }, 6350cee9a95SJohnny Huang { 0, 7, 1, 0, "Secure Boot Mode: Mode_GCM" }, 6360cee9a95SJohnny Huang { 0, 7, 1, 1, "Secure Boot Mode: Mode_2" }, 637bf5810ffSJohnny Huang { 0, 9, 1, 0, "ROM code will dump boot messages" }, 638bf5810ffSJohnny Huang { 0, 9, 1, 1, "ROM code message is disabled" }, 6390cee9a95SJohnny Huang { 0, 10, 2, 0, "RSA mode : RSA1024" }, 6400cee9a95SJohnny Huang { 0, 10, 2, 1, "RSA mode : RSA2048" }, 6410cee9a95SJohnny Huang { 0, 10, 2, 2, "RSA mode : RSA3072" }, 6420cee9a95SJohnny Huang { 0, 10, 2, 3, "RSA mode : RSA4096" }, 6430cee9a95SJohnny Huang { 0, 12, 2, 0, "SHA mode : SHA224" }, 6440cee9a95SJohnny Huang { 0, 12, 2, 1, "SHA mode : SHA256" }, 6450cee9a95SJohnny Huang { 0, 12, 2, 2, "SHA mode : SHA384" }, 6460cee9a95SJohnny Huang { 0, 12, 2, 3, "SHA mode : SHA512" }, 6476d6e9c94SJohnny Huang { 0, 14, 1, 0, "Enable patch code" }, 6486d6e9c94SJohnny Huang { 0, 14, 1, 1, "Disable patch code" }, 6490cee9a95SJohnny Huang { 0, 15, 1, 0, "Enable Boot from Uart" }, 6500cee9a95SJohnny Huang { 0, 15, 1, 1, "Disable Boot from Uart" }, 6510cee9a95SJohnny Huang { 0, 16, 6, OTP_REG_VALUE, "Secure Region size (DW): 0x%x" }, 6520cee9a95SJohnny Huang { 0, 22, 1, 0, "Secure Region : Writable" }, 6530cee9a95SJohnny Huang { 0, 22, 1, 1, "Secure Region : Write Protect" }, 6540cee9a95SJohnny Huang { 0, 23, 1, 0, "User Region : Writable" }, 6550cee9a95SJohnny Huang { 0, 23, 1, 1, "User Region : Write Protect" }, 6560cee9a95SJohnny Huang { 0, 24, 1, 0, "Configure Region : Writable" }, 6570cee9a95SJohnny Huang { 0, 24, 1, 1, "Configure Region : Write Protect" }, 6580cee9a95SJohnny Huang { 0, 25, 1, 0, "OTP strap Region : Writable" }, 6590cee9a95SJohnny Huang { 0, 25, 1, 1, "OTP strap Region : Write Protect" }, 6600cee9a95SJohnny Huang { 0, 26, 1, 0, "Disable Copy Boot Image to Internal SRAM" }, 6610cee9a95SJohnny Huang { 0, 26, 1, 1, "Copy Boot Image to Internal SRAM" }, 6620cee9a95SJohnny Huang { 0, 27, 1, 0, "Disable image encryption" }, 6630cee9a95SJohnny Huang { 0, 27, 1, 1, "Enable image encryption" }, 664ebf52524SJohnny Huang { 0, 28, 1, 0, "Enable Flash Patch Code" }, 665ebf52524SJohnny Huang { 0, 28, 1, 1, "Disable Flash Patch Code" }, 6660cee9a95SJohnny Huang { 0, 29, 1, 0, "OTP key retire Region : Writable" }, 6670cee9a95SJohnny Huang { 0, 29, 1, 1, "OTP key retire Region : Write Protect" }, 668bf5810ffSJohnny Huang { 0, 30, 1, 0, "Boot from UART/VUART when normal boot is fail" }, 669bf5810ffSJohnny Huang { 0, 30, 1, 1, "Disable auto UART/VUART boot option" }, 6700cee9a95SJohnny Huang { 0, 31, 1, 0, "OTP memory lock disable" }, 6710cee9a95SJohnny Huang { 0, 31, 1, 1, "OTP memory lock enable" }, 6720cee9a95SJohnny Huang { 2, 0, 16, OTP_REG_VALUE, "Vender ID : 0x%x" }, 6730cee9a95SJohnny Huang { 2, 16, 16, OTP_REG_VALUE, "Key Revision : 0x%x" }, 6740cee9a95SJohnny Huang { 3, 0, 16, OTP_REG_VALUE, "Secure boot header offset : 0x%x" }, 675bf5810ffSJohnny Huang { 3, 16, 1, 0, "Boot from UART using: UART5" }, 676bf5810ffSJohnny Huang { 3, 16, 1, 1, "Boot from UART using: UART1" }, 677*b63af886SJohnny Huang { 3, 17, 1, 0, "Enable Auto Boot from UART" }, 678*b63af886SJohnny Huang { 3, 17, 1, 1, "Disable Auto Boot from UART" }, 679bf5810ffSJohnny Huang { 3, 18, 1, 0, "Enable Auto Boot from VUART2 over PCIE" }, 680bf5810ffSJohnny Huang { 3, 18, 1, 1, "Disable Auto Boot from VUART2 over PCIE" }, 681bf5810ffSJohnny Huang { 3, 19, 1, 0, "Enable Auto Boot from VUART2 over LPC" }, 682bf5810ffSJohnny Huang { 3, 19, 1, 1, "Disable Auto Boot from VUART2 over LPC" }, 683bf5810ffSJohnny Huang { 3, 20, 1, 0, "Enable ROM code based programming control" }, 684bf5810ffSJohnny Huang { 3, 20, 1, 1, "Disable ROM code based programming control" }, 685bf5810ffSJohnny Huang { 3, 21, 3, OTP_REG_VALUE, "Rollback prevention shift bit : 0x%x" }, 686bf5810ffSJohnny Huang { 3, 24, 6, OTP_REG_VALUE, "Extra Data Write Protection Region size (DW): 0x%x" }, 687bf5810ffSJohnny Huang { 3, 30, 1, 0, "Do not erase signature data after secure boot check" }, 688bf5810ffSJohnny Huang { 3, 30, 1, 1, "Erase signature data after secure boot check" }, 689bf5810ffSJohnny Huang { 3, 31, 1, 0, "Do not erase RSA public key after secure boot check" }, 690bf5810ffSJohnny Huang { 3, 31, 1, 1, "Erase RSA public key after secure boot check" }, 6910cee9a95SJohnny Huang { 4, 0, 8, OTP_REG_VALID_BIT, "Keys retire : %s" }, 6920cee9a95SJohnny Huang { 5, 0, 32, OTP_REG_VALUE, "User define data, random number low : 0x%x" }, 6930cee9a95SJohnny Huang { 6, 0, 32, OTP_REG_VALUE, "User define data, random number high : 0x%x" }, 694ebf52524SJohnny Huang { 7, 0, 15, OTP_REG_VALUE, "SCU0C8[14:0] auto setting : 0x%x" }, 695ebf52524SJohnny Huang { 7, 16, 15, OTP_REG_VALUE, "SCU0D8[14:0] auto setting : 0x%x" }, 696ebf52524SJohnny Huang { 7, 31, 1, 0, "Disable chip security setting" }, 697ebf52524SJohnny Huang { 7, 31, 1, 1, "Enable chip security setting" }, 6980cee9a95SJohnny Huang { 14, 0, 11, OTP_REG_VALUE, "Patch code location (DW): 0x%x" }, 6990cee9a95SJohnny Huang { 14, 11, 6, OTP_REG_VALUE, "Patch code size (DW): 0x%x" } 7000cee9a95SJohnny Huang }; 7010cee9a95SJohnny Huang 702*b63af886SJohnny Huang static const struct otpconf_info a3_conf_info[] = { 703*b63af886SJohnny Huang { 0, 0, 1, 0, "Enable OTP Memory BIST Mode" }, 704*b63af886SJohnny Huang { 0, 0, 1, 1, "Disable OTP Memory BIST Mode" }, 705*b63af886SJohnny Huang { 0, 1, 1, 0, "Disable Secure Boot" }, 706*b63af886SJohnny Huang { 0, 1, 1, 1, "Enable Secure Boot" }, 707*b63af886SJohnny Huang { 0, 3, 1, 0, "User region ECC disable" }, 708*b63af886SJohnny Huang { 0, 3, 1, 1, "User region ECC enable" }, 709*b63af886SJohnny Huang { 0, 4, 1, 0, "Secure Region ECC disable" }, 710*b63af886SJohnny Huang { 0, 4, 1, 1, "Secure Region ECC enable" }, 711*b63af886SJohnny Huang { 0, 5, 1, 0, "Enable low security key" }, 712*b63af886SJohnny Huang { 0, 5, 1, 1, "Disable low security key" }, 713*b63af886SJohnny Huang { 0, 6, 1, 0, "Do not ignore Secure Boot hardware strap" }, 714*b63af886SJohnny Huang { 0, 6, 1, 1, "Ignore Secure Boot hardware strap" }, 715*b63af886SJohnny Huang { 0, 7, 1, 0, "Secure Boot Mode: Mode_GCM" }, 716*b63af886SJohnny Huang { 0, 7, 1, 1, "Secure Boot Mode: Mode_2" }, 717*b63af886SJohnny Huang { 0, 9, 1, 0, "ROM code will dump boot messages" }, 718*b63af886SJohnny Huang { 0, 9, 1, 1, "ROM code message is disabled" }, 719*b63af886SJohnny Huang { 0, 10, 2, 0, "RSA mode : RSA1024" }, 720*b63af886SJohnny Huang { 0, 10, 2, 1, "RSA mode : RSA2048" }, 721*b63af886SJohnny Huang { 0, 10, 2, 2, "RSA mode : RSA3072" }, 722*b63af886SJohnny Huang { 0, 10, 2, 3, "RSA mode : RSA4096" }, 723*b63af886SJohnny Huang { 0, 12, 2, 0, "SHA mode : SHA224" }, 724*b63af886SJohnny Huang { 0, 12, 2, 1, "SHA mode : SHA256" }, 725*b63af886SJohnny Huang { 0, 12, 2, 2, "SHA mode : SHA384" }, 726*b63af886SJohnny Huang { 0, 12, 2, 3, "SHA mode : SHA512" }, 727*b63af886SJohnny Huang { 0, 14, 1, 0, "Enable patch code" }, 728*b63af886SJohnny Huang { 0, 14, 1, 1, "Disable patch code" }, 729*b63af886SJohnny Huang { 0, 15, 1, 0, "Enable Boot from Uart" }, 730*b63af886SJohnny Huang { 0, 15, 1, 1, "Disable Boot from Uart" }, 731*b63af886SJohnny Huang { 0, 16, 6, OTP_REG_VALUE, "Secure Region size (DW): 0x%x" }, 732*b63af886SJohnny Huang { 0, 22, 1, 0, "Secure Region : Writable" }, 733*b63af886SJohnny Huang { 0, 22, 1, 1, "Secure Region : Write Protect" }, 734*b63af886SJohnny Huang { 0, 23, 1, 0, "User Region : Writable" }, 735*b63af886SJohnny Huang { 0, 23, 1, 1, "User Region : Write Protect" }, 736*b63af886SJohnny Huang { 0, 24, 1, 0, "Configure Region : Writable" }, 737*b63af886SJohnny Huang { 0, 24, 1, 1, "Configure Region : Write Protect" }, 738*b63af886SJohnny Huang { 0, 25, 1, 0, "OTP strap Region : Writable" }, 739*b63af886SJohnny Huang { 0, 25, 1, 1, "OTP strap Region : Write Protect" }, 740*b63af886SJohnny Huang { 0, 26, 1, 0, "Disable Copy Boot Image to Internal SRAM" }, 741*b63af886SJohnny Huang { 0, 26, 1, 1, "Copy Boot Image to Internal SRAM" }, 742*b63af886SJohnny Huang { 0, 27, 1, 0, "Disable image encryption" }, 743*b63af886SJohnny Huang { 0, 27, 1, 1, "Enable image encryption" }, 744*b63af886SJohnny Huang { 0, 28, 1, 0, "Enable Flash Patch Code" }, 745*b63af886SJohnny Huang { 0, 28, 1, 1, "Disable Flash Patch Code" }, 746*b63af886SJohnny Huang { 0, 29, 1, 0, "OTP key retire Region : Writable" }, 747*b63af886SJohnny Huang { 0, 29, 1, 1, "OTP key retire Region : Write Protect" }, 748*b63af886SJohnny Huang { 0, 30, 1, 0, "Boot from UART/VUART when normal boot is fail" }, 749*b63af886SJohnny Huang { 0, 30, 1, 1, "Disable auto UART/VUART boot option" }, 750*b63af886SJohnny Huang { 0, 31, 1, 0, "OTP memory lock disable" }, 751*b63af886SJohnny Huang { 0, 31, 1, 1, "OTP memory lock enable" }, 752*b63af886SJohnny Huang { 2, 0, 16, OTP_REG_VALUE, "Vender ID : 0x%x" }, 753*b63af886SJohnny Huang { 2, 16, 16, OTP_REG_VALUE, "Key Revision : 0x%x" }, 754*b63af886SJohnny Huang { 3, 0, 16, OTP_REG_VALUE, "Secure boot header offset : 0x%x" }, 755*b63af886SJohnny Huang { 3, 16, 1, 0, "Boot from UART using: UART5" }, 756*b63af886SJohnny Huang { 3, 16, 1, 1, "Boot from UART using: UART1" }, 757*b63af886SJohnny Huang { 3, 17, 1, 0, "Enable Auto Boot from UART" }, 758*b63af886SJohnny Huang { 3, 17, 1, 1, "Disable Auto Boot from UART" }, 759*b63af886SJohnny Huang { 3, 18, 1, 0, "Enable Auto Boot from VUART2 over PCIE" }, 760*b63af886SJohnny Huang { 3, 18, 1, 1, "Disable Auto Boot from VUART2 over PCIE" }, 761*b63af886SJohnny Huang { 3, 19, 1, 0, "Enable Auto Boot from VUART2 over LPC" }, 762*b63af886SJohnny Huang { 3, 19, 1, 1, "Disable Auto Boot from VUART2 over LPC" }, 763*b63af886SJohnny Huang { 3, 20, 1, 0, "Enable ROM code based programming control" }, 764*b63af886SJohnny Huang { 3, 20, 1, 1, "Disable ROM code based programming control" }, 765*b63af886SJohnny Huang { 3, 21, 3, OTP_REG_VALUE, "Rollback prevention shift bit : 0x%x" }, 766*b63af886SJohnny Huang { 3, 24, 6, OTP_REG_VALUE, "Extra Data Write Protection Region size (DW): 0x%x" }, 767*b63af886SJohnny Huang { 3, 30, 1, 0, "Do not erase signature data after secure boot check" }, 768*b63af886SJohnny Huang { 3, 30, 1, 1, "Erase signature data after secure boot check" }, 769*b63af886SJohnny Huang { 3, 31, 1, 0, "Do not erase RSA public key after secure boot check" }, 770*b63af886SJohnny Huang { 3, 31, 1, 1, "Erase RSA public key after secure boot check" }, 771*b63af886SJohnny Huang { 4, 0, 8, OTP_REG_VALID_BIT, "Keys retire : %s" }, 772*b63af886SJohnny Huang { 5, 0, 32, OTP_REG_VALUE, "User define data, random number low : 0x%x" }, 773*b63af886SJohnny Huang { 6, 0, 32, OTP_REG_VALUE, "User define data, random number high : 0x%x" }, 774*b63af886SJohnny Huang { 7, 0, 15, OTP_REG_VALUE, "SCU0C8[14:0] auto setting : 0x%x" }, 775*b63af886SJohnny Huang { 7, 15, 1, 0, "Disable write protection for SCU0C8 and SCU0D8" }, 776*b63af886SJohnny Huang { 7, 15, 1, 1, "Enable write protection for SCU0C8 and SCU0D8" }, 777*b63af886SJohnny Huang { 7, 16, 15, OTP_REG_VALUE, "SCU0D8[14:0] auto setting : 0x%x" }, 778*b63af886SJohnny Huang { 7, 31, 1, 0, "Disable chip security setting" }, 779*b63af886SJohnny Huang { 7, 31, 1, 1, "Enable chip security setting" }, 780*b63af886SJohnny Huang { 14, 0, 11, OTP_REG_VALUE, "Patch code location (DW): 0x%x" }, 781*b63af886SJohnny Huang { 14, 11, 6, OTP_REG_VALUE, "Patch code size (DW): 0x%x" } 782*b63af886SJohnny Huang }; 783*b63af886SJohnny Huang 784