/* SPDX-License-Identifier: BSD-3-Clause */
/*
* Copyright ( c ) 2020 , MIPI Alliance , Inc .
*
* Author : Nicolas Pitre < npitre @ baylibre . com >
*
* Transfer Mode / Rate Table definitions as found in extended capability
* sections 0 x04 and 0 x08 .
* This applies starting from I3C HCI v2 . 0 .
*/
#ifndef XFER_MODE_RATE_H
#define XFER_MODE_RATE_H
/*
* Master Transfer Mode Table Fixed Indexes .
*
* Indexes 0 x0 and 0 x8 are mandatory . Availability for the rest must be
* obtained from the mode table in the extended capability area .
* Presence and definitions for indexes beyond these ones may vary .
*/
#define XFERMODE_IDX_I3C_SDR 0 x00 /* I3C SDR Mode */
#define XFERMODE_IDX_I3C_HDR_DDR 0 x01 /* I3C HDR-DDR Mode */
#define XFERMODE_IDX_I3C_HDR_T 0 x02 /* I3C HDR-Ternary Mode */
#define XFERMODE_IDX_I3C_HDR_BT 0 x03 /* I3C HDR-BT Mode */
#define XFERMODE_IDX_I2C 0 x08 /* Legacy I2C Mode */
/*
* Transfer Mode Table Entry Bits Definitions
*/
#define XFERMODE_VALID_XFER_ADD_FUNC GENMASK(21 , 16 )
#define XFERMODE_ML_DATA_XFER_CODING GENMASK(15 , 11 )
#define XFERMODE_ML_ADDL_LANES GENMASK(10 , 8 )
#define XFERMODE_SUPPORTED BIT(7 )
#define XFERMODE_MODE GENMASK(3 , 0 )
/*
* Master Data Transfer Rate Selector Values .
*
* These are the values to be used in the command descriptor XFER_RATE field
* and found in the RATE_ID field below .
* The I3C_SDR0 , I3C_SDR1 , I3C_SDR2 , I3C_SDR3 , I3C_SDR4 and I2C_FM rates
* are required , everything else is optional and discoverable in the
* Data Transfer Rate Table . Indicated are typical rates . The actual
* rates may vary slightly and are also specified in the Data Transfer
* Rate Table .
*/
#define XFERRATE_I3C_SDR0 0 x00 /* 12.5 MHz */
#define XFERRATE_I3C_SDR1 0 x01 /* 8 MHz */
#define XFERRATE_I3C_SDR2 0 x02 /* 6 MHz */
#define XFERRATE_I3C_SDR3 0 x03 /* 4 MHz */
#define XFERRATE_I3C_SDR4 0 x04 /* 2 MHz */
#define XFERRATE_I3C_SDR_FM_FMP 0 x05 /* 400 KHz / 1 MHz */
#define XFERRATE_I3C_SDR_USER6 0 x06 /* User Defined */
#define XFERRATE_I3C_SDR_USER7 0 x07 /* User Defined */
#define XFERRATE_I2C_FM 0 x00 /* 400 KHz */
#define XFERRATE_I2C_FMP 0 x01 /* 1 MHz */
#define XFERRATE_I2C_USER2 0 x02 /* User Defined */
#define XFERRATE_I2C_USER3 0 x03 /* User Defined */
#define XFERRATE_I2C_USER4 0 x04 /* User Defined */
#define XFERRATE_I2C_USER5 0 x05 /* User Defined */
#define XFERRATE_I2C_USER6 0 x06 /* User Defined */
#define XFERRATE_I2C_USER7 0 x07 /* User Defined */
/*
* Master Data Transfer Rate Table Mode ID values .
*/
#define XFERRATE_MODE_I3C 0 x00
#define XFERRATE_MODE_I2C 0 x08
/*
* Master Data Transfer Rate Table Entry Bits Definitions
*/
#define XFERRATE_MODE_ID GENMASK(31 , 28 )
#define XFERRATE_RATE_ID GENMASK(22 , 20 )
#define XFERRATE_ACTUAL_RATE_KHZ GENMASK(19 , 0 )
#endif
Messung V0.5 in Prozent C=93 H=96 G=94
¤ Dauer der Verarbeitung: 0.4 Sekunden
¤
*© Formatika GbR, Deutschland