forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.1 KiB
62 lines
2.1 KiB
.. SPDX-License-Identifier: GPL-2.0 |
|
|
|
=================== |
|
MIPI SyS-T over STP |
|
=================== |
|
|
|
The MIPI SyS-T protocol driver can be used with STM class devices to |
|
generate standardized trace stream. Aside from being a standard, it |
|
provides better trace source identification and timestamp correlation. |
|
|
|
In order to use the MIPI SyS-T protocol driver with your STM device, |
|
first, you'll need CONFIG_STM_PROTO_SYS_T. |
|
|
|
Now, you can select which protocol driver you want to use when you create |
|
a policy for your STM device, by specifying it in the policy name: |
|
|
|
# mkdir /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/ |
|
|
|
In other words, the policy name format is extended like this: |
|
|
|
<device_name>:<protocol_name>.<policy_name> |
|
|
|
With Intel TH, therefore it can look like "0-sth:p_sys-t.my-policy". |
|
|
|
If the protocol name is omitted, the STM class will chose whichever |
|
protocol driver was loaded first. |
|
|
|
You can also double check that everything is working as expected by |
|
|
|
# cat /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/protocol |
|
p_sys-t |
|
|
|
Now, with the MIPI SyS-T protocol driver, each policy node in the |
|
configfs gets a few additional attributes, which determine per-source |
|
parameters specific to the protocol: |
|
|
|
# mkdir /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/default |
|
# ls /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/default |
|
channels |
|
clocksync_interval |
|
do_len |
|
masters |
|
ts_interval |
|
uuid |
|
|
|
The most important one here is the "uuid", which determines the UUID |
|
that will be used to tag all data coming from this source. It is |
|
automatically generated when a new node is created, but it is likely |
|
that you would want to change it. |
|
|
|
do_len switches on/off the additional "payload length" field in the |
|
MIPI SyS-T message header. It is off by default as the STP already |
|
marks message boundaries. |
|
|
|
ts_interval and clocksync_interval determine how much time in milliseconds |
|
can pass before we need to include a protocol (not transport, aka STP) |
|
timestamp in a message header or send a CLOCKSYNC packet, respectively. |
|
|
|
See Documentation/ABI/testing/configfs-stp-policy-p_sys-t for more |
|
details. |
|
|
|
* [1] https://www.mipi.org/specifications/sys-t
|
|
|