All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denys@ti.com>
To: Hongmei Gou <a0271529@ti.com>
Cc: meta-ti@yoctoproject.org
Subject: Re: [PATCH] linux-ti-staging: include pru-uio device tree files for am571x and k2g
Date: Tue, 5 Sep 2017 19:21:02 -0400	[thread overview]
Message-ID: <20170905232102.GJ8304@edge> (raw)
In-Reply-To: <1504649587-29636-1-git-send-email-a0271529@ti.com>

Thanks, I'll take these 2 patches into morty-next-rel (i.e. won't make it to 
2017.04, only .05) for testing.

-- 
Denys


On Tue, Sep 05, 2017 at 06:13:07PM -0400, Hongmei Gou wrote:
> * The pru-uio device tree file for am572x is also updated to support
>   icss-emac-lld in Linux userspace.
> 
> * The new dtbs are added only if ENABLE_TI_UIO_DEVICES is enabled.
> 
> Signed-off-by: Hongmei Gou <a0271529@ti.com>
> ---
>  .../linux/files/dra7xx/am571x-pru-uio.dtsi         | 284 +++++++++++++++
>  .../linux/files/dra7xx/am572x-pru-uio.dtsi         | 263 ++++++++------
>  .../linux/files/k2g/keystone-k2g-pru-uio.dtsi      | 391 +++++++++++++++++++++
>  recipes-kernel/linux/ti-uio.inc                    |  26 +-
>  4 files changed, 859 insertions(+), 105 deletions(-)
>  create mode 100644 recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi
>  create mode 100644 recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi
> 
> diff --git a/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi b/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi
> new file mode 100644
> index 0000000..71e0516
> --- /dev/null
> +++ b/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi
> @@ -0,0 +1,284 @@
> +&pruss_soc_bus1 {
> +                uio_pruss1_mdio {
> +                        status = "okay";
> +
> +                        compatible = "ti,davinci_mdio";
> +                        #address-cells = <1>;
> +                        #size-cells = <0>;
> +                        clocks = <&dpll_gmac_h13x2_ck>;
> +                        clock-names = "fck";
> +                        bus_freq = <1000000>;
> +                        reg = <0x4b232400 0x90>;
> +
> +                        reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
> +                        reset-delay-us = <2>;   /* PHY datasheet states 1uS min */
> +                        uio_pruss1_eth0_phy: uio_ethernet-phy@0 {
> +                            reg = <0>;
> +                        };
> +
> +                        uio_pruss1_eth1_phy: uio_ethernet-phy@1 {
> +                            reg = <1>;
> +                         };
> +                };
> +
> +		uio_pruss1_mem: uio_pruss1_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b200000 0x2000>,
> +			      <0x4b202000 0x2000>,
> +			      <0x4b210000 0x8000>,
> +			      <0x4b220000 0x5404>,
> +			      <0x4b226000 0x474>,
> +			      <0x4b22e000 0xc04>,
> +			      <0x4b232000 0x154>;
> +			mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
> +				    "iep", "mii_rt";
> +			status = "okay";
> +		};
> +		uio_pruss1_mem2: uio_pruss1_mem2 {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b228000 0xd4>,
> +			      <0x4b230000 0x174>,
> +			      <0x4b232400 0x234>,
> +			      <0x40300000 0x40000>;
> +			mem-names = "uart", "ecap", "mdio", "ocmc";
> +			status = "okay";
> +		};
> +		uio_pruss1_evt0: uio_pruss1_evt0 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt1: uio_pruss1_evt1 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt2: uio_pruss1_evt2 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt3: uio_pruss1_evt3 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt4: uio_pruss1_evt4 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt5: uio_pruss1_evt5 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt6: uio_pruss1_evt6 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt7: uio_pruss1_evt7 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +
> +		uio_pruss1_0_mem: uio_pruss1_0_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b234000 0x3000>,
> +			      <0x4b222000 0xb4>,
> +			      <0x4b222400 0x3f4>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +
> +		uio_pruss1_1_mem: uio_pruss1_1_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b238000 0x3000>,
> +			      <0x4b224000 0xb4>,
> +			      <0x4b224400 0x3f4>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +};
> +
> +&pruss_soc_bus2 {
> +                uio_pruss2_mdio {
> +                        compatible = "ti,davinci_mdio";
> +                        #address-cells = <1>;
> +                        #size-cells = <0>;
> +                        clocks = <&dpll_gmac_h13x2_ck>;
> +                        clock-names = "fck";
> +                        bus_freq = <1000000>;
> +                        reg = <0x4b2b2400 0x90>;
> +                        status = "okay";
> +
> +                        reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
> +                        reset-delay-us = <2>;   /* PHY datasheet states 1uS min */
> +
> +                        uio_pruss2_eth0_phy: ethernet-phy@0 {
> +                           reg = <0>;
> +                        };
> +
> +                        uio_pruss2_eth1_phy: ethernet-phy@1 {
> +                            reg = <1>;
> +                         };
> +                };
> +
> +		uio_pruss2_mem: uio_pruss2_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b280000 0x2000>,
> +			      <0x4b282000 0x2000>,
> +			      <0x4b290000 0x8000>,
> +			      <0x4b2a0000 0x5404>,
> +			      <0x4b2a6000 0x474>,
> +			      <0x4b2ae000 0xc04>,
> +			      <0x4b2b2000 0x154>;
> +			mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
> +				    "iep", "mii_rt";
> +			status = "okay";
> +		};
> +		uio_pruss2_mem2: uio_pruss2_mem2 {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b2a8000 0xd4>,
> +			      <0x4b2b0000 0x174>,
> +			      <0x4b2b2400 0x234>,
> +			      <0x40340000 0x40000>;
> +			mem-names = "uart", "ecap", "mdio", "ocmc";
> +			status = "okay";
> +		};
> +		uio_pruss2_evt0: uio_pruss2_evt0 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt1: uio_pruss2_evt1 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt2: uio_pruss2_evt2 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt3: uio_pruss2_evt3 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt4: uio_pruss2_evt4 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt5: uio_pruss2_evt5 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt6: uio_pruss2_evt6 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt7: uio_pruss2_evt7 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
> +			status = "okay";
> +		};
> +
> +		uio_pruss2_0_mem: uio_pruss2_0_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b2b4000 0x3000>,
> +			      <0x4b2a2000 0xb4>,
> +			      <0x4b2a2400 0x3f4>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +		uio_pruss2_1_mem: uio_pruss2_1_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x4b2b8000 0x3000>,
> +			      <0x4b2a4000 0xb4>,
> +			      <0x4b2a4400 0x3f4>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +	};
> +
> +&pruss1_eth {
> +        status = "disabled";
> +};
> +
> +&pruss1_emac0 {
> +        status = "disabled";
> +};
> +
> +&pruss1_emac1 {
> +        status = "disabled";
> +};
> +
> +&pruss2_emac0 {
> +        status = "disabled";
> +};
> +
> +&pruss2_emac1 {
> +        status = "disabled";
> +};
> +
> +&pruss1 {
> +	status = "disabled";
> +};
> +
> +&pru1_0 {
> +        status = "disabled";
> +};
> +
> +&pru1_1 {
> +        status = "disabled";
> +};
> +
> +&pruss1_intc {
> +        status = "disabled";
> +};
> +
> +&pruss1_mdio {
> +        status = "disabled";
> +};
> +
> +&pruss2 {
> +	status = "disabled";
> +};
> +
> +&pru2_0 {
> +        status = "disabled";
> +};
> +
> +&pru2_1 {
> +        status = "disabled";
> +};
> +
> +&pruss2_intc {
> +        status = "disabled";
> +};
> +
> +&pruss2_mdio {
> +        status = "disabled";
> +};
> diff --git a/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi
> index 828a0ce..f149cf1 100644
> --- a/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi
> +++ b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi
> @@ -1,92 +1,124 @@
> -/ {
> -	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_mem2: uio_pruss1_mem2 {
> -			compatible = "ti,uio-module-drv";
> -			mem = <0x4b228000 0x38>,
> -			      <0x4b230000 0x60>,
> -			      <0x4b232400 0x90>;
> -			mem-names = "uart", "ecap", "mdio";
> -			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";
> -		};
> +&pruss_soc_bus1 {
> +                uio_pruss1_mem: uio_pruss1_mem {
> +                        compatible = "ti,uio-module-drv";
> +                        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_mem2: uio_pruss1_mem2 {
> +                        compatible = "ti,uio-module-drv";
> +                        mem = <0x4b228000 0x38>,
> +                              <0x4b230000 0x60>,
> +                              <0x4b232400 0x90>,
> +                              <0x40340000 0x40000>;
> +                        mem-names = "uart", "ecap", "mdio", "ocmc";
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt0: uio_pruss1_evt0 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt1: uio_pruss1_evt1 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt2: uio_pruss1_evt2 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt3: uio_pruss1_evt3 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt4: uio_pruss1_evt4 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt5: uio_pruss1_evt5 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt6: uio_pruss1_evt6 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        status = "okay";
> +                };
> +                uio_pruss1_evt7: uio_pruss1_evt7 {
> +                        compatible = "ti,uio-module-drv";
> +                        interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
> +                        interrupt-mode = <1>;
> +                        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_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_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";
> +                };
> +};
> +
> +&pruss1 {
> +        status = "disabled";
> +};
> +
> +&pru1_0 {
> +        status = "disabled";
> +};
> +
> +&pru1_1 {
> +        status = "disabled";
> +};
> +
> +&pruss1_intc {
> +        status = "disabled";
> +};
> +
> +&pruss_soc_bus2 {
> +                uio_pruss2_mdio: uio_pruss2_mdio {
> +                    compatible = "ti,davinci_mdio";
> +                    #address-cells = <1>;
> +                    #size-cells = <0>;
> +                    clocks = <&dpll_gmac_h13x2_ck>;
> +                    clock-names = "fck";
> +                    bus_freq = <1000000>;
> +                    reg = <0x4b2b2400 0x90>;
> +                    status = "disabled";
> +                };
>  
>  		uio_pruss2_mem: uio_pruss2_mem {
>  			compatible = "ti,uio-module-drv";
> -			ti,hwmods = "pruss2";
>  			mem = <0x4b280000 0x2000>,
>  			      <0x4b282000 0x2000>,
>  			      <0x4b290000 0x8000>,
> @@ -102,48 +134,57 @@
>  			compatible = "ti,uio-module-drv";
>  			mem = <0x4b2a8000 0x38>,
>  			      <0x4b2b0000 0x60>,
> -			      <0x4b2b2400 0x90>;
> -			mem-names = "uart", "ecap", "mdio";
> +			      <0x4b2b2400 0x90>,
> +			      <0x40300000 0x40000>;
> +			mem-names = "uart", "ecap", "mdio", "ocmc";
>  			status = "okay";
>  		};
>  		uio_pruss2_evt0: uio_pruss2_evt0 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  		uio_pruss2_evt1: uio_pruss2_evt1 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  		uio_pruss2_evt2: uio_pruss2_evt2 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  		uio_pruss2_evt3: uio_pruss2_evt3 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  		uio_pruss2_evt4: uio_pruss2_evt4 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  		uio_pruss2_evt5: uio_pruss2_evt5 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 201 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  		uio_pruss2_evt6: uio_pruss2_evt6 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 202 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  		uio_pruss2_evt7: uio_pruss2_evt7 {
>  			compatible = "ti,uio-module-drv";
> -			interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-mode = <1>;
>  			status = "okay";
>  		};
>  
> @@ -163,23 +204,35 @@
>  			mem-names = "iram", "control", "debug";
>  			status = "okay";
>  		};
> -	};
>  };
>  
> -&pruss1 {
> -	status = "disabled";
> +&uio_pruss2_mdio {
> +        reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>,
> +                      <&gpio5 9 GPIO_ACTIVE_LOW>;
> +        reset-delay-us = <2>;   /* PHY datasheet states 1uS min */
>  };
>  
> -&pru1_0 {
> -	status = "disabled";
> +&uio_pruss2_mdio {
> +         status = "okay";
> +         uio_pruss2_eth0_phy: uio_pruss2_eth0_phy@0 {
> +             reg = <0>;
> +         };
> +
> +         uio_pruss2_eth1_phy: uio_pruss2_eth1_phy@1 {
> +              reg = <1>;
> +          };
>  };
>  
> -&pru1_1 {
> -	status = "disabled";
> +&pruss2_emac0 {
> +        status = "disabled";
> +};
> +
> +&pruss2_emac1 {
> +        status = "disabled";
>  };
>  
>  &pruss2 {
> -	status = "disabled";
> +        status = "disabled";
>  };
>  
>  &pru2_0 {
> @@ -190,6 +243,10 @@
>  	status = "disabled";
>  };
>  
> +&pruss2_intc {
> +        status = "disabled";
> +};
> +
>  &pruss2_mdio {
> -	status = "disabled";
> +        status = "disabled";
>  };
> diff --git a/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi b/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi
> new file mode 100644
> index 0000000..69955a4
> --- /dev/null
> +++ b/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi
> @@ -0,0 +1,391 @@
> +&pruss_soc_bus0 {
> +		uio_pruss1_mdio: uio_mdio@20ab2400 {
> +			compatible = "ti,davinci_mdio";
> +			reg = <0x20ab2400 0x90>;
> +			clocks = <&k2g_clks K2G_DEV_ICSS0 K2G_DEV_ICSS_CORE_CLK>;
> +			clock-names = "fck";
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			bus_freq = <2500000>;
> +			status = "disabled";
> +		};
> +
> +		uio_pruss1_mem: uio_pruss1_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20a80000 0x2000>,
> +			      <0x20a82000 0x2000>,
> +			      <0x20a90000 0x10000>,
> +			      <0x20aa0000 0x2000>,
> +			      <0x20aa6000 0x2000>,
> +			      <0x20aae000 0x31c>,
> +			      <0x20ab2000 0x70>;
> +			mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
> +				    "iep", "mii_rt";
> +			status = "okay";
> +		};
> +		uio_pruss1_mem2: uio_pruss1_mem2 {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20aa8000 0x38>,
> +			      <0x20ab0000 0x60>,
> +			      <0x20ab2400 0x90>,
> +			      <0x0c080000 0xe000>;
> +			mem-names = "uart", "ecap", "mdio", "ocmc";
> +			status = "okay";
> +		};
> +		uio_pruss1_evt0: uio_pruss1_evt0 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 224 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt1: uio_pruss1_evt1 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 225 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt2: uio_pruss1_evt2 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 226 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt3: uio_pruss1_evt3 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 227 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt4: uio_pruss1_evt4 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 228 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt6: uio_pruss1_evt6 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 230 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss1_evt7: uio_pruss1_evt7 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 231 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +
> +		uio_pruss1_0_mem: uio_pruss1_0_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20ab4000 0x3000>,
> +			      <0x20aa2000 0x400>,
> +			      <0x20aa2400 0x100>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +
> +		uio_pruss1_1_mem: uio_pruss1_1_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20ab8000 0x3000>,
> +			      <0x20aa4000 0x400>,
> +			      <0x20aa4400 0x100>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +};
> +
> +&pruss_soc_bus1 {
> +		uio_pruss2_mdio: uio_mdio@20af2400 {
> +			compatible = "ti,davinci_mdio";
> +			reg = <0x20af2400 0x90>;
> +			clocks = <&k2g_clks K2G_DEV_ICSS1 K2G_DEV_ICSS_CORE_CLK>;
> +			clock-names = "fck";
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			bus_freq = <2500000>;
> +			status = "disabled";
> +		};
> +
> +		uio_pruss2_mem: uio_pruss2_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20ac0000 0x2000>,
> +			      <0x20ac2000 0x2000>,
> +			      <0x20ad0000 0x10000>,
> +			      <0x20ae0000 0x2000>,
> +			      <0x20ae6000 0x2000>,
> +			      <0x20aee000 0x31c>,
> +			      <0x20af2000 0x70>;
> +			mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
> +				    "iep", "mii_rt";
> +			status = "okay";
> +		};
> +		uio_pruss2_mem2: uio_pruss2_mem2 {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20ae8000 0x38>,
> +			      <0x20af0000 0x60>,
> +			      <0x20af2400 0x90>,
> +			      <0x0c08e000 0xe000>;
> +			mem-names = "uart", "ecap", "mdio", "ocmc";
> +			status = "okay";
> +		};
> +		uio_pruss2_evt0: uio_pruss2_evt0 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 232 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt1: uio_pruss2_evt1 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 233 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt2: uio_pruss2_evt2 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 234 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt3: uio_pruss2_evt3 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 235 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt4: uio_pruss2_evt4 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 236 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt6: uio_pruss2_evt6 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 238 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +		uio_pruss2_evt7: uio_pruss2_evt7 {
> +			compatible = "ti,uio-module-drv";
> +			interrupts = <GIC_SPI 239 0xf01>;
> +			interrupt-mode = <0>;
> +			status = "okay";
> +		};
> +
> +		uio_pruss2_0_mem: uio_pruss2_0_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20af4000 0x3000>,
> +			      <0x20ae2000 0x400>,
> +			      <0x20ae2400 0x100>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +		uio_pruss2_1_mem: uio_pruss2_1_mem {
> +			compatible = "ti,uio-module-drv";
> +			mem = <0x20af8000 0x3000>,
> +			      <0x20ae4000 0x400>,
> +			      <0x20ae4400 0x100>;
> +			mem-names = "iram", "control", "debug";
> +			status = "okay";
> +		};
> +};
> +
> +&k2g_pinctrl {
> +	uio_pruss1_mdio_eth_default: uio_pruss1_mdio_eth_default {
> +		pinctrl-single,pins = <
> +                        K2G_CORE_IOPAD(0x12cc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* pr0_mdio_data.pr0_mdio_data */
> +                        K2G_CORE_IOPAD(0x12d0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0)      /* pr0_mdio_mdclk.pr0_mdio_mdclk */
> +                        K2G_CORE_IOPAD(0x105c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3)      /* gpmc_wait1.gpio0_23 (pr0_mii0_resetn) */
> +                        K2G_CORE_IOPAD(0x1070) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3)        /* gpmc_csn2.gpio0_28 (pr0_mii0_intn) */
> +                        K2G_CORE_IOPAD(0x1054) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3)      /* gpmc_be1n.gpio0_21 (pr0_mii1_resetn) */
> +                        K2G_CORE_IOPAD(0x1074) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3)        /* gpmc_csn3.gpio0_29 (pr0_mii1_intn) */
> +
> +                        /* PRUSS0 External Mux routing */
> +                        K2G_CORE_IOPAD(0x11d4) (BUFFER_CLASS_B | MUX_MODE3)                     /* uart0_ctsn.gpio0_106 */
> +                        K2G_CORE_IOPAD(0x11d8) (BUFFER_CLASS_B | MUX_MODE3)                     /* uart0_rtsn.gpio0_107 */
> +                        K2G_CORE_IOPAD(0x11fc) (BUFFER_CLASS_B | MUX_MODE3)                     /* dcan0_rx.gpio1_57 */
> +                        K2G_CORE_IOPAD(0x1200) (BUFFER_CLASS_B | MUX_MODE3)                     /* dcan0_tx.gpio1_56 */
> +                        K2G_CORE_IOPAD(0x1224) (BUFFER_CLASS_B | MUX_MODE3)                     /* qspi_csn2.gpio1_66 */
> +                        K2G_CORE_IOPAD(0x1228) (BUFFER_CLASS_B | MUX_MODE3)                     /* qspi_csn3.gpio1_67 */
> +
> +                        /* PRUSS0 PRU0 Ethernet */
> +                        K2G_CORE_IOPAD(0x122c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo0.pr0_pru0_gpi0 (pr0_mii0_rxd0) */
> +                        K2G_CORE_IOPAD(0x1230) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo1.pr0_pru0_gpi1 (pr0_mii0_rxd1) */
> +                        K2G_CORE_IOPAD(0x1234) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo2.pr0_pru0_gpi2 (pr0_mii0_rxd2) */
> +                        K2G_CORE_IOPAD(0x1238) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo3.pr0_pru0_gpi3 (pr0_mii0_rxd3) */
> +                        K2G_CORE_IOPAD(0x123c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo4.pr0_pru0_gpi4 (pr0_mii0_rxdv) */
> +                        K2G_CORE_IOPAD(0x1240) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo5.pr0_pru0_gpi5 (pr0_mii0_rxer) */
> +                        K2G_CORE_IOPAD(0x1244) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr0_pru0_gpo6.pr0_pru0_gpi6 (pr0_mii_mr0_clk) */
> +
> +                        K2G_CORE_IOPAD(0x124c) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr0_pru0_gpo8.pr0_pru0_gpi8 (pr0_mii0_rxlink) */
> +                        K2G_CORE_IOPAD(0x1250) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo9.pr0_pru0_gpi9 (pr0_mii0_col) */
> +                        K2G_CORE_IOPAD(0x1254) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru0_gpo10.pr0_pru0_gpi10 (pr0_mii0_crs) */
> +
> +                        K2G_CORE_IOPAD(0x12a8) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru1_gpo11.pr0_pru1_gpo11 (pr0_mii0_txd0) */
> +                        K2G_CORE_IOPAD(0x12ac) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru1_gpo12.pr0_pru1_gpo12 (pr0_mii0_txd1) */
> +                        K2G_CORE_IOPAD(0x12b0) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru1_gpo13.pr0_pru1_gpo13 (pr0_mii0_txd2) */
> +                        K2G_CORE_IOPAD(0x12b4) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru1_gpo14.pr0_pru1_gpo14 (pr0_mii0_txd3) */
> +                        K2G_CORE_IOPAD(0x12b8) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru1_gpo15.pr0_pru1_gpo15 (pr0_mii0_txen) */
> +                        K2G_CORE_IOPAD(0x12bc) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr0_pru1_gpo16.pr0_pru1_gpo16 (pr0_mii_mt0_clk) */
> +
> +                        /* PRUSS0 PRU1 Ethernet */
> +                        K2G_CORE_IOPAD(0x127c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo0.pr0_pru1_gpi0 (pr0_mii1_rxd0) */
> +                        K2G_CORE_IOPAD(0x1280) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo1.pr0_pru1_gpi1 (pr0_mii1_rxd1) */
> +                        K2G_CORE_IOPAD(0x1284) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo2.pr0_pru1_gpi2 (pr0_mii1_rxd2) */
> +                        K2G_CORE_IOPAD(0x1288) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo3.pr0_pru1_gpi3 (pr0_mii1_rxd3) */
> +                        K2G_CORE_IOPAD(0x128c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo4.pr0_pru1_gpi4 (pr0_mii1_rxdv) */
> +                        K2G_CORE_IOPAD(0x1290) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo5.pr0_pru1_gpi5 (pr0_mii1_rxer) */
> +                        K2G_CORE_IOPAD(0x1294) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr0_pru1_gpo6.pr0_pru1_gpi6 (pr0_mii_mr1_clk) */
> +
> +                        K2G_CORE_IOPAD(0x129c) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr0_pru1_gpo8.pr0_pru1_gpi8 (pr0_mii1_rxlink) */
> +                        K2G_CORE_IOPAD(0x12a0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo9.pr0_pru1_gpi9 (pr0_mii1_col) */
> +                        K2G_CORE_IOPAD(0x12a4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr0_pru1_gpo10.pr0_pru1_gpi10 (pr0_mii1_crs) */
> +
> +                        K2G_CORE_IOPAD(0x1258) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru0_gpo11.pr0_pru0_gpo11 (pr0_mii1_txd0) */
> +                        K2G_CORE_IOPAD(0x125c) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru0_gpo12.pr0_pru0_gpo12 (pr0_mii1_txd1) */
> +                        K2G_CORE_IOPAD(0x1260) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru0_gpo13.pr0_pru0_gpo13 (pr0_mii1_txd2) */
> +                        K2G_CORE_IOPAD(0x1264) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru0_gpo14.pr0_pru0_gpo14 (pr0_mii1_txd3) */
> +                        K2G_CORE_IOPAD(0x1268) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr0_pru0_gpo15.pr0_pru0_gpo15 (pr0_mii1_txen) */
> +                        K2G_CORE_IOPAD(0x126c) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr0_pru0_gpo16.pr0_pru0_gpo16 (pr0_mii_mt1_clk) */
> +		>;
> +	};
> +
> +	uio_pruss2_mdio_eth_default: uio_pruss2_mdio_eth_default {
> +		pinctrl-single,pins = <
> +                        K2G_CORE_IOPAD(0x1374) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* pr1_mdio_data.pr1_mdio_data */
> +                        K2G_CORE_IOPAD(0x1378) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0)      /* pr1_mdio_mdclk.pr1_mdio_mdclk */
> +                        K2G_CORE_IOPAD(0x1050) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3)      /* gpmc_be0ncle.gpio0_20 (pr1_mii0_resetn) */
> +                        K2G_CORE_IOPAD(0x1044) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3)        /* gpmc_advnale.gpio0_17 (pr1_mii0_intn) */
> +                        K2G_CORE_IOPAD(0x1060) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3)      /* gpmc_wpn.gpio0_24 (pr1_mii1_resetn) */
> +                        K2G_CORE_IOPAD(0x1088) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3)        /* gpmc_wait0.gpio0_22 (pr1_mii1_intn) */
> +
> +                        /* PRUSS1 PRU0 Ethernet */
> +                        K2G_CORE_IOPAD(0x12d4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo0.pr1_pru0_gpi0 (pr1_mii0_rxd0) */
> +                        K2G_CORE_IOPAD(0x12d8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo1.pr1_pru0_gpi1 (pr1_mii0_rxd1) */
> +                        K2G_CORE_IOPAD(0x12dc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo2.pr1_pru0_gpi2 (pr1_mii0_rxd2) */
> +                        K2G_CORE_IOPAD(0x12e0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo3.pr1_pru0_gpi3 (pr1_mii0_rxd3) */
> +                        K2G_CORE_IOPAD(0x12e4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo4.pr1_pru0_gpi4 (pr1_mii0_rxdv) */
> +                        K2G_CORE_IOPAD(0x12e8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo5.pr1_pru0_gpi5 (pr1_mii0_rxer) */
> +                        K2G_CORE_IOPAD(0x12ec) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr1_pru0_gpo6.pr1_pru0_gpi6 (pr1_mii_mr0_clk) */
> +
> +                        K2G_CORE_IOPAD(0x12f4) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr1_pru0_gpo8.pr1_pru0_gpi8 (pr1_mii0_rxlink) */
> +                        K2G_CORE_IOPAD(0x12f8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo9.pr1_pru0_gpi9 (pr1_mii0_col) */
> +                        K2G_CORE_IOPAD(0x12fc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru0_gpo10.pr1_pru0_gpi10 (pr1_mii0_crs) */
> +
> +                        K2G_CORE_IOPAD(0x1350) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru1_gpo11.pr1_pru1_gpo11 (pr1_mii0_txd0) */
> +                        K2G_CORE_IOPAD(0x1354) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru1_gpo12.pr1_pru1_gpo12 (pr1_mii0_txd1) */
> +                        K2G_CORE_IOPAD(0x1358) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru1_gpo13.pr1_pru1_gpo13 (pr1_mii0_txd2) */
> +                        K2G_CORE_IOPAD(0x135c) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru1_gpo14.pr1_pru1_gpo14 (pr1_mii0_txd3) */
> +                        K2G_CORE_IOPAD(0x1360) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru1_gpo15.pr1_pru1_gpo15 (pr1_mii0_txen) */
> +                        K2G_CORE_IOPAD(0x1364) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr1_pru1_gpo16.pr1_pru1_gpo16 (pr1_mii_mt0_clk) */
> +
> +                        /* PRUSS1 PRU1 Ethernet */
> +                        K2G_CORE_IOPAD(0x1324) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru1_gpo0.pr1_pru1_gpi0 (pr1_mii1_rxd0) */
> +                        K2G_CORE_IOPAD(0x132c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru1_gpo2.pr1_pru1_gpi2 (pr1_mii1_rxd2) */
> +                        K2G_CORE_IOPAD(0x1330) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru1_gpo3.pr1_pru1_gpi3 (pr1_mii1_rxd3) */
> +                        K2G_CORE_IOPAD(0x1334) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru1_gpo4.pr1_pru1_gpi4 (pr1_mii1_rxdv) */
> +                        K2G_CORE_IOPAD(0x1338) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru1_gpo5.pr1_pru1_gpi5 (pr1_mii1_rxer) */
> +                        K2G_CORE_IOPAD(0x133c) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr1_pru1_gpo6.pr1_pru1_gpi6 (pr1_mii_mr1_clk) */
> +
> +                        K2G_CORE_IOPAD(0x1344) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr1_pru1_gpo8.pr1_pru1_gpi8 (pr1_mii1_rxlink) */
> +                        K2G_CORE_IOPAD(0x1348) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru1_gpo9.pr1_pru1_gpi9 (pr1_mii1_col) */
> +                        K2G_CORE_IOPAD(0x134c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1)      /* pr1_pru1_gpo10.pr1_pru1_gpi10 (pr1_mii1_crs) */
> +
> +                        K2G_CORE_IOPAD(0x1300) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru0_gpo11.pr1_pru0_gpo11 (pr1_mii1_txd0) */
> +                        K2G_CORE_IOPAD(0x1304) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru0_gpo12.pr1_pru0_gpo12 (pr1_mii1_txd1) */
> +                        K2G_CORE_IOPAD(0x1308) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru0_gpo13.pr1_pru0_gpo13 (pr1_mii1_txd2) */
> +                        K2G_CORE_IOPAD(0x130c) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru0_gpo14.pr1_pru0_gpo14 (pr1_mii1_txd3) */
> +                        K2G_CORE_IOPAD(0x1310) (BUFFER_CLASS_B | MUX_MODE0)                     /* pr1_pru0_gpo15.pr1_pru0_gpo15 (pr1_mii1_txen) */
> +                        K2G_CORE_IOPAD(0x1314) (BUFFER_CLASS_B | MUX_MODE1)                     /* pr1_pru0_gpo16.pr1_pru0_gpo16 (pr1_mii_mt1_clk) */
> +		>;
> +	};
> +};
> +
> +&uio_pruss1_mdio {
> +        status = "okay";
> +        pinctrl-0 = <&uio_pruss1_mdio_eth_default>;
> +        pinctrl-names = "default";
> +        reset-gpios = <&gpio0 23 GPIO_ACTIVE_LOW>,
> +                      <&gpio0 21 GPIO_ACTIVE_LOW>;
> +        reset-delay-us = <20>;
> +
> +        uio_pruss1_eth0_phy: uio-ethernet-phy@0 {
> +                reg = <0>;
> +        };
> +
> +        uio_pruss1_eth1_phy: uio-ethernet-phy@1 {
> +                reg = <1>;
> +        };
> +};
> +
> +&uio_pruss2_mdio {
> +        status = "okay";
> +        pinctrl-0 = <&uio_pruss2_mdio_eth_default>;
> +        pinctrl-names = "default";
> +        reset-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>,
> +                      <&gpio0 24 GPIO_ACTIVE_LOW>;
> +        reset-delay-us = <20>;
> +
> +        uio_pruss2_eth0_phy: uio-ethernet-phy@2 {
> +                reg = <2>;
> +        };
> +
> +        uio_pruss2_eth1_phy: uio-ethernet-phy@3 {
> +                reg = <3>;
> +        };
> +};
> +
> +&pruss0 {
> +	status = "disabled";
> +};
> +
> +&pru0_0 {
> +	status = "disabled";
> +};
> +
> +&pru0_1 {
> +	status = "disabled";
> +};
> +
> +&pruss0_intc {
> +	status = "disabled";
> +};
> +
> +&pruss0_mdio {
> +	status = "disabled";
> +};
> +
> +&pruss1 {
> +	status = "disabled";
> +};
> +
> +&pru1_0 {
> +	status = "disabled";
> +};
> +
> +&pru1_1 {
> +	status = "disabled";
> +};
> +
> +&pruss1_intc {
> +	status = "disabled";
> +};
> +
> +&pruss1_mdio {
> +	status = "disabled";
> +};
> +
> +&pruss0_emac0 {
> +	status = "disabled";
> +};
> +
> +&pruss0_emac1 {
> +	status = "disabled";
> +};
> +
> +&pruss1_emac0 {
> +	status = "disabled";
> +};
> +
> +&pruss1_emac1 {
> +	status = "disabled";
> +};
> diff --git a/recipes-kernel/linux/ti-uio.inc b/recipes-kernel/linux/ti-uio.inc
> index 5c43637..13cf53e 100644
> --- a/recipes-kernel/linux/ti-uio.inc
> +++ b/recipes-kernel/linux/ti-uio.inc
> @@ -2,7 +2,10 @@ SRC_URI_append_keystone = " file://keystone-uio.dtsi"
>  SRC_URI_append_k2hk = " file://k2hk-uio.dtsi"
>  SRC_URI_append_k2l-evm = " file://k2l-uio.dtsi"
>  SRC_URI_append_k2e = " file://k2e-uio.dtsi"
> -SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi"
> +SRC_URI_append_k2g = " file://keystone-k2g-pru-uio.dtsi"
> +SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi \
> +                              file://am571x-pru-uio.dtsi \
> +"
>  SRC_URI_append_ti33x = " file://am335x-pru-uio.dtsi"
>  SRC_URI_append_ti43x = " file://am437x-pru-uio.dtsi"
>  
> @@ -12,9 +15,10 @@ DTSI_LIST_append_k2hk = " k2hk-uio.dtsi"
>  DTSI_LIST_append_k2l-evm = " k2l-uio.dtsi"
>  DTSI_LIST_append_k2e = " k2e-uio.dtsi"
>  
> -KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb", "", d)}"
> +KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb am571x-idk-pru-excl-uio.dtb", "", d)}"
>  KERNEL_DEVICETREE_append_ti33x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am335x-icev2-pru-excl-uio.dtb", "", d)}"
>  KERNEL_DEVICETREE_append_ti43x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am437x-idk-pru-excl-uio.dtb", "", d)}"
> +KERNEL_DEVICETREE_append_k2g = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " keystone-k2g-ice-pru-excl-uio.dtb", "", d)}"
>  
>  do_setup_uio() {
>      if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
> @@ -40,6 +44,12 @@ do_setup_uio_append_am57xx-evm() {
>          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
> +
> +        dts="am571x-idk-pru-excl-uio.dts"
> +        dtsi="am571x-pru-uio.dtsi"
> +        cp ${S}/arch/arm/boot/dts/am571x-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
>  }
>  
> @@ -67,4 +77,16 @@ do_setup_uio_append_ti43x() {
>      fi
>  }
>  
> +do_setup_uio_append_k2g() {
> +
> +    if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
> +    then
> +        dts="keystone-k2g-ice-pru-excl-uio.dts"
> +        dtsi="keystone-k2g-pru-uio.dtsi"
> +        cp ${S}/arch/arm/boot/dts/keystone-k2g-ice.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@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


  reply	other threads:[~2017-09-05 23:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-05 22:13 [PATCH] linux-ti-staging: include pru-uio device tree files for am571x and k2g Hongmei Gou
2017-09-05 23:21 ` Denys Dmytriyenko [this message]
2017-09-25 17:52 ` Gou, Hongmei
2017-09-26 17:01   ` Denys Dmytriyenko

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=20170905232102.GJ8304@edge \
    --to=denys@ti.com \
    --cc=a0271529@ti.com \
    --cc=meta-ti@yoctoproject.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.