OpenOCD
dw-spi-helper.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
15 #ifndef OPENOCD_FLASH_NOR_DW_SPI_HELPER_H
16 #define OPENOCD_FLASH_NOR_DW_SPI_HELPER_H
17 
18 #include <stdint.h>
19 
24  uint64_t buffer;
28  uint32_t size;
29  uint64_t status_reg;
30  uint64_t data_reg;
31  uint8_t read_flag;
33 } __attribute__((packed));
34 
39  uint32_t address;
40  uint32_t sector_size;
41  uint32_t sector_count;
42  uint64_t status_reg;
43  uint64_t data_reg;
47  uint8_t pattern;
48  uint8_t read_cmd;
49  uint8_t four_byte_mode;
50 } __attribute__((packed));
51 
55 struct dw_spi_erase {
56  uint32_t address;
57  uint32_t sector_size;
58  uint32_t sector_count;
59  uint64_t status_reg;
60  uint64_t data_reg;
61  uint8_t read_status_cmd;
62  uint8_t write_enable_cmd;
63  uint8_t erase_sector_cmd;
65  uint8_t busy_mask;
66  uint8_t four_byte_mode;
67 } __attribute__((packed));
68 
73  uint32_t address;
76  uint32_t page_size;
77  uint64_t buffer;
78  uint32_t buffer_size;
79  uint64_t status_reg;
80  uint64_t data_reg;
81  uint8_t read_status_cmd;
82  uint8_t write_enable_cmd;
83  uint8_t program_cmd;
85  uint8_t busy_mask;
86  uint8_t four_byte_mode;
87 } __attribute__((packed));
88 
92 struct dw_spi_read {
93  uint32_t address;
94  uint64_t buffer;
95  uint32_t buffer_size;
96  uint64_t status_reg;
97  uint64_t data_reg;
98  uint8_t read_cmd;
99  uint8_t four_byte_mode;
100 } __attribute__((packed));
101 
102 #endif /* OPENOCD_FLASH_NOR_DW_SPI_HELPER_H */
struct dw_spi_transaction __attribute__((packed))
Arguments for check_fill helper function.
Definition: dw-spi-helper.h:38
uint8_t read_cmd
Read data command.
Definition: dw-spi-helper.h:48
uint64_t status_reg
Pointer to SR register.
Definition: dw-spi-helper.h:42
uint8_t pattern
Fill pattern.
Definition: dw-spi-helper.h:47
uint32_t address
Starting address. Sector aligned.
Definition: dw-spi-helper.h:39
uint64_t fill_status_array
Pointer to array describing sectors fill status.
Definition: dw-spi-helper.h:44
uint8_t four_byte_mode
Four byte addressing mode flag.
Definition: dw-spi-helper.h:49
uint32_t sector_count
Number of sectors to check.
Definition: dw-spi-helper.h:41
uint32_t sector_size
Sector size.
Definition: dw-spi-helper.h:40
uint64_t data_reg
Pointer to DR register.
Definition: dw-spi-helper.h:43
Arguments for erase helper function.
Definition: dw-spi-helper.h:55
uint64_t data_reg
Pointer to DR register.
Definition: dw-spi-helper.h:60
uint32_t sector_size
Sector size.
Definition: dw-spi-helper.h:57
uint8_t read_status_cmd
Read status command.
Definition: dw-spi-helper.h:61
uint8_t erase_sector_cmd
Erase sector command.
Definition: dw-spi-helper.h:63
uint8_t four_byte_mode
Four byte addressing mode flag.
Definition: dw-spi-helper.h:66
uint32_t sector_count
Number of sectors to erase.
Definition: dw-spi-helper.h:58
uint8_t write_enable_cmd
Write enable command.
Definition: dw-spi-helper.h:62
uint64_t status_reg
Pointer to SR register.
Definition: dw-spi-helper.h:59
uint8_t write_enable_mask
Write enable mask.
Definition: dw-spi-helper.h:64
uint8_t busy_mask
Busy mask.
Definition: dw-spi-helper.h:65
uint32_t address
First sector address. Sector aligned.
Definition: dw-spi-helper.h:56
Arguments for program helper function.
Definition: dw-spi-helper.h:72
uint8_t four_byte_mode
Four byte addressing mode flag.
Definition: dw-spi-helper.h:86
uint64_t status_reg
Pointer to SR register.
Definition: dw-spi-helper.h:79
uint8_t busy_mask
Busy mask.
Definition: dw-spi-helper.h:85
uint64_t buffer
Data buffer pointer.
Definition: dw-spi-helper.h:77
uint32_t buffer_size
Size of dw_spi_program::buffer.
Definition: dw-spi-helper.h:78
uint8_t write_enable_mask
Write enable mask.
Definition: dw-spi-helper.h:84
uint64_t data_reg
Pointer to DR register.
Definition: dw-spi-helper.h:80
uint32_t address
First page address.
Definition: dw-spi-helper.h:73
uint8_t program_cmd
Program command.
Definition: dw-spi-helper.h:83
uint8_t read_status_cmd
Read status command.
Definition: dw-spi-helper.h:81
uint8_t write_enable_cmd
Write enable command.
Definition: dw-spi-helper.h:82
uint32_t page_size
Page size.
Definition: dw-spi-helper.h:76
Arguments for read helper function.
Definition: dw-spi-helper.h:92
uint32_t buffer_size
Size of dw_spi_read::buffer.
Definition: dw-spi-helper.h:95
uint64_t data_reg
Pointer to DR register.
Definition: dw-spi-helper.h:97
uint32_t address
First sector address.
Definition: dw-spi-helper.h:93
uint64_t buffer
Data buffer pointer.
Definition: dw-spi-helper.h:94
uint8_t four_byte_mode
Four byte addressing mode flag.
Definition: dw-spi-helper.h:99
uint64_t status_reg
Pointer to SR register.
Definition: dw-spi-helper.h:96
uint8_t read_cmd
Read data command.
Definition: dw-spi-helper.h:98
Arguments for transaction helper function.
Definition: dw-spi-helper.h:23
uint8_t read_flag
When 1, store RX FIFO data to dw_spi_transaction::buffer.
Definition: dw-spi-helper.h:31
uint64_t buffer
Pointer to data buffer to send over SPI.
Definition: dw-spi-helper.h:24
uint32_t size
Size of dw_spi_transaction::buffer.
Definition: dw-spi-helper.h:28
uint64_t status_reg
Pointer to SR register.
Definition: dw-spi-helper.h:29
uint64_t data_reg
Pointer to DR register.
Definition: dw-spi-helper.h:30