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

Jacob Stiffler j-stiffler at ti.com
Mon May 18 12:03:18 PDT 2015



On 5/18/2015 2:11 PM, Denys Dmytriyenko wrote:
> 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.
>

Ok.

>> +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...
>

I had noticed that do_configure() gets invoked multiple times.

I'll try it as a do_configure_append() and make sure it will work.

>> +    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