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

Denys Dmytriyenko denys at ti.com
Mon May 16 16:09:04 PDT 2016


On Mon, May 16, 2016 at 06:54:32PM -0400, Sam Nelson wrote:
> This new device tree file is to support pruss with uio based drivers
> alone.
> Adds uio entries for pruss susbsystem and disables other drivers
> controlling the same.
> New dtb is added only if ENABLE_TI_UIO_DEVICES is enabled.
> 
> Signed-off-by: Sam Nelson <sam.nelson at ti.com>
> 
> ---
> Change from previous version of patch
> - Modified recipe to new dtb, only if ENABLE_TI_UIO_DEVICES defined
> - Modified dtsi to make the uio interrupts edge triggerred
> - Updated comments
> ---
> ---
>  .../linux/files/dra7xx/am572x-pru-uio.dtsi         | 191 +++++++++++++++++++++
>  recipes-kernel/linux/linux-ti-staging_4.4.bb       |   2 +
>  recipes-kernel/linux/ti-uio.inc                    |  13 ++
>  3 files changed, 206 insertions(+)
>  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..577603a
> --- /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_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt1: uio_pruss1_evt1 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt2: uio_pruss1_evt2 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt3: uio_pruss1_evt3 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt4: uio_pruss1_evt4 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt5: uio_pruss1_evt5 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt6: uio_pruss1_evt6 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 192 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt7: uio_pruss1_evt7 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
> +			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_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt1: uio_pruss2_evt1 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt2: uio_pruss2_evt2 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt3: uio_pruss2_evt3 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt4: uio_pruss2_evt4 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt5: uio_pruss2_evt5 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 201 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt6: uio_pruss2_evt6 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 202 IRQ_TYPE_EDGE_RISING>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt7: uio_pruss2_evt7 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
> +			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 e7d5503..db3db9c 100644
> --- a/recipes-kernel/linux/linux-ti-staging_4.4.bb
> +++ b/recipes-kernel/linux/linux-ti-staging_4.4.bb
> @@ -63,6 +63,8 @@ KERNEL_DEVICETREE_k2e-evm = "keystone-k2e-evm.dtb"
>  KERNEL_DEVICETREE_k2g-evm = "keystone-k2g-evm.dtb"
>  KERNEL_DEVICETREE_k2l-evm = "keystone-k2l-evm.dtb"
>  
> +KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb", "", d)}"

This is not uio.inc file...


>  KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
>  
>  COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|omap3|omap4|keystone"
> diff --git a/recipes-kernel/linux/ti-uio.inc b/recipes-kernel/linux/ti-uio.inc
> index 776e4a4..8dcee72 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,16 @@ do_setup_uio() {
>      fi
>  }
>  
> +do_setup_uio_append_am57xx-evm() {
> +
> +    if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
> +    then
> +        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
> +        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