1 /** 2 * @addtogroup MC_SUID mcSuid - SoC unique ID. 3 * 4 * <!-- Copyright Giesecke & Devrient GmbH 2011-2012 --> 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 3. The name of the author may not be used to endorse or promote 15 * products derived from this software without specific prior 16 * written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 19 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 22 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 24 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 26 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 * 30 * @ingroup MC_DATA_TYPES 31 * @{ 32 */ 33 34 #ifndef MC_SUID_H_ 35 #define MC_SUID_H_ 36 37 /** Length of SUID. */ 38 #define MC_SUID_LEN 16 39 40 /** Platform specific device identifier (serial number of the chip). */ 41 typedef struct { 42 uint8_t data[MC_SUID_LEN - sizeof(uint32_t)]; 43 } suidData_t; 44 45 /** Soc unique identifier type. */ 46 typedef struct { 47 uint32_t sipId; /**< Silicon Provider ID to be set during build. */ 48 suidData_t suidData; 49 } mcSuid_t; 50 51 #endif // MC_SUID_H_ 52 53 /** @} */ 54