| /* |
| * Copyright (C) 2018 Synaptics Incorporated. All rights reserved. |
| * (C) Copyright Marvell Semiconductors,Inc 2006 All rightes reserved |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| * INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND |
| * SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES, |
| * INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| * A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY |
| * INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE |
| * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR |
| * CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE |
| * OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND |
| * BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
| * NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS |
| * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF |
| * COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT |
| * DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY |
| * TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS. |
| */ |
| |
| #ifndef __BERLIN_BOOTINFO_H__ |
| #define __BERLIN_BOOTINFO_H__ |
| |
| #include <stdint.h> |
| |
| #define AS370_CHIP_VERSION_A0 0xA0 |
| #define AS370_CHIP_VERSION_A1 0xA1 |
| #define BERLIN_BOOTINFO_ADDR 0x01f10000 |
| |
| typedef struct __berlin_bootinfo_t { |
| uint32_t otp_rkek_id[2]; /* rkek id from OTP */ |
| uint32_t otp_version; /* otp version */ |
| uint32_t otp_market_id; /* otp market id */ |
| uint32_t otp_ult[2]; /* otp ULT info */ |
| uint32_t chip_version; /* bg2cdp chip version*/ |
| uint32_t speed_tag; /* speed tag info */ |
| uint32_t leakage_current;/* leakage current info */ |
| uint32_t temp_id; /* Temp ID in deg C */ |
| uint32_t erom_id; /* erom id*/ |
| union |
| { |
| uint32_t feature_bits; |
| struct |
| { |
| uint32_t rsa_key_index:4; |
| uint32_t usb_boot_timeout:4; |
| |
| uint32_t romkey_disable:1; |
| uint32_t disable_usb_boot:1; |
| uint32_t usb_disable_bootstrap:1; |
| uint32_t usb_disable_blank_media:1; |
| uint32_t usb_force_full_speed:1; |
| uint32_t usb_ignore_reset_tracker:1; |
| uint32_t otp_locked:1; |
| }; |
| }; |
| uint32_t aesk0_crc; /* crc for aesk0 */ |
| uint32_t rkek_crc; /* crc for rkek */ |
| uint32_t signk7_crc; /* hash of signk7 crc */ |
| uint32_t mrvl_sign_right;/* mrvl sign rights */ |
| uint32_t cust_sign_right;/* cust sign rights */ |
| |
| uint32_t nand_page_size; |
| uint32_t nand_ecc; |
| uint32_t nand_blk_size; |
| union |
| { |
| uint32_t nand_src_blk_num[2]; |
| struct |
| { |
| uint8_t tsm_src_blk_num; |
| uint8_t sysinit_src_blk_num; |
| uint8_t erom_src_blk_num; |
| uint8_t tz_loader_src_blk_num; |
| uint8_t tz_kern_src_blk_num; |
| uint8_t btld_src_blk_num; |
| uint8_t padding[2]; |
| }; |
| }; |
| uint32_t pvcomp_rev; /* PVComp Revision */ |
| uint32_t unique_id[2]; |
| uint32_t feature0[2]; |
| uint32_t feature2[2]; |
| uint32_t feature4[2]; |
| uint32_t mem_size; |
| } BERLIN_BOOTINFO; |
| |
| #endif /* __BERLIN_BOOTINFO_H__ */ |