Lines Matching refs:chip
89 esp_err_t spi_flash_chip_generic_detect_size(esp_flash_t *chip, uint32_t *size) in spi_flash_chip_generic_detect_size() argument
91 uint32_t id = chip->chip_id; in spi_flash_chip_generic_detect_size()
115 esp_err_t spi_flash_chip_generic_probe(esp_flash_t *chip, uint32_t flash_id) in spi_flash_chip_generic_probe() argument
122 esp_err_t spi_flash_chip_generic_reset(esp_flash_t *chip) in spi_flash_chip_generic_reset() argument
129 esp_err_t err = chip->host->driver->common_command(chip->host, &t); in spi_flash_chip_generic_reset()
137 err = chip->host->driver->common_command(chip->host, &t); in spi_flash_chip_generic_reset()
142 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->idle_timeout); in spi_flash_chip_generic_reset()
146 esp_err_t spi_flash_chip_generic_erase_chip(esp_flash_t *chip) in spi_flash_chip_generic_erase_chip() argument
150 err = chip->chip_drv->set_chip_write_protect(chip, false); in spi_flash_chip_generic_erase_chip()
152 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->idle_timeout); in spi_flash_chip_generic_erase_chip()
156 SET_FLASH_ERASE_STATUS(chip, SPI_FLASH_OS_IS_ERASING_STATUS_FLAG); in spi_flash_chip_generic_erase_chip()
157 chip->host->driver->erase_chip(chip->host); in spi_flash_chip_generic_erase_chip()
158 chip->busy = 1; in spi_flash_chip_generic_erase_chip()
160 err = chip->chip_drv->wait_idle(chip, ESP_FLASH_CHIP_GENERIC_NO_TIMEOUT); in spi_flash_chip_generic_erase_chip()
162 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->chip_erase_timeout); in spi_flash_chip_generic_erase_chip()
164 SET_FLASH_ERASE_STATUS(chip, 0); in spi_flash_chip_generic_erase_chip()
168 err = chip->chip_drv->set_chip_write_protect(chip, true); in spi_flash_chip_generic_erase_chip()
174 esp_err_t spi_flash_chip_generic_erase_sector(esp_flash_t *chip, uint32_t start_address) in spi_flash_chip_generic_erase_sector() argument
176 esp_err_t err = chip->chip_drv->set_chip_write_protect(chip, false); in spi_flash_chip_generic_erase_sector()
178 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->idle_timeout); in spi_flash_chip_generic_erase_sector()
182 SET_FLASH_ERASE_STATUS(chip, SPI_FLASH_OS_IS_ERASING_STATUS_FLAG); in spi_flash_chip_generic_erase_sector()
183 chip->host->driver->erase_sector(chip->host, start_address); in spi_flash_chip_generic_erase_sector()
184 chip->busy = 1; in spi_flash_chip_generic_erase_sector()
186 err = chip->chip_drv->wait_idle(chip, ESP_FLASH_CHIP_GENERIC_NO_TIMEOUT); in spi_flash_chip_generic_erase_sector()
188 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->sector_erase_timeout); in spi_flash_chip_generic_erase_sector()
190 SET_FLASH_ERASE_STATUS(chip, 0); in spi_flash_chip_generic_erase_sector()
194 err = chip->chip_drv->set_chip_write_protect(chip, true); in spi_flash_chip_generic_erase_sector()
200 esp_err_t spi_flash_chip_generic_erase_block(esp_flash_t *chip, uint32_t start_address) in spi_flash_chip_generic_erase_block() argument
202 esp_err_t err = chip->chip_drv->set_chip_write_protect(chip, false); in spi_flash_chip_generic_erase_block()
204 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->idle_timeout); in spi_flash_chip_generic_erase_block()
208 SET_FLASH_ERASE_STATUS(chip, SPI_FLASH_OS_IS_ERASING_STATUS_FLAG); in spi_flash_chip_generic_erase_block()
209 chip->host->driver->erase_block(chip->host, start_address); in spi_flash_chip_generic_erase_block()
210 chip->busy = 1; in spi_flash_chip_generic_erase_block()
212 err = chip->chip_drv->wait_idle(chip, ESP_FLASH_CHIP_GENERIC_NO_TIMEOUT); in spi_flash_chip_generic_erase_block()
214 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->block_erase_timeout); in spi_flash_chip_generic_erase_block()
216 SET_FLASH_ERASE_STATUS(chip, 0); in spi_flash_chip_generic_erase_block()
220 err = chip->chip_drv->set_chip_write_protect(chip, true); in spi_flash_chip_generic_erase_block()
226 esp_err_t spi_flash_chip_generic_read(esp_flash_t *chip, void *buffer, uint32_t address, uint32_t l… in spi_flash_chip_generic_read() argument
229 const uint32_t page_size = chip->chip_drv->page_size; in spi_flash_chip_generic_read()
235 err = chip->chip_drv->config_host_io_mode(chip, config_io_flags); in spi_flash_chip_generic_read()
244 …uint32_t read_len = chip->host->driver->read_data_slicer(chip->host, address, length, &align_addre… in spi_flash_chip_generic_read()
247 err = chip->host->driver->read(chip->host, temp_buffer, align_address, read_len); in spi_flash_chip_generic_read()
259 esp_err_t spi_flash_chip_generic_page_program(esp_flash_t *chip, const void *buffer, uint32_t addre… in spi_flash_chip_generic_page_program() argument
263 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->idle_timeout); in spi_flash_chip_generic_page_program()
267 chip->host->driver->program_page(chip->host, buffer, address, length); in spi_flash_chip_generic_page_program()
268 chip->busy = 1; in spi_flash_chip_generic_page_program()
270 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->page_program_timeout); in spi_flash_chip_generic_page_program()
274 err = chip->chip_drv->set_chip_write_protect(chip, true); in spi_flash_chip_generic_page_program()
279 esp_err_t spi_flash_chip_generic_write(esp_flash_t *chip, const void *buffer, uint32_t address, uin… in spi_flash_chip_generic_write() argument
282 const uint32_t page_size = chip->chip_drv->page_size; in spi_flash_chip_generic_write()
288 …uint32_t page_len = chip->host->driver->write_data_slicer(chip->host, address, length, &align_addr… in spi_flash_chip_generic_write()
293 err = chip->chip_drv->set_chip_write_protect(chip, false); in spi_flash_chip_generic_write()
295 err = chip->chip_drv->program_page(chip, temp_buffer, align_address, page_len); in spi_flash_chip_generic_write()
307 esp_err_t spi_flash_chip_generic_set_write_protect(esp_flash_t *chip, bool write_protect) in spi_flash_chip_generic_set_write_protect() argument
311 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->idle_timeout); in spi_flash_chip_generic_set_write_protect()
314 chip->host->driver->set_write_protect(chip->host, write_protect); in spi_flash_chip_generic_set_write_protect()
318 err = chip->chip_drv->get_chip_write_protect(chip, &wp_read); in spi_flash_chip_generic_set_write_protect()
326 esp_err_t spi_flash_chip_generic_get_write_protect(esp_flash_t *chip, bool *out_write_protect) in spi_flash_chip_generic_get_write_protect() argument
331 err = chip->chip_drv->read_reg(chip, SPI_FLASH_REG_STATUS, &status); in spi_flash_chip_generic_get_write_protect()
340 esp_err_t spi_flash_chip_generic_read_reg(esp_flash_t* chip, spi_flash_register_t reg_id, uint32_t*… in spi_flash_chip_generic_read_reg() argument
342 return chip->host->driver->read_status(chip->host, (uint8_t*)out_reg); in spi_flash_chip_generic_read_reg()
345 esp_err_t spi_flash_chip_generic_yield(esp_flash_t* chip, uint32_t wip) in spi_flash_chip_generic_yield() argument
350 if (chip->os_func->check_yield) { in spi_flash_chip_generic_yield()
353 err = chip->os_func->check_yield(chip->os_func_data, flags, &request); in spi_flash_chip_generic_yield()
358 err = chip->os_func->yield(chip->os_func_data, &status); in spi_flash_chip_generic_yield()
369 esp_err_t spi_flash_chip_generic_wait_idle(esp_flash_t *chip, uint32_t timeout_us) in spi_flash_chip_generic_wait_idle() argument
380 while (!chip->host->driver->host_status(chip->host) && timeout_us > 0) { in spi_flash_chip_generic_wait_idle()
385 chip->os_func->delay_us(chip->os_func_data, delay); in spi_flash_chip_generic_wait_idle()
392 esp_err_t err = chip->chip_drv->read_reg(chip, SPI_FLASH_REG_STATUS, &read); in spi_flash_chip_generic_wait_idle()
399 if (chip->busy == 1) { in spi_flash_chip_generic_wait_idle()
400 chip->busy = 0; in spi_flash_chip_generic_wait_idle()
409 chip->os_func->delay_us(chip->os_func_data, delay); in spi_flash_chip_generic_wait_idle()
418 esp_err_t spi_flash_chip_generic_config_host_io_mode(esp_flash_t *chip, uint32_t flags) in spi_flash_chip_generic_config_host_io_mode() argument
424 esp_flash_io_mode_t read_mode = chip->read_mode; in spi_flash_chip_generic_config_host_io_mode()
431 …dummy_cyclelen_base = (chip->hpm_dummy_ena ? rom_flash_chip_dummy_hpm->qio_dummy_bitlen : rom_flas… in spi_flash_chip_generic_config_host_io_mode()
437 …dummy_cyclelen_base = (chip->hpm_dummy_ena ? rom_flash_chip_dummy_hpm->qout_dummy_bitlen : rom_fla… in spi_flash_chip_generic_config_host_io_mode()
443 …dummy_cyclelen_base = (chip->hpm_dummy_ena ? rom_flash_chip_dummy_hpm->dio_dummy_bitlen : rom_flas… in spi_flash_chip_generic_config_host_io_mode()
449 …dummy_cyclelen_base = (chip->hpm_dummy_ena ? rom_flash_chip_dummy_hpm->dout_dummy_bitlen : rom_fla… in spi_flash_chip_generic_config_host_io_mode()
454 …dummy_cyclelen_base = (chip->hpm_dummy_ena ? rom_flash_chip_dummy_hpm->fastrd_dummy_bitlen : rom_f… in spi_flash_chip_generic_config_host_io_mode()
459 …dummy_cyclelen_base = (chip->hpm_dummy_ena ? rom_flash_chip_dummy_hpm->slowrd_dummy_bitlen : rom_f… in spi_flash_chip_generic_config_host_io_mode()
474 …return chip->host->driver->configure_host_io_mode(chip->host, read_command, addr_bitlen, dummy_cyc… in spi_flash_chip_generic_config_host_io_mode()
477 esp_err_t spi_flash_chip_generic_get_io_mode(esp_flash_t *chip, esp_flash_io_mode_t* out_io_mode) in spi_flash_chip_generic_get_io_mode() argument
484 esp_err_t ret = spi_flash_common_read_status_8b_rdsr2(chip, &sr); in spi_flash_chip_generic_get_io_mode()
491 esp_err_t spi_flash_chip_generic_set_io_mode(esp_flash_t *chip) in spi_flash_chip_generic_set_io_mode() argument
496 return spi_flash_common_set_io_mode(chip, in spi_flash_chip_generic_set_io_mode()
504 esp_err_t spi_flash_chip_generic_write_encrypted(esp_flash_t *chip, const void *buffer, uint32_t ad… in spi_flash_chip_generic_write_encrypted() argument
509 if (chip != esp_flash_default_chip) { in spi_flash_chip_generic_write_encrypted()
532 err = chip->chip_drv->set_chip_write_protect(chip, false); in spi_flash_chip_generic_write_encrypted()
543 err = chip->chip_drv->write(chip, (uint32_t *)data_bytes, address, length); in spi_flash_chip_generic_write_encrypted()
547 err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->page_program_timeout); in spi_flash_chip_generic_write_encrypted()
568 esp_err_t spi_flash_chip_generic_read_unique_id(esp_flash_t *chip, uint64_t* flash_unique_id) in spi_flash_chip_generic_read_unique_id() argument
577 esp_err_t err = chip->host->driver->common_command(chip->host, &transfer); in spi_flash_chip_generic_read_unique_id()
589 esp_err_t spi_flash_chip_generic_read_unique_id_none(esp_flash_t *chip, uint64_t* flash_unique_id) in spi_flash_chip_generic_read_unique_id_none() argument
595 spi_flash_caps_t spi_flash_chip_generic_get_caps(esp_flash_t *chip) in spi_flash_chip_generic_get_caps() argument
603 if (chip->chip_id >> 16 == 0x46) { in spi_flash_chip_generic_get_caps()
608 if (chip->chip_id >> 16 == 0x20) { in spi_flash_chip_generic_get_caps()
620 chip->host->driver->common_command(chip->host, &t); in spi_flash_chip_generic_get_caps()
628 if (chip->chip_id >> 16 == 0x20) { in spi_flash_chip_generic_get_caps()
634 if (chip->chip_id >> 16 == 0xa1) { in spi_flash_chip_generic_get_caps()
690 static esp_err_t spi_flash_common_read_qe_sr(esp_flash_t *chip, uint8_t qe_rdsr_command, uint8_t qe… in spi_flash_common_read_qe_sr() argument
698 esp_err_t ret = chip->host->driver->common_command(chip->host, &t); in spi_flash_common_read_qe_sr()
703 static esp_err_t spi_flash_common_write_qe_sr(esp_flash_t *chip, uint8_t qe_wrsr_command, uint8_t q… in spi_flash_common_write_qe_sr() argument
711 return chip->host->driver->common_command(chip->host, &t); in spi_flash_common_write_qe_sr()
714 esp_err_t spi_flash_common_read_status_16b_rdsr_rdsr2(esp_flash_t* chip, uint32_t* out_sr) in spi_flash_common_read_status_16b_rdsr_rdsr2() argument
717 esp_err_t ret = spi_flash_common_read_qe_sr(chip, CMD_RDSR2, 8, &sr2); in spi_flash_common_read_status_16b_rdsr_rdsr2()
719 ret = spi_flash_common_read_qe_sr(chip, CMD_RDSR, 8, &sr); in spi_flash_common_read_status_16b_rdsr_rdsr2()
727 esp_err_t spi_flash_common_read_status_8b_rdsr2(esp_flash_t* chip, uint32_t* out_sr) in spi_flash_common_read_status_8b_rdsr2() argument
729 return spi_flash_common_read_qe_sr(chip, CMD_RDSR2, 8, out_sr); in spi_flash_common_read_status_8b_rdsr2()
732 esp_err_t spi_flash_common_read_status_8b_rdsr(esp_flash_t* chip, uint32_t* out_sr) in spi_flash_common_read_status_8b_rdsr() argument
734 return spi_flash_common_read_qe_sr(chip, CMD_RDSR, 8, out_sr); in spi_flash_common_read_status_8b_rdsr()
737 esp_err_t spi_flash_common_write_status_16b_wrsr(esp_flash_t* chip, uint32_t sr) in spi_flash_common_write_status_16b_wrsr() argument
739 return spi_flash_common_write_qe_sr(chip, CMD_WRSR, 16, sr); in spi_flash_common_write_status_16b_wrsr()
742 esp_err_t spi_flash_common_write_status_8b_wrsr(esp_flash_t* chip, uint32_t sr) in spi_flash_common_write_status_8b_wrsr() argument
744 return spi_flash_common_write_qe_sr(chip, CMD_WRSR, 8, sr); in spi_flash_common_write_status_8b_wrsr()
747 esp_err_t spi_flash_common_write_status_8b_wrsr2(esp_flash_t* chip, uint32_t sr) in spi_flash_common_write_status_8b_wrsr2() argument
749 return spi_flash_common_write_qe_sr(chip, CMD_WRSR2, 8, sr); in spi_flash_common_write_status_8b_wrsr2()
752 esp_err_t spi_flash_common_set_io_mode(esp_flash_t *chip, esp_flash_wrsr_func_t wrsr_func, esp_flas… in spi_flash_common_set_io_mode() argument
755 const bool is_quad_mode = esp_flash_is_quad_mode(chip); in spi_flash_common_set_io_mode()
771 ret = (*rdsr_func)(chip, &sr); in spi_flash_common_set_io_mode()
789 chip->chip_drv->set_chip_write_protect(chip, false); in spi_flash_common_set_io_mode()
791 ret = (*wrsr_func)(chip, sr_update); in spi_flash_common_set_io_mode()
793 chip->chip_drv->set_chip_write_protect(chip, true); in spi_flash_common_set_io_mode()
797 ret = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->idle_timeout); in spi_flash_common_set_io_mode()
799 chip->chip_drv->set_chip_write_protect(chip, true); in spi_flash_common_set_io_mode()
811 ret = (*rdsr_func)(chip, &sr); in spi_flash_common_set_io_mode()
825 esp_err_t spi_flash_chip_generic_suspend_cmd_conf(esp_flash_t *chip) in spi_flash_chip_generic_suspend_cmd_conf() argument
828 if (chip->chip_id >> 16 != 0x20) { in spi_flash_chip_generic_suspend_cmd_conf()
839 return chip->host->driver->sus_setup(chip->host, &sus_conf); in spi_flash_chip_generic_suspend_cmd_conf()