The outbound TLP packets on CXS contain CCIX messages that are events based on what has occurred on any of the AXI slave ports, or as a response to the CXS inbound messages. The first are primarily requests and the second are snoop responses or CompAck.
The CXS links work the same independent of direction: CXS0_VALID_TX/CXS0_VALID_RX is asserted when valid information is available on CXS0_DATA_TX
/CXS0_DATA_RX.
Framing of data is defined in CXS0_CNTL_TX/CXS0_CNTL_RX, for example start and stop of packets.
Since CXS is credit based, there are no ready signals to indicate when a
valid FLIT is consumed, it is implicitly only valid for a single clock cycle. To
distribute credits the receiver side, which is the owner of the credits, asserts CXS0_CRDGNT_TX/CXS0_CRDGNT_RX one cycle per credit granted to the transmit side. This
mean that credits need to be distributed before any traffic can occur. The credit
distribution is usually initiated when a CXS link is activated with a
request/acknowledge handshake, such as CXS0_ACTIVE_REQ_TX/CXS0_ACTIVE_ACK_TX.
For more detailed information of CXS framing see Arm AMBA CXS Protocol Specification, ARM IHI 0079A, and for the actual embedded messages see CCIX Base Specification Revision 1.1 Version 1.0.