From 21e7daef7e5e6fc79e8d7d84651ccc9a07b22042 Mon Sep 17 00:00:00 2001 From: Suman Anna Date: Mon, 18 Sep 2017 19:28:31 -0500 Subject: [PATCH 1/3] ARM: dts: da850: Add DSP node The TI Davinci DA8xx family of SoCs have a single DSP subsystem that is comprised of TI's standard TMS320C674x megamodule and several blocks of internal memory (L1P, L1D and L2 RAMs). Add the DT node for this DSP processor sub-system. The processor does not have an MMU, and uses a chip-level signalling register and shared memory for inter-processor communication with the ARM core. The node has been added in disabled state, and can be enabled in the respective board dts file with an associated reserved memory block. Signed-off-by: Suman Anna Signed-off-by: Sekhar Nori --- arch/arm/boot/dts/da850.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index af68ef7b0caa..c66cf7895363 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -23,6 +23,18 @@ reg = <0xfffee000 0x2000>; }; }; + dsp: dsp@11800000 { + compatible = "ti,da850-dsp"; + reg = <0x11800000 0x40000>, + <0x11e00000 0x8000>, + <0x11f00000 0x8000>, + <0x01c14044 0x4>, + <0x01c14174 0x8>; + reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig"; + interrupt-parent = <&intc>; + interrupts = <28>; + status = "disabled"; + }; soc@1c00000 { compatible = "simple-bus"; model = "da850"; From d9fe22b8fbf5d85febc4e3794ba4757158284642 Mon Sep 17 00:00:00 2001 From: Suman Anna Date: Mon, 18 Sep 2017 19:28:32 -0500 Subject: [PATCH 2/3] ARM: dts: da850-lcdk: Add and enable CMA reserved pool for DSP A CMA reserved memory node of 16 MB has been added and assigned to the DSP remoteproc device on the OMAP-L138 LCDK board. The CMA starting address matches the values used within the TI IPC 3.x software. Both the CMA node and the corresponding rproc node are also marked okay to enable the DSP on the OMAP-L138 LCDK board. Signed-off-by: Suman Anna Signed-off-by: Sekhar Nori --- arch/arm/boot/dts/da850-lcdk.dts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/arch/arm/boot/dts/da850-lcdk.dts b/arch/arm/boot/dts/da850-lcdk.dts index a0f0916156e6..eed89e659143 100644 --- a/arch/arm/boot/dts/da850-lcdk.dts +++ b/arch/arm/boot/dts/da850-lcdk.dts @@ -26,6 +26,19 @@ reg = <0xc0000000 0x08000000>; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + dsp_memory_region: dsp-memory@c3000000 { + compatible = "shared-dma-pool"; + reg = <0xc3000000 0x1000000>; + reusable; + status = "okay"; + }; + }; + sound { compatible = "simple-audio-card"; simple-audio-card,name = "DA850/OMAP-L138 LCDK"; @@ -319,3 +332,8 @@ pinctrl-0 = <&vpif_capture_pins>; status = "okay"; }; + +&dsp { + memory-region = <&dsp_memory_region>; + status = "okay"; +}; From 933311fdfa5f94aeab95d713500fd680523a884a Mon Sep 17 00:00:00 2001 From: Suman Anna Date: Mon, 18 Sep 2017 19:28:33 -0500 Subject: [PATCH 3/3] ARM: davinci: da8xx-dt: Add OF_DEV_AUXDATA entry for DSP clock matching Add the OF_DEV_AUXDATA entry needed to match the device-tree DSP node to its non-device-tree clock, so that the da8xx-remoteproc driver can properly enable the clocks. The device name has also been assigned "davinci-rproc.0" to match the device id used in the da850_clks clk_lookup array. Signed-off-by: Suman Anna Signed-off-by: Sekhar Nori --- arch/arm/mach-davinci/da8xx-dt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c index 5699ce39e64f..f06db6700ab2 100644 --- a/arch/arm/mach-davinci/da8xx-dt.c +++ b/arch/arm/mach-davinci/da8xx-dt.c @@ -54,6 +54,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = { OF_DEV_AUXDATA("ti,da830-usb-phy", 0x01c1417c, "da8xx-usb-phy", NULL), OF_DEV_AUXDATA("ti,da850-ahci", 0x01e18000, "ahci_da850", NULL), OF_DEV_AUXDATA("ti,da850-vpif", 0x01e17000, "vpif", NULL), + OF_DEV_AUXDATA("ti,da850-dsp", 0x11800000, "davinci-rproc.0", NULL), {} };