18c2ecf20Sopenharmony_ciTI Davinci DSP devices 28c2ecf20Sopenharmony_ci======================= 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciBinding status: Unstable - Subject to changes for DT representation of clocks 58c2ecf20Sopenharmony_ci and resets 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciThe TI Davinci family of SoCs usually contains a TI DSP Core sub-system that 88c2ecf20Sopenharmony_ciis used to offload some of the processor-intensive tasks or algorithms, for 98c2ecf20Sopenharmony_ciachieving various system level goals. 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciThe processor cores in the sub-system usually contain additional sub-modules 128c2ecf20Sopenharmony_cilike L1 and/or L2 caches/SRAMs, an Interrupt Controller, an external memory 138c2ecf20Sopenharmony_cicontroller, a dedicated local power/sleep controller etc. The DSP processor 148c2ecf20Sopenharmony_cicore used in Davinci SoCs is usually a C674x DSP CPU. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciDSP Device Node: 178c2ecf20Sopenharmony_ci================ 188c2ecf20Sopenharmony_ciEach DSP Core sub-system is represented as a single DT node. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciRequired properties: 218c2ecf20Sopenharmony_ci-------------------- 228c2ecf20Sopenharmony_ciThe following are the mandatory properties: 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci- compatible: Should be one of the following, 258c2ecf20Sopenharmony_ci "ti,da850-dsp" for DSPs on OMAP-L138 SoCs 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci- reg: Should contain an entry for each value in 'reg-names'. 288c2ecf20Sopenharmony_ci Each entry should have the memory region's start address 298c2ecf20Sopenharmony_ci and the size of the region, the representation matching 308c2ecf20Sopenharmony_ci the parent node's '#address-cells' and '#size-cells' values. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci- reg-names: Should contain strings with the following names, each 338c2ecf20Sopenharmony_ci representing a specific internal memory region or a 348c2ecf20Sopenharmony_ci specific register space, 358c2ecf20Sopenharmony_ci "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig_base" 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci- interrupts: Should contain the interrupt number used to receive the 388c2ecf20Sopenharmony_ci interrupts from the DSP. The value should follow the 398c2ecf20Sopenharmony_ci interrupt-specifier format as dictated by the 408c2ecf20Sopenharmony_ci 'interrupt-parent' node. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci- memory-region: phandle to the reserved memory node to be associated 438c2ecf20Sopenharmony_ci with the remoteproc device. The reserved memory node 448c2ecf20Sopenharmony_ci can be a CMA memory node, and should be defined as 458c2ecf20Sopenharmony_ci per the bindings in 468c2ecf20Sopenharmony_ci Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ciExample: 508c2ecf20Sopenharmony_ci-------- 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci /* DSP Reserved Memory node */ 538c2ecf20Sopenharmony_ci reserved-memory { 548c2ecf20Sopenharmony_ci #address-cells = <1>; 558c2ecf20Sopenharmony_ci #size-cells = <1>; 568c2ecf20Sopenharmony_ci ranges; 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci dsp_memory_region: dsp-memory@c3000000 { 598c2ecf20Sopenharmony_ci compatible = "shared-dma-pool"; 608c2ecf20Sopenharmony_ci reg = <0xc3000000 0x1000000>; 618c2ecf20Sopenharmony_ci reusable; 628c2ecf20Sopenharmony_ci }; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci /* DSP node */ 668c2ecf20Sopenharmony_ci { 678c2ecf20Sopenharmony_ci dsp: dsp@11800000 { 688c2ecf20Sopenharmony_ci compatible = "ti,da850-dsp"; 698c2ecf20Sopenharmony_ci reg = <0x11800000 0x40000>, 708c2ecf20Sopenharmony_ci <0x11e00000 0x8000>, 718c2ecf20Sopenharmony_ci <0x11f00000 0x8000>, 728c2ecf20Sopenharmony_ci <0x01c14044 0x4>, 738c2ecf20Sopenharmony_ci <0x01c14174 0x8>; 748c2ecf20Sopenharmony_ci reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", 758c2ecf20Sopenharmony_ci "chipsig"; 768c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 778c2ecf20Sopenharmony_ci interrupts = <28>; 788c2ecf20Sopenharmony_ci memory-region = <&dsp_memory_region>; 798c2ecf20Sopenharmony_ci }; 808c2ecf20Sopenharmony_ci }; 81