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