[meta-ti] [PATCH 1/2] linux/cmem.inc: Support reserving memory for CMEM.

Denys Dmytriyenko denys at ti.com
Mon May 18 11:11:19 PDT 2015


On Mon, May 18, 2015 at 08:20:58AM -0400, Jacob Stiffler wrote:
> 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.

Looks good. 2 comments below.


> Signed-off-by: Jacob Stiffler <j-stiffler at 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"

Move the file into standard "files" directory and drop above line.


> +SRC_URI += "file://cmem.dtsi"
> +
> +CMEM_BASE ?= ""
> +CMEM_SIZE ?= ""
> +
> +do_compileconfigs_prepend() {

Should this be do_configure_append() instead? It would probably be safer, as 
do_compileconfigs() is specific to multi-kernel.inc and some kernel recipes 
may not include it...


> +    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 at __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 at 0 {
> +                        reg = <0>;
> +                        memory-region = <&cmem_block_mem_0>;
> +                        cmem-buf-pools = <1 0x__CMEM_SIZE__>;
> +                };
> +        };
> +
> +};
> -- 
> 1.7.9.5
> 
> -- 
> _______________________________________________
> meta-ti mailing list
> meta-ti at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


More information about the meta-ti mailing list