issp_extern.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. /* filename: ISSP_Extern.h */
  2. #include "issp_revision.h"
  3. #include <linux/i2c/cypress_touchkey.h>
  4. #ifdef PROJECT_REV_304
  5. /*
  6. * Copyright 2006-2007, Cypress Semiconductor Corporation.
  7. * This program is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License
  9. * as published by the Free Software Foundation; either version 2
  10. * of the License, or (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  20. * MA 02110-1301, USA.
  21. */
  22. #ifndef INC_ISSP_EXTERN
  23. #define INC_ISSP_EXTERN
  24. #include "issp_directives.h"
  25. #include "issp_defs.h"
  26. extern int ISSP_main(struct cypress_touchkey_info *info);
  27. extern signed char fXRESInitializeTargetForISSP(void);
  28. extern signed char fPowerCycleInitializeTargetForISSP(struct cypress_touchkey_info *info);
  29. extern signed char fEraseTarget(void);
  30. extern unsigned int iLoadTarget(void);
  31. extern void ReStartTarget(struct cypress_touchkey_info *info);
  32. extern signed char fVerifySiliconID(void);
  33. extern signed char fAccTargetBankChecksum(unsigned int *);
  34. extern void SetBankNumber(unsigned char);
  35. extern signed char fProgramTargetBlock(unsigned char, unsigned char);
  36. extern signed char fVerifyTargetBlock(unsigned char, unsigned char);
  37. /* PTJ: VERIFY-SETUP */
  38. extern signed char fVerifySetup(unsigned char, unsigned char);
  39. /* PTJ: read bytes after VERIFY-SETUP */
  40. extern signed char fReadByteLoop(void);
  41. extern signed char fSecureTargetFlash(void);
  42. extern signed char fReadStatus(void);/*PTJ:R-STATUS*/
  43. extern signed char fReadCalRegisters(void);
  44. extern signed char fReadWriteSetup(void);/*PTJ:RW-SETUP*/
  45. extern signed char fReadSecurity(void);/*PTJ: READ-SECURITY*/
  46. extern signed char fSyncDisable(void);/*PTJ: SYNC-DISABLE rev 307*/
  47. extern signed char fSyncEnable(void);/*PTJ: SYNC-ENABLE rev 307 */
  48. extern void InitTargetTestData(void);
  49. extern void LoadArrayWithSecurityData(unsigned char,
  50. unsigned char, unsigned char);
  51. extern void LoadProgramData(struct cypress_touchkey_info *info, unsigned char, unsigned char);
  52. extern signed char fLoadSecurityData(unsigned char);
  53. extern void Delay(unsigned int);
  54. extern unsigned char fSDATACheck(void);
  55. extern void SCLKHigh(void);
  56. extern void SCLKLow(void);
  57. #ifndef RESET_MODE /*only needed when power cycle mode*/
  58. extern void SetSCLKHiZ(void);
  59. #endif
  60. extern void SetSCLKStrong(void);
  61. extern void SetSDATAHigh(void);
  62. extern void SetSDATALow(void);
  63. extern void SetSDATAHiZ(void);
  64. extern void SetSDATAOpenDrain(void);
  65. extern void SetSDATAStrong(void);
  66. extern void AssertXRES(void);
  67. extern void DeassertXRES(void);
  68. extern void SetXRESStrong(void);
  69. extern void ApplyTargetVDD(struct cypress_touchkey_info *info);
  70. extern void RemoveTargetVDD(struct cypress_touchkey_info *info);
  71. extern void SetTargetVDDStrong(void);
  72. #ifdef TX_ON
  73. extern void TX8SW_PutHexHalf(char ch);
  74. extern void TX8SW_PutHexByte(unsigned char ch);
  75. extern void TX8SW_PutHexWord(unsigned int ch);
  76. #endif
  77. extern unsigned char fIsError;
  78. /* Address Numbers for Bytes within a Block */
  79. extern unsigned char TargetDatabufLen;
  80. /* For example, radon is 2 */
  81. extern unsigned char NumBanks;
  82. /* Block Numbers for Program Data */
  83. extern unsigned char BlocksPerBank;
  84. extern unsigned char SecurityBytesPerBank;
  85. extern unsigned char bTargetDataPtr;
  86. extern unsigned char abTargetDataOUT[MAX_TARGET_DATABUFF_LEN];
  87. extern unsigned char TargetDatabufLen;
  88. extern unsigned int system_rev;
  89. #endif /* (INC_ISSP_EXTERN) */
  90. #endif /* (PROJECT_REV_) */
  91. /* end of file ISSP_Extern.h */