LPC55S36 I3C Implement Pending Read Notification

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC55S36 I3C Implement Pending Read Notification

Jump to solution
384 Views
bell_huang
Contributor III

I am using the LPC5536-EVK as an I3C Master and can successfully receive IBI events. However, Section 5.1.6.2.2 in the I3C Basic Specification v1.1.1 (or Section 4.3.6.2.2 in I3C Basic Specification v1.2) defines Pending Read Notification. After reviewing fsl_i3c.c in the LPC55S36 SDK, I believe this feature is not implemented. I would like to know if the NXP SDK development team has any plans to add this feature in a future release.

 

Pending Read Notification (excerpt from the specification):

Target Devices that support In-Band Interrupt requests may also implement support for a particular Pending Read Notification contract, by which they may inform the Controller that there is data to be read for a specific purpose.
...
To signal a Pending Read Notification, the Target shall send an IBI with a Mandatory Data Byte value for which the first three bits (i.e., Interrupt Group Identifier) match 3’b101.
...
Once the IBI and its MDB has been serviced and accepted, the Controller is obligated to initiate a subsequent Private Read request to the Target, to read the data that has been made available and ready for this Private Read request. The Controller may do this immediately after the IBI has been serviced, or it may do this at a later time.
...

 

The transfer format for Pending Read Notification can be referenced in the following document, specifically Figure 6 – MCTP over I3C packet transfer format: I3C Target to I3C Controller:

Management Component Transport Protocol 7 (MCTP) I3C Transport Binding Specification 

From the transfer format, it can be seen that Pending Read Notification essentially means that after the Master receives an IBI event, it then sends a Private Read to the corresponding Slave. Between these operations, either a STOP + START sequence or a Repeated START can be used.


With the current SDK, the STOP + START sequence is possible (equivalent to calling Read inside i3c_callback). However, the current SDK does not support performing this operation as a Repeated START.

0 Kudos
Reply
1 Solution
229 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @bell_huang 

We are considering adding this feature and will implement it in the future.

May i ask  two questions?

1. Is this application currently implemented on existing sensors?

2. How about implementing it with a custom protocol?

BR

Harry

View solution in original post

0 Kudos
Reply
4 Replies
230 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @bell_huang 

We are considering adding this feature and will implement it in the future.

May i ask  two questions?

1. Is this application currently implemented on existing sensors?

2. How about implementing it with a custom protocol?

BR

Harry

0 Kudos
Reply
221 Views
bell_huang
Contributor III

Hi @Harry_Zhang ,

Thank you for your reply.
1. Is this application currently implemented on existing sensors?
We currently do not have any existing sensors that support this feature. However, we are planning to implement it in a sensor that is currently under development. There will be two application scenarios:

(a) The Master sends a specific request, and the sensor responds with an IBI + Pending Read Notification.
(b) The sensor proactively issues a notification with an IBI + Pending Read Notification.

2. How about implementing it with a custom protocol?
This can traditionally be achieved, for example in I2C, where the sensor issues only an interrupt. The Master then needs to read a specific register to determine the purpose of the interrupt, and subsequently read the corresponding data (response or notification).

We only recently learned about I3C IBI with Pending Read Notification. Compared to the traditional method, it is much cleaner and more efficient. Therefore, we are planning to incorporate this feature into future sensor designs.

0 Kudos
Reply
211 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @bell_huang 

Thanks for your information.

BR

Harry

0 Kudos
Reply
340 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @bell_huang 

" I would like to know if the NXP SDK development team has any plans to add this feature in a future release."

I need to confirm it with the SDK team.

BR

Harry

0 Kudos
Reply