1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Driver for Realtek PCI-Express card reader
5 * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved.
8 * Wei WANG (wei_wang@realsil.com.cn)
9 * Micky Ching (micky_ching@realsil.com.cn)
12 #ifndef __REALTEK_RTSX_SPI_H
13 #define __REALTEK_RTSX_SPI_H
15 /* SPI operation error */
16 #define SPI_NO_ERR 0x00
17 #define SPI_HW_ERR 0x01
18 #define SPI_INVALID_COMMAND 0x02
19 #define SPI_READ_ERR 0x03
20 #define SPI_WRITE_ERR 0x04
21 #define SPI_ERASE_ERR 0x05
22 #define SPI_BUSY_ERR 0x06
24 /* Serial flash instruction */
26 #define SPI_FAST_READ 0x0B
31 #define SF_PAGE_LEN 256
33 #define BYTE_PROGRAM 0
35 #define PAGE_PROGRAM 2
40 int spi_erase_eeprom_chip(struct rtsx_chip
*chip
);
41 int spi_erase_eeprom_byte(struct rtsx_chip
*chip
, u16 addr
);
42 int spi_read_eeprom(struct rtsx_chip
*chip
, u16 addr
, u8
*val
);
43 int spi_write_eeprom(struct rtsx_chip
*chip
, u16 addr
, u8 val
);
44 int spi_get_status(struct scsi_cmnd
*srb
, struct rtsx_chip
*chip
);
45 int spi_set_parameter(struct scsi_cmnd
*srb
, struct rtsx_chip
*chip
);
46 int spi_read_flash_id(struct scsi_cmnd
*srb
, struct rtsx_chip
*chip
);
47 int spi_read_flash(struct scsi_cmnd
*srb
, struct rtsx_chip
*chip
);
48 int spi_write_flash(struct scsi_cmnd
*srb
, struct rtsx_chip
*chip
);
49 int spi_erase_flash(struct scsi_cmnd
*srb
, struct rtsx_chip
*chip
);
50 int spi_write_flash_status(struct scsi_cmnd
*srb
, struct rtsx_chip
*chip
);
52 #endif /* __REALTEK_RTSX_SPI_H */