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