All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add uio based pruss test for am3/am4
@ 2017-06-22 22:09 Hongmei Gou
  2017-06-22 22:09 ` [PATCH 1/3] uio-module-drv*: version bump to 2.2.0 and add test support " Hongmei Gou
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Hongmei Gou @ 2017-06-22 22:09 UTC (permalink / raw)
  To: meta-ti

The major changes include:
1) Add am3/am4 support in uio-module-drv-test
2) Add am3/am4 support in uio-test-pruss
3) Add pru-uio device tree files for am3/am4

Hongmei Gou (3):
  uio-module-drv*: version bump to 2.2.0 and add test support for
    am3/am4
  uio-test-pruss: version bump to 1.0.1.0 and add support for am3/am4
  linux-ti-staging: include pru-uio device tree files for am3/am4

 .../uio-module-drv/uio-module-drv-test_git.bb      |  14 +-
 recipes-bsp/uio-module-drv/uio-module-drv.inc      |  12 +-
 .../linux/files/ti33x/am335x-pru-uio.dtsi          | 192 ++++++++++++++
 .../linux/files/ti43x/am437x-pru-uio.dtsi          | 292 +++++++++++++++++++++
 recipes-kernel/linux/ti-uio.inc                    |  28 ++
 recipes-ti/uio-test-pruss/uio-test-pruss_git.bb    |  19 +-
 6 files changed, 545 insertions(+), 12 deletions(-)
 create mode 100644 recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi
 create mode 100644 recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi

-- 
1.9.1



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/3] uio-module-drv*: version bump to 2.2.0 and add test support for am3/am4
  2017-06-22 22:09 [PATCH 0/3] Add uio based pruss test for am3/am4 Hongmei Gou
@ 2017-06-22 22:09 ` Hongmei Gou
  2017-06-22 22:09 ` [PATCH 2/3] uio-test-pruss: version bump to 1.0.1.0 and add " Hongmei Gou
  2017-06-22 22:09 ` [PATCH 3/3] linux-ti-staging: include pru-uio device tree files " Hongmei Gou
  2 siblings, 0 replies; 4+ messages in thread
From: Hongmei Gou @ 2017-06-22 22:09 UTC (permalink / raw)
  To: meta-ti

* Also defines are added in .inc to allow switching the git repo
  through local.confappend

Signed-off-by: Hongmei Gou <h-gou@ti.com>
---
 recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb | 14 ++++++++++++--
 recipes-bsp/uio-module-drv/uio-module-drv.inc         | 12 ++++++++----
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb b/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb
index 8303efe..2e3bb91 100644
--- a/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb
+++ b/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb
@@ -2,12 +2,14 @@ DESCRIPTION = "Test code for user space IO (UIO) driver"
 
 include uio-module-drv.inc
 
-PR = "r2"
+PR = "r3"
 
-COMPATIBLE_MACHINE = "keystone|omap-a15"
+COMPATIBLE_MACHINE = "keystone|omap-a15|ti33x|ti43x"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 DEVICE_NAME_omap-a15 = "am57xx"
+DEVICE_NAME_ti33x = "am33xx"
+DEVICE_NAME_ti43x = "am43xx"
 DEVICE_NAME_keystone = "keystone"
 RDEPENDS_${PN} = "uio-module-drv"
 
