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

Nelson, Sam sam.nelson at ti.com
Mon May 16 14:00:44 PDT 2016



> -----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.

> 
> 
> > 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