1*ae67b800SSuman AnnaTI Davinci DSP devices 2*ae67b800SSuman Anna======================= 3*ae67b800SSuman Anna 4*ae67b800SSuman AnnaThe TI Davinci family of SoCs usually contains a TI DSP Core sub-system that 5*ae67b800SSuman Annais used to offload some of the processor-intensive tasks or algorithms, for 6*ae67b800SSuman Annaachieving various system level goals. 7*ae67b800SSuman Anna 8*ae67b800SSuman AnnaThe processor cores in the sub-system usually contain additional sub-modules 9*ae67b800SSuman Annalike L1 and/or L2 caches/SRAMs, an Interrupt Controller, an external memory 10*ae67b800SSuman Annacontroller, a dedicated local power/sleep controller etc. The DSP processor 11*ae67b800SSuman Annacore used in Davinci SoCs is usually a C674x DSP CPU. 12*ae67b800SSuman Anna 13*ae67b800SSuman AnnaDSP Device Node: 14*ae67b800SSuman Anna================ 15*ae67b800SSuman AnnaEach DSP Core sub-system is represented as a single DT node. 16*ae67b800SSuman Anna 17*ae67b800SSuman AnnaRequired properties: 18*ae67b800SSuman Anna-------------------- 19*ae67b800SSuman AnnaThe following are the mandatory properties: 20*ae67b800SSuman Anna 21*ae67b800SSuman Anna- compatible: Should be one of the following, 22*ae67b800SSuman Anna "ti,da850-dsp" for DSPs on OMAP-L138 SoCs 23*ae67b800SSuman Anna 24*ae67b800SSuman Anna- reg: Should contain an entry for each value in 'reg-names'. 25*ae67b800SSuman Anna Each entry should have the memory region's start address 26*ae67b800SSuman Anna and the size of the region, the representation matching 27*ae67b800SSuman Anna the parent node's '#address-cells' and '#size-cells' values. 28*ae67b800SSuman Anna 29*ae67b800SSuman Anna- reg-names: Should contain strings with the following names, each 30*ae67b800SSuman Anna representing a specific internal memory region or a 31*ae67b800SSuman Anna specific register space, 32*ae67b800SSuman Anna "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig_base" 33*ae67b800SSuman Anna 34*ae67b800SSuman Anna- interrupts: Should contain the interrupt number used to receive the 35*ae67b800SSuman Anna interrupts from the DSP. The value should follow the 36*ae67b800SSuman Anna interrupt-specifier format as dictated by the 37*ae67b800SSuman Anna 'interrupt-parent' node. 38*ae67b800SSuman Anna 39*ae67b800SSuman Anna- memory-region: phandle to the reserved memory node to be associated 40*ae67b800SSuman Anna with the remoteproc device. The reserved memory node 41*ae67b800SSuman Anna can be a CMA memory node, and should be defined as 42*ae67b800SSuman Anna per the bindings in 43*ae67b800SSuman Anna Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt 44*ae67b800SSuman Anna 45*ae67b800SSuman Anna 46*ae67b800SSuman AnnaExample: 47*ae67b800SSuman Anna-------- 48*ae67b800SSuman Anna 49*ae67b800SSuman Anna /* DSP Reserved Memory node */ 50*ae67b800SSuman Anna reserved-memory { 51*ae67b800SSuman Anna #address-cells = <1>; 52*ae67b800SSuman Anna #size-cells = <1>; 53*ae67b800SSuman Anna ranges; 54*ae67b800SSuman Anna 55*ae67b800SSuman Anna dsp_memory_region: dsp-memory@c3000000 { 56*ae67b800SSuman Anna compatible = "shared-dma-pool"; 57*ae67b800SSuman Anna reg = <0xc3000000 0x1000000>; 58*ae67b800SSuman Anna reusable; 59*ae67b800SSuman Anna }; 60*ae67b800SSuman Anna }; 61*ae67b800SSuman Anna 62*ae67b800SSuman Anna /* DSP node */ 63*ae67b800SSuman Anna { 64*ae67b800SSuman Anna dsp: dsp@11800000 { 65*ae67b800SSuman Anna compatible = "ti,da850-dsp"; 66*ae67b800SSuman Anna reg = <0x11800000 0x40000>, 67*ae67b800SSuman Anna <0x11e00000 0x8000>, 68*ae67b800SSuman Anna <0x11f00000 0x8000>, 69*ae67b800SSuman Anna <0x01c14044 0x4>, 70*ae67b800SSuman Anna <0x01c14174 0x8>; 71*ae67b800SSuman Anna reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", 72*ae67b800SSuman Anna "chipsig"; 73*ae67b800SSuman Anna interrupt-parent = <&intc>; 74*ae67b800SSuman Anna interrupts = <28>; 75*ae67b800SSuman Anna memory-region = <&dsp_memory_region>; 76*ae67b800SSuman Anna }; 77*ae67b800SSuman Anna }; 78