[meta-ti] [PATCH] linux: cmem.inc: Implement way to configure more complex CMEM config

Denys Dmytriyenko denys at ti.com
Wed Oct 28 11:21:33 PDT 2015


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?


>  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