/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Header file for UHS-II packets, Host Controller registers and I/O * accessors. * * Copyright (C) 2014 Intel Corp, All Rights Reserved.
*/ #ifndef LINUX_MMC_UHS2_H #define LINUX_MMC_UHS2_H
/* LINK Layer definition */ /* * UHS2 Header: * Refer to UHS-II Addendum Version 1.02 Figure 5-2, the format of CCMD Header is described below: * bit [3:0] : DID(Destination ID = Node ID of UHS2 card) * bit [6:4] : TYP(Packet Type) * 000b: CCMD(Control command packet) * 001b: DCMD(Data command packet) * 010b: RES(Response packet) * 011b: DATA(Data payload packet) * 111b: MSG(Message packet) * Others: Reserved * bit [7] : NP(Native Packet) * bit [10:8] : TID(Transaction ID) * bit [11] : Reserved * bit [15:12]: SID(Source ID 0: Node ID of Host) * * Broadcast CCMD issued by Host is represented as DID=SID=0.
*/ /* * UHS2 Argument: * Refer to UHS-II Addendum Version 1.02 Figure 6-5, the format of CCMD Argument is described below: * bit [3:0] : MSB of IOADR * bit [5:4] : PLEN(Payload Length) * 00b: 0 byte * 01b: 4 bytes * 10b: 8 bytes * 11b: 16 bytes * bit [6] : Reserved * bit [7] : R/W(Read/Write) * 0: Control read command * 1: Control write command * bit [15:8] : LSB of IOADR * * I/O Address specifies the address of register in UHS-II I/O space accessed by CCMD. * The unit of I/O Address is 4 Bytes. It is transmitted in MSB first, LSB last.
*/ #define UHS2_NATIVE_PACKET_POS 7 #define UHS2_NATIVE_PACKET (1 << UHS2_NATIVE_PACKET_POS)
/* * UHS2 Argument: * Refer to UHS-II Addendum Version 1.02 Figure 6-8, the format of DCMD Argument is described below: * bit [3:0] : Reserved * bit [6:3] : TMODE(Transfer Mode) * bit 3: DAM(Data Access Mode) * bit 4: TLUM(TLEN Unit Mode) * bit 5: LM(Length Mode) * bit 6: DM(Duplex Mode) * bit [7] : R/W(Read/Write) * 0: Control read command * 1: Control write command * bit [15:8] : Reserved * * I/O Address specifies the address of register in UHS-II I/O space accessed by CCMD. * The unit of I/O Address is 4 Bytes. It is transmitted in MSB first, LSB last.
*/ #define UHS2_DCMD_DM_POS 6 #define UHS2_DCMD_2L_HD_MODE (1 << UHS2_DCMD_DM_POS) #define UHS2_DCMD_LM_POS 5 #define UHS2_DCMD_LM_TLEN_EXIST (1 << UHS2_DCMD_LM_POS) #define UHS2_DCMD_TLUM_POS 4 #define UHS2_DCMD_TLUM_BYTE_MODE (1 << UHS2_DCMD_TLUM_POS) #define UHS2_NATIVE_DCMD_DAM_POS 3 #define UHS2_NATIVE_DCMD_DAM_IO (1 << UHS2_NATIVE_DCMD_DAM_POS)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.