All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] linux/cmem.inc: Support reserving memory for CMEM.
@ 2015-05-18 12:20 Jacob Stiffler
  2015-05-18 12:20 ` [PATCH 2/2] linux-ti-staging-3.14: Allow CMEM DT injection Jacob Stiffler
  2015-05-18 18:11 ` [PATCH 1/2] linux/cmem.inc: Support reserving memory for CMEM Denys Dmytriyenko
  0 siblings, 2 replies; 17+ messages in thread
From: Jacob Stiffler @ 2015-05-18 12:20 UTC (permalink / raw)
  To: meta-ti

To reserve contiguous memory for CMEM:
* include the "recipes-kernel/linux/cmem.inc"
* Set CMEM_BASE and CMEM_SIZE to the physical memory address and size,
  respectively, to reserve for CMEM.

Currently limited to reserving a single memory region used to create
a single buffer pool of a single buffer.

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
---
 recipes-kernel/linux/cmem.inc        |   22 ++++++++++++++++++++++
 recipes-kernel/linux/linux/cmem.dtsi |   24 ++++++++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 recipes-kernel/linux/cmem.inc
 create mode 100644 recipes-kernel/linux/linux/cmem.dtsi

diff --git a/recipes-kernel/linux/cmem.inc b/recipes-kernel/linux/cmem.inc
new file mode 100644
index 0000000..207bdc6
--- /dev/null
+++ b/recipes-kernel/linux/cmem.inc
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS_append := ":${THISDIR}/linux"
+
+SRC_URI += "file://cmem.dtsi"
+
+CMEM_BASE ?= ""
+CMEM_SIZE ?= ""
+
+do_compileconfigs_prepend() {
+    if [ ! -z "${CMEM_BASE}" ]
+    then
+        cp ${WORKDIR}/cmem.dtsi ${S}/arch/arm/boot/dts/${MACHINE}-cmem.dtsi
+
+        sed -i -e "s|__CMEM_BASE__|${CMEM_BASE}|g" \
+               -e "s|__CMEM_SIZE__|${CMEM_SIZE}|g" \
+               ${S}/arch/arm/boot/dts/${MACHINE}-cmem.dtsi
+
+        for dts in ${KERNEL_DEVICETREE}
+        do
+            echo "#include \"${MACHINE}-cmem.dtsi\"" >> ${S}/arch/arm/boot/dts/${dts%.dtb}.dts
+        done
+    fi
+}
diff --git a/recipes-kernel/linux/linux/cmem.dtsi b/recipes-kernel/linux/linux/cmem.dtsi
new file mode 100644
index 0000000..6b1da99
--- /dev/null
+++ b/recipes-kernel/linux/linux/cmem.dtsi
@@ -0,0 +1,24 @@
+/ {
+        reserved-memory {
+                cmem_block_mem_0: cmem_block_mem@__CMEM_BASE__ {
+                        reg = <0x__CMEM_BASE__ 0x__CMEM_SIZE__>;
+                        no-map;
+                        status = "okay";
+                };
+        };
+
+        cmem {
+                compatible = "ti,cmem";
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                status = "okay";
+
+                cmem_block_0: cmem_block@0 {
+                        reg = <0>;
+                        memory-region = <&cmem_block_mem_0>;
+                        cmem-buf-pools = <1 0x__CMEM_SIZE__>;
+                };
+        };
+
+};
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-05-19 18:16 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-18 12:20 [PATCH 1/2] linux/cmem.inc: Support reserving memory for CMEM Jacob Stiffler
2015-05-18 12:20 ` [PATCH 2/2] linux-ti-staging-3.14: Allow CMEM DT injection Jacob Stiffler
2015-05-18 18:11 ` [PATCH 1/2] linux/cmem.inc: Support reserving memory for CMEM Denys Dmytriyenko
2015-05-18 19:03   ` Jacob Stiffler
2015-05-18 19:13     ` Denys Dmytriyenko
2015-05-19 17:23       ` Jacob Stiffler
2015-05-19 17:25         ` Denys Dmytriyenko
2015-05-19 17:26           ` Jacob Stiffler
2015-05-19 17:32             ` Denys Dmytriyenko
2015-05-19 17:39               ` Jacob Stiffler
2015-05-19 17:47                 ` Denys Dmytriyenko
2015-05-19 17:52                   ` Jacob Stiffler
2015-05-19 17:58                     ` Denys Dmytriyenko
2015-05-19 18:02                       ` Jacob Stiffler
2015-05-19 18:06                         ` Denys Dmytriyenko
2015-05-19 18:10                           ` Jacob Stiffler
2015-05-19 18:16                             ` Denys Dmytriyenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.