From: Denys Dmytriyenko <denys@ti.com>
To: Hongmei Gou <a0271529@ti.com>
Cc: meta-arago@arago-project.org
Subject: Re: [meta-processor-sdk] [PATCH] linux: cmem: add support for am574x
Date: Tue, 28 Nov 2017 16:14:10 -0500 [thread overview]
Message-ID: <20171128211410.GB1300@edge> (raw)
In-Reply-To: <1511903512-31813-1-git-send-email-a0271529@ti.com>
Would it be easier/cleaner to just add necessary few variables to kernel
bbappend instead of copying entire .inc file?
On Tue, Nov 28, 2017 at 04:11:52PM -0500, Hongmei Gou wrote:
> Signed-off-by: Hongmei Gou <a0271529@ti.com>
> ---
> recipes-kernel/linux/cmem.inc | 83 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 83 insertions(+)
> create mode 100644 recipes-kernel/linux/cmem.inc
>
> diff --git a/recipes-kernel/linux/cmem.inc b/recipes-kernel/linux/cmem.inc
> new file mode 100644
> index 0000000..64d3264
> --- /dev/null
> +++ b/recipes-kernel/linux/cmem.inc
> @@ -0,0 +1,83 @@
> +# Add concept of machine variants to split DTBs into subsets
> +#
> +# Use these for temporary overrides
> +CMEM_MACHINE = "${MACHINE}"
> +CMEM_MACHINE_am57xx-evm = "am571x am572x am574x"
> +CMEM_MACHINE_am57xx-hs-evm = "am571x am572x"
> +CMEM_MACHINE_dra7xx-evm = "dra71x dra72x dra74x"
> +CMEM_MACHINE_dra7xx-hs-evm = "dra71x dra72x dra74x"
> +
> +# Set cmem.dtsi per machine or machine variant
> +CMEM_DTSI = "cmem.dtsi"
> +CMEM_DTSI_am571x = "cmem-am571x.dtsi"
> +CMEM_DTSI_dra71x = "cmem-dra71x.dtsi"
> +CMEM_DTSI_dra72x = "cmem-dra72x.dtsi"
> +
> +# Split device trees between variants
> +CMEM_DEVICETREE = "${KERNEL_DEVICETREE}"
> +CMEM_DEVICETREE_am571x = "am571x-idk.dtb am571x-idk-lcd-osd101t2045.dtb am571x-idk-lcd-osd101t2587.dtb"
> +CMEM_DEVICETREE_am572x = "am57xx-beagle-x15.dtb am57xx-beagle-x15-revb1.dtb \
> + am57xx-evm.dtb am57xx-evm-cam-mt9t111.dtb am57xx-evm-cam-ov10635.dtb \
> + am57xx-evm-reva3.dtb am57xx-evm-reva3-cam-mt9t111.dtb am57xx-evm-reva3-cam-ov10635.dtb \
> + am572x-idk.dtb am572x-idk-lcd-osd101t2045.dtb am572x-idk-lcd-osd101t2587.dtb"
> +CMEM_DEVICETREE_am574x = "am574x-idk.dtb am574x-idk-lcd-osd101t2587.dtb"
> +CMEM_DEVICETREE_dra71x = "dra71-evm.dtb dra71-evm-lcd-auo-g101evn01.0.dtb"
> +CMEM_DEVICETREE_dra72x = "dra72-evm.dtb dra72-evm-lcd-lg.dtb dra72-evm-lcd-osd101t2045.dtb dra72-evm-lcd-osd101t2587.dtb \
> + dra72-evm-revc.dtb dra72-evm-revc-lcd-osd101t2045.dtb dra72-evm-revc-lcd-osd101t2587.dtb"
> +CMEM_DEVICETREE_dra74x = "dra7-evm.dtb dra7-evm-lcd-lg.dtb dra7-evm-lcd-osd101t2045.dtb dra7-evm-lcd-osd101t2587.dtb"
> +
> +# Flag to enable CMEM injection
> +RESERVE_CMEM ?= "0"
> +
> +# Add correct cmem.dtsi to SRC_URI for each variant for a given machine
> +python do_unpack() {
> + old_overrides = d.getVar('OVERRIDES', False)
> +
> + # Initialize with empty string to simplify logic to append to SRC_URI
> + cmem_dtsi = set([''])
> +
> + for cmem_machine in (d.getVar('CMEM_MACHINE', True) or '').split():
> + # Create copy of data for additional override
> + localdata = bb.data.createCopy(d)
> + localdata.setVar('OVERRIDES', '%s:%s' % (cmem_machine, old_overrides))
> + bb.data.update_data(localdata)
> +
> + cmem_dtsi.add(localdata.getVar('CMEM_DTSI', True))
> +
> + d.appendVar('SRC_URI', ' file://'.join(cmem_dtsi))
> + bb.build.exec_func('base_do_unpack', d)
> +}
> +
> +python do_setup_cmem() {
> + import shutil
> +
> + old_overrides = d.getVar('OVERRIDES', False)
> +
> + if d.getVar('RESERVE_CMEM', True) is '1':
> + for cmem_machine in (d.getVar('CMEM_MACHINE', True) or '').split():
> + # Create copy of data for additional override
> + localdata = bb.data.createCopy(d)
> + localdata.setVar('OVERRIDES', '%s:%s' % (cmem_machine, old_overrides))
> + bb.data.update_data(localdata)
> +
> + # Get source directory and dtsi filename
> + src_dir = localdata.getVar('WORKDIR', True)
> + src_dtsi = localdata.getVar('CMEM_DTSI', True)
> +
> + # Get destination directory and destination dtsi filename which adds
> + # the MACHINE prefix.
> + dst_dir = os.path.join(localdata.getVar('S', True), 'arch/arm/boot/dts')
> + dst_dtsi = localdata.expand('${MACHINE}-${CMEM_DTSI}')
> +
> + # Copy cmem.dtsi into source tree
> + shutil.copy(os.path.join(src_dir,src_dtsi), os.path.join(dst_dir,dst_dtsi))
> +
> + # Inject dtsi into each dts in list
> + for dtb in (localdata.getVar('CMEM_DEVICETREE', True) or '').split():
> + dts = dtb[:-4] + '.dts'
> +
> + with open(os.path.join(dst_dir,dts), 'a') as dts_file:
> + dts_file.write('\n#include "%s"\n' % dst_dtsi)
> +}
> +
> +do_patch[postfuncs] += "do_setup_cmem"
> --
> 1.9.1
>
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
next prev parent reply other threads:[~2017-11-28 21:14 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-28 21:11 [meta-processor-sdk] [PATCH] linux: cmem: add support for am574x Hongmei Gou
2017-11-28 21:14 ` Denys Dmytriyenko [this message]
2017-11-28 21:19 ` Gou, Hongmei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171128211410.GB1300@edge \
--to=denys@ti.com \
--cc=a0271529@ti.com \
--cc=meta-arago@arago-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.