~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/trace/coresight/ultrasoc-smb.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 ======================================
  4 UltraSoc - HW Assisted Tracing on SoC
  5 ======================================
  6    :Author:   Qi Liu <liuqi115@huawei.com>
  7    :Date:     January 2023
  8 
  9 Introduction
 10 ------------
 11 
 12 UltraSoc SMB is a per SCCL (Super CPU Cluster) hardware. It provides a
 13 way to buffer and store CPU trace messages in a region of shared system
 14 memory. The device acts as a coresight sink device and the
 15 corresponding trace generators (ETM) are attached as source devices.
 16 
 17 Sysfs files and directories
 18 ---------------------------
 19 
 20 The SMB devices appear on the existing coresight bus alongside other
 21 devices::
 22 
 23         $# ls /sys/bus/coresight/devices/
 24         ultra_smb0   ultra_smb1   ultra_smb2   ultra_smb3
 25 
 26 The ``ultra_smb<N>`` names SMB device associated with SCCL.::
 27 
 28         $# ls /sys/bus/coresight/devices/ultra_smb0
 29         enable_sink   mgmt
 30         $# ls /sys/bus/coresight/devices/ultra_smb0/mgmt
 31         buf_size  buf_status  read_pos  write_pos
 32 
 33 Key file items are:
 34 
 35    * ``read_pos``: Shows the value on the read pointer register.
 36    * ``write_pos``: Shows the value on the write pointer register.
 37    * ``buf_status``: Shows the value on the status register.
 38      BIT(0) is zero value which means the buffer is empty.
 39    * ``buf_size``: Shows the buffer size of each device.
 40 
 41 Firmware Bindings
 42 -----------------
 43 
 44 The device is only supported with ACPI. Its binding describes device
 45 identifier, resource information and graph structure.
 46 
 47 The device is identified as ACPI HID "HISI03A1". Device resources are allocated
 48 using the _CRS method. Each device must present two base address; the first one
 49 is the configuration base address of the device, the second one is the 32-bit
 50 base address of shared system memory.
 51 
 52 Example::
 53 
 54     Device(USMB) {                                               \
 55       Name(_HID, "HISI03A1")                                     \
 56       Name(_CRS, ResourceTemplate() {                            \
 57           QWordMemory (ResourceConsumer, , MinFixed, MaxFixed, NonCacheable, \
 58                        ReadWrite, 0x0, 0x95100000, 0x951FFFFF, 0x0, 0x100000) \
 59           QWordMemory (ResourceConsumer, , MinFixed, MaxFixed, Cacheable, \
 60                        ReadWrite, 0x0, 0x50000000, 0x53FFFFFF, 0x0, 0x4000000) \
 61       })                                                         \
 62       Name(_DSD, Package() {                                     \
 63         ToUUID("ab02a46b-74c7-45a2-bd68-f7d344ef2153"),          \
 64         /* Use CoreSight Graph ACPI bindings to describe connections topology */
 65         Package() {                                              \
 66           0,                                                     \
 67           1,                                                     \
 68           Package() {                                            \
 69             1,                                                   \
 70             ToUUID("3ecbc8b6-1d0e-4fb3-8107-e627f805c6cd"),      \
 71             8,                                                   \
 72             Package() {0x8, 0, \_SB.S00.SL11.CL28.F008, 0},       \
 73             Package() {0x9, 0, \_SB.S00.SL11.CL29.F009, 0},       \
 74             Package() {0xa, 0, \_SB.S00.SL11.CL2A.F010, 0},       \
 75             Package() {0xb, 0, \_SB.S00.SL11.CL2B.F011, 0},       \
 76             Package() {0xc, 0, \_SB.S00.SL11.CL2C.F012, 0},       \
 77             Package() {0xd, 0, \_SB.S00.SL11.CL2D.F013, 0},       \
 78             Package() {0xe, 0, \_SB.S00.SL11.CL2E.F014, 0},       \
 79             Package() {0xf, 0, \_SB.S00.SL11.CL2F.F015, 0},       \
 80           }                                                      \
 81         }                                                        \
 82       })                                                         \
 83     }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php