spi.h (1607B)
1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Driver for Realtek PCI-Express card reader 4 * 5 * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved. 6 * 7 * Author: 8 * Wei WANG (wei_wang@realsil.com.cn) 9 * Micky Ching (micky_ching@realsil.com.cn) 10 */ 11 12#ifndef __REALTEK_RTSX_SPI_H 13#define __REALTEK_RTSX_SPI_H 14 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 23 24/* Serial flash instruction */ 25#define SPI_READ 0x03 26#define SPI_FAST_READ 0x0B 27#define SPI_WREN 0x06 28#define SPI_WRDI 0x04 29#define SPI_RDSR 0x05 30 31#define SF_PAGE_LEN 256 32 33#define BYTE_PROGRAM 0 34#define AAI_PROGRAM 1 35#define PAGE_PROGRAM 2 36 37#define PAGE_ERASE 0 38#define CHIP_ERASE 1 39 40int spi_erase_eeprom_chip(struct rtsx_chip *chip); 41int spi_erase_eeprom_byte(struct rtsx_chip *chip, u16 addr); 42int spi_read_eeprom(struct rtsx_chip *chip, u16 addr, u8 *val); 43int spi_write_eeprom(struct rtsx_chip *chip, u16 addr, u8 val); 44int spi_get_status(struct scsi_cmnd *srb, struct rtsx_chip *chip); 45int spi_set_parameter(struct scsi_cmnd *srb, struct rtsx_chip *chip); 46int spi_read_flash_id(struct scsi_cmnd *srb, struct rtsx_chip *chip); 47int spi_read_flash(struct scsi_cmnd *srb, struct rtsx_chip *chip); 48int spi_write_flash(struct scsi_cmnd *srb, struct rtsx_chip *chip); 49int spi_erase_flash(struct scsi_cmnd *srb, struct rtsx_chip *chip); 50int spi_write_flash_status(struct scsi_cmnd *srb, struct rtsx_chip *chip); 51 52#endif /* __REALTEK_RTSX_SPI_H */