Do not require getSystemInfo() for ISO15693 tags.

ISO15693 tags that do not respond to the
getSystemInfo() command should still be reported
to the upper stack, as getSystemInfo is not mandatory.

This also adds some code to deal with specifc ST
tag configurations, that require the prot ext bit
to be set when executing some commands.

Change-Id: I64dd9234750ea503ba5b14b2a22a46c106f61f76
diff --git a/src/nfc/include/tags_defs.h b/src/nfc/include/tags_defs.h
index 78a0bb3..8fe5b62 100644
--- a/src/nfc/include/tags_defs.h
+++ b/src/nfc/include/tags_defs.h
@@ -1,6 +1,6 @@
 /******************************************************************************
  *
- *  Copyright (C) 2009-2012 Broadcom Corporation
+ *  Copyright (C) 2009-2013 Broadcom Corporation
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -480,6 +480,7 @@
 #define I93_ICODE_CC_READ_ONLY              0x03    /* write access not granted at all       */
 #define I93_ICODE_CC_MBREAD_MASK            0x01    /* read multi block supported in CC[3]   */
 #define I93_ICODE_CC_IPREAD_MASK            0x02    /* inventory page read supported in CC[3] */
+#define I93_STM_CC_OVERFLOW_MASK            0x04    /* More than 2040 bytes are supported in CC[3] */
 
 /* ICODE TLV type */
 #define I93_ICODE_TLV_TYPE_NULL             0x00    /* NULL TLV         */
@@ -491,6 +492,7 @@
 #define I93_UID_FIRST_BYTE                      0xE0
 
 /* UID Coding (UID Bit 56-49), IC manufacturer code */
+#define I93_UID_IC_MFG_CODE_STM                 0x02
 #define I93_UID_IC_MFG_CODE_NXP                 0x04
 #define I93_UID_IC_MFG_CODE_TI                  0x07
 
@@ -516,4 +518,18 @@
 #define I93_TAG_IT_HF_I_STD_PRO_CHIP_INLAY_NUM_USER_BLK     8
 #define I93_TAG_IT_HF_I_STD_PRO_CHIP_INLAY_AFI_LOCATION    40   /* LSB in Block 0x0A */
 
+/* STM, product version (IC manufacturer code) */
+#define I93_IC_REF_STM_MASK                     0xFC    /* IC Reference mask for STM */
+#define I93_IC_REF_STM_LRI1K                    0x40    /* IC Reference for LRI1K:      010000xx(b), blockSize: 4, numberBlocks: 0x20 */
+#define I93_IC_REF_STM_LRI2K                    0x20    /* IC Reference for LRI2K:      001000xx(b), blockSize: 4, numberBlocks: 0x40 */
+#define I93_IC_REF_STM_LRIS2K                   0x28    /* IC Reference for LRIS2K:     001010xx(b), blockSize: 4, numberBlocks: 0x40 */
+#define I93_IC_REF_STM_LRIS64K                  0x44    /* IC Reference for LRIS64K:    010001xx(b), blockSize: 4, numberBlocks: 0x800 */
+#define I93_IC_REF_STM_M24LR64_R                0x2C    /* IC Reference for M24LR64-R:  001011xx(b), blockSize: 4, numberBlocks: 0x800 */
+#define I93_IC_REF_STM_M24LR04E_R               0x5A    /* IC Reference for M24LR04E-R: 01011010(b), blockSize: 4, numberBlocks: 0x80 */
+#define I93_IC_REF_STM_M24LR16E_R               0x4E    /* IC Reference for M24LR16E-R: 01001110(b), blockSize: 4, numberBlocks: 0x200 */
+#define I93_IC_REF_STM_M24LR64E_R               0x5E    /* IC Reference for M24LR64E-R: 01011110(b), blockSize: 4, numberBlocks: 0x800 */
+
+#define I93_STM_BLOCKS_PER_SECTOR               32
+#define I93_STM_MAX_BLOCKS_PER_READ             32
+
 #endif /* TAGS_DEFS_H */