spi_flash_defs.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. #pragma once
  15. /* SPI commands (actual on-wire commands not SPI controller bitmasks)
  16. Suitable for use with spi_flash_hal_common_command static function.
  17. */
  18. #define CMD_RDID 0x9F
  19. #define CMD_WRSR 0x01
  20. #define SR_WIP (1<<0) /* Status register write-in-progress bit */
  21. #define SR_WREN (1<<1) /* Status register write enable bit */
  22. #define CMD_WRSR2 0x31 /* Not all SPI flash uses this command */
  23. #define CMD_WREN 0x06
  24. #define CMD_WRDI 0x04
  25. #define CMD_RDSR 0x05
  26. #define CMD_RDSR2 0x35 /* Not all SPI flash uses this command */
  27. #define CMD_FASTRD_QIO 0xEB
  28. #define CMD_FASTRD_QUAD 0x6B
  29. #define CMD_FASTRD_DIO 0xBB
  30. #define CMD_FASTRD_DUAL 0x3B
  31. #define CMD_FASTRD 0x0B
  32. #define CMD_READ 0x03 /* Speed limited */
  33. #define CMD_CHIP_ERASE 0xC7
  34. #define CMD_SECTOR_ERASE 0x20
  35. #define CMD_LARGE_BLOCK_ERASE 0xD8 /* 64KB block erase command */
  36. #define CMD_PROGRAM_PAGE 0x02
  37. #define CMD_RST_EN 0x66
  38. #define CMD_RST_DEV 0x99
  39. #define SPI_FLASH_DIO_ADDR_BITLEN (24+4)
  40. #define SPI_FLASH_DIO_DUMMY_BITLEN 2
  41. #define SPI_FLASH_QIO_ADDR_BITLEN (24+8)
  42. #define SPI_FLASH_QIO_DUMMY_BITLEN 4
  43. #define SPI_FLASH_QOUT_ADDR_BITLEN 24
  44. #define SPI_FLASH_QOUT_DUMMY_BITLEN 8
  45. #define SPI_FLASH_DOUT_ADDR_BITLEN 24
  46. #define SPI_FLASH_DOUT_DUMMY_BITLEN 8
  47. #define SPI_FLASH_FASTRD_ADDR_BITLEN 24
  48. #define SPI_FLASH_FASTRD_DUMMY_BITLEN 8
  49. #define SPI_FLASH_SLOWRD_ADDR_BITLEN 24
  50. #define SPI_FLASH_SLOWRD_DUMMY_BITLEN 0