SNIS217C december 2020 – may 2023 TMP139
PRODUCTION DATA
Refer to the PDF data sheet for device specific package drawings
The TMP139 supports a subset of the CCC as listed in the I3C basic specification and shown in Table 7-6. Only CCC specified in the JESD302-1 are supported and the TMP139 shall either NACK unsupported CCC (if possible) or ignore the actions when on a generic I3C bus. Similarly, for supported CCC—depending on whether the TMP139 is in I2C or I3C mode—if a non-applicable CCC is sent, the device shall ignore the actions.
The TMP139 requires a Stop condition on the bus after receiving any CCC before it can process a device specific read or write operation. Similarly, when processing a device specific read or write condition, a Stop on the bus should follow before any CCC can be issued.
The TMP139 can receive a direct CCC with a Repeated Start condition after another direct CCC. Similarly, it is valid to send a broadcast CCC following another broadcast CCC with a Repeated Start in between. In such a case, the action taken by the device will only be updated following a Stop condition on the bus. The behavior of TMP139 is not defined if a direct CCC is followed by a broadcast CCC or vice-versa with a Repeated Start. For example, it is a legal combination in I2C mode to send a SETHID CCC, followed by a Repeated Start, then a SETAASA CCC followed by a Stop condition. However, in I3C mode, sending a direct ENEC CCC followed by Repeated Start and then a broadcast DEVCTRL CCC is not a valid condition for the TMP139. The host must issue a Stop after ENEC CCC, before it sends a broadcast DEVCTRL CCC.
The CCC sent to the TMP139 may either be a broadcast code or a direct code. All CCC operations require the host to send 7'h7E with R/W = 0, followed by the CCC and payload bytes specific to the CCC. For a direct CCC, the host shall issue a Repeated Start on the bus after the CCC byte followed by the payload bytes.
CCC | Mode | Code | Description | Applicable in I2C Mode | Applicable in I3C Mode |
---|---|---|---|---|---|
ENEC | Broadcast | 0x00 | Enable Event Interrupts | No | Yes |
Direct | 0x80 | ||||
DISEC | Broadcast | 0x01 | Disable Event Interrupts | No | Yes |
Direct | 0x81 | ||||
RSTDAA | Broadcast | 0x06 | Put the device in I2C mode | No | Yes |
SETAASA | Broadcast | 0x29 | Put the device in I3C Basic Mode | Yes | No |
GETSTATUS | Direct | 0x90 | Get Device Status | No | Yes |
DEVCAP | Direct | 0xE0 | Get Device Capability | No | Yes |
SETHID | Broadcast | 0x61 | TMP139 updates 3-bit HID field | Yes | No |
DEVCTRL | Broadcast | 0x62 | Configure Device | Yes | Yes |