| # SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note |
| # |
| # (C) COPYRIGHT 2022 ARM Limited. All rights reserved. |
| # |
| # This program is free software and is provided to you under the terms of the |
| # GNU General Public License version 2 as published by the Free Software |
| # Foundation, and any use by you of this program is subject to the terms |
| # of such GNU license. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, you can access it online at |
| # http://www.gnu.org/licenses/gpl-2.0.html. |
| # |
| # |
| ===================================== |
| ARM CoreSight Mali Source integration |
| ===================================== |
| |
| See Documentation/trace/coresight/coresight.rst for detailed information |
| about Coresight. |
| |
| This documentation will cover Mali specific devicetree integration. |
| |
| References to Sink ports are given as examples. Access to Sink is specific |
| to an implementation and would require dedicated kernel modules. |
| |
| ARM Coresight Mali Source ITM |
| ============================= |
| |
| Required properties |
| ------------------- |
| |
| - compatible: Has to be "arm,coresight-mali-source-itm" |
| - gpu : phandle to a Mali GPU definition |
| - port: |
| - endpoint: |
| - remote-endpoint: phandle to a Coresight sink port |
| |
| Example |
| ------- |
| |
| mali-source-itm { |
| compatible = "arm,coresight-mali-source-itm"; |
| gpu = <&gpu>; |
| port { |
| mali_source_itm_out_port0: endpoint { |
| remote-endpoint = <&mali_sink_in_port0>; |
| }; |
| }; |
| }; |
| |
| ARM Coresight Mali Source ETM |
| ============================= |
| |
| Required properties |
| ------------------- |
| |
| - compatible: Has to be "arm,coresight-mali-source-etm" |
| - gpu : phandle to a Mali GPU definition |
| - port: |
| - endpoint: |
| - remote-endpoint: phandle to a Coresight sink port |
| |
| Example |
| ------- |
| |
| mali-source-etm { |
| compatible = "arm,coresight-mali-source-etm"; |
| gpu = <&gpu>; |
| port { |
| mali_source_etm_out_port0: endpoint { |
| remote-endpoint = <&mali_sink_in_port1>; |
| }; |
| }; |
| }; |
| |
| ARM Coresight Mali Source ELA |
| ============================= |
| |
| Required properties |
| ------------------- |
| |
| - compatible: Has to be "arm,coresight-mali-source-ela" |
| - gpu : phandle to a Mali GPU definition |
| - signal-groups: Signal groups indexed from 0 to 5. |
| Used to configure the signal channels. |
| - sgN: Types of signals attached to one channel. |
| It can be more than one type in the case of |
| JCN request/response. |
| |
| Types: |
| - "jcn-request": Can share the channel with "jcn-response" |
| - "jcn-response": Can share the channel with "jcn-request" |
| - "ceu-execution": Cannot share the channel with other types |
| - "ceu-commands": Cannot share the channel with other types |
| - "mcu-ahbp": Cannot share the channel with other types |
| - "host-axi": Cannot share the channel with other types |
| |
| |
| If the HW implementation shares a common channel |
| for JCN response and request (total of 4 channels), |
| Refer to: |
| - "Example: Shared JCN request/response channel" |
| Otherwise (total of 5 channels), refer to: |
| - "Example: Split JCN request/response channel" |
| - port: |
| - endpoint: |
| - remote-endpoint: phandle to a Coresight sink port |
| |
| Example: Split JCN request/response channel |
| -------------------------------------------- |
| |
| This examples applies to implementations with a total of 5 signal groups, |
| where JCN request and response are assigned to independent channels. |
| |
| mali-source-ela { |
| compatible = "arm,coresight-mali-source-ela"; |
| gpu = <&gpu>; |
| signal-groups { |
| sg0 = "jcn-request"; |
| sg1 = "jcn-response"; |
| sg2 = "ceu-execution"; |
| sg3 = "ceu-commands"; |
| sg4 = "mcu-ahbp"; |
| sg5 = "host-axi"; |
| }; |
| port { |
| mali_source_ela_out_port0: endpoint { |
| remote-endpoint = <&mali_sink_in_port2>; |
| }; |
| }; |
| }; |
| |
| Example: Shared JCN request/response channel |
| -------------------------------------------- |
| |
| This examples applies to implementations with a total of 4 signal groups, |
| where JCN request and response are assigned to the same channel. |
| |
| mali-source-ela { |
| compatible = "arm,coresight-mali-source-ela"; |
| gpu = <&gpu>; |
| signal-groups { |
| sg0 = "jcn-request", "jcn-response"; |
| sg1 = "ceu-execution"; |
| sg2 = "ceu-commands"; |
| sg3 = "mcu-ahbp"; |
| sg4 = "host-axi"; |
| }; |
| port { |
| mali_source_ela_out_port0: endpoint { |
| remote-endpoint = <&mali_sink_in_port1>; |
| }; |
| }; |
| }; |