[meta-ti] [PATCH] linux-ti-staging: include pru-uio device tree files for am571x and k2g

Denys Dmytriyenko denys at ti.com
Tue Sep 26 10:01:09 PDT 2017


Hongmei,

Both of these patches have been merged on September 5 and rebased on top of 
every RC tag since then:

https://lists.yoctoproject.org/pipermail/meta-ti/2017-September/010365.html

-- 
Denys


On Mon, Sep 25, 2017 at 05:52:50PM +0000, Gou, Hongmei wrote:
> Ping...
> 
> > -----Original Message-----
> > From: Gou, Hongmei
> > Sent: Tuesday, September 05, 2017 6:13 PM
> > To: meta-ti at yoctoproject.org
> > Cc: Gou, Hongmei
> > Subject: [meta-ti] [PATCH] linux-ti-staging: include pru-uio device tree files
> > for am571x and k2g
> > 
> > * 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 at 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 at 0 {
> > +                            reg = <0>;
> > +                        };
> > +
> > +                        uio_pruss1_eth1_phy: uio_ethernet-phy at 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 at 0 {
> > +                           reg = <0>;
> > +                        };
> > +
> > +                        uio_pruss2_eth1_phy: ethernet-phy at 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 at 0 {
> > +             reg = <0>;
> > +         };
> > +
> > +         uio_pruss2_eth1_phy: uio_pruss2_eth1_phy at 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 at 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 at 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 at 0 {
> > +                reg = <0>;
> > +        };
> > +
> > +        uio_pruss1_eth1_phy: uio-ethernet-phy at 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 at 2 {
> > +                reg = <2>;
> > +        };
> > +
> > +        uio_pruss2_eth1_phy: uio-ethernet-phy at 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 at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


More information about the meta-ti mailing list