All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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.