162306a36Sopenharmony_ciTI Davinci DSP devices 262306a36Sopenharmony_ci======================= 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciBinding status: Unstable - Subject to changes for DT representation of clocks 562306a36Sopenharmony_ci and resets 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciThe TI Davinci family of SoCs usually contains a TI DSP Core sub-system that 862306a36Sopenharmony_ciis used to offload some of the processor-intensive tasks or algorithms, for 962306a36Sopenharmony_ciachieving various system level goals. 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciThe processor cores in the sub-system usually contain additional sub-modules 1262306a36Sopenharmony_cilike L1 and/or L2 caches/SRAMs, an Interrupt Controller, an external memory 1362306a36Sopenharmony_cicontroller, a dedicated local power/sleep controller etc. The DSP processor 1462306a36Sopenharmony_cicore used in Davinci SoCs is usually a C674x DSP CPU. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciDSP Device Node: 1762306a36Sopenharmony_ci================ 1862306a36Sopenharmony_ciEach DSP Core sub-system is represented as a single DT node. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciRequired properties: 2162306a36Sopenharmony_ci-------------------- 2262306a36Sopenharmony_ciThe following are the mandatory properties: 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci- compatible: Should be one of the following, 2562306a36Sopenharmony_ci "ti,da850-dsp" for DSPs on OMAP-L138 SoCs 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci- reg: Should contain an entry for each value in 'reg-names'. 2862306a36Sopenharmony_ci Each entry should have the memory region's start address 2962306a36Sopenharmony_ci and the size of the region, the representation matching 3062306a36Sopenharmony_ci the parent node's '#address-cells' and '#size-cells' values. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci- reg-names: Should contain strings with the following names, each 3362306a36Sopenharmony_ci representing a specific internal memory region or a 3462306a36Sopenharmony_ci specific register space, 3562306a36Sopenharmony_ci "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig_base" 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci- interrupts: Should contain the interrupt number used to receive the 3862306a36Sopenharmony_ci interrupts from the DSP. The value should follow the 3962306a36Sopenharmony_ci interrupt-specifier format as dictated by the 4062306a36Sopenharmony_ci 'interrupt-parent' node. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci- memory-region: phandle to the reserved memory node to be associated 4362306a36Sopenharmony_ci with the remoteproc device. The reserved memory node 4462306a36Sopenharmony_ci can be a CMA memory node, and should be defined as 4562306a36Sopenharmony_ci per the bindings in 4662306a36Sopenharmony_ci Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciExample: 5062306a36Sopenharmony_ci-------- 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci /* DSP Reserved Memory node */ 5362306a36Sopenharmony_ci reserved-memory { 5462306a36Sopenharmony_ci #address-cells = <1>; 5562306a36Sopenharmony_ci #size-cells = <1>; 5662306a36Sopenharmony_ci ranges; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci dsp_memory_region: dsp-memory@c3000000 { 5962306a36Sopenharmony_ci compatible = "shared-dma-pool"; 6062306a36Sopenharmony_ci reg = <0xc3000000 0x1000000>; 6162306a36Sopenharmony_ci reusable; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci /* DSP node */ 6662306a36Sopenharmony_ci { 6762306a36Sopenharmony_ci dsp: dsp@11800000 { 6862306a36Sopenharmony_ci compatible = "ti,da850-dsp"; 6962306a36Sopenharmony_ci reg = <0x11800000 0x40000>, 7062306a36Sopenharmony_ci <0x11e00000 0x8000>, 7162306a36Sopenharmony_ci <0x11f00000 0x8000>, 7262306a36Sopenharmony_ci <0x01c14044 0x4>, 7362306a36Sopenharmony_ci <0x01c14174 0x8>; 7462306a36Sopenharmony_ci reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", 7562306a36Sopenharmony_ci "chipsig"; 7662306a36Sopenharmony_ci interrupt-parent = <&intc>; 7762306a36Sopenharmony_ci interrupts = <28>; 7862306a36Sopenharmony_ci memory-region = <&dsp_memory_region>; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci }; 81