@@ -28,3 +30,11 @@ do_install_append_keystone () {
 do_install_append_omap-a15 () {
 	install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
 }
+
+do_install_append_ti33x () {
+        install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
+}
+
+do_install_append_ti43x () {
+        install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
+}
diff --git a/recipes-bsp/uio-module-drv/uio-module-drv.inc b/recipes-bsp/uio-module-drv/uio-module-drv.inc
index 88eab76..6d55db2 100644
--- a/recipes-bsp/uio-module-drv/uio-module-drv.inc
+++ b/recipes-bsp/uio-module-drv/uio-module-drv.inc
@@ -2,11 +2,15 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2b7c96eb2aed7b0f6f922214dbde9016"
 
 BRANCH = "master"
-# This corresponds to version 02.01.00.00
-SRCREV = "19761495883bf8fb2670b0929d255135bd295dcb"
+# This corresponds to version 02.02.00.00
+UIO_MODULE_DRV_SRCREV = "59cd07395d7f26cbd01969d130d7b8bd5ccb12c5"
 
-PV = "2.1.0.0+git${SRCPV}"
+PV = "2.2.0.0+git${SRCPV}"
 
-SRC_URI = "git://git.ti.com/keystone-linux/uio-module-drv.git;protocol=git;branch=${BRANCH}"
+UIO_MODULE_DRV_GIT_URI = "git://git.ti.com/keystone-linux/uio-module-drv.git"
+UIO_MODULE_DRV_GIT_PROTOCOL = "git"
+SRC_URI = "${UIO_MODULE_DRV_GIT_URI};protocol=${UIO_MODULE_DRV_GIT_PROTOCOL};branch=${BRANCH}"
+
+SRCREV = "${UIO_MODULE_DRV_SRCREV}"
 
 S = "${WORKDIR}/git"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] uio-test-pruss: version bump to 1.0.1.0 and add support for am3/am4
  2017-06-22 22:09 [PATCH 0/3] Add uio based pruss test for am3/am4 Hongmei Gou
  2017-06-22 22:09 ` [PATCH 1/3] uio-module-drv*: version bump to 2.2.0 and add test support " Hongmei Gou
@ 2017-06-22 22:09 ` Hongmei Gou
  2017-06-22 22:09 ` [PATCH 3/3] linux-ti-staging: include pru-uio device tree files " Hongmei Gou
  2 siblings, 0 replies; 4+ messages in thread
From: Hongmei Gou @ 2017-06-22 22:09 UTC (permalink / raw)
  To: meta-ti

* Also defines are added to allow switching the git repo through
  local.confappend

Signed-off-by: Hongmei Gou <h-gou@ti.com>
---
 recipes-ti/uio-test-pruss/uio-test-pruss_git.bb | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb b/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb
index a342fe3..724ca07 100644
--- a/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb
+++ b/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb
@@ -1,6 +1,6 @@
 DESCRIPTION = "Provides test pruss firmware for uio based tests"
 LICENSE = "BSD-3-Clause"
-PV = "1.0.0.0"
+PV = "1.0.1.0"
 require recipes-ti/includes/ti-paths.inc
 
 S = "${WORKDIR}/git"
@@ -8,20 +8,27 @@ S = "${WORKDIR}/git"
 DEPENDS = "ti-cgt-pru-native"
 
 BRANCH = "master"
-SRC_URI = "git://git.ti.com/processor-sdk/uio-test-pruss.git;protocol=git;branch=${BRANCH}"
 LIC_FILES_CHKSUM = "file://Makefile;startline=1;endline=31;md5=0ee4f2c42eb6b04e37859bb55a18b144"
 
-# Corresponds to version 01.00.00.00A
-SRCREV = "88e78564ff9094ecb13b53d627fa6bfb25d9ac03"
+UIO_TEST_PRUSS_GIT_URI = "git://git.ti.com/processor-sdk/uio-test-pruss.git"
+UIO_TEST_PRUSS_GIT_PROTOCOL = "git"
+SRC_URI = "${UIO_TEST_PRUSS_GIT_URI};protocol=${UIO_TEST_PRUSS_GIT_PROTOCOL};branch=${BRANCH}"
 
-PR = "r1"
+# Corresponds to version 01.00.01.00
+UIO_TEST_PRUSS_SRCREV = "72f7454c2460bd7d52dab70631b38bf5d3585542"
 
-COMPATIBLE_MACHINE = "omap-a15"
+SRCREV = "${UIO_TEST_PRUSS_SRCREV}"
+
+PR = "r2"
+
+COMPATIBLE_MACHINE = "omap-a15|ti33x|ti43x"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 DEVICE_NAME = ""
 DEVICE_NAME_append_am57xx-evm = "am57xx"
+DEVICE_NAME_append_ti33x = "am33xx"
+DEVICE_NAME_append_ti43x = "am43xx"
 
 EXTRA_OEMAKE = "CGT_PRU=${TI_CGT_PRU_INSTALL_DIR} DEVICE=${DEVICE_NAME}"
 
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] linux-ti-staging: include pru-uio device tree files for am3/am4
  2017-06-22 22:09 [PATCH 0/3] Add uio based pruss test for am3/am4 Hongmei Gou
  2017-06-22 22:09 ` [PATCH 1/3] uio-module-drv*: version bump to 2.2.0 and add test support " Hongmei Gou
  2017-06-22 22:09 ` [PATCH 2/3] uio-test-pruss: version bump to 1.0.1.0 and add " Hongmei Gou
@ 2017-06-22 22:09 ` Hongmei Gou
  2 siblings, 0 replies; 4+ messages in thread
