From 1cb1e037227a59fff563c3048e398af979fad418 Mon Sep 17 00:00:00 2001 From: Harini Katakam Date: Tue, 21 Jul 2015 15:56:36 +0530 Subject: [PATCH] lwip_echo_server: Add detection of A53 and R5 in tcl Add support for recognizing processor A53 or R5 to work for Zynq Ultrascale MPSoC Signed-off-by: Harini Katakam Reviewed-by: Anirudha Sarangi --- .../data/lwip_echo_server.tcl | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/sw_apps/lwip_echo_server/data/lwip_echo_server.tcl b/lib/sw_apps/lwip_echo_server/data/lwip_echo_server.tcl index 4c14097f..4fc7cbde 100755 --- a/lib/sw_apps/lwip_echo_server/data/lwip_echo_server.tcl +++ b/lib/sw_apps/lwip_echo_server/data/lwip_echo_server.tcl @@ -14,7 +14,7 @@ proc check_stdout_hw {} { set slave_type [common::get_property IP_NAME [hsi::get_cells $slave]]; # Check for MDM-Uart peripheral. The MDM would be listed as a peripheral # only if it has a UART interface. So no further check is required - if { $slave_type == "ps7_uart" || $slave_type == "axi_uartlite" || + if { $slave_type == "ps7_uart" || $slave_type == "psu_uart" || $slave_type == "axi_uartlite" || $slave_type == "axi_uart16550" || $slave_type == "iomodule" || $slave_type == "mdm" } { return; @@ -59,6 +59,11 @@ proc check_emac_hw {} { return; } + set temacs [hsi::get_cells -filter { ip_name == "psu_ethernet" }]; + if { [llength $temacs] != 0 } { + return; + } + error "This application requires an Ethernet MAC IP instance in the hardware." } @@ -257,6 +262,12 @@ proc generate_emac_config {fp} { puts $fp "#define PLATFORM_EMAC_BASEADDR XPAR_XEMACPS_0_BASEADDR"; return; } + + set temacs [hsi::get_cells -filter { ip_name == "psu_ethernet" }]; + if { [llength $temacs] > 0 } { + puts $fp "#define PLATFORM_EMAC_BASEADDR XPAR_XEMACPS_0_BASEADDR"; + return; + } } proc generate_timer_config { fp } { @@ -321,6 +332,14 @@ proc swapp_generate {} { puts $fid ""; } + set hw_processor [common::get_property HW_INSTANCE $proc] + set proc_arm [common::get_property IP_NAME [hsi::get_cells $hw_processor]]; + if { $proc_arm == "ps7_cortexa9"} { + puts $fid "#define PLATFORM_ZYNQ \n"; + } elseif { $proc_arm == "psu_cortexr5"} { + puts $fid "#define PLATFORM_ZYNQMP \n"; + } + puts $fid ""; puts $fid "#endif"; close $fid;