PSOC E8XXGP Device Support Library

| PSOC E8XXGP Device Support Library

API Reference | Macros
Common Macros
PDL API Reference » I3C (I3C) » Macros

## 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,
|  |  | 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.

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