Signed-off-by: Hongmei Gou <a0271...@ti.com>
---
 .../linux/files/dra7xx/am57xx-pru-uio.dtsi         | 252 +++++++++++++++++++++
 .../linux/linux-ti-staging-rt_4.9.bbappend         |  15 +-
 recipes-kernel/linux/linux-ti-staging_4.9.bbappend |  15 +-
 3 files changed, 280 insertions(+), 2 deletions(-)
 create mode 100644 recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi

diff --git a/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi 
b/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi
new file mode 100644
index 0000000..f149cf1
--- /dev/null
+++ b/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi
@@ -0,0 +1,252 @@
+&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_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";
+                       mem = <0x4b280000 0x2000>,
+                             <0x4b282000 0x2000>,
+                             <0x4b290000 0x8000>,
+                             <0x4b2a0000 0x2000>,
+                             <0x4b2a6000 0x2000>,
+                             <0x4b2ae000 0x31c>,
+                             <0x4b2b2000 0x58>;
+                       mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
+                                   "iep", "mii_rt";
+                       status = "okay";
+               };
+               uio_pruss2_mem2: uio_pruss2_mem2 {
+                       compatible = "ti,uio-module-drv";
+                       mem = <0x4b2a8000 0x38>,
+                             <0x4b2b0000 0x60>,
+                             <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_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 0x400>,
+                             <0x4b2a2400 0x100>;
+                       mem-names = "iram", "control", "debug";
+                       status = "okay";
+               };
+               uio_pruss2_1_mem: uio_pruss2_1_mem {
+                       compatible = "ti,uio-module-drv";
+                       mem = <0x4b2b8000 0x3000>,
+                             <0x4b2a4000 0x400>,
+                             <0x4b2a4400 0x100>;
+                       mem-names = "iram", "control", "debug";
+                       status = "okay";
+               };
+};
+
+&uio_pruss2_mdio {
+        reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>,
+                      <&gpio5 9 GPIO_ACTIVE_LOW>;
+        reset-delay-us = <2>;   /* PHY datasheet states 1uS min */
+};
+
+&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>;
+          };
+};
+
+&pruss2_emac0 {
+        status = "disabled";
+};
+
+&pruss2_emac1 {
+        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/linux-ti-staging-rt_4.9.bbappend 
b/recipes-kernel/linux/linux-ti-staging-rt_4.9.bbappend
index 9e92aae..ad14478 100644
--- a/recipes-kernel/linux/linux-ti-staging-rt_4.9.bbappend
+++ b/recipes-kernel/linux/linux-ti-staging-rt_4.9.bbappend
@@ -1,4 +1,4 @@
-PR_append = ".tisdk11"
+PR_append = ".tisdk12"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.9:${THISDIR}/files:"
 
@@ -22,5 +22,18 @@ KERNEL_DEVICETREE_append_am57xx-evm = " \
 CMEM_MACHINE_am57xx-evm = "am571x am572x am574x"
 CMEM_DEVICETREE_am574x = "am574x-idk.dtb am574x-idk-lcd-osd101t2587.dtb"
 
+SRC_URI_append_dra7xx = " file://am57xx-pru-uio.dtsi"
+do_setup_uio_append_dra7xx() {
+
+    if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
+    then
+        dts="am574x-idk-pru-excl-uio.dts"
+        dtsi="am57xx-pru-uio.dtsi"
+        cp ${S}/arch/arm/boot/dts/am574x-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
+}
+
 RDEPENDS_kernel-base_append_am57xx-evm = " pruhsr-fw pruprp-fw"
 RDEPENDS_kernel-base_append_keystone = " netcp-sa-fw"
diff --git a/recipes-kernel/linux/linux-ti-staging_4.9.bbappend 
b/recipes-kernel/linux/linux-ti-staging_4.9.bbappend
index 38c7a8d..978b639 100644
--- a/recipes-kernel/linux/linux-ti-staging_4.9.bbappend
+++ b/recipes-kernel/linux/linux-ti-staging_4.9.bbappend
@@ -1,4 +1,4 @@
-PR_append = ".tisdk11"
+PR_append = ".tisdk12"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.9:${THISDIR}/files:"
 
@@ -22,5 +22,18 @@ KERNEL_DEVICETREE_append_am57xx-evm = " \
 CMEM_MACHINE_am57xx-evm = "am571x am572x am574x"
 CMEM_DEVICETREE_am574x = "am574x-idk.dtb am574x-idk-lcd-osd101t2587.dtb"
 
+SRC_URI_append_dra7xx = " file://am57xx-pru-uio.dtsi"
+do_setup_uio_append_dra7xx() {
+
+    if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
+    then
+        dts="am574x-idk-pru-excl-uio.dts"
+        dtsi="am57xx-pru-uio.dtsi"
+        cp ${S}/arch/arm/boot/dts/am574x-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
+}
+
 RDEPENDS_kernel-base_append_am57xx-evm = " pruhsr-fw pruprp-fw"
 RDEPENDS_kernel-base_append_keystone = " netcp-sa-fw"
-- 
1.9.1

_______________________________________________
meta-arago mailing list
meta-arago@arago-project.org
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to