Skip to content

Commit c6f6644

Browse files
bluehyperXStaticRocket
authored andcommitted
fix(tools): simplify K3 Resource Partitioning documentation
Replace detailed K3 Resource Partitioning content with link to comprehensive user guide already available on TIREX. This avoids duplication of information and improves maintainability. Also, remove associated images which are no longer needed. Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
1 parent 58c419c commit c6f6644

10 files changed

+9
-273
lines changed
Lines changed: 9 additions & 273 deletions
Original file line numberDiff line numberDiff line change
@@ -1,278 +1,14 @@
1-
K3 Resource Partitioning Tool
1+
K3 resource partitioning tool
22
=============================
33

4-
The Keystone3 Resource Partitioning tool partitions various system
5-
resources among different software components in a multi-core SoC.
6-
Texas Instruments developed this tool based on their SysConfig tool.
4+
A multi-core System-on-Chip (SoC) has many software components.
5+
This tool divides system resources among them.
76

8-
System integrators typically use this tool to assign **resources**
9-
to different software parts. These resources include Direct Memory
10-
Access (DMA) channels, rings, proxies, interrupts, and more.
7+
Use this tool to:
118

12-
The tool also supports Quality of Service (QoS) and firewall
13-
settings to help partition **peripheral devices** for different
14-
software components.
15-
16-
Getting started
17-
---------------
18-
19-
The K3 Resource Partitioning Tool is available on the TI Developer Zone
20-
as K3 Resource Configuration. You can use the tool online and locally
21-
within the SDK.
22-
23-
Accessing the tool online
24-
^^^^^^^^^^^^^^^^^^^^^^^^^
25-
26-
.. note::
27-
28-
We recommend using this method.
29-
30-
To access the tool, follow these steps:
31-
32-
1. **Open the Tool**: Go to https://dev.ti.com/sysconfig/?product=K3-RESOURCE-CONFIGURATION
33-
to open the tool. Log in to your TI account if needed.
34-
35-
.. figure:: /images/k3_resource_config_startpage.png
36-
:scale: 75%
37-
:align: center
38-
39-
2. **Select Your Device**: Choose your device from the list.
40-
41-
.. figure:: /images/k3_resource_config_device_selection.png
42-
:scale: 75%
43-
:align: center
44-
45-
3. **Start Configuring Resources**: Click ``Latest Baseline Design`` to set
46-
up resources using the latest baseline for your device. Or pick a
47-
Processor SDK version-specific Baseline Design to match a specific SDK
48-
release.
49-
50-
.. figure:: /images/k3_resource_config_device_selected.png
51-
:scale: 75%
52-
:align: center
53-
54-
.. figure:: /images/am62px_respart_tool_main.png
55-
:scale: 70%
56-
:align: center
57-
58-
Accessing the tool locally
59-
^^^^^^^^^^^^^^^^^^^^^^^^^^
60-
61-
To use the tool locally, follow these instructions:
62-
63-
1. **Download and Install SysConfig**: Download and install the latest
64-
SysConfig tool from the `SysConfig release download link
65-
<https://www.ti.com/tool/download/SYSCONFIG>`__
66-
2. **Locate the Tool**: Find the **k3-respart-tool** folder in your SDK.
67-
3. **Open SysConfig GUI**: Start the SysConfig. In the GUI, select the
68-
**software product** by browsing to your **k3-respart-tool** location.
69-
70-
.. figure:: /images/k3_resource_config_product_selection_local.png
71-
:scale: 75%
72-
:align: center
73-
74-
.. figure:: /images/k3_resource_config_product_selected_local.png
75-
:scale: 75%
76-
:align: center
77-
78-
4. **Select Your Device**: Pick your target device from the list.
79-
80-
.. figure:: /images/k3_resource_config_device_selection_local.png
81-
:scale: 75%
82-
:align: center
83-
84-
5. **Start Configuring Resources**: Click ``Latest Baseline Design`` to set
85-
up resources using the latest baseline for your device. Or pick a
86-
Processor SDK version-specific Baseline Design to match a specific SDK
87-
release.
88-
89-
.. figure:: /images/k3_resource_config_device_selected_local.png
90-
:scale: 75%
91-
:align: center
92-
93-
.. figure:: /images/am62px_respart_tool_main_local.png
94-
:scale: 70%
95-
:align: center
96-
97-
Usage
98-
-----
99-
100-
After the design loads, you can use the Resource Partitioning, Bandwidth (BW)
101-
Limiter, and Quality of Service (QoS) Configuration modules.
102-
103-
Resource partitioning
104-
^^^^^^^^^^^^^^^^^^^^^
105-
106-
The resource partitioning module divides resources among different hosts in
107-
the system. A **host** is a software part that communicates with **System
108-
Firmware** (SYSFW) using its own context. The module create a **Resource
109-
Management Board Configuration** file, which defines the resource partitioning.
110-
The boot loader passes this file to System Firmware during boot.
111-
112-
In the left pane of GUI, you see the available hosts and what resources each
113-
one has. There are different resource **groups**, where you set the required
114-
**count** for each resource. The tool assigns resources based on the counts
115-
you set for all hosts. Besides allocating resources, you can configure
116-
different **host capabilities**. Click the **?** next to a host's name to read
117-
the detailed documentation for that host module.
118-
119-
.. _resource_totals:
120-
121-
Review resource allocation
122-
^^^^^^^^^^^^^^^^^^^^^^^^^^
123-
124-
You can check the current resource split at any time. Select the **Resource
125-
Allocation Table** from the three dots at the top right of the tool. This
126-
section shows an HTML table of hosts and their allocated resources.
127-
Each row shows a certain resource. Each column shows the resource ranges
128-
assigned to a certain host.
129-
130-
Resource totals
131-
^^^^^^^^^^^^^^^
132-
133-
The last column, labeled ``ALL``, represents the total number of
134-
resources available to all hosts. This column is for the ``HOST_ID_ALL``
135-
value.
136-
137-
Certain hardware have some resources, such as ``GPIO interrupts`` and ``Virtual
138-
interrupts``, tied to them. For example, ``DMASS Interrupt Aggregator
139-
Virtual Interrupts`` connect directly to specific cores, so those interrupts
140-
cannot go to just any core. The tool only assign resources in ways that match
141-
the hardware.
142-
143-
The tool does not adjust the ``ALL`` column for host-specific resources.
144-
145-
Bandwidth limiters configuration
146-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147-
148-
This BW limiters configuration module helps you set up rate limiters for the SoC.
149-
Each rate limiter connects to a source VBUSM interface. You can set limits for
150-
reads, writes, and outstanding transactions. You can set these limits separately.
151-
152-
In the GUI, pick a device and turn on bandwidth or transaction limits as needed.
153-
The tool creates an address-value pair data structure in the **<soc>_qos_uboot.c**
154-
file. Software (usually the boot loader) uses this file to set the limits in the
155-
correct registers.
156-
157-
Quality of service configuration
158-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
159-
160-
This QoS configuration module helps you set up Central Bus Architecture Subsystem
161-
(CBASS) QoS endpoints. QoS configuration includes two types of parameters. QoS
162-
settings include parameters that tune DMA performance in the interconnect and set
163-
up Input/Output Memory Management Unit (IOMMU) paths for masters. Each device can
164-
use different Channel IDs for DMA requests. You can set a unique QoS for each channel.
165-
166-
In the GUI, pick a device, endpoints, and channels to set their QoS. You can add
167-
more than one QoS module for the same device provided that endpoints and channels
168-
do not overlap. The tool creates a simple address-value pair data structure in the
169-
**<soc>_qos_uboot.c** file. Software (such as the boot loader) uses this file to set
170-
all QoS settings.
171-
172-
Firewall configuration
173-
^^^^^^^^^^^^^^^^^^^^^^
174-
175-
.. note::
176-
177-
Currently u-boot cannot use the generated firewall files directly.
178-
The firewall support in u-boot is not added officially.
179-
180-
The Firewall configuration module creates the data you need to control firewalls.
181-
Firewalls control a host's access to a peripheral. Each firewall has a region.
182-
Pick a firewall and set the address range for the rules. Each region can have up
183-
to three permission slots. Each slot takes a name, Priv ID, and permissions. Many
184-
CPUs can share a Priv ID, so one slot can cover several CPUs. These slots decide
185-
what each CPU can do based on security level, privilege, and transaction type. For
186-
example, allow secure reads and writes but block insecure writes from A72 to
187-
Multimedia Card (MMC).
188-
189-
By default, the tool sets the start and end addresses in the region, but you can
190-
set a custom region if needed. You can also pick a host's name and the tool fills
191-
in the Priv ID. With this data, the tool creates an array of Texas Instruments
192-
System Controller Interface (TISCI) message data to send to SYSFW for firewall
193-
setup.
194-
195-
Generating output files
196-
^^^^^^^^^^^^^^^^^^^^^^^
197-
198-
The tool creates different files with RM board config data, QoS settings, and
199-
firewall settings. Here is how you use these files:
200-
201-
.. list-table::
202-
:header-rows: 1
203-
:widths: 20 15 30 35
204-
205-
* - Filename
206-
- Used by
207-
- Output destination
208-
- Comments
209-
* - :file:`rm-cfg.c`
210-
- k3-image-gen
211-
- :file:`soc/<soc>/<profile>/`
212-
- e.g. - :file:`k3-image-gen/soc/j721e/evm/rm-cfg.c`
213-
* - :file:`sciclient_defaultBoardcfg_rm.c`
214-
- PDK sciclient
215-
- :file:`packages/ti/drv/sciclient/soc/V<X>/`
216-
- e.g. - :file:`pdk/packages/ti/drv/sciclient/soc/V1/sciclient_defaultBoardcfg_rm.c`
217-
* - :file:`sciclient_defaultBoardcfg_rm_mcusdk.c`
218-
- MCU+ SDK sciclient
219-
- :file:`source/drivers/sciclient/sciclient_default_boardcfg/am62x/`
220-
- e.g. - :file:`mcu_plus_sdk/source/drivers/sciclient/sciclient_default_boardcfg/am62x/sciclient_defaultBoardcfg_rm.c` (Drop :file:`_mcusdk` from filename)
221-
* - :file:`sciclient_defaultBoardcfg_tifs_rm.c`
222-
- PDK sciclient
223-
- :file:`packages/ti/drv/sciclient/soc/V<X>/`
224-
- e.g. - :file:`pdk/packages/ti/drv/sciclient/soc/V2/sciclient_defaultBoardcfg_tifs_rm.c`
225-
* - :file:`tifs-rm-cfg.c`
226-
- k3-image-gen
227-
- :file:`soc/<soc>/<profile>/`
228-
- e.g. - :file:`k3-image-gen/soc/j721e/evm/tifs-rm-cfg.c`
229-
* - :file:`<soc>_qos.h`
230-
- U-boot
231-
- :file:`ti-u-boot/arch/arm/mach-k3/r5/<soc>/<soc>_qos.h`
232-
- e.g. - :file:`ti-u-boot/arch/arm/mach-k3/r5/am62ax/am62a_qos.h`
233-
* - :file:`<soc>_qos_uboot.c`
234-
- U-boot
235-
- :file:`ti-u-boot/arch/arm/mach-k3/r5/<soc>/`
236-
- e.g. - :file:`ti-u-boot/arch/arm/mach-k3/r5/am62ax/am62a_qos_uboot.c`
237-
* - :file:`<soc>_qos_data.c`
238-
- MCU+ SDK / PDK QoS
239-
- :file:`source/drivers/qos/v0/soc/<soc>/qos_data.h` and :file:`packages/ti/boot/sbl/soc/k3/<soc>_qos_data.c`
240-
- e.g. - :file:`source/drivers/qos/v0/soc/am62ax/qos_data.h` and :file:`packages/ti/boot/sbl/soc/k3/j721s2_qos_data.c`
241-
* - :file:`<soc>-firewall-config.c`
242-
- U-boot
243-
- Not yet supported
244-
-
245-
* - :file:`<soc>-firewall-config.c`
246-
- SBL
247-
- Not yet supported
248-
-
249-
* - :file:`sciclient_defaultBoardcfg.c`
250-
- PDK sciclient
251-
- :file:`packages/ti/drv/sciclient/soc/V<X>/`
252-
- e.g. - :file:`pdk/packages/ti/drv/sciclient/soc/V1/sciclient_defaultBoardcfg.c`
253-
* - :file:`sysfw_img_cfg.h`
254-
- k3-image-gen
255-
- :file:`soc/<soc>/<profile>/`
256-
- e.g. - :file:`k3-image-gen/soc/j721e/evm/sysfw_img_cfg.h`
257-
* - :file:`rm-cfg.yaml`
258-
- U-boot
259-
- :file:`ti-u-boot/board/ti/<soc>/`
260-
- e.g. - :file:`ti-u-boot/board/ti/am62ax/rm-cfg.yaml`
261-
* - :file:`tifs-rm-cfg.yaml`
262-
- U-boot
263-
- :file:`ti-u-boot/board/ti/<soc>/`
264-
- e.g. - :file:`ti-u-boot/board/ti/am62ax/tifs-rm-cfg.yaml`
265-
266-
Troubleshooting
267-
---------------
268-
269-
- If you see **No product with name "K3-Respart-Tool" and version 1.0.0 found**,
270-
you likely missed the step to select the **software product**.
271-
- If you get error ``XYZ`` **is not generated when configuration errors exist**,
272-
your resource split has errors. Adjust the allocation to fix them, then generate
273-
the output files.
274-
- If you remove resources from a core and the ``ALL`` column in the "Resource
275-
Allocation Table" does not change, those resources belong only to that core.
276-
:ref:`See "Resource Totals" under "Review Resource Allocation" for more details
277-
<resource_totals>`.
9+
* Assign Direct Memory Access (DMA) channels
10+
* Assign rings, proxies, and interrupts
11+
* Set Quality of Service (QoS) for devices
27812

13+
For more information, see the
14+
`K3 Resource Partitioning Tool user guide <https://dev.ti.com/tirex/content/tirex-product-tree/processors-utilities_1_1_0/k3_resource_configuration_users_guide.html>`__.
-296 KB
Binary file not shown.
-255 KB
Binary file not shown.
-87.5 KB
Binary file not shown.
-67.8 KB
Binary file not shown.
-65 KB
Binary file not shown.
-45 KB
Binary file not shown.
-42.4 KB
Binary file not shown.
-46.7 KB
Binary file not shown.
-55.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)