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