Skip to content

Commit 30f5926

Browse files
feat(linux): AM62DX: Add doc for IPC
Add doc for IPC for AM62D. Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
1 parent 0ac1c54 commit 30f5926

File tree

4 files changed

+426
-2
lines changed

4 files changed

+426
-2
lines changed

configs/AM62DX/AM62DX_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ linux/Foundational_Components_Tools
6969
linux/Foundational_Components/Tools/Development_Tools
7070
linux/Foundational_Components/Tools/Pin_Mux_Tools
7171
linux/Foundational_Components/Tools/Flash_via_Fastboot
72+
linux/Foundational_Components_IPC62dx
7273
linux/Foundational_Components_ATF
7374
linux/Foundational_Components_OPTEE
7475

source/linux/Foundational_Components.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Foundational Components
2323
Foundational_Components_IPC_J722S
2424
Foundational_Components_IPC62x
2525
Foundational_Components_IPC62ax
26+
Foundational_Components_IPC62dx
2627
Foundational_Components_IPC62px
2728
Foundational_Components_IPC64x
2829
Foundational_Components_IPCLLD

source/linux/Foundational_Components/IPC/_RPMsg_char_driver.rst

Lines changed: 137 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,10 @@ rpmsg_char_close()
266266
+------------------+--------------------+---------+-----------------------------------+
267267
268268
269-
.. ifconfig:: CONFIG_part_variant in ('AM62AX')
269+
.. ifconfig:: CONFIG_part_variant in ('AM62AX','AM62DX')
270270

271271
The below table lists the device enumerations as defined in the
272-
rpmsg_char_library. The validity of the enumerations wrt AM62Ax is also
272+
rpmsg_char_library. The validity of the enumerations wrt |__PART_FAMILY_NAME__| is also
273273
specified.
274274

275275
.. code-block:: text
@@ -979,6 +979,100 @@ SDK wic image filesystem:
979979
980980
TEST STATUS: PASSED
981981
982+
.. ifconfig:: CONFIG_part_variant in ('AM62DX')
983+
984+
.. code-block:: console
985+
986+
# MCU R5F<->A53_0 IPC
987+
root@am62dxx-evm:~# rpmsg_char_simple -r0 -n10
988+
Created endpt device rpmsg-char-0-990, fd = 3 port = 1025
989+
Exchanging 10 messages with rpmsg device rpmsg-char-0-990 on rproc id 0 ...
990+
991+
Sending message #0: hello there 0!
992+
Receiving message #0: hello there 0!
993+
Sending message #1: hello there 1!
994+
Receiving message #1: hello there 1!
995+
Sending message #2: hello there 2!
996+
Receiving message #2: hello there 2!
997+
Sending message #3: hello there 3!
998+
Receiving message #3: hello there 3!
999+
Sending message #4: hello there 4!
1000+
Receiving message #4: hello there 4!
1001+
Sending message #5: hello there 5!
1002+
Receiving message #5: hello there 5!
1003+
Sending message #6: hello there 6!
1004+
Receiving message #6: hello there 6!
1005+
Sending message #7: hello there 7!
1006+
Receiving message #7: hello there 7!
1007+
Sending message #8: hello there 8!
1008+
Receiving message #8: hello there 8!
1009+
Sending message #9: hello there 9!
1010+
Receiving message #9: hello there 9!
1011+
1012+
Communicated 10 messages successfully on rpmsg-char-0-990
1013+
1014+
TEST STATUS: PASSED
1015+
1016+
# for DM R5F<->A53 IPC, use the below command. For remote proc ids, please refer to : 'https://git.ti.com/cgit/rpmsg/ti-rpmsg-char/tree/include/rproc_id.h'
1017+
root@am62dxx-evm:~# rpmsg_char_simple -r15 -n10
1018+
Created endpt device rpmsg-char-15-995, fd = 3 port = 1025
1019+
Exchanging 10 messages with rpmsg device rpmsg-char-15-995 on rproc id 15 ...
1020+
1021+
Sending message #0: hello there 0!
1022+
Receiving message #0: hello there 0!
1023+
Sending message #1: hello there 1!
1024+
Receiving message #1: hello there 1!
1025+
Sending message #2: hello there 2!
1026+
Receiving message #2: hello there 2!
1027+
Sending message #3: hello there 3!
1028+
Receiving message #3: hello there 3!
1029+
Sending message #4: hello there 4!
1030+
Receiving message #4: hello there 4!
1031+
Sending message #5: hello there 5!
1032+
Receiving message #5: hello there 5!
1033+
Sending message #6: hello there 6!
1034+
Receiving message #6: hello there 6!
1035+
Sending message #7: hello there 7!
1036+
Receiving message #7: hello there 7!
1037+
Sending message #8: hello there 8!
1038+
Receiving message #8: hello there 8!
1039+
Sending message #9: hello there 9!
1040+
Receiving message #9: hello there 9!
1041+
1042+
Communicated 10 messages successfully on rpmsg-char-15-995
1043+
1044+
TEST STATUS: PASSED
1045+
1046+
# C7x<->A53_0 IPC
1047+
root@am62dxx-evm:~# rpmsg_char_simple -r8 -n10
1048+
Created endpt device rpmsg-char-8-998, fd = 3 port = 1025
1049+
Exchanging 10 messages with rpmsg device rpmsg-char-8-998 on rproc id 8 ...
1050+
1051+
Sending message #0: hello there 0!
1052+
Receiving message #0: hello there 0!
1053+
Sending message #1: hello there 1!
1054+
Receiving message #1: hello there 1!
1055+
Sending message #2: hello there 2!
1056+
Receiving message #2: hello there 2!
1057+
Sending message #3: hello there 3!
1058+
Receiving message #3: hello there 3!
1059+
Sending message #4: hello there 4!
1060+
Receiving message #4: hello there 4!
1061+
Sending message #5: hello there 5!
1062+
Receiving message #5: hello there 5!
1063+
Sending message #6: hello there 6!
1064+
Receiving message #6: hello there 6!
1065+
Sending message #7: hello there 7!
1066+
Receiving message #7: hello there 7!
1067+
Sending message #8: hello there 8!
1068+
Receiving message #8: hello there 8!
1069+
Sending message #9: hello there 9!
1070+
Receiving message #9: hello there 9!
1071+
1072+
Communicated 10 messages successfully on rpmsg-char-8-127180
1073+
1074+
TEST STATUS: PASSED
1075+
9821076
.. rubric:: RPMsg kernel space example
9831077

