Lines Matching +full:4 +full:- +full:byte
2 * Copyright (c) 2006-2018, RT-Thread Development Team
4 * SPDX-License-Identifier: Apache-2.0
8 * 2011-12-16 aozima the first version
9 * 2012-05-06 aozima can page write.
10 * 2012-08-23 aozima add flash lock.
11 * 2012-08-24 aozima fixed write status register BUG.
49 #define CMD_RDSR1 (0x05) /* Read Status Register-1 */
52 #define CMD_ERASE_4K (0x20) /* Sector Erase:4K */
53 #define CMD_RDSR2 (0x35) /* Read Status Register-2 */
65 rt_mutex_take(&flash_device->lock, RT_WAITING_FOREVER); in flash_lock()
70 rt_mutex_release(&flash_device->lock); in flash_unlock()
83 /** \brief read [size] byte from [offset] to [buffer]
85 * \param offset uint32_t unit : byte
87 * \param size uint32_t unit : byte
88 * \return uint32_t byte for read
93 uint8_t send_buffer[4]; in w25qxx_read()
104 send_buffer, 4, in w25qxx_read()
112 * \param page_addr uint32_t unit : byte (4096 * N,1 page = 4096byte)
120 uint8_t send_buffer[4]; in w25qxx_page_write()
122 RT_ASSERT((page_addr&0xFF) == 0); /* page addr must align to 256byte. */ in w25qxx_page_write()
131 rt_spi_send(spi_flash_device.rt_spi_device, send_buffer, 4); in w25qxx_page_write()
147 4, in w25qxx_page_write()
162 /* RT-Thread device interface */
203 if (geometry == RT_NULL) return -RT_ERROR; in w25qxx_flash_control()
205 geometry->bytes_per_sector = spi_flash_device.geometry.bytes_per_sector; in w25qxx_flash_control()
206 geometry->sector_count = spi_flash_device.geometry.sector_count; in w25qxx_flash_control()
207 geometry->block_size = spi_flash_device.geometry.block_size; in w25qxx_flash_control()
240 while(block--) in w25qxx_flash_write()
273 return -RT_ENOSYS; in w25qxx_init()
280 return -RT_ENOSYS; in w25qxx_init()
316 … FLASH_TRACE("JEDEC Read-ID Data : %02X %02X %02X\r\n", id_recv[0], id_recv[1], id_recv[2]); in w25qxx_init()
317 return -RT_ENOSYS; in w25qxx_init()
321 spi_flash_device.geometry.block_size = 4096; /* block erase: 4k */ in w25qxx_init()
370 return -RT_ENOSYS; in w25qxx_init()