| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: sdmmcvar.h,v 1.35 2020/05/24 17:26:18 riastradh Exp $ */ | | 1 | /* $NetBSD: sdmmcvar.h,v 1.36 2021/03/13 23:22:44 mlelstv Exp $ */ |
2 | /* $OpenBSD: sdmmcvar.h,v 1.13 2009/01/09 10:55:22 jsg Exp $ */ | | 2 | /* $OpenBSD: sdmmcvar.h,v 1.13 2009/01/09 10:55:22 jsg Exp $ */ |
3 | | | 3 | |
4 | /* | | 4 | /* |
5 | * Copyright (c) 2006 Uwe Stuehler <uwe@openbsd.org> | | 5 | * Copyright (c) 2006 Uwe Stuehler <uwe@openbsd.org> |
6 | * | | 6 | * |
7 | * Permission to use, copy, modify, and distribute this software for any | | 7 | * Permission to use, copy, modify, and distribute this software for any |
8 | * purpose with or without fee is hereby granted, provided that the above | | 8 | * purpose with or without fee is hereby granted, provided that the above |
9 | * copyright notice and this permission notice appear in all copies. | | 9 | * copyright notice and this permission notice appear in all copies. |
10 | * | | 10 | * |
11 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | | 11 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
12 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | | 12 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
13 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | | 13 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
14 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | | 14 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| @@ -115,26 +115,27 @@ struct sdmmc_command { | | | @@ -115,26 +115,27 @@ struct sdmmc_command { |
115 | #define SCF_CMD_BCR (3U << 8) | | 115 | #define SCF_CMD_BCR (3U << 8) |
116 | #define SCF_CMD_MASK (3U << 8) | | 116 | #define SCF_CMD_MASK (3U << 8) |
117 | /* SPI */ | | 117 | /* SPI */ |
118 | #define SCF_RSP_SPI_S1 (1U << 10) | | 118 | #define SCF_RSP_SPI_S1 (1U << 10) |
119 | #define SCF_RSP_SPI_S2 (1U << 11) | | 119 | #define SCF_RSP_SPI_S2 (1U << 11) |
120 | #define SCF_RSP_SPI_B4 (1U << 12) | | 120 | #define SCF_RSP_SPI_B4 (1U << 12) |
121 | #define SCF_RSP_SPI_BSY (1U << 13) | | 121 | #define SCF_RSP_SPI_BSY (1U << 13) |
122 | /* Probing */ | | 122 | /* Probing */ |
123 | #define SCF_TOUT_OK (1U << 14) /* command timeout expected */ | | 123 | #define SCF_TOUT_OK (1U << 14) /* command timeout expected */ |
124 | /* Command hints */ | | 124 | /* Command hints */ |
125 | #define SCF_XFER_SDHC (1U << 15) /* card is SDHC */ | | 125 | #define SCF_XFER_SDHC (1U << 15) /* card is SDHC */ |
126 | #define SCF_POLL (1U << 16) /* polling required */ | | 126 | #define SCF_POLL (1U << 16) /* polling required */ |
127 | #define SCF_NEED_BOUNCE (1U << 17) /* (driver) transfer requires bounce buffer */ | | 127 | #define SCF_NEED_BOUNCE (1U << 17) /* (driver) transfer requires bounce buffer */ |
| | | 128 | #define SCF_NO_STOP (1U << 18) /* don't enable automatic stop CMD12 */ |
128 | /* response types */ | | 129 | /* response types */ |
129 | #define SCF_RSP_R0 0 /* none */ | | 130 | #define SCF_RSP_R0 0 /* none */ |
130 | #define SCF_RSP_R1 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) | | 131 | #define SCF_RSP_R1 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) |
131 | #define SCF_RSP_R1B (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX|SCF_RSP_BSY) | | 132 | #define SCF_RSP_R1B (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX|SCF_RSP_BSY) |
132 | #define SCF_RSP_R2 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_136) | | 133 | #define SCF_RSP_R2 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_136) |
133 | #define SCF_RSP_R3 (SCF_RSP_PRESENT) | | 134 | #define SCF_RSP_R3 (SCF_RSP_PRESENT) |
134 | #define SCF_RSP_R4 (SCF_RSP_PRESENT) | | 135 | #define SCF_RSP_R4 (SCF_RSP_PRESENT) |
135 | #define SCF_RSP_R5 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) | | 136 | #define SCF_RSP_R5 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) |
136 | #define SCF_RSP_R5B (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX|SCF_RSP_BSY) | | 137 | #define SCF_RSP_R5B (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX|SCF_RSP_BSY) |
137 | #define SCF_RSP_R6 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) | | 138 | #define SCF_RSP_R6 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) |
138 | #define SCF_RSP_R7 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) | | 139 | #define SCF_RSP_R7 (SCF_RSP_PRESENT|SCF_RSP_CRC|SCF_RSP_IDX) |
139 | #define SCF_RSP_MASK (0x1f << 1) | | 140 | #define SCF_RSP_MASK (0x1f << 1) |
140 | /* SPI */ | | 141 | /* SPI */ |