mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-05-09 04:50:45 +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"
|
||||
|
||||
CMEM_BASE ?= ""
|
||||
CMEM_SIZE ?= ""
|
||||
RESERVE_CMEM ?= "0"
|
||||
|
||||
do_setup_cmem() {
|
||||
if [ ! -z "${CMEM_BASE}" ]
|
||||
if [ "${RESERVE_CMEM}" == "1" ]
|
||||
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 dtb in ${KERNEL_DEVICETREE}
|
||||
do
|
||||
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__ {
|
||||
reg = <0x__CMEM_BASE__ 0x__CMEM_SIZE__>;
|
||||
no-map;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
/*
|
||||
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>;
|
||||
cmem {
|
||||
compatible = "ti,cmem";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
status = "okay";
|
||||
#pool-size-cells = <2>;
|
||||
|
||||
status = "disabled";
|
||||
/*
|
||||
status = "okay";
|
||||
|
||||
cmem_block_0: cmem_block@0 {
|
||||
reg = <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