82 lines
2.3 KiB
C
82 lines
2.3 KiB
C
|
/*
|
||
|
*
|
||
|
* Copyright (C) 2015 Samsung Electronics. All rights reserved.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program;
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#define DEFAULT_BUFFER_SIZE 260
|
||
|
|
||
|
#define FEATURE_ESE_WAKELOCK
|
||
|
/* #define FEATURE_ESE_SPI_DUMMY_ENABLE */
|
||
|
|
||
|
enum coldrst_type {
|
||
|
COLDRST_NONE,
|
||
|
COLDRST_GPIO,
|
||
|
COLDRST_POWER_ONOFF,
|
||
|
COLDRST_ERR
|
||
|
};
|
||
|
|
||
|
#define P3_MAGIC 0xED
|
||
|
#define P3_SET_PWR _IOW(P3_MAGIC, 0x01, unsigned long)
|
||
|
#define P3_SET_DBG _IOW(P3_MAGIC, 0x02, unsigned long)
|
||
|
#define P3_SET_POLL _IOW(P3_MAGIC, 0x03, unsigned long)
|
||
|
|
||
|
/* To set SPI configurations like gpio, clks */
|
||
|
#define P3_SET_SPI_CONFIG _IO(P3_MAGIC, 0x04)
|
||
|
/*To prepare spi clock */
|
||
|
#define P3_ENABLE_SPI_CLK _IO(P3_MAGIC, 0x05)
|
||
|
/* To unprepare spi clock */
|
||
|
#define P3_DISABLE_SPI_CLK _IO(P3_MAGIC, 0x06)
|
||
|
/* only nonTZ +++++*/
|
||
|
/* Transmit data to the device and retrieve data from it simultaneously.*/
|
||
|
#define P3_RW_SPI_DATA _IOWR(P3_MAGIC, 0x07, unsigned long)
|
||
|
/* only nonTZ -----*/
|
||
|
/* To change SPI clock */
|
||
|
#define P3_SET_SPI_CLK _IOW(P3_MAGIC, 0x08, unsigned long)
|
||
|
/* To enable spi cs pin (make low) */
|
||
|
#define P3_ENABLE_SPI_CS _IO(P3_MAGIC, 0x09)
|
||
|
/* To disable spi cs pin */
|
||
|
#define P3_DISABLE_SPI_CS _IO(P3_MAGIC, 0x0A)
|
||
|
|
||
|
/* To enable spi clock & cs */
|
||
|
#define P3_ENABLE_CLK_CS _IO(P3_MAGIC, 0x0B)
|
||
|
/* To disable spi clock & cs */
|
||
|
#define P3_DISABLE_CLK_CS _IO(P3_MAGIC, 0x0C)
|
||
|
/* To swing(shake) cs */
|
||
|
#define P3_SWING_CS _IOW(P3_MAGIC, 0x0D, unsigned long)
|
||
|
|
||
|
#ifdef CONFIG_ESE_COLDRESET
|
||
|
#define P3_WR_RESET _IOW(P3_MAGIC, 0xE, __s32)
|
||
|
#endif
|
||
|
|
||
|
#ifdef CONFIG_COMPAT
|
||
|
/*#define P3_RW_SPI_DATA_32 _IOWR(P3_MAGIC, 0x07, unsigned int)*/
|
||
|
struct spip3_ioc_transfer_32 {
|
||
|
unsigned int rx_buffer;
|
||
|
unsigned int tx_buffer;
|
||
|
unsigned short len;
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
struct p3_ioctl_transfer {
|
||
|
unsigned char *rx_buffer;
|
||
|
unsigned char *tx_buffer;
|
||
|
unsigned int len;
|
||
|
};
|
||
|
|
||
|
struct p3_spi_platform_data {
|
||
|
unsigned int irq_gpio;
|
||
|
unsigned int rst_gpio;
|
||
|
};
|
||
|
#if IS_ENABLED(CONFIG_BATTERY_SAMSUNG) && !defined(CONFIG_NFC_PVDD_LATE_ENABLE) && !IS_ENABLED(CONFIG_SAMSUNG_ESE_ONLY)
|
||
|
extern unsigned int lpcharge; /*for power off charge*/
|
||
|
#endif
|