mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-06-01 08:20:47 +00:00
linux: cmem.inc: Implement way to configure more complex CMEM config
* Supply the entire cmem.dtsi per machine - Disabled by default - Currently only supported for dra7xx and k2hk-evm * Enable by setting RESERVE_CMEM = "1" Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
This commit is contained in:
committed by
Denys Dmytriyenko
parent
c960677116
commit
1010d17019
@@ -1,17 +1,12 @@
|
|||||||
SRC_URI += "file://cmem.dtsi"
|
SRC_URI += "file://cmem.dtsi"
|
||||||
|
|
||||||
CMEM_BASE ?= ""
|
RESERVE_CMEM ?= "0"
|
||||||
CMEM_SIZE ?= ""
|
|
||||||
|
|
||||||
do_setup_cmem() {
|
do_setup_cmem() {
|
||||||
if [ ! -z "${CMEM_BASE}" ]
|
if [ "${RESERVE_CMEM}" == "1" ]
|
||||||
then
|
then
|
||||||
cp ${WORKDIR}/cmem.dtsi ${S}/arch/arm/boot/dts/${MACHINE}-cmem.dtsi
|
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 dtb in ${KERNEL_DEVICETREE}
|
for dtb in ${KERNEL_DEVICETREE}
|
||||||
do
|
do
|
||||||
dts=`echo $dtb | sed -e 's|dtb$|dts|'`
|
dts=`echo $dtb | sed -e 's|dtb$|dts|'`
|
||||||
|
|||||||
@@ -1,24 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* This is a placeholder for CMEM reserved memory declarations. This
|
||||||
|
* is simply an example and does not actually reserve any memory for
|
||||||
|
* CMEM.
|
||||||
|
*
|
||||||
|
* The commented sections below provide an example for how to provide
|
||||||
|
* a reserved memory region for CMEM to use as a buffer pool.
|
||||||
|
*/
|
||||||
/ {
|
/ {
|
||||||
reserved-memory {
|
/*
|
||||||
cmem_block_mem_0: cmem_block_mem@__CMEM_BASE__ {
|
reserved-memory {
|
||||||
reg = <0x__CMEM_BASE__ 0x__CMEM_SIZE__>;
|
cmem_block_mem_0: cmem_block_mem@a0000000 {
|
||||||
no-map;
|
reg = <0x0 0xa0000000 0x0 0x0a000000>;
|
||||||
status = "okay";
|
no-map;
|
||||||
};
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
cmem {
|
cmem {
|
||||||
compatible = "ti,cmem";
|
compatible = "ti,cmem";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
status = "okay";
|
#pool-size-cells = <2>;
|
||||||
|
|
||||||
|
status = "disabled";
|
||||||
|
/*
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
cmem_block_0: cmem_block@0 {
|
cmem_block_0: cmem_block@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
memory-region = <&cmem_block_mem_0>;
|
memory-region = <&cmem_block_mem_0>;
|
||||||
cmem-buf-pools = <1 0x__CMEM_SIZE__>;
|
cmem-buf-pools = <1 0x0 0x0a000000>;
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/ {
|
||||||
|
reserved-memory {
|
||||||
|
cmem_block_mem_0: cmem_block_mem@a0000000 {
|
||||||
|
reg = <0x0 0xa0000000 0x0 0x0a000000>;
|
||||||
|
no-map;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cmem {
|
||||||
|
compatible = "ti,cmem";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
#pool-size-cells = <2>;
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
cmem_block_0: cmem_block@0 {
|
||||||
|
reg = <0>;
|
||||||
|
memory-region = <&cmem_block_mem_0>;
|
||||||
|
cmem-buf-pools = <1 0x0 0x0a000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/ {
|
||||||
|
reserved-memory {
|
||||||
|
mpm_block_mem_0: mpm_block_mem@820000000 {
|
||||||
|
reg = <0x00000008 0x20000000 0x00000000 0x02000000>;
|
||||||
|
no-map;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmem_block_mem_0: cmem_block_mem@829000000 {
|
||||||
|
reg = <0x00000008 0x29000000 0x00000000 0x57000000>;
|
||||||
|
no-map;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmem_block_mem_1: cmem_block_mem@00c100000 {
|
||||||
|
reg = <0x00000000 0x0c100000 0x00000000 0x00480000>;
|
||||||
|
no-map;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmem_block_mem_2: cmem_block_mem@822000000 {
|
||||||
|
reg = <0x00000008 0x22000000 0x00000000 0x07000000>;
|
||||||
|
no-map;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cmem {
|
||||||
|
compatible = "ti,cmem";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
#pool-size-cells = <2>;
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
cmem_block_0: cmem_block@0 {
|
||||||
|
reg = <0>;
|
||||||
|
memory-region = <&cmem_block_mem_0>;
|
||||||
|
cmem-buf-pools = <1 0x00000000 0x57000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
cmem_block_1: cmem_block@1 {
|
||||||
|
reg = <1>;
|
||||||
|
memory-region = <&cmem_block_mem_1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
cmem_block_2: cmem_block@2 {
|
||||||
|
reg = <2>;
|
||||||
|
memory-region = <&cmem_block_mem_2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user