[meta-ti] [PATCH] linux-ti-staging: Add new device tree target am572x-idk-pru-excl-uio.dtb

Denys Dmytriyenko denys at ti.com
Mon May 16 14:14:30 PDT 2016


On Mon, May 16, 2016 at 05:00:44PM -0400, Nelson, Sam wrote:
> 
> 
> > -----Original Message-----
> > From: Dmytriyenko, Denys
> > Sent: Monday, May 16, 2016 3:22 PM
> > To: Nelson, Sam
> > Cc: meta-ti at yoctoproject.org
> > Subject: Re: [meta-ti] [PATCH] linux-ti-staging: Add new device tree target
> > am572x-idk-pru-excl-uio.dtb
> > 
> > On Mon, May 16, 2016 at 03:11:30PM -0400, Nelson, Sam wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Dmytriyenko, Denys
> > > > Sent: Monday, May 16, 2016 12:05 PM
> > > > To: Nelson, Sam
> > > > Cc: meta-ti at yoctoproject.org
> > > > Subject: Re: [meta-ti] [PATCH] linux-ti-staging: Add new device tree
> > > > target am572x-idk-pru-excl-uio.dtb
> > > >
> > > > On Sun, May 15, 2016 at 11:38:47PM -0400, Nelson, Sam wrote:
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Dmytriyenko, Denys
> > > > > > Sent: Sunday, May 15, 2016 11:32 PM
> > > > > > To: Nelson, Sam
> > > > > > Cc: meta-ti at yoctoproject.org
> > > > > > Subject: Re: [meta-ti] [PATCH] linux-ti-staging: Add new device
> > > > > > tree target am572x-idk-pru-excl-uio.dtb
> > > > > >
> > > > > > See below.
> > > > > >
> > > > > >
> > > > > > On Sun, May 15, 2016 at 11:10:32PM -0400, Sam Nelson wrote:
> > > > > > > This new device tree file is to support pruss with uio based drivers.
> > > > > > > Adds uio entries for pruss susbsystem.
> > > > > > >
> > > > > > > Signed-off-by: Sam Nelson <sam.nelson at ti.com>
> > > > > > > ---
> > > > > > >  .../linux/files/dra7xx/am572x-pru-uio.dtsi         | 191
> > > > > > +++++++++++++++++++++
> > > > > > >  recipes-kernel/linux/linux-ti-staging_4.4.bb       |   2 +-
> > > > > > >  recipes-kernel/linux/ti-uio.inc                    |  12 ++
> > > > > > >  3 files changed, 204 insertions(+), 1 deletion(-)  create
> > > > > > > mode
> > > > > > > 100644 recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi
> > > > > > >
> > > > > > > diff --git
> > > > > > > a/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi
> > > > > > > b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi
> > > > > > > new file mode 100644
> > > > > > > index 0000000..001cbec
> > > > > > > --- /dev/null
> > > > > > > +++ b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi
> > > > > > > @@ -0,0 +1,191 @@
> > > > > > > +/ {
> > > > > > > +	ocp {
> > > > > > > +		pruss2_eth {
> > > > > > > +		status = "disabled";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_mem: uio_pruss1_mem {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			ti,hwmods = "pruss1";
> > > > > > > +			mem = <0x4b200000 0x2000>,
> > > > > > > +			      <0x4b202000 0x2000>,
> > > > > > > +			      <0x4b210000 0x8000>,
> > > > > > > +			      <0x4b220000 0x2000>,
> > > > > > > +			      <0x4b226000 0x2000>,
> > > > > > > +			      <0x4b22e000 0x31c>,
> > > > > > > +			      <0x4b232000 0x58>;
> > > > > > > +			mem-names = "dram0", "dram1", "shrdram2",
> > "intc",
> > > > > > "cfg",
> > > > > > > +				    "iep", "mii_rt";
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt0: uio_pruss1_evt0 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 186
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt1: uio_pruss1_evt1 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 187
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt2: uio_pruss1_evt2 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 188
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt3: uio_pruss1_evt3 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 189
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt4: uio_pruss1_evt4 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 190
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt5: uio_pruss1_evt5 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 191
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt6: uio_pruss1_evt6 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 192
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss1_evt7: uio_pruss1_evt7 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 193
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +
> > > > > > > +		uio_pruss1_0_mem: uio_pruss1_0_mem {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			mem = <0x4b234000 0x3000>,
> > > > > > > +			      <0x4b222000 0x400>,
> > > > > > > +			      <0x4b222400 0x100>;
> > > > > > > +			mem-names = "iram", "control", "debug";
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +
> > > > > > > +		uio_pruss1_1_mem: uio_pruss1_1_mem {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			mem = <0x4b238000 0x3000>,
> > > > > > > +			      <0x4b224000 0x400>,
> > > > > > > +			      <0x4b224400 0x100>;
> > > > > > > +			mem-names = "iram", "control", "debug";
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +
> > > > > > > +		uio_pruss1_mdio: uio_pruss1_mdio {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			mem = <0x4b232400 0x90>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +
> > > > > > > +		uio_pruss2_mem: uio_pruss2_mem {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			ti,hwmods = "pruss2";
> > > > > > > +			mem = <0x4b280000 0x2000>,
> > > > > > > +			      <0x4b282000 0x2000>,
> > > > > > > +			      <0x4b290000 0x8000>,
> > > > > > > +			      <0x4b2a0000 0x2000>,
> > > > > > > +			      <0x4b2a6000 0x2000>,
> > > > > > > +			      <0x4b2ae000 0x31c>,
> > > > > > > +			      <0x4b2b2000 0x58>;
> > > > > > > +			mem-names = "dram0", "dram1", "shrdram2",
> > "intc",
> > > > > > "cfg",
> > > > > > > +				    "iep", "mii_rt";
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt0: uio_pruss2_evt0 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 196
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt1: uio_pruss2_evt1 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 197
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt2: uio_pruss2_evt2 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 198
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt3: uio_pruss2_evt3 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 199
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt4: uio_pruss2_evt4 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 200
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt5: uio_pruss2_evt5 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 201
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt6: uio_pruss2_evt6 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 202
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_evt7: uio_pruss2_evt7 {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			interrupts = <GIC_SPI 203
> > IRQ_TYPE_LEVEL_HIGH>;
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +
> > > > > > > +		uio_pruss2_0_mem: uio_pruss2_0_mem {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			mem = <0x4b2b4000 0x3000>,
> > > > > > > +			      <0x4b2a2000 0x400>,
> > > > > > > +			      <0x4b2a2400 0x100>;
> > > > > > > +			mem-names = "iram", "control", "debug";
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_1_mem: uio_pruss2_1_mem {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			mem = <0x4b2b8000 0x3000>,
> > > > > > > +			      <0x4b2a4000 0x400>,
> > > > > > > +			      <0x4b2a4400 0x100>;
> > > > > > > +			mem-names = "iram", "control", "debug";
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +		uio_pruss2_mdio: uio_pruss2_mdio {
> > > > > > > +			compatible = "ti,uio-module-drv";
> > > > > > > +			mem = <0x4b2b2400 0x90>;
> > > > > > > +			mem-names = "mdio";
> > > > > > > +			status = "okay";
> > > > > > > +		};
> > > > > > > +	};
> > > > > > > +};
> > > > > > > +
> > > > > > > +&pruss1 {
> > > > > > > +	status = "disabled";
> > > > > > > +};
> > > > > > > +
> > > > > > > +&pru1_0 {
> > > > > > > +	status = "disabled";
> > > > > > > +};
> > > > > > > +
> > > > > > > +&pru1_1 {
> > > > > > > +	status = "disabled";
> > > > > > > +};
> > > > > > > +
> > > > > > > +&pruss2 {
> > > > > > > +	status = "disabled";
> > > > > > > +};
> > > > > > > +
> > > > > > > +&pru2_0 {
> > > > > > > +	status = "disabled";
> > > > > > > +};
> > > > > > > +
> > > > > > > +&pru2_1 {
> > > > > > > +	status = "disabled";
> > > > > > > +};
> > > > > > > +
> > > > > > > +&pruss2_mdio {
> > > > > > > +	status = "disabled";
> > > > > > > +};
> > > > > > > diff --git a/recipes-kernel/linux/linux-ti-staging_4.4.bb
> > > > > > > b/recipes-kernel/linux/linux-ti-staging_4.4.bb
> > > > > > > index a9b99c0..620a789 100644
> > > > > > > --- a/recipes-kernel/linux/linux-ti-staging_4.4.bb
> > > > > > > +++ b/recipes-kernel/linux/linux-ti-staging_4.4.bb
> > > > > > > @@ -52,7 +52,7 @@ KERNEL_DEVICETREE_beaglebone = "am335x-
> > > > > > bone.dtb
> > > > > > > am335x-boneblack.dtb am335x-bone  KERNEL_DEVICETREE_omap5-
> > evm
> > > > =
> > > > > > "omap5-uevm.dtb"
> > > > > > >  KERNEL_DEVICETREE_dra7xx-evm = "dra7-evm.dtb
> > > > > > > dra7-evm-lcd-lg.dtb
> > > > > > dra7-evm-lcd-osd.dtb dra72-evm.dtb dra72-evm-revc.dtb
> > > > > > dra72-evm-lcd- lg.dtb dra72-evm-lcd-osd.dtb"
> > > > > > >  KERNEL_DEVICETREE_dra7xx-hs-evm =
> > > > "${KERNEL_DEVICETREE_dra7xx-
> > > > > > evm}"
> > > > > > > -KERNEL_DEVICETREE_am57xx-evm = "am57xx-beagle-x15.dtb
> > am57xx-
> > > > > > beagle-x15-revb1.dtb am57xx-evm.dtb am57xx-evm-reva3.dtb
> > am571x-
> > > > > > idk.dtb am572x-idk.dtb am571x-idk-lcd-osd.dtb am572x-idk-lcd-
> > osd.dtb"
> > > > > > > +KERNEL_DEVICETREE_am57xx-evm = "am57xx-beagle-x15.dtb
> > am57xx-
> > > > > > beagle-x15-revb1.dtb am57xx-evm.dtb am57xx-evm-reva3.dtb
> > am571x-
> > > > > > idk.dtb am572x-idk.dtb am571x-idk-lcd-osd.dtb
> > > > > > am572x-idk-lcd-osd.dtb am572x-idk-pru-excl-uio.dtb"
> > > > > >
> > > > > > NACK, you are adding it here unconditionally.
> > > > >
> > > > > Are you expecting this to be conditional to ENABLE_TI_UIO_DEVICES?
> > > > > Please clarify.
> > > >
> > > > The rest of your code is, isn't it?
> > 
> > That is what I meant - the rest of uio is conditional, so adding new DTB
> > unconditionally is at least confusing... DTB should also be conditional.
> 
> Ok.  I understand the feedback.
> This is little bit new to me, so I may need some help with this.
> Need something like:
> #if ${ENABLE_TI_UIO_DEVICES}
> KERNEL_DEVICETREE_append_am57xx-evm = " am572x-idk-pru-excl-uio.dtb"
> #endif
> I don't a quick solution on how to do this in the recipe .inc file.
> If we already do this for other variables in any of the recipes, please let me know.
> Appreciate your help.

In uio.inc file add this:

KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb", "", d)}"


> > > Actually the dtb file is created, even if ENABLE_TI_UIO_DEVICES is not
> > defined.
> > > Only the uio device tree entries are added based on this variable.
> > >
> > > >
> > > > > > >  KERNEL_DEVICETREE_omap3 = "omap3-beagle.dtb omap3-beagle-
> > > > xm.dtb
> > > > > > omap3-beagle-xm-ab.dtb omap3-evm.dtb omap3-evm-37xx.dtb
> > am3517-
> > > > > > evm.dtb"
> > > > > > >  KERNEL_DEVICETREE_am3517-evm = "am3517-evm.dtb"
> > > > > > >  KERNEL_DEVICETREE_am37x-evm = "omap3-evm-37xx.dtb"
> > > > > > > diff --git a/recipes-kernel/linux/ti-uio.inc
> > > > > > > b/recipes-kernel/linux/ti-uio.inc index 776e4a4..4764d78 100644
> > > > > > > --- a/recipes-kernel/linux/ti-uio.inc
> > > > > > > +++ b/recipes-kernel/linux/ti-uio.inc
> > > > > > > @@ -2,6 +2,7 @@ SRC_URI_append_keystone = " file://keystone-
> > > > uio.dtsi"
> > > > > > >  SRC_URI_append_k2hk-evm = " file://k2hk-uio.dtsi"
> > > > > > >  SRC_URI_append_k2l-evm = " file://k2l-uio.dtsi"
> > > > > > >  SRC_URI_append_k2e-evm = " file://k2e-uio.dtsi"
> > > > > > > +SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi"
> > > > > > >
> > > > > > >  DTSI_LIST = ""
> > > > > > >  DTSI_LIST_append_keystone = " keystone-uio.dtsi"
> > > > > > > @@ -24,4 +25,15 @@ do_setup_uio() {
> > > > > > >      fi
> > > > > > >  }
> > > > > > >
> > > > > > > +do_setup_uio_append_am57xx-evm() {
> > > > > > > +    dts="am572x-idk-pru-excl-uio.dts"
> > > > > > > +    dtsi="am572x-pru-uio.dtsi"
> > > > > > > +    cp ${S}/arch/arm/boot/dts/am572x-idk.dts
> > > > ${S}/arch/arm/boot/dts/$dts
> > > > > > > +    if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
> > > > > > > +    then
> > > > > > > +        cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/
> > > > > > > +        echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts
> > > > > > > +    fi
> > > > > > > +}
> > > > > > > +
> > > > > > >  do_patch[postfuncs] += "do_setup_uio"
> > > > > > > --
> > > > > > > 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