1440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22a218020SSuman Anna%YAML 1.2 32a218020SSuman Anna--- 42a218020SSuman Anna$id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml# 52a218020SSuman Anna$schema: http://devicetree.org/meta-schemas/core.yaml# 62a218020SSuman Anna 72a218020SSuman Annatitle: TI K3 DSP devices 82a218020SSuman Anna 92a218020SSuman Annamaintainers: 102a218020SSuman Anna - Suman Anna <s-anna@ti.com> 112a218020SSuman Anna 122a218020SSuman Annadescription: | 132a218020SSuman Anna The TI K3 family of SoCs usually have one or more TI DSP Core sub-systems 142a218020SSuman Anna that are used to offload some of the processor-intensive tasks or algorithms, 152a218020SSuman Anna for achieving various system level goals. 162a218020SSuman Anna 172a218020SSuman Anna These processor sub-systems usually contain additional sub-modules like 182a218020SSuman Anna L1 and/or L2 caches/SRAMs, an Interrupt Controller, an external memory 192a218020SSuman Anna controller, a dedicated local power/sleep controller etc. The DSP processor 202a218020SSuman Anna cores in the K3 SoCs are usually either a TMS320C66x CorePac processor or a 212a218020SSuman Anna TMS320C71x CorePac processor. 222a218020SSuman Anna 232a218020SSuman Anna Each DSP Core sub-system is represented as a single DT node. Each node has a 242a218020SSuman Anna number of required or optional properties that enable the OS running on the 252a218020SSuman Anna host processor (Arm CorePac) to perform the device management of the remote 262a218020SSuman Anna processor and to communicate with the remote processor. 272a218020SSuman Anna 282a218020SSuman Annaproperties: 292a218020SSuman Anna compatible: 30c6caf22eSSuman Anna enum: 3144d90833SHari Nagalla - ti,am62a-c7xv-dsp 32c6caf22eSSuman Anna - ti,j721e-c66-dsp 33c6caf22eSSuman Anna - ti,j721e-c71-dsp 3483b57e60SHari Nagalla - ti,j721s2-c71-dsp 352a218020SSuman Anna description: 3644d90833SHari Nagalla Use "ti,am62a-c7xv-dsp" for AM62A Deep learning DSPs on K3 AM62A SoCs 372a218020SSuman Anna Use "ti,j721e-c66-dsp" for C66x DSPs on K3 J721E SoCs 38c6caf22eSSuman Anna Use "ti,j721e-c71-dsp" for C71x DSPs on K3 J721E SoCs 3983b57e60SHari Nagalla Use "ti,j721s2-c71-dsp" for C71x DSPs on K3 J721S2 SoCs 402a218020SSuman Anna 412a218020SSuman Anna resets: 422a218020SSuman Anna description: | 432a218020SSuman Anna Should contain the phandle to the reset controller node managing the 442a218020SSuman Anna local resets for this device, and a reset specifier. 452a218020SSuman Anna maxItems: 1 462a218020SSuman Anna 472a218020SSuman Anna firmware-name: 482a218020SSuman Anna description: | 492a218020SSuman Anna Should contain the name of the default firmware image 502a218020SSuman Anna file located on the firmware search path 512a218020SSuman Anna 522a218020SSuman Anna mboxes: 532a218020SSuman Anna description: | 542a218020SSuman Anna OMAP Mailbox specifier denoting the sub-mailbox, to be used for 552a218020SSuman Anna communication with the remote processor. This property should match 562a218020SSuman Anna with the sub-mailbox node used in the firmware image. 572a218020SSuman Anna maxItems: 1 582a218020SSuman Anna 592a218020SSuman Anna memory-region: 602a218020SSuman Anna minItems: 2 612a218020SSuman Anna maxItems: 8 622a218020SSuman Anna description: | 632a218020SSuman Anna phandle to the reserved memory nodes to be associated with the remoteproc 642a218020SSuman Anna device. There should be at least two reserved memory nodes defined. The 652a218020SSuman Anna reserved memory nodes should be carveout nodes, and should be defined as 662a218020SSuman Anna per the bindings in 672a218020SSuman Anna Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt 682a218020SSuman Anna items: 692a218020SSuman Anna - description: region used for dynamic DMA allocations like vrings and 702a218020SSuman Anna vring buffers 712a218020SSuman Anna - description: region reserved for firmware image sections 722a218020SSuman Anna additionalItems: true 732a218020SSuman Anna 742a218020SSuman Anna# Optional properties: 752a218020SSuman Anna# -------------------- 762a218020SSuman Anna 772a218020SSuman Anna sram: 782a218020SSuman Anna $ref: /schemas/types.yaml#/definitions/phandle-array 792a218020SSuman Anna minItems: 1 802a218020SSuman Anna maxItems: 4 8139bd2b6aSRob Herring items: 8239bd2b6aSRob Herring maxItems: 1 832a218020SSuman Anna description: | 842a218020SSuman Anna phandles to one or more reserved on-chip SRAM regions. The regions 852a218020SSuman Anna should be defined as child nodes of the respective SRAM node, and 862a218020SSuman Anna should be defined as per the generic bindings in, 872a218020SSuman Anna Documentation/devicetree/bindings/sram/sram.yaml 882a218020SSuman Anna 89*430e2978SHari NagallaallOf: 90*430e2978SHari Nagalla - if: 91c6caf22eSSuman Anna properties: 92c6caf22eSSuman Anna compatible: 93c6caf22eSSuman Anna enum: 94c6caf22eSSuman Anna - ti,j721e-c66-dsp 95c6caf22eSSuman Anna then: 96c6caf22eSSuman Anna properties: 97c6caf22eSSuman Anna reg: 98c6caf22eSSuman Anna items: 99c6caf22eSSuman Anna - description: Address and Size of the L2 SRAM internal memory region 100c6caf22eSSuman Anna - description: Address and Size of the L1 PRAM internal memory region 101c6caf22eSSuman Anna - description: Address and Size of the L1 DRAM internal memory region 102c6caf22eSSuman Anna reg-names: 103c6caf22eSSuman Anna items: 104c6caf22eSSuman Anna - const: l2sram 105c6caf22eSSuman Anna - const: l1pram 106c6caf22eSSuman Anna - const: l1dram 107*430e2978SHari Nagalla 108*430e2978SHari Nagalla - if: 109c6caf22eSSuman Anna properties: 110c6caf22eSSuman Anna compatible: 111c6caf22eSSuman Anna enum: 112c6caf22eSSuman Anna - ti,j721e-c71-dsp 11383b57e60SHari Nagalla - ti,j721s2-c71-dsp 114c6caf22eSSuman Anna then: 115c6caf22eSSuman Anna properties: 116c6caf22eSSuman Anna reg: 117c6caf22eSSuman Anna items: 118c6caf22eSSuman Anna - description: Address and Size of the L2 SRAM internal memory region 119c6caf22eSSuman Anna - description: Address and Size of the L1 DRAM internal memory region 120c6caf22eSSuman Anna reg-names: 121c6caf22eSSuman Anna items: 122c6caf22eSSuman Anna - const: l2sram 123c6caf22eSSuman Anna - const: l1dram 124c6caf22eSSuman Anna 125*430e2978SHari Nagalla - if: 126*430e2978SHari Nagalla properties: 127*430e2978SHari Nagalla compatible: 128*430e2978SHari Nagalla enum: 129*430e2978SHari Nagalla - ti,am62a-c7xv-dsp 130*430e2978SHari Nagalla then: 131*430e2978SHari Nagalla properties: 132*430e2978SHari Nagalla reg: 133*430e2978SHari Nagalla items: 134*430e2978SHari Nagalla - description: Address and Size of the L2 SRAM internal memory region 135*430e2978SHari Nagalla reg-names: 136*430e2978SHari Nagalla items: 137*430e2978SHari Nagalla - const: l2sram 138*430e2978SHari Nagalla 139*430e2978SHari Nagalla - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# 140*430e2978SHari Nagalla 1412a218020SSuman Annarequired: 1422a218020SSuman Anna - compatible 1432a218020SSuman Anna - reg 1442a218020SSuman Anna - reg-names 1452a218020SSuman Anna - ti,sci 1462a218020SSuman Anna - ti,sci-dev-id 1472a218020SSuman Anna - ti,sci-proc-ids 1482a218020SSuman Anna - resets 1492a218020SSuman Anna - firmware-name 1502a218020SSuman Anna - mboxes 1512a218020SSuman Anna - memory-region 1522a218020SSuman Anna 1532a218020SSuman AnnaunevaluatedProperties: false 1542a218020SSuman Anna 1552a218020SSuman Annaexamples: 1562a218020SSuman Anna - | 157f13f5d72SSinthu Raja soc { 1582a218020SSuman Anna #address-cells = <2>; 1592a218020SSuman Anna #size-cells = <2>; 1602a218020SSuman Anna 16124a4b57aSRob Herring mailbox0_cluster3: mailbox-0 { 16224a4b57aSRob Herring #mbox-cells = <1>; 16324a4b57aSRob Herring }; 16424a4b57aSRob Herring 16524a4b57aSRob Herring mailbox0_cluster4: mailbox-1 { 16624a4b57aSRob Herring #mbox-cells = <1>; 16724a4b57aSRob Herring }; 16824a4b57aSRob Herring 1692a218020SSuman Anna bus@100000 { 1702a218020SSuman Anna compatible = "simple-bus"; 1712a218020SSuman Anna #address-cells = <2>; 1722a218020SSuman Anna #size-cells = <2>; 1732a218020SSuman Anna ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */ 174c6caf22eSSuman Anna <0x00 0x64800000 0x00 0x64800000 0x00 0x00800000>, /* C71_0 */ 1752a218020SSuman Anna <0x4d 0x80800000 0x4d 0x80800000 0x00 0x00800000>, /* C66_0 */ 1762a218020SSuman Anna <0x4d 0x81800000 0x4d 0x81800000 0x00 0x00800000>; /* C66_1 */ 1772a218020SSuman Anna 1782a218020SSuman Anna /* J721E C66_0 DSP node */ 1792a218020SSuman Anna dsp@4d80800000 { 1802a218020SSuman Anna compatible = "ti,j721e-c66-dsp"; 1812a218020SSuman Anna reg = <0x4d 0x80800000 0x00 0x00048000>, 1822a218020SSuman Anna <0x4d 0x80e00000 0x00 0x00008000>, 1832a218020SSuman Anna <0x4d 0x80f00000 0x00 0x00008000>; 1842a218020SSuman Anna reg-names = "l2sram", "l1pram", "l1dram"; 1852a218020SSuman Anna ti,sci = <&dmsc>; 1862a218020SSuman Anna ti,sci-dev-id = <142>; 1872a218020SSuman Anna ti,sci-proc-ids = <0x03 0xFF>; 1882a218020SSuman Anna resets = <&k3_reset 142 1>; 1892a218020SSuman Anna firmware-name = "j7-c66_0-fw"; 1902a218020SSuman Anna memory-region = <&c66_0_dma_memory_region>, 1912a218020SSuman Anna <&c66_0_memory_region>; 1922a218020SSuman Anna mboxes = <&mailbox0_cluster3 &mbox_c66_0>; 1932a218020SSuman Anna }; 194c6caf22eSSuman Anna 195c6caf22eSSuman Anna /* J721E C71_0 DSP node */ 196c6caf22eSSuman Anna c71_0: dsp@64800000 { 197c6caf22eSSuman Anna compatible = "ti,j721e-c71-dsp"; 198c6caf22eSSuman Anna reg = <0x00 0x64800000 0x00 0x00080000>, 199c6caf22eSSuman Anna <0x00 0x64e00000 0x00 0x0000c000>; 200c6caf22eSSuman Anna reg-names = "l2sram", "l1dram"; 201c6caf22eSSuman Anna ti,sci = <&dmsc>; 202c6caf22eSSuman Anna ti,sci-dev-id = <15>; 203c6caf22eSSuman Anna ti,sci-proc-ids = <0x30 0xFF>; 204c6caf22eSSuman Anna resets = <&k3_reset 15 1>; 205c6caf22eSSuman Anna firmware-name = "j7-c71_0-fw"; 206c6caf22eSSuman Anna memory-region = <&c71_0_dma_memory_region>, 207c6caf22eSSuman Anna <&c71_0_memory_region>; 208c6caf22eSSuman Anna mboxes = <&mailbox0_cluster4 &mbox_c71_0>; 209c6caf22eSSuman Anna }; 2102a218020SSuman Anna }; 2112a218020SSuman Anna }; 212