xref: /freebsd/sys/dev/flash/mx25lreg.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
1cd5bdf03SOleksandr Tymoshenko /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
3718cf2ccSPedro F. Giffuni  *
4cd5bdf03SOleksandr Tymoshenko  * Copyright (c) 2009, Oleksandr Tymoshenko <gonzo@FreeBSD.org>
5cd5bdf03SOleksandr Tymoshenko  * All rights reserved.
6cd5bdf03SOleksandr Tymoshenko  *
7cd5bdf03SOleksandr Tymoshenko  * Redistribution and use in source and binary forms, with or without
8cd5bdf03SOleksandr Tymoshenko  * modification, are permitted provided that the following conditions
9cd5bdf03SOleksandr Tymoshenko  * are met:
10cd5bdf03SOleksandr Tymoshenko  * 1. Redistributions of source code must retain the above copyright
11cd5bdf03SOleksandr Tymoshenko  *    notice unmodified, this list of conditions, and the following
12cd5bdf03SOleksandr Tymoshenko  *    disclaimer.
13cd5bdf03SOleksandr Tymoshenko  * 2. Redistributions in binary form must reproduce the above copyright
14cd5bdf03SOleksandr Tymoshenko  *    notice, this list of conditions and the following disclaimer in the
15cd5bdf03SOleksandr Tymoshenko  *    documentation and/or other materials provided with the distribution.
16cd5bdf03SOleksandr Tymoshenko  *
17cd5bdf03SOleksandr Tymoshenko  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18cd5bdf03SOleksandr Tymoshenko  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19cd5bdf03SOleksandr Tymoshenko  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20cd5bdf03SOleksandr Tymoshenko  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21cd5bdf03SOleksandr Tymoshenko  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22cd5bdf03SOleksandr Tymoshenko  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23cd5bdf03SOleksandr Tymoshenko  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24cd5bdf03SOleksandr Tymoshenko  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25cd5bdf03SOleksandr Tymoshenko  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26cd5bdf03SOleksandr Tymoshenko  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27cd5bdf03SOleksandr Tymoshenko  * SUCH DAMAGE.
28cd5bdf03SOleksandr Tymoshenko  */
29cd5bdf03SOleksandr Tymoshenko 
30cd5bdf03SOleksandr Tymoshenko #ifndef __MX25LREG_H__
31cd5bdf03SOleksandr Tymoshenko #define __MX25LREG_H__
32cd5bdf03SOleksandr Tymoshenko 
33cd5bdf03SOleksandr Tymoshenko /*
34cd5bdf03SOleksandr Tymoshenko  * Commands
35cd5bdf03SOleksandr Tymoshenko  */
36cd5bdf03SOleksandr Tymoshenko #define CMD_WRITE_ENABLE	0x06
37cd5bdf03SOleksandr Tymoshenko #define CMD_WRITE_DISABLE	0x04
38cd5bdf03SOleksandr Tymoshenko #define CMD_READ_IDENT		0x9F
39cd5bdf03SOleksandr Tymoshenko #define CMD_READ_STATUS		0x05
40cd5bdf03SOleksandr Tymoshenko #define CMD_WRITE_STATUS	0x01
41cd5bdf03SOleksandr Tymoshenko #define CMD_READ		0x03
42cd5bdf03SOleksandr Tymoshenko #define CMD_FAST_READ		0x0B
432de9b4d3SEmmanuel Vadot #define CMD_READ_DUAL_IO	0xBB
442de9b4d3SEmmanuel Vadot #define CMD_READ_QUAD_OUTPUT	0x6B
45cd5bdf03SOleksandr Tymoshenko #define CMD_PAGE_PROGRAM	0x02
46cd5bdf03SOleksandr Tymoshenko #define CMD_SECTOR_ERASE	0xD8
47cd5bdf03SOleksandr Tymoshenko #define CMD_BULK_ERASE		0xC7
48dddd00f6SAdrian Chadd #define	CMD_BLOCK_4K_ERASE	0x20
49dddd00f6SAdrian Chadd #define	CMD_BLOCK_32K_ERASE	0x52
502d46b036SStanislav Galabov #define	CMD_ENTER_4B_MODE	0xB7
512d46b036SStanislav Galabov #define	CMD_EXIT_4B_MODE	0xE9
52cd5bdf03SOleksandr Tymoshenko 
53eb69ed7fSRuslan Bukin /* Quad 4B-addressing operations. */
54eb69ed7fSRuslan Bukin #define	CMD_QUAD_SECTOR_ERASE	0xDC
55eb69ed7fSRuslan Bukin #define	CMD_QUAD_PAGE_PROGRAM	0x34
56eb69ed7fSRuslan Bukin #define	CMD_READ_4B_QUAD_OUTPUT	0x6C
57eb69ed7fSRuslan Bukin 
58cd5bdf03SOleksandr Tymoshenko /*
59cd5bdf03SOleksandr Tymoshenko  * Status register flags
60cd5bdf03SOleksandr Tymoshenko  */
61cd5bdf03SOleksandr Tymoshenko #define	STATUS_SRWD	(1 << 7)
62cd5bdf03SOleksandr Tymoshenko #define	STATUS_BP2	(1 << 4)
63cd5bdf03SOleksandr Tymoshenko #define	STATUS_BP1	(1 << 3)
64cd5bdf03SOleksandr Tymoshenko #define	STATUS_BP0	(1 << 2)
65cd5bdf03SOleksandr Tymoshenko #define	STATUS_WEL	(1 << 1)
66cd5bdf03SOleksandr Tymoshenko #define	STATUS_WIP	(1 << 0)
67cd5bdf03SOleksandr Tymoshenko 
68c3655ab0SOleksandr Tymoshenko #define	FLASH_PAGE_SIZE	256
69c3655ab0SOleksandr Tymoshenko 
70cd5bdf03SOleksandr Tymoshenko #endif /* __MX25LREG_H__ */
71cd5bdf03SOleksandr Tymoshenko 
72