Lines Matching +full:controller +full:- +full:data +full:- +full:delay +full:- +full:us

5  * SPDX-License-Identifier: Apache-2.0
111 * Data Transfer Ending Procedure Control
117 /** Enter HDR Mode (HDR-DDR) (Broadcast) */
120 /** Enter HDR Mode 0 (HDR-DDR) (Broadcast) */
123 /** Enter HDR Mode 1 (HDR-TSP) (Broadcast) */
126 /** Enter HDR Mode 2 (HDR-TSL) (Broadcast) */
129 /** Enter HDR Mode 3 (HDR-BT) (Broadcast) */
171 /** Multi-Lane Data Transfer Control (Broadcast) */
206 /** Get Accept Controller Role (Direct) */
212 /** Get Max Data Speed (Direct) */
243 * - For Write CCC, pointer to the byte array of data
244 * to be sent, which may contain the Sub-Command Byte
245 * and additional data.
246 * - For Read CCC, pointer to the byte buffer for data
249 uint8_t *data; member
251 /** Length in bytes for @p data. */
257 * A Target can issue an EoD or the Controller can abort a transfer
275 * Pointer to byte array of data for this CCC.
278 * Set to @c NULL if no associated data.
280 uint8_t *data; member
282 /** Length in bytes for optional data array. */
288 * A Controller can abort a transfer before the length of the buffer.
316 * - Bit[0]: ENINT/DISINT:
317 * - Target Interrupt Requests
318 * - Bit[1]: ENCR/DISCR:
319 * - Controller Role Requests
320 * - Bit[3]: ENHJ/DISHJ:
321 * - Hot-Join Event
326 /** Enable Events (ENEC) - Target Interrupt Requests. */
329 /** Enable Events (ENEC) - Controller Role Requests. */
332 /** Enable Events (ENEC) - Hot-Join Event. */
338 /** Disable Events (DISEC) - Target Interrupt Requests. */
341 /** Disable Events (DISEC) - Controller Role Requests. */
344 /** Disable Events (DISEC) - Hot-Join Event. */
355 /** Events - Target Interrupt Requests. */
358 /** Events - Controller Role Requests. */
361 /** Events - Hot-Join Event. */
371 * @note For drivers and help functions, the raw data coming
384 * @note For drivers and help functions, the raw data coming
398 * @brief The active controller part of payload for DEFTGTS CCC.
401 * the active controller on the I3C bus.
404 /** Dynamic Address of Active Controller */
407 /** Device Characteristic Register of Active Controller */
410 /** Bus Characteristic Register of Active Controller */
413 /** Static Address of Active Controller */
457 /** Data describing the active controller */
460 /** Data describing the target(s) on the bus */
471 /** Indicates that I3C Devices shall return a random 32-bit value
481 * - SETDASA (Set Dynamic Address from Static Address)
482 * - SETNEWDA (Set New Dynamic Address)
483 * - SETGRPA (Set Group Address)
484 * - GETACCCR (Get Accept Controller Role)
492 * - For SETDASA, Static Address to be assigned as
494 * - For SETNEWDA, new Dynamic Address to be assigned.
495 * - For SETGRPA, new Group Address to be set.
496 * - For GETACCCR, the correct address of Secondary
497 * Controller.
500 * the address is left-shift by 1, and bit[0] is always 0.
502 * @note Fpr SET GETACCCR, the address is left-shift by 1,
513 * 48-bit Provisioned ID.
515 * @note Data is big-endian where first byte is MSB.
555 /** PRECR - Alternate status format describing Controller-capable device. */
569 * - Bit[15:8]: Reserved.
570 * - Bit[7:6]: Activity Mode.
571 * - Bit[5]: Protocol Error.
572 * - Bit[4]: Reserved.
573 * - Bit[3:0]: Number of Pending Interrupts.
575 * @note For drivers and help functions, the raw data coming
593 * - Bit[15:8]: Vendor Reserved
594 * - Bit[7:2]: Reserved
595 * - Bit[1]: Handoff Delay NACK
596 * - Bit[0]: Deep Sleep Detected
598 * @note For drivers and help functions, the raw data coming
609 /** GETSTATUS Format 1 - Protocol Error bit. */
612 /** GETSTATUS Format 1 - Activity Mode bitmask. */
616 * @brief GETSTATUS Format 1 - Activity Mode
626 /** GETSTATUS Format 1 - Number of Pending Interrupts bitmask. */
630 * @brief GETSTATUS Format 1 - Number of Pending Interrupts
640 /** GETSTATUS Format 2 - PERCR - Deep Sleep Detected bit. */
643 /** GETSTATUS Format 2 - PERCR - Handoff Delay NACK. */
653 * @note The address is left-shift by 1, and bit[0]
659 * 16-bit ID for the bridged target.
661 * @note For drivers and help functions, the raw data coming
699 * @brief Enum for I3C Get Max Data Speed (GETMXDS) Format 3 Defining Byte Values.
706 /** Delay parameters for a Controller-capable Device, and it's expected Activity State
707 * during a Controller Handoff
717 * @brief Payload for GETMXDS CCC (Get Max Data Speed).
738 * This is in little-endian where first byte is LSB.
753 * - Bit[2]: Set Bus Activity State
754 * - Bit[1:0]: Controller Handoff Activity State
760 /** Get Max Data Speed (GETMXDS) - Default Max Sustained Data Rate. */
763 /** Get Max Data Speed (GETMXDS) - 8MHz Max Sustained Data Rate. */
766 /** Get Max Data Speed (GETMXDS) - 6MHz Max Sustained Data Rate. */
769 /** Get Max Data Speed (GETMXDS) - 4MHz Max Sustained Data Rate. */
772 /** Get Max Data Speed (GETMXDS) - 2MHz Max Sustained Data Rate. */
775 /** Get Max Data Speed (GETMXDS) - Clock to Data Turnaround <= 8ns. */
778 /** Get Max Data Speed (GETMXDS) - Clock to Data Turnaround <= 9ns. */
781 /** Get Max Data Speed (GETMXDS) - Clock to Data Turnaround <= 10ns. */
784 /** Get Max Data Speed (GETMXDS) - Clock to Data Turnaround <= 11ns. */
787 /** Get Max Data Speed (GETMXDS) - Clock to Data Turnaround <= 12ns. */
790 /** Get Max Data Speed (GETMXDS) - Clock to Data Turnaround > 12ns. */
793 /** Get Max Data Speed (GETMXDS) - maxWr - Optional Defining Byte Support. */
796 /** Get Max Data Speed (GETMXDS) - Max Sustained Data Rate bitmask. */
800 * @brief Get Max Data Speed (GETMXDS) - maxWr - Max Sustained Data Rate
802 * Obtain Max Sustained Data Rate value from GETMXDS maxWr value
810 /** Get Max Data Speed (GETMXDS) - maxRd - Write-to-Read Permits Stop Between. */
813 /** Get Max Data Speed (GETMXDS) - maxRd - Clock to Data Turnaround bitmask. */
817 * @brief Get Max Data Speed (GETMXDS) - maxRd - Clock to Data Turnaround
819 * Obtain Clock to Data Turnaround value from GETMXDS maxRd value
827 /** Get Max Data Speed (GETMXDS) - maxRd - Max Sustained Data Rate bitmask. */
831 * @brief Get Max Data Speed (GETMXDS) - maxRd - Max Sustained Data Rate
833 * Obtain Max Sustained Data Rate value from GETMXDS maxRd value
841 /** Get Max Data Speed (GETMXDS) - CRDHLY1 - Set Bus Activity State bit shift value. */
844 /** Get Max Data Speed (GETMXDS) - CRDHLY1 - Controller Handoff Activity State bitmask. */
848 * @brief Get Max Data Speed (GETMXDS) - CRDHLY1 - Controller Handoff Activity State
850 * Obtain Controller Handoff Activity State value from GETMXDS value
879 /** Controller handoff capabilities and features. */
885 /** Debug-capable Device capabilities and features. */
903 * - Bit[0]: HDR-DDR
904 * - Bit[1]: HDR-TSP
905 * - Bit[2]: HDR-TSL
906 * - Bit[7:3]: Reserved
913 * - Bit[0]: HDR-DDR
914 * - Bit[1]: HDR-TSP
915 * - Bit[2]: HDR-TSL
916 * - Bit[3]: HDR-BT
917 * - Bit[7:4]: Reserved
919 * - Bit[3:0]: I3C 1.x Specification Version
920 * - Bit[5:4]: Group Address Capabilities
921 * - Bit[6]: HDR-DDR Write Abort
922 * - Bit[7]: HDR-DDR Abort CRC
924 * - Bit[0]: Multi-Lane (ML) Data Transfer Support
925 * - Bit[1]: Device to Device Transfer (D2DXFER) Support
926 * - Bit[2]: Device to Device Transfer (D2DXFER) IBI Capable
927 * - Bit[3]: Defining Byte Support in GETCAPS
928 * - Bit[4]: Defining Byte Support in GETSTATUS
929 * - Bit[5]: HDR-BT CRC-32 Support
930 * - Bit[6]: IBI MDB Support for Pending Read Notification
931 * - Bit[7]: Reserved
933 * - Bit[7:0]: Reserved
956 * - Bit[0]: Hot-Join Support
957 * - Bit[1]: Group Management Support
958 * - Bit[2]: Multi-Lane Support
960 * - Bit[0]: In-Band Interrupt Support
961 * - Bit[1]: Controller Pass-Back
962 * - Bit[2]: Deep Sleep Capable
963 * - Bit[3]: Delayed Controller Handoff
970 * - Bit[2:0]: Virtual Target Type
971 * - Bit[4]: Side Effects
972 * - Bit[5]: Shared Peripheral Detect
974 * - Bit[1:0]: Interrupt Requests
975 * - Bit[2]: Address Remapping
976 * - Bit[4:3]: Bus Context and Conditions
982 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR-DDR mode bit. */
985 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR-TSP mode bit. */
988 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR-TSL mode bit. */
991 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR-BT mode bit. */
995 * @brief Get Optional Feature Capabilities Byte 1 (GETCAPS) - HDR Mode
1003 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 0. */
1006 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 1. */
1009 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 2. */
1012 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 3. */
1015 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 4. */
1018 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 5. */
1021 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 6. */
1024 /** Get Optional Feature Capabilities Byte 1 (GETCAPS) Format 1 - HDR Mode 7. */
1027 /** Get Optional Feature Capabilities Byte 2 (GETCAPS) Format 1 - HDR-DDR Write Abort bit. */
1030 /** Get Optional Feature Capabilities Byte 2 (GETCAPS) Format 1 - HDR-DDR Abort CRC bit. */
1034 * @brief Get Optional Feature Capabilities Byte 2 (GETCAPS) Format 1 -
1040 * @brief Get Optional Feature Capabilities Byte 2 (GETCAPS) Format 1 - Group Address Capabilities.
1051 * @brief Get Optional Feature Capabilities Byte 2 (GETCAPS) Format 1 -
1057 * @brief Get Optional Feature Capabilities Byte 2 (GETCAPS) Format 1 -
1069 * @brief Get Optional Feature Capabilities Byte 3 (GETCAPS) Format 1 -
1070 * Multi-Lane Data Transfer Support bit.
1075 * @brief Get Optional Feature Capabilities Byte 3 (GETCAPS) Format 1 -
1081 * @brief Get Optional Feature Capabilities Byte 3 (GETCAPS) Format 1 -
1087 * @brief Get Optional Feature Capabilities Byte 3 (GETCAPS) Format 1 -
1093 * @brief Get Optional Feature Capabilities Byte 3 (GETCAPS) Format 1 -
1099 * @brief Get Optional Feature Capabilities Byte 3 (GETCAPS) Format 1 -
1100 * HDR-BT CRC-32 Support bit.
1105 * @brief Get Optional Feature Capabilities Byte 3 (GETCAPS) Format 1 -
1111 * @brief Get Fixed Test Pattern (GETCAPS) Format 2 -
1117 * @brief Get Fixed Test Pattern (GETCAPS) Format 2 -
1123 * @brief Get Fixed Test Pattern (GETCAPS) Format 2 -
1129 * @brief Get Fixed Test Pattern (GETCAPS) Format 2 -
1135 * @brief Get Fixed Test Pattern (GETCAPS) Format 2 -
1141 * @brief Get Controller Handoff Capabilities Byte 1 (GETCAPS) Format 2 -
1142 * Hot-Join Support.
1147 * @brief Get Controller Handoff Capabilities Byte 1 (GETCAPS) Format 2 -
1153 * @brief Get Controller Handoff Capabilities Byte 1 (GETCAPS) Format 2 -
1154 * Multi-Lane Support.
1159 * @brief Get Controller Handoff Capabilities Byte 2 (GETCAPS) Format 2 -
1160 * In-Band Interrupt Support.
1165 * @brief Get Controller Handoff Capabilities Byte 2 (GETCAPS) Format 2 -
1166 * Controller Pass-Back.
1171 * @brief Get Controller Handoff Capabilities Byte 2 (GETCAPS) Format 2 -
1177 * @brief Get Controller Handoff Capabilities Byte 2 (GETCAPS) Format 2 -
1182 /** Get Capabilities (GETCAPS) - VTCAP1 - Virtual Target Type bitmask. */
1186 * @brief Get Capabilities (GETCAPS) - VTCAP1 - Virtual Target Type
1197 * @brief Get Virtual Target Capabilities Byte 1 (GETCAPS) Format 2 -
1203 * @brief Get Virtual Target Capabilities Byte 1 (GETCAPS) Format 2 -
1208 /** Get Capabilities (GETCAPS) - VTCAP2 - Interrupt Requests bitmask. */
1212 * @brief Get Capabilities (GETCAPS) - VTCAP2 - Interrupt Requests
1223 * @brief Get Virtual Target Capabilities Byte 2 (GETCAPS) Format 2 -
1228 /** Get Capabilities (GETCAPS) - VTCAP2 - Bus Context and Condition bitmask. */
1232 * @brief Get Capabilities (GETCAPS) - VTCAP2 - Bus Context and Condition
1278 * - CONTEXT[7:6]: 2'b00
1280 * - CONTEXT[5]: I3C Specification Editorial Revision (within Minor Version)
1281 * - 0: Version 1.Y.0
1282 * - 1: Version 1.Y.1 or greater
1284 * - CONTEXT[4]: I3C Specification Family
1285 * - 0: MIPI I3C Specification
1286 * - 1: MIPI I3C Basic Specification
1288 * - CONTEXT[3:0]: I3C Specification Minor Version (v1.Y)
1289 * - 0: Illegal, do not use (see Note below)
1291 * - 1-15: Version 1.1 - Version 1.15
1373 return (payload->ccc.id <= I3C_CCC_BROADCAST_MAX_ID); in i3c_ccc_is_payload_broadcast()
1424 * @param[in] controller Pointer to the controller device driver instance.
1429 int i3c_ccc_do_rstact_all(const struct device *controller,
1441 * @param[out] data Pointer to RSTACT payload received.
1448 uint8_t *data);
1475 * @param[out] data Pointer to RSTACT payload received.
1481 uint8_t *data) in i3c_ccc_do_rstact_fmt3() argument
1483 return i3c_ccc_do_rstact(target, action, true, data); in i3c_ccc_do_rstact_fmt3()
1491 * @param[in] controller Pointer to the controller device driver instance.
1495 int i3c_ccc_do_rstdaa_all(const struct device *controller);
1536 * @param[in] controller Pointer to the controller device driver instance.
1542 int i3c_ccc_do_events_all_set(const struct device *controller,
1576 * Helper function to do ENTAS0 setting the minimum bus activity level to 1us
1591 * Helper function to do ENTAS1 setting the minimum bus activity level to 100us
1638 * @param[in] controller Pointer to the controller device driver instance.
1643 int i3c_ccc_do_entas_all(const struct device *controller, uint8_t as);
1648 * Helper function to do ENTAS0 setting the minimum bus activity level to 1us
1650 * @param[in] controller Pointer to the controller device driver instance.
1654 static inline int i3c_ccc_do_entas0_all(const struct device *controller) in i3c_ccc_do_entas0_all() argument
1656 return i3c_ccc_do_entas_all(controller, 0); in i3c_ccc_do_entas0_all()
1662 * Helper function to do ENTAS1 setting the minimum bus activity level to 100us
1664 * @param[in] controller Pointer to the controller device driver instance.
1668 static inline int i3c_ccc_do_entas1_all(const struct device *controller) in i3c_ccc_do_entas1_all() argument
1670 return i3c_ccc_do_entas_all(controller, 1); in i3c_ccc_do_entas1_all()
1678 * @param[in] controller Pointer to the controller device driver instance.
1682 static inline int i3c_ccc_do_entas2_all(const struct device *controller) in i3c_ccc_do_entas2_all() argument
1684 return i3c_ccc_do_entas_all(controller, 2); in i3c_ccc_do_entas2_all()
1692 * @param[in] controller Pointer to the controller device driver instance.
1696 static inline int i3c_ccc_do_entas3_all(const struct device *controller) in i3c_ccc_do_entas3_all() argument
1698 return i3c_ccc_do_entas_all(controller, 3); in i3c_ccc_do_entas3_all()
1707 * @param[in] controller Pointer to the controller device driver instance.
1712 int i3c_ccc_do_setmwl_all(const struct device *controller,
1749 * @param[in] controller Pointer to the controller device driver instance.
1756 int i3c_ccc_do_setmrl_all(const struct device *controller,
1799 * @param[in] controller Pointer to the controller device driver instance.
1804 int i3c_ccc_do_enttm(const struct device *controller,
1993 * @param[in] controller Pointer to the controller device driver instance.
2000 int i3c_ccc_do_setvendor_all(const struct device *controller,
2012 * @param[in] controller Pointer to the controller device driver instance.
2016 int i3c_ccc_do_setaasa_all(const struct device *controller);
2019 * @brief Single target GETMXDS to Get Max Data Speed.
2021 * Helper function to do GETMXDS (Get Max Data Speed) of
2024 * This should only be supported if Max Data Speed Limit Bit of
2040 * @brief Single target GETMXDS to Get Max Data Speed (Format 1).
2042 * Helper function to do GETMXDS (Get Max Data Speed, format 1) of
2059 * @brief Single target GETMXDS to Get Max Data Speed (Format 2).
2061 * Helper function to do GETMXDS (Get Max Data Speed, format 2) of
2078 * @brief Single target GETMXDS to Get Max Data Speed (Format 3).
2080 * Helper function to do GETMXDS (Get Max Data Speed, format 3) of
2100 * @param[in] controller Pointer to the controller device driver instance.
2105 int i3c_ccc_do_deftgts_all(const struct device *controller,
2113 * @param[in] controller Pointer to the controller device driver instance.
2119 int i3c_ccc_do_setbuscon(const struct device *controller,