[meta-ti] [PATCH] linux: cmem.inc: Implement way to configure more complex CMEM config
Jacob Stiffler
j-stiffler at ti.com
Wed Oct 28 12:06:04 PDT 2015
On 10/28/2015 2:21 PM, Denys Dmytriyenko wrote:
> On Wed, Oct 28, 2015 at 10:36:06AM -0400, Jacob Stiffler wrote:
>> * 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 at ti.com>
>> ---
>> recipes-kernel/linux/cmem.inc | 9 +----
>> recipes-kernel/linux/files/cmem.dtsi | 16 +-------
>> recipes-kernel/linux/files/dra7xx/cmem.dtsi | 26 +++++++++++++
>> recipes-kernel/linux/files/k2hk-evm/cmem.dtsi | 54 +++++++++++++++++++++++++++
> So, why do you need a generic cmem.dtsi, if you now have machine-specific
> versions of the same?
The generic dtsi does not actually add any reserved regions. I just
thought it would be good to have. If you do not think that it is
necessary, I can remove it.
>
>> 4 files changed, 84 insertions(+), 21 deletions(-)
>> create mode 100644 recipes-kernel/linux/files/dra7xx/cmem.dtsi
>> create mode 100644 recipes-kernel/linux/files/k2hk-evm/cmem.dtsi
>>
>> diff --git a/recipes-kernel/linux/cmem.inc b/recipes-kernel/linux/cmem.inc
>> index 742f3c8..fc0bf48 100644
>> --- a/recipes-kernel/linux/cmem.inc
>> +++ b/recipes-kernel/linux/cmem.inc
>> @@ -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|'`
>> diff --git a/recipes-kernel/linux/files/cmem.dtsi b/recipes-kernel/linux/files/cmem.dtsi
>> index 6b1da99..8c62b06 100644
>> --- a/recipes-kernel/linux/files/cmem.dtsi
>> +++ b/recipes-kernel/linux/files/cmem.dtsi
>> @@ -1,24 +1,12 @@
>> / {
>> - 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";
>> + #pool-size-cells = <1>;
>>
>> - cmem_block_0: cmem_block at 0 {
>> - reg = <0>;
>> - memory-region = <&cmem_block_mem_0>;
>> - cmem-buf-pools = <1 0x__CMEM_SIZE__>;
>> - };
>> + status = "disabled";
>> };
>>
>> };
>> diff --git a/recipes-kernel/linux/files/dra7xx/cmem.dtsi b/recipes-kernel/linux/files/dra7xx/cmem.dtsi
>> new file mode 100644
>> index 0000000..d91faf9
>> --- /dev/null
>> +++ b/recipes-kernel/linux/files/dra7xx/cmem.dtsi
>> @@ -0,0 +1,26 @@
>> +/ {
>> + reserved-memory {
>> + cmem_block_mem_0: cmem_block_mem at 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 at 0 {
>> + reg = <0>;
>> + memory-region = <&cmem_block_mem_0>;
>> + cmem-buf-pools = <1 0x0 0x0a000000>;
>> + };
>> + };
>> +
>> +};
>> diff --git a/recipes-kernel/linux/files/k2hk-evm/cmem.dtsi b/recipes-kernel/linux/files/k2hk-evm/cmem.dtsi
>> new file mode 100644
>> index 0000000..7e897ab
>> --- /dev/null
>> +++ b/recipes-kernel/linux/files/k2hk-evm/cmem.dtsi
>> @@ -0,0 +1,54 @@
>> +/ {
>> + reserved-memory {
>> + mpm_block_mem_0: mpm_block_mem at 820000000 {
>> + reg = <0x00000008 0x20000000 0x00000000 0x02000000>;
>> + no-map;
>> + status = "okay";
>> + };
>> +
>> + cmem_block_mem_0: cmem_block_mem at 829000000 {
>> + reg = <0x00000008 0x29000000 0x00000000 0x57000000>;
>> + no-map;
>> + status = "okay";
>> + };
>> +
>> + cmem_block_mem_1: cmem_block_mem at 00c100000 {
>> + reg = <0x00000000 0x0c100000 0x00000000 0x00480000>;
>> + no-map;
>> + status = "okay";
>> + };
>> +
>> + cmem_block_mem_2: cmem_block_mem at 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 at 0 {
>> + reg = <0>;
>> + memory-region = <&cmem_block_mem_0>;
>> + cmem-buf-pools = <1 0x00000000 0x57000000>;
>> + };
>> +
>> + cmem_block_1: cmem_block at 1 {
>> + reg = <1>;
>> + memory-region = <&cmem_block_mem_1>;
>> + };
>> +
>> + cmem_block_2: cmem_block at 2 {
>> + reg = <2>;
>> + memory-region = <&cmem_block_mem_2>;
>> + };
>> + };
>> +
>> +};
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> meta-ti mailing list
>> meta-ti at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-ti
More information about the meta-ti
mailing list