cfi: Add support for strangely endianness broken SoC implementations
[openocd.git] / src / flash / nor / cfi.h
index 1a647f6fa602c5d119a5391f5c0f815d2f3d77cd..ed858a9de5772eb2bddbca74a37d6e192dc64976 100644 (file)
  *   GNU General Public License for more details.                          *
  *                                                                         *
  *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-#ifndef CFI_H
-#define CFI_H
+#ifndef OPENOCD_FLASH_NOR_CFI_H
+#define OPENOCD_FLASH_NOR_CFI_H
 
 #define CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7 0xE0 /* DQ5..DQ7 */
 #define CFI_STATUS_POLL_MASK_DQ6_DQ7     0xC0 /* DQ6..DQ7 */
@@ -30,6 +28,9 @@ struct cfi_flash_bank {
        int not_cfi;
        int probed;
 
+       enum target_endianness endianness;
+       int data_swap;
+
        uint16_t manufacturer;
        uint16_t device_id;
 
@@ -143,8 +144,8 @@ struct cfi_unlock_addresses {
 struct cfi_fixup {
        uint16_t mfr;
        uint16_t id;
-       void (*fixup)(struct flash_bank *bank, void *param);
-       void *param;
+       void (*fixup)(struct flash_bank *bank, const void *param);
+       const void *param;
 };
 
 #define CFI_MFR_AMD            0x0001
@@ -159,4 +160,4 @@ struct cfi_fixup {
 #define CFI_MFR_ANY            0xffff
 #define CFI_ID_ANY             0xffff
 
-#endif /* CFI_H */
+#endif /* OPENOCD_FLASH_NOR_CFI_H */

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)