[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