9841078
The kernel space example is in the Linux Processor SDK under
@@ -1449,3 +1543,44 @@ SDK wic image filesystem:
14491543
[ 2081.878713] rpmsg_client_sample virtio2.ti.ipc4.ping-pong.-1.13: incoming msg 10 (src: 0xd)
14501544
[ 2081.887258] rpmsg_client_sample virtio2.ti.ipc4.ping-pong.-1.13: goodbye!
14511545
1546+
.. ifconfig:: CONFIG_part_variant in ('AM62DX')
1547+
1548+
.. code-block:: console
1549+
1550+
root@am62dxx-evm:~# modprobe rpmsg_client_sample count=10
1551+
[ 180.532155] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: new channel: 0x401 -> 0xd!
1552+
[ 180.532359] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 1 (src: 0xd)
1553+
[ 180.532457] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: new channel: 0x401 -> 0xd!
1554+
[ 180.532495] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 1 (src: 0xd)
1555+
[ 180.532571] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 2 (src: 0xd)
1556+
[ 180.532599] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 3 (src: 0xd)
1557+
[ 180.532626] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 4 (src: 0xd)
1558+
[ 180.532640] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: new channel: 0x401 -> 0xd!
1559+
[ 180.532654] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 5 (src: 0xd)
1560+
[ 180.532687] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 6 (src: 0xd)
1561+
[ 180.532711] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 7 (src: 0xd)
1562+
[ 180.532741] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 8 (src: 0xd)
1563+
[ 180.532780] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 2 (src: 0xd)
1564+
[ 180.532822] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 1 (src: 0xd)
1565+
[ 180.532853] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 2 (src: 0xd)
1566+
[ 180.532887] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 9 (src: 0xd)
1567+
[ 180.532915] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: incoming msg 10 (src: 0xd)
1568+
[ 180.532921] rpmsg_client_sample virtio1.rpmsg-client-sample.-1.13: goodbye!
1569+
[ 180.532940] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 3 (src: 0xd)
1570+
[ 180.533007] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 4 (src: 0xd)
1571+
[ 180.533047] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 3 (src: 0xd)
1572+
[ 180.533075] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 5 (src: 0xd)
1573+
[ 180.533109] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 6 (src: 0xd)
1574+
[ 180.533141] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 7 (src: 0xd)
1575+
[ 180.533171] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 8 (src: 0xd)
1576+
[ 180.533202] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 9 (src: 0xd)
1577+
[ 180.533238] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: incoming msg 10 (src: 0xd)
1578+
[ 180.533244] rpmsg_client_sample virtio2.rpmsg-client-sample.-1.13: goodbye!
1579+
[ 180.533264] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 4 (src: 0xd)
1580+
[ 180.533487] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 5 (src: 0xd)
1581+
[ 180.533766] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 6 (src: 0xd)
1582+
[ 180.534000] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 7 (src: 0xd)
1583+
[ 180.534216] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 8 (src: 0xd)
1584+
[ 180.534433] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 9 (src: 0xd)
1585+
[ 180.534654] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: incoming msg 10 (src: 0xd)
1586+
[ 180.534660] rpmsg_client_sample virtio0.rpmsg-client-sample.-1.13: goodbye!

0 commit comments

Comments
 (0)