PSOC E8XXGP Device Support Library

General Description

API Reference

 GetStatus CCC Fields
 

Macros

#define CY_I3C_MAX_ADDR   CY_I3C_GENMASK(6U, 0U)
 Max device address value.
 
#define CY_I3C_BROADCAST_ADDR   (0x7EU)
 I3C Broadcast Address.
 
#define CY_I3C_GETMRL_PAYLOAD_SIZE   CY_I3C_BIT(4)
 payload size position in GETMRL response
 
#define CY_I3C_MAX_DEVS   (11U)
 Max number of target devices addressable in controller mode.
 
#define CY_I3C_BITS_PER_LONG   (32U)
 Bits per long.
 
#define CY_I3C_GENMASK(h, l)   (((~(0UL)) - ((1UL) << (l)) + 1UL) & (~(0UL) >> (CY_I3C_BITS_PER_LONG - 1UL - (h))))
 Create a contiguous bitmask starting at bit position l and ending at position h. More...
 
#define CY_I3C_BIT(n)   ((1UL) << (n))
 Create a bitmask at bit position
.
 
#define CY_I3C_DIV_ROUND_UP(n, d)   (((n) + (d) - 1U) / (d))
 Divide and round up.
 
#define CY_I3C_SWAP16(x)   ((uint16_t)((((uint16_t)(x) & (uint16_t)0x00FFU) << 8U) | (((uint16_t)(x) & (uint16_t)0xFF00U) >> 8U) ))
 Swap the bytes of a 16-bit word.
 
#define CY_I3C_CCC_DIRECT   0x80U
 Direct CCC Mask.
 
#define CY_I3C_CCC_ID(id, broadcast)   ((id) | ((broadcast) ? 0U : CY_I3C_CCC_DIRECT))
 Create Broadcast/Direct CCC Id.
 
#define CY_I3C_CCC_ENEC(broadcast)   CY_I3C_CCC_ID(0x0U, broadcast)
 Enable Target Events Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_DISEC(broadcast)   CY_I3C_CCC_ID(0x1U, broadcast)
 Disable Target Events Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_ENTAS(as, broadcast)   CY_I3C_CCC_ID(0x2U + (as), broadcast)
 Enter Activity State 0-3 Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_RSTDAA(broadcast)   CY_I3C_CCC_ID(0x6U, broadcast)
 Reset Dynamic Address Assignment Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_SETMWL(broadcast)   CY_I3C_CCC_ID(0x9U, broadcast)
 Set Maximum Write Length Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_SETMRL(broadcast)   CY_I3C_CCC_ID(0xAU, broadcast)
 Set Maximum Read Length Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_RSTACT(broadcast)   (uint8_t)((broadcast) ? 0x2AU : 0x9AU)
 Target Reset Action: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_ENTDAA   CY_I3C_CCC_ID(0x7U, true)
 Enter Dynamic Address Assignment Command: Broadcast-only command.
 
#define CY_I3C_CCC_DEFTGTS   CY_I3C_CCC_ID(0x8U, true)
 Define List of Targets Command: Broadcast-only command.
 
#define CY_I3C_CCC_ENTHDR(x)   CY_I3C_CCC_ID(0x20U + (x), true)
 Enter HDR Mode Command: Broadcast-only command.
 
#define CY_I3C_CCC_SETAASA   CY_I3C_CCC_ID(0x29U, true)
 Set all dynamic addresses as static addresses Command: Broadcast-only command.
 
#define CY_I3C_CCC_SETDASA   CY_I3C_CCC_ID(0x7U, false)
 Set Dynamic Address from Static Address Command: Unicast-only command.
 
#define CY_I3C_CCC_SETNEWDA   CY_I3C_CCC_ID(0x8U, false)
 Set New Dynamic Address Command: Unicast-only command.
 
#define CY_I3C_CCC_GETMWL   CY_I3C_CCC_ID(0xBU, false)
 Get Maximum Write Length Command: Unicast-only command.
 
#define CY_I3C_CCC_GETMRL   CY_I3C_CCC_ID(0xCU, false)
 Get Maximum Read Length Command: Unicast-only command.
 
#define CY_I3C_CCC_SETXTIME(broadcast)   (uint8_t)((broadcast) ? 0x28U : 0x98U)
 Set Exchange Timing Information Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_GETXTIME   CY_I3C_CCC_ID(0x99U, false)
 Get Exchange Timing Support Information Command: Unicast-only command.
 
#define CY_I3C_CCC_GETPID   CY_I3C_CCC_ID(0xDU, false)
 Get Provisioned ID(PID) Command: Unicast-only command.
 
#define CY_I3C_CCC_GETBCR   CY_I3C_CCC_ID(0xEU, false)
 Get Bus Characteristic Register(BCR) Command: Unicast-only command.
 
#define CY_I3C_CCC_GETDCR   CY_I3C_CCC_ID(0xFU, false)
 Get Device Characteristic Register(DCR) Command: Unicast-only command.
 
#define CY_I3C_CCC_GETSTATUS   CY_I3C_CCC_ID(0x10U, false)
 Get Device Status Command: Unicast-only command.
 
#define CY_I3C_CCC_GETACCCR   CY_I3C_CCC_ID(0x11U, false)
 Get Accept Controllership Command: Unicast-only command.
 
#define CY_I3C_CCC_ENDXFER(broadcast)   CY_I3C_CCC_ID(0x12U, broadcast)
 Data Transfer Ending Procedure Control Command: valid in both broadcast and unicast modes.
 
#define CY_I3C_CCC_GETMXDS   CY_I3C_CCC_ID(0x14U, false)
 Get Maximum Data Speed Command: Unicast-only command.
 
#define CY_I3C_CCC_GETHDRCAP   CY_I3C_CCC_ID(0x15U, false)
 Get HDR Capability Command: Unicast-only command.
 
#define CY_I3C_CCC_DEVCTRL   CY_I3C_CCC_ID(0x62U, true)
 Device control Command: Broadcast-only command.
 
#define CY_I3C_CCC_EVENT_SIR   CY_I3C_BIT(0U)
 Target Interrupt Request Event cy_stc_i3c_ccc_events_t.
 
#define CY_I3C_CCC_EVENT_MR   CY_I3C_BIT(1U)
 Controllership Request Event cy_stc_i3c_ccc_events_t.
 
#define CY_I3C_CCC_EVENT_HJ   CY_I3C_BIT(3U)
 Hot-join Event cy_stc_i3c_ccc_events_t.
 
#define CY_I3C_HDR_IS_READ_CMD   CY_I3C_BIT(7U)
 HDR Read Command Code.
 

Macro Definition Documentation

◆ CY_I3C_GENMASK

#define CY_I3C_GENMASK (   h,
 
)    (((~(0UL)) - ((1UL) << (l)) + 1UL) & (~(0UL) >> (CY_I3C_BITS_PER_LONG - 1UL - (h))))

Create a contiguous bitmask starting at bit position l and ending at position h.

For example CY_I3C_GENMASK_ULL(39, 21) gives us the 64bit vector 0x000000FFFFE00000.