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