]> git.zerfleddert.de Git - proxmark3-svn/blame - armsrc/i2c.c
Merge pull request #969 from pwpiwi/gcc10_fixes
[proxmark3-svn] / armsrc / i2c.c
CommitLineData
43591e64 1//-----------------------------------------------------------------------------
2// Willok, June 2018
3// Edits by Iceman, July 2018
4//
5// This code is licensed to you under the terms of the GNU GPL, version 2 or,
6// at your option, any later version. See the LICENSE.txt file for the text of
7// the license.
8//-----------------------------------------------------------------------------
9// The main i2c code, for communications with smart card module
10//-----------------------------------------------------------------------------
050aa18b 11
43591e64 12#include "i2c.h"
050aa18b 13
14#include <stdint.h>
15#include <stdbool.h>
43591e64 16#include "string.h" //for memset memcmp
050aa18b 17#include "proxmark3.h"
18#include "mifareutil.h" // for MF_DBGLEVEL
19#include "BigBuf.h"
20#include "apps.h"
867e10a5 21#include "usb_cdc.h"
ad326d84 22#include "util.h"
23
050aa18b 24
25#ifdef WITH_SMARTCARD
26#include "smartcard.h"
27#endif
28
43591e64 29
43591e64 30#define GPIO_RST AT91C_PIO_PA1
31#define GPIO_SCL AT91C_PIO_PA5
32#define GPIO_SDA AT91C_PIO_PA7
33
34#define SCL_H HIGH(GPIO_SCL)
35#define SCL_L LOW(GPIO_SCL)
36#define SDA_H HIGH(GPIO_SDA)
37#define SDA_L LOW(GPIO_SDA)
38
39#define SCL_read (AT91C_BASE_PIOA->PIO_PDSR & GPIO_SCL)
40#define SDA_read (AT91C_BASE_PIOA->PIO_PDSR & GPIO_SDA)
41
42#define I2C_ERROR "I2C_WaitAck Error"
43
050aa18b 44static volatile unsigned long c;
43591e64 45
46