forked from mirrors/linux
		
	 2874c5fd28
			
		
	
	
		2874c5fd28
		
	
	
	
	
		
			
			Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			96 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-or-later */
 | |
| /*
 | |
|  *  include/linux/mmc/sd.h
 | |
|  *
 | |
|  *  Copyright (C) 2005-2007 Pierre Ossman, All Rights Reserved.
 | |
|  */
 | |
| 
 | |
| #ifndef LINUX_MMC_SD_H
 | |
| #define LINUX_MMC_SD_H
 | |
| 
 | |
| /* SD commands                           type  argument     response */
 | |
|   /* class 0 */
 | |
| /* This is basically the same command as for MMC with some quirks. */
 | |
| #define SD_SEND_RELATIVE_ADDR     3   /* bcr                     R6  */
 | |
| #define SD_SEND_IF_COND           8   /* bcr  [11:0] See below   R7  */
 | |
| #define SD_SWITCH_VOLTAGE         11  /* ac                      R1  */
 | |
| 
 | |
|   /* class 10 */
 | |
| #define SD_SWITCH                 6   /* adtc [31:0] See below   R1  */
 | |
| 
 | |
|   /* class 5 */
 | |
| #define SD_ERASE_WR_BLK_START    32   /* ac   [31:0] data addr   R1  */
 | |
| #define SD_ERASE_WR_BLK_END      33   /* ac   [31:0] data addr   R1  */
 | |
| 
 | |
|   /* Application commands */
 | |
| #define SD_APP_SET_BUS_WIDTH      6   /* ac   [1:0] bus width    R1  */
 | |
| #define SD_APP_SD_STATUS         13   /* adtc                    R1  */
 | |
| #define SD_APP_SEND_NUM_WR_BLKS  22   /* adtc                    R1  */
 | |
| #define SD_APP_OP_COND           41   /* bcr  [31:0] OCR         R3  */
 | |
| #define SD_APP_SEND_SCR          51   /* adtc                    R1  */
 | |
| 
 | |
| /* OCR bit definitions */
 | |
| #define SD_OCR_S18R		(1 << 24)    /* 1.8V switching request */
 | |
| #define SD_ROCR_S18A		SD_OCR_S18R  /* 1.8V switching accepted by card */
 | |
| #define SD_OCR_XPC		(1 << 28)    /* SDXC power control */
 | |
| #define SD_OCR_CCS		(1 << 30)    /* Card Capacity Status */
 | |
| 
 | |
| /*
 | |
|  * SD_SWITCH argument format:
 | |
|  *
 | |
|  *      [31] Check (0) or switch (1)
 | |
|  *      [30:24] Reserved (0)
 | |
|  *      [23:20] Function group 6
 | |
|  *      [19:16] Function group 5
 | |
|  *      [15:12] Function group 4
 | |
|  *      [11:8] Function group 3
 | |
|  *      [7:4] Function group 2
 | |
|  *      [3:0] Function group 1
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * SD_SEND_IF_COND argument format:
 | |
|  *
 | |
|  *	[31:12] Reserved (0)
 | |
|  *	[11:8] Host Voltage Supply Flags
 | |
|  *	[7:0] Check Pattern (0xAA)
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * SCR field definitions
 | |
|  */
 | |
| 
 | |
| #define SCR_SPEC_VER_0		0	/* Implements system specification 1.0 - 1.01 */
 | |
| #define SCR_SPEC_VER_1		1	/* Implements system specification 1.10 */
 | |
| #define SCR_SPEC_VER_2		2	/* Implements system specification 2.00-3.0X */
 | |
| 
 | |
| /*
 | |
|  * SD bus widths
 | |
|  */
 | |
| #define SD_BUS_WIDTH_1		0
 | |
| #define SD_BUS_WIDTH_4		2
 | |
| 
 | |
| /*
 | |
|  * SD_SWITCH mode
 | |
|  */
 | |
| #define SD_SWITCH_CHECK		0
 | |
| #define SD_SWITCH_SET		1
 | |
| 
 | |
| /*
 | |
|  * SD_SWITCH function groups
 | |
|  */
 | |
| #define SD_SWITCH_GRP_ACCESS	0
 | |
| 
 | |
| /*
 | |
|  * SD_SWITCH access modes
 | |
|  */
 | |
| #define SD_SWITCH_ACCESS_DEF	0
 | |
| #define SD_SWITCH_ACCESS_HS	1
 | |
| 
 | |
| /*
 | |
|  * Erase/discard
 | |
|  */
 | |
| #define SD_ERASE_ARG			0x00000000
 | |
| #define SD_DISCARD_ARG			0x00000001
 | |
| 
 | |
| #endif /* LINUX_MMC_SD_H */
 |