From: Hongmei Gou @ 2017-06-22 22:09 UTC (permalink / raw)
  To: meta-ti

* These device tree files are to support pruss with uio based
  drivers alone. The new dtbs are added only if ENABLE_TI_UIO_DEVICES
  is enabled.

Signed-off-by: Hongmei Gou <h-gou@ti.com>
---
 .../linux/files/ti33x/am335x-pru-uio.dtsi          | 192 ++++++++++++++
 .../linux/files/ti43x/am437x-pru-uio.dtsi          | 292 +++++++++++++++++++++
 recipes-kernel/linux/ti-uio.inc                    |  28 ++
 3 files changed, 512 insertions(+)
 create mode 100644 recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi
 create mode 100644 recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi

diff --git a/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi b/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi
new file mode 100644
index 0000000..2d9127b
--- /dev/null
+++ b/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi
@@ -0,0 +1,192 @@
+&pruss_soc_bus {
+		uio_pruss_mdio: uio_pruss_mdio@4a332400 {
+			compatible = "ti,davinci_mdio";
+			reg = <0x4a332400 0x90>;
+			clocks = <&dpll_core_m4_ck>;
+			clock-names = "fck";
+			bus_freq = <1000000>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		uio_pruss_mem: uio_pruss_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x4a300000 0x2000>,
+			      <0x4a302000 0x2000>,
+			      <0x4a310000 0x3000>,
+			      <0x4a320000 0x2000>,
+			      <0x4a326000 0x2000>,
+			      <0x4a32e000 0x31c>,
+			      <0x4a332000 0x58>;
+			mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
+				    "iep", "mii_rt";
+
+			status = "okay";
+		};
+		uio_pruss_mem2: uio_pruss_mem2 {
+			compatible = "ti,uio-module-drv";
+			mem = <0x4a328000 0xd4>,
+			      <0x4a330000 0x174>,
+			      <0x4a332400 0x90>,
+			      <0x40302000 0x0e000>;
+			mem-names = "uart", "ecap", "mdio", "ocmc";
+			status = "okay";
+		};
+
+		uio_pruss_evt0: uio_pruss_evt0 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <20>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss_evt1: uio_pruss_evt1 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <21>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss_evt2: uio_pruss_evt2 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <22>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss_evt3: uio_pruss_evt3 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <23>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss_evt4: uio_pruss_evt4 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <24>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss_evt5: uio_pruss_evt5 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <25>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss_evt6: uio_pruss_evt6 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <26>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss_evt7: uio_pruss_evt7 {
+			compatible = "ti,uio-module-drv";
+                        interrupts = <27>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+
+		uio_pruss_0_mem: uio_pruss_0_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x4a334000 0x2000>,
+			      <0x4a322000 0x400>,
+			      <0x4a322400 0x100>;
+			mem-names = "iram", "control", "debug";
+			status = "okay";
+		};
+
+		uio_pruss_1_mem: uio_pruss_1_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x4a338000 0x2000>,
+			      <0x4a324000 0x400>,
+			      <0x4a324400 0x100>;
+			mem-names = "iram", "control", "debug";
+			status = "okay";
+		};
+};
+
+&am33xx_pinmux {
+	uio_pruss_mdio_eth_default: uio_pruss_mdio_eht_default {
+		pinctrl-single,pins = <
+			AM33XX_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5))           /* gpmc_clk.pr1_mdio_mdclk */
+			AM33XX_IOPAD(0x888, (PIN_INPUT  | MUX_MODE5))           /* gpmc_csn3.pr1_mdio_data */
+			AM33XX_IOPAD(0x89c, (PIN_INPUT_PULLUP | MUX_MODE7))     /* gpmc_ben0_cle.gpio2_5 */
+			/* disable CPSW MDIO */
+			AM33XX_IOPAD(0x948, (PIN_INPUT_PULLUP | MUX_MODE7))     /* mdio_data.gpio0_0 */
+			AM33XX_IOPAD(0x94c, (PIN_INPUT_PULLUP | MUX_MODE7))     /* mdio_clk.gpio0_1 */
+			AM33XX_IOPAD(0x8a0, (PIN_INPUT  | MUX_MODE2))   /* dss_data0.pr1_mii_mt0_clk */
+			AM33XX_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2))   /* dss_data5.pr1_mii0_txd0 */
+			AM33XX_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2))   /* dss_data4.pr1_mii0_txd1 */
+			AM33XX_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2))   /* dss_data3.pr1_mii0_txd2 */
+			AM33XX_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2))   /* dss_data2.pr1_mii0_txd3 */
+			AM33XX_IOPAD(0x8cc, (PIN_INPUT  | MUX_MODE5))   /* dss_data11.pr1_mii0_rxd0 */
+			AM33XX_IOPAD(0x8c8, (PIN_INPUT  | MUX_MODE5))   /* dss_data10.pr1_mii0_rxd1 */
+			AM33XX_IOPAD(0x8c4, (PIN_INPUT  | MUX_MODE5))   /* dss_data9.pr1_mii0_rxd2 */
+			AM33XX_IOPAD(0x8c0, (PIN_INPUT  | MUX_MODE5))   /* dss_data8.pr1_mii0_rxd3 */
+			AM33XX_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2))   /* dss_data1.pr1_mii0_txen */
+			AM33XX_IOPAD(0x8d8, (PIN_INPUT  | MUX_MODE5))   /* dss_data14.pr1_mii_mr0_clk */
+			AM33XX_IOPAD(0x8dc, (PIN_INPUT  | MUX_MODE5))   /* dss_data15.pr1_mii0_rxdv */
+			AM33XX_IOPAD(0x8d4, (PIN_INPUT  | MUX_MODE5))   /* dss_data13.pr1_mii0_rxer */
+			AM33XX_IOPAD(0x8d0, (PIN_INPUT  | MUX_MODE5))   /* dss_data12.pr1_mii0_rxlink */
+			AM33XX_IOPAD(0x8e8, (PIN_INPUT  | MUX_MODE2))   /* dss_pclk.pr1_mii0_crs */
+
+			AM33XX_IOPAD(0x840, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a0.pr1_mii_mt1_clk */
+			AM33XX_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a4.pr1_mii1_txd0 */
+			AM33XX_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a3.pr1_mii1_txd1 */
+			AM33XX_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a2.pr1_mii1_txd2 */
+			AM33XX_IOPAD(0x844, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a1.pr1_mii1_txd3 */
+			AM33XX_IOPAD(0x860, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a8.pr1_mii1_rxd0 */
+			AM33XX_IOPAD(0x85c, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a7.pr1_mii1_rxd1 */
+			AM33XX_IOPAD(0x858, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a6.pr1_mii1_rxd2 */
+			AM33XX_IOPAD(0x854, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a5.pr1_mii1_rxd3 */
+			AM33XX_IOPAD(0x874, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_wpn.pr1_mii1_txen */
+			AM33XX_IOPAD(0x864, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a9.pr1_mii_mr1_clk */
+			AM33XX_IOPAD(0x868, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a10.pr1_mii1_rxdv */
+			AM33XX_IOPAD(0x86c, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a11.pr1_mii1_rxer */
+			AM33XX_IOPAD(0x878, (PIN_INPUT  | MUX_MODE5))   /* gpmc_ben1.pr1_mii1_rxlink */
+			AM33XX_IOPAD(0x8ec, (PIN_INPUT  | MUX_MODE2))   /* lcd_ac_bias_en.pr1_mii1_crs */
+			AM33XX_IOPAD(0x870, (PIN_INPUT  | MUX_MODE5))   /* gpmc_wait0.pr1_mii1_col */
+		>;
+	};
+};
+
+&uio_pruss_mdio {
+	pinctrl-0 = <&uio_pruss_mdio_eth_default>;
+	pinctrl-names = "default";
+	reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
+	reset-delay-us = <2>; /* PHY datasheet states 1uS min */
+	status = "okay";
+
+	uio_pruss_eth0_phy: ethernet-phy@1 {
+		reg = <1>;
+	};
+
+	uio_pruss_eth1_phy: ethernet-phy@3 {
+		reg = <3>;
+	};
+};
+
+&pruss {
+	status = "disabled";
+};
+
+&pru0 {
+	status = "disabled";
+};
+
+&pru1 {
+	status = "disabled";
+};
+
+&pruss_intc {
+	status = "disabled";
+};
+
+&pruss_mdio {
+	status = "disabled";
+};
+
+&pruss_emac0 {
+	status = "disabled";
+};
+
+&pruss_emac1 {
+	status = "disabled";
+};
diff --git a/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi b/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi
new file mode 100644
index 0000000..80993c4
--- /dev/null
+++ b/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi
@@ -0,0 +1,292 @@
+&pruss_soc_bus {
+		uio_pruss2_mdio: uio_mdio@54432400 {
+			compatible = "ti,davinci_mdio";
+			reg = <0x54432400 0x90>;
+			clocks = <&dpll_core_m4_ck>;
+			clock-names = "fck";
+			bus_freq = <1000000>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		uio_pruss2_mem: uio_pruss2_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x54400000 0x2000>,
+			      <0x54402000 0x2000>,
+			      <0x54410000 0x8000>,
+			      <0x54420000 0x2000>,
+			      <0x54426000 0x2000>,
+			      <0x5442e000 0x31c>,
+			      <0x54432000 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 = <0x54428000 0x38>,
+			      <0x54430000 0x60>,
+			      <0x54432400 0x90>,
+			      <0x40320000 0x20000>;
+			mem-names = "uart", "ecap", "mdio", "ocmc";
+			status = "okay";
+		};
+		uio_pruss2_evt0: uio_pruss2_evt0 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss2_evt1: uio_pruss2_evt1 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss2_evt2: uio_pruss2_evt2 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss2_evt3: uio_pruss2_evt3 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss2_evt4: uio_pruss2_evt4 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss2_evt5: uio_pruss2_evt5 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss2_evt6: uio_pruss2_evt6 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss2_evt7: uio_pruss2_evt7 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+
+		uio_pruss2_0_mem: uio_pruss2_0_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x54434000 0x3000>,
+			      <0x54422000 0x400>,
+			      <0x54422400 0x100>;
+			mem-names = "iram", "control", "debug";
+			status = "okay";
+		};
+
+		uio_pruss2_1_mem: uio_pruss2_1_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x54438000 0x3000>,
+			      <0x54424000 0x400>,
+			      <0x54424400 0x100>;
+			mem-names = "iram", "control", "debug";
+			status = "okay";
+		};
+
+		uio_pruss1_mem: uio_pruss1_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x54440000 0x1000>,
+			      <0x54442000 0x1000>,
+			      <0x54450000 0x8000>,
+			      <0x54460000 0x2000>,
+			      <0x54466000 0x2000>,
+			      <0x5446e000 0x31c>,
+			      <0x54472000 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 = <0x54468000 0x38>,
+			      <0x54470000 0x60>,
+			      <0x54472400 0x90>,
+			      <0x40302000 0x1e000>;
+			mem-names = "uart", "ecap", "mdio", "ocmc";
+			status = "okay";
+		};
+		uio_pruss1_evt0: uio_pruss1_evt0 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss1_evt1: uio_pruss1_evt1 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss1_evt2: uio_pruss1_evt2 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss1_evt3: uio_pruss1_evt3 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss1_evt4: uio_pruss1_evt4 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss1_evt5: uio_pruss1_evt5 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss1_evt6: uio_pruss1_evt6 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+		uio_pruss1_evt7: uio_pruss1_evt7 {
+			compatible = "ti,uio-module-drv";
+			interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-mode = <1>;
+			status = "okay";
+		};
+
+		uio_pruss1_0_mem: uio_pruss1_0_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x54474000 0x1000>,
+			      <0x54462000 0x400>,
+			      <0x54462400 0x100>;
+			mem-names = "iram", "control", "debug";
+			status = "okay";
+		};
+		uio_pruss1_1_mem: uio_pruss1_1_mem {
+			compatible = "ti,uio-module-drv";
+			mem = <0x54478000 0x1000>,
+			      <0x54464000 0x400>,
+			      <0x54464400 0x100>;
+			mem-names = "iram", "control", "debug";
+			status = "okay";
+		};
+};
+
+&am43xx_pinmux {
+	uio_pruss2_mdio_eth_default: uio_pruss2_mdio_eth_default {
+		pinctrl-single,pins = <
+			AM4372_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5))           /* gpmc_clk.pr1_mdio_mdclk */
+			AM4372_IOPAD(0xa70, (PIN_INPUT  | MUX_MODE8))           /* xdma_event_intr0.pr1_mdio_data */
+			AM4372_IOPAD(0xa00, (PIN_INPUT_PULLUP | MUX_MODE7))     /* cam1_data6.gpio4_20 */
+			AM4372_IOPAD(0x8a0, (PIN_INPUT  | MUX_MODE2))   /* dss_data0.pr1_mii_mt0_clk */
+			AM4372_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2))   /* dss_data5.pr1_mii0_txd0 */
+			AM4372_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2))   /* dss_data4.pr1_mii0_txd1 */
+			AM4372_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2))   /* dss_data3.pr1_mii0_txd2 */
+			AM4372_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2))   /* dss_data2.pr1_mii0_txd3 */
+			AM4372_IOPAD(0x8cc, (PIN_INPUT  | MUX_MODE5))   /* dss_data11.pr1_mii0_rxd0 */
+			AM4372_IOPAD(0x8c8, (PIN_INPUT  | MUX_MODE5))   /* dss_data10.pr1_mii0_rxd1 */
+			AM4372_IOPAD(0x8c4, (PIN_INPUT  | MUX_MODE5))   /* dss_data9.pr1_mii0_rxd2 */
+			AM4372_IOPAD(0x8c0, (PIN_INPUT  | MUX_MODE5))   /* dss_data8.pr1_mii0_rxd3 */
+			AM4372_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2))   /* dss_data1.pr1_mii0_txen */
+			AM4372_IOPAD(0x8d8, (PIN_INPUT  | MUX_MODE5))   /* dss_data14.pr1_mii_mr0_clk */
+			AM4372_IOPAD(0x8dc, (PIN_INPUT  | MUX_MODE5))   /* dss_data15.pr1_mii0_rxdv */
+			AM4372_IOPAD(0x8d4, (PIN_INPUT  | MUX_MODE5))   /* dss_data13.pr1_mii0_rxer */
+			AM4372_IOPAD(0x8d0, (PIN_INPUT  | MUX_MODE5))   /* dss_data12.pr1_mii0_rxlink */
+			AM4372_IOPAD(0xa40, (PIN_INPUT  | MUX_MODE5))   /* gpio5_10.pr1_mii0_crs */
+			AM4372_IOPAD(0xa38, (PIN_INPUT  | MUX_MODE5))   /* gpio5_8.pr1_mii0_col */
+			AM4372_IOPAD(0x858, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a6.pr1_mii_mt1_clk */
+			AM4372_IOPAD(0x854, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a5.pr1_mii1_txd0 */
+			AM4372_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a4.pr1_mii1_txd1 */
+			AM4372_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a3.pr1_mii1_txd2 */
+			AM4372_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a2.pr1_mii1_txd3 */
+			AM4372_IOPAD(0x86c, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a11.pr1_mii1_rxd0 */
+			AM4372_IOPAD(0x868, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a10.pr1_mii1_rxd1 */
+			AM4372_IOPAD(0x864, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a9.pr1_mii1_rxd2 */
+			AM4372_IOPAD(0x860, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a8.pr1_mii1_rxd3 */
+			AM4372_IOPAD(0x840, (PIN_OUTPUT | MUX_MODE5))   /* gpmc_a0.pr1_mii1_txen */
+			AM4372_IOPAD(0x85c, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a7.pr1_mii_mr1_clk */
+			AM4372_IOPAD(0x844, (PIN_INPUT  | MUX_MODE5))   /* gpmc_a1.pr1_mii1_rxdv */
+			AM4372_IOPAD(0x874, (PIN_INPUT  | MUX_MODE5))   /* gpmc_wpn.pr1_mii1_rxer */
+			AM4372_IOPAD(0xa4c, (PIN_INPUT  | MUX_MODE5))   /* gpio5_13.pr1_mii1_rxlink */
+			AM4372_IOPAD(0xa44, (PIN_INPUT  | MUX_MODE5))   /* gpio5_11.pr1_mii1_crs */
+			AM4372_IOPAD(0x878, (PIN_INPUT  | MUX_MODE5))   /* gpmc_be1n.pr1_mii1_col */
+		>;
+	};
+};
+
+&uio_pruss2_mdio {
+	pinctrl-0 = <&uio_pruss2_mdio_eth_default>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	reset-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
+	reset-delay-us = <2>;   /* PHY datasheet states 1uS min */
+
+	uio_pruss2_eth0_phy: uio_ethernet-phy@0 {
+		reg = <0>;
+	};
+
+	uio_pruss2_eth1_phy: uio_ethernet-phy@1 {
+		reg = <1>;
+	};
+};
+
+&pruss1 {
+	status = "disabled";
+};
+
+&pru1_0 {
+	status = "disabled";
+};
+
+&pru1_1 {
+	status = "disabled";
+};
+
+&pruss1_intc {
+	status = "disabled";
+};
+
+&pruss1_mdio {
+	status = "disabled";
+};
+
+&pruss0 {
+	status = "disabled";
+};
+
+&pru0_0 {
+	status = "disabled";
+};
+
+&pru0_1 {
+	status = "disabled";
+};
+
+&pruss0_intc {
+	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 4615373..5c43637 100644
--- a/recipes-kernel/linux/ti-uio.inc
+++ b/recipes-kernel/linux/ti-uio.inc
@@ -3,6 +3,8 @@ 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_ti33x = " file://am335x-pru-uio.dtsi"
+SRC_URI_append_ti43x = " file://am437x-pru-uio.dtsi"
 
 DTSI_LIST = ""
 DTSI_LIST_append_keystone = " keystone-uio.dtsi"
@@ -11,6 +13,8 @@ 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_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)}"
 
 do_setup_uio() {
     if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
@@ -39,4 +43,28 @@ do_setup_uio_append_am57xx-evm() {
     fi
 }
 
+do_setup_uio_append_ti33x() {
+
+    if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
+    then
+        dts="am335x-icev2-pru-excl-uio.dts"
+        dtsi="am335x-pru-uio.dtsi"
+        cp ${S}/arch/arm/boot/dts/am335x-icev2.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_setup_uio_append_ti43x() {
+
+    if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
+    then
+        dts="am437x-idk-pru-excl-uio.dts"
+        dtsi="am437x-pru-uio.dtsi"
+        cp ${S}/arch/arm/boot/dts/am437x-idk-evm.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



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-06-22 22:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-22 22:09 [PATCH 0/3] Add uio based pruss test for am3/am4 Hongmei Gou
2017-06-22 22:09 ` [PATCH 1/3] uio-module-drv*: version bump to 2.2.0 and add test support " Hongmei Gou
2017-06-22 22:09 ` [PATCH 2/3] uio-test-pruss: version bump to 1.0.1.0 and add " Hongmei Gou
2017-06-22 22:09 ` [PATCH 3/3] linux-ti-staging: include pru-uio device tree files " Hongmei Gou

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.