cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ti,pru-rproc.yaml (6605B)


      1# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/remoteproc/ti,pru-rproc.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: TI Programmable Realtime Unit (PRU) cores
      8
      9maintainers:
     10  - Suman Anna <s-anna@ti.com>
     11
     12description: |
     13  Each Programmable Real-Time Unit and Industrial Communication Subsystem
     14  (PRU-ICSS or PRUSS) has two 32-bit load/store RISC CPU cores called
     15  Programmable Real-Time Units (PRUs), each represented by a node. Each PRU
     16  core has a dedicated Instruction RAM, Control and Debug register sets, and
     17  use the Data RAMs present within the PRU-ICSS for code execution.
     18
     19  The K3 SoCs containing ICSSG v1.0 (eg: AM65x SR1.0) also have two Auxiliary
     20  PRU cores called RTUs with slightly different IP integration. The K3 SoCs
     21  containing the revised ICSSG v1.1 (eg: J721E, AM65x SR2.0) have an extra two
     22  auxiliary Transmit PRU cores called Tx_PRUs that augment the PRUs. Each RTU
     23  or Tx_PRU core can also be used independently like a PRU, or alongside a
     24  corresponding PRU core to provide/implement auxiliary functionality/support.
     25
     26  Each PRU, RTU or Tx_PRU core node should be defined as a child node of the
     27  corresponding PRU-ICSS node. Each node can optionally be rendered inactive by
     28  using the standard DT string property, "status".
     29
     30  Please see the overall PRU-ICSS bindings document for additional details
     31  including a complete example,
     32    Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
     33
     34properties:
     35  compatible:
     36    enum:
     37      - ti,am3356-pru   # for AM335x SoC family (AM3356+ SoCs only)
     38      - ti,am4376-pru   # for AM437x SoC family (AM4376+ SoCs only)
     39      - ti,am642-pru    # for PRUs in K3 AM64x SoC family
     40      - ti,am642-rtu    # for RTUs in K3 AM64x SoC family
     41      - ti,am642-tx-pru # for Tx_PRUs in K3 AM64x SoC family
     42      - ti,am5728-pru   # for AM57xx SoC family
     43      - ti,k2g-pru      # for 66AK2G SoC family
     44      - ti,am654-pru    # for PRUs in K3 AM65x SoC family
     45      - ti,am654-rtu    # for RTUs in K3 AM65x SoC family
     46      - ti,am654-tx-pru # for Tx_PRUs in K3 AM65x SR2.0 SoCs
     47      - ti,j721e-pru    # for PRUs in K3 J721E SoC family
     48      - ti,j721e-rtu    # for RTUs in K3 J721E SoC family
     49      - ti,j721e-tx-pru # for Tx_PRUs in K3 J721E SoC family
     50
     51  reg:
     52    items:
     53      - description: Address and Size of the PRU Instruction RAM
     54      - description: Address and Size of the PRU CTRL sub-module registers
     55      - description: Address and Size of the PRU Debug sub-module registers
     56
     57  reg-names:
     58    items:
     59      - const: iram
     60      - const: control
     61      - const: debug
     62
     63  firmware-name:
     64    description: |
     65      Should contain the name of the default firmware image
     66      file located on the firmware search path.
     67
     68if:
     69  properties:
     70    compatible:
     71      enum:
     72        - ti,am654-rtu
     73        - ti,j721e-rtu
     74        - ti,am642-rtu
     75then:
     76  properties:
     77    $nodename:
     78      pattern: "^rtu@[0-9a-f]+$"
     79else:
     80  if:
     81    properties:
     82      compatible:
     83        enum:
     84          - ti,am654-tx-pru
     85          - ti,j721e-tx-pru
     86          - ti,am642-tx-pru
     87  then:
     88    properties:
     89      $nodename:
     90        pattern: "^txpru@[0-9a-f]+"
     91  else:
     92    properties:
     93      $nodename:
     94        pattern: "^pru@[0-9a-f]+$"
     95
     96required:
     97  - compatible
     98  - reg
     99  - reg-names
    100  - firmware-name
    101
    102additionalProperties: false
    103
    104examples:
    105  - |
    106    /* AM33xx PRU-ICSS */
    107    pruss_tm: target-module@300000 {  /* 0x4a300000, ap 9 04.0 */
    108      compatible = "ti,sysc-pruss", "ti,sysc";
    109      #address-cells = <1>;
    110      #size-cells = <1>;
    111      ranges = <0x0 0x300000 0x80000>;
    112
    113      pruss: pruss@0 {
    114        compatible = "ti,am3356-pruss";
    115        reg = <0x0 0x80000>;
    116        #address-cells = <1>;
    117        #size-cells = <1>;
    118        ranges;
    119
    120        pruss_mem: memories@0 {
    121          reg = <0x0 0x2000>,
    122                <0x2000 0x2000>,
    123                <0x10000 0x3000>;
    124          reg-names = "dram0", "dram1", "shrdram2";
    125        };
    126
    127        pru0: pru@34000 {
    128          compatible = "ti,am3356-pru";
    129          reg = <0x34000 0x2000>,
    130                <0x22000 0x400>,
    131                <0x22400 0x100>;
    132          reg-names = "iram", "control", "debug";
    133          firmware-name = "am335x-pru0-fw";
    134        };
    135
    136        pru1: pru@38000 {
    137          compatible = "ti,am3356-pru";
    138          reg = <0x38000 0x2000>,
    139                <0x24000 0x400>,
    140                <0x24400 0x100>;
    141          reg-names = "iram", "control", "debug";
    142          firmware-name = "am335x-pru1-fw";
    143        };
    144      };
    145    };
    146
    147  - |
    148    /* AM65x SR2.0 ICSSG */
    149    #include <dt-bindings/soc/ti,sci_pm_domain.h>
    150
    151    icssg0: icssg@b000000 {
    152      compatible = "ti,am654-icssg";
    153      reg = <0xb000000 0x80000>;
    154      power-domains = <&k3_pds 62 TI_SCI_PD_EXCLUSIVE>;
    155      #address-cells = <1>;
    156      #size-cells = <1>;
    157      ranges = <0x0 0xb000000 0x80000>;
    158
    159      icssg0_mem: memories@0 {
    160        reg = <0x0 0x2000>,
    161              <0x2000 0x2000>,
    162              <0x10000 0x10000>;
    163        reg-names = "dram0", "dram1", "shrdram2";
    164      };
    165
    166      pru0_0: pru@34000 {
    167        compatible = "ti,am654-pru";
    168        reg = <0x34000 0x4000>,
    169              <0x22000 0x100>,
    170              <0x22400 0x100>;
    171        reg-names = "iram", "control", "debug";
    172        firmware-name = "am65x-pru0_0-fw";
    173      };
    174
    175      rtu0_0: rtu@4000 {
    176        compatible = "ti,am654-rtu";
    177        reg = <0x4000 0x2000>,
    178              <0x23000 0x100>,
    179              <0x23400 0x100>;
    180        reg-names = "iram", "control", "debug";
    181        firmware-name = "am65x-rtu0_0-fw";
    182      };
    183
    184      tx_pru0_0: txpru@a000 {
    185        compatible = "ti,am654-tx-pru";
    186        reg = <0xa000 0x1800>,
    187              <0x25000 0x100>,
    188              <0x25400 0x100>;
    189        reg-names = "iram", "control", "debug";
    190        firmware-name = "am65x-txpru0_0-fw";
    191      };
    192
    193      pru0_1: pru@38000 {
    194        compatible = "ti,am654-pru";
    195        reg = <0x38000 0x4000>,
    196              <0x24000 0x100>,
    197              <0x24400 0x100>;
    198        reg-names = "iram", "control", "debug";
    199        firmware-name = "am65x-pru0_1-fw";
    200      };
    201
    202      rtu0_1: rtu@6000 {
    203        compatible = "ti,am654-rtu";
    204        reg = <0x6000 0x2000>,
    205              <0x23800 0x100>,
    206              <0x23c00 0x100>;
    207        reg-names = "iram", "control", "debug";
    208        firmware-name = "am65x-rtu0_1-fw";
    209      };
    210
    211      tx_pru0_1: txpru@c000 {
    212        compatible = "ti,am654-tx-pru";
    213        reg = <0xc000 0x1800>,
    214              <0x25800 0x100>,
    215              <0x25c00 0x100>;
    216        reg-names = "iram", "control", "debug";
    217        firmware-name = "am65x-txpru0_1-fw";
    218      };
    219    };