axiethernet: added common namespace to all common TCL commands.
Signed-off-by: Nava kishore Manne <navam@xilinx.com>
This commit is contained in:
parent
11eb73753f
commit
252cea2a5e
2 changed files with 118 additions and 120 deletions
|
@ -35,16 +35,14 @@
|
||||||
# 02/03/13 srt Added support for IPI designs (CR 698249)
|
# 02/03/13 srt Added support for IPI designs (CR 698249)
|
||||||
# 02/14/13 srt Added support for Zynq (CR 681136)
|
# 02/14/13 srt Added support for Zynq (CR 681136)
|
||||||
# 04/24/13 srt Modified parameter *_SGMII_PHYADDR to *_PHYADDR, the config
|
# 04/24/13 srt Modified parameter *_SGMII_PHYADDR to *_PHYADDR, the config
|
||||||
# parameter C_PHYADDR applies to SGMII/1000BaseX modes of
|
# parameter C_PHYADDR applies to SGMII/1000BaseX modes of
|
||||||
# operation (CR 704195)
|
# operation (CR 704195)
|
||||||
# 08/06/13 srt Added support to handle multiple instances of AxiEthernet
|
# 08/06/13 srt Added support to handle multiple instances of AxiEthernet
|
||||||
# FIFO interface (CR 721141)
|
# FIFO interface (CR 721141)
|
||||||
# 06/08/14 adk Modified the driver tcl to handle the open/close of files
|
# 06/08/14 adk Modified the driver tcl to handle the open/close of files
|
||||||
# properly (CR 810643)
|
# properly (CR 810643)
|
||||||
# 29/10/14 adk Added support for generating parameters for SGMII/1000BaseX modes
|
# 29/10/14 adk Added support for generating parameters for SGMII/1000BaseX modes
|
||||||
# When IP is configured with the PCS/PMA core (CR 828796)
|
# When IP is configured with the PCS/PMA core (CR 828796)
|
||||||
# 8/1/15 adk Fixed TCL errors when axiethernet is configured with the
|
|
||||||
# Axi stream fifo (CR 835605).
|
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#uses "xillib.tcl"
|
#uses "xillib.tcl"
|
||||||
|
@ -104,7 +102,7 @@ proc xdefine_axiethernet_include_file {drv_handle file_name drv_string} {
|
||||||
|
|
||||||
# Handle NUM_INSTANCES
|
# Handle NUM_INSTANCES
|
||||||
set periph_ninstances 0
|
set periph_ninstances 0
|
||||||
puts $file_handle "/* Definitions for driver [string toupper [get_property NAME $drv_handle]] */"
|
puts $file_handle "/* Definitions for driver [string toupper [common::get_property NAME $drv_handle]] */"
|
||||||
foreach periph $periphs {
|
foreach periph $periphs {
|
||||||
init_periph_config_struct $periph_ninstances
|
init_periph_config_struct $periph_ninstances
|
||||||
incr periph_ninstances 1
|
incr periph_ninstances 1
|
||||||
|
@ -124,16 +122,16 @@ proc xdefine_axiethernet_include_file {drv_handle file_name drv_string} {
|
||||||
xdefine_temac_params_canonical $file_handle $periph $device_id
|
xdefine_temac_params_canonical $file_handle $periph $device_id
|
||||||
|
|
||||||
# Interrupt ID (canonical)
|
# Interrupt ID (canonical)
|
||||||
xdefine_temac_interrupt $file_handle $periph $device_id
|
xdefine_temac_interrupt $file_handle $periph $device_id
|
||||||
|
|
||||||
generate_sgmii_params $drv_handle "xparameters.h"
|
generate_sgmii_params $drv_handle "xparameters.h"
|
||||||
|
|
||||||
display_avb_warning_if_applicable $periph
|
display_avb_warning_if_applicable $periph
|
||||||
|
|
||||||
incr device_id
|
incr device_id
|
||||||
puts $file_handle "\n"
|
puts $file_handle "\n"
|
||||||
close $file_handle
|
close $file_handle
|
||||||
|
|
||||||
}
|
}
|
||||||
# -------------------------------------------------------
|
# -------------------------------------------------------
|
||||||
# PART 2 -- AXIFIFO/AXIDMA Connection related parameters
|
# PART 2 -- AXIFIFO/AXIDMA Connection related parameters
|
||||||
|
@ -154,7 +152,7 @@ proc generate {drv_handle} {
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Given each AXI4 Stream peripheral which is an initiator on a AXI4
|
# Given each AXI4 Stream peripheral which is an initiator on a AXI4
|
||||||
# Stream interface, traverse to the target side, figure out the peripheral
|
# Stream interface, traverse to the target side, figure out the peripheral
|
||||||
# type that is connected and put in appropriate defines.
|
# type that is connected and put in appropriate defines.
|
||||||
# The peripheral on the other side can be AXI DMA or AXi Streaming FIFO.
|
# The peripheral on the other side can be AXI DMA or AXi Streaming FIFO.
|
||||||
|
@ -174,41 +172,41 @@ proc xdefine_axi_target_params {periphs file_handle} {
|
||||||
puts $file_handle "#define XPAR_AXI_FIFO 1"
|
puts $file_handle "#define XPAR_AXI_FIFO 1"
|
||||||
puts $file_handle "#define XPAR_AXI_DMA 2"
|
puts $file_handle "#define XPAR_AXI_DMA 2"
|
||||||
puts $file_handle ""
|
puts $file_handle ""
|
||||||
|
|
||||||
set device_id 0
|
set device_id 0
|
||||||
set validentry 0
|
set validentry 0
|
||||||
|
|
||||||
# Get unique list of p2p peripherals
|
# Get unique list of p2p peripherals
|
||||||
foreach periph $periphs {
|
foreach periph $periphs {
|
||||||
set p2p_periphs [list]
|
set p2p_periphs [list]
|
||||||
set periph_name [string toupper [get_property NAME $periph]]
|
set periph_name [string toupper [common::get_property NAME $periph]]
|
||||||
# Get all point2point buses for periph
|
# Get all point2point buses for periph
|
||||||
set p2p_busifs_i [get_intf_pins -of_objects $periph -filter "TYPE==INITIATOR"]
|
set p2p_busifs_i [hsi::get_intf_pins -of_objects $periph -filter "TYPE==INITIATOR"]
|
||||||
|
|
||||||
puts $file_handle ""
|
puts $file_handle ""
|
||||||
puts $file_handle "/* Canonical Axi parameters for $periph_name */"
|
puts $file_handle "/* Canonical Axi parameters for $periph_name */"
|
||||||
|
|
||||||
# Add p2p periphs
|
# Add p2p periphs
|
||||||
foreach p2p_busif $p2p_busifs_i {
|
foreach p2p_busif $p2p_busifs_i {
|
||||||
|
|
||||||
set busif_name [string toupper [get_property NAME $p2p_busif]]
|
set busif_name [string toupper [common::get_property NAME $p2p_busif]]
|
||||||
set conn_busif_handle [::hsi::utils::get_connected_intf $periph $busif_name]
|
set conn_busif_handle [::hsi::utils::get_connected_intf $periph $busif_name]
|
||||||
if { [string compare -nocase $conn_busif_handle ""] == 0} {
|
if { [string compare -nocase $conn_busif_handle ""] == 0} {
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
# if there is a single match, we know if it is FIFO or DMA
|
# if there is a single match, we know if it is FIFO or DMA
|
||||||
# no need for further iterations
|
# no need for further iterations
|
||||||
set conn_busif_name [get_property NAME $conn_busif_handle]
|
set conn_busif_name [common::get_property NAME $conn_busif_handle]
|
||||||
set target_periph [get_cells -of_objects $conn_busif_handle]
|
set target_periph [hsi::get_cells -of_objects $conn_busif_handle]
|
||||||
set target_periph_type [get_property IP_NAME $target_periph]
|
set target_periph_type [common::get_property IP_NAME $target_periph]
|
||||||
if { [string compare -nocase $target_periph_type "tri_mode_ethernet_mac"] == 0 } {
|
if { [string compare -nocase $target_periph_type "tri_mode_ethernet_mac"] == 0 } {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
set tartget_per_name [get_property NAME $target_periph]
|
set tartget_per_name [common::get_property NAME $target_periph]
|
||||||
set target_periph_name [string toupper [get_property NAME $target_periph]]
|
set target_periph_name [string toupper [common::get_property NAME $target_periph]]
|
||||||
set canonical_tag [string toupper [format "AXIETHERNET_%d" $device_id ]]
|
set canonical_tag [string toupper [format "AXIETHERNET_%d" $device_id ]]
|
||||||
set validentry 1
|
set validentry 1
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if {$validentry == 1} {
|
if {$validentry == 1} {
|
||||||
|
@ -219,17 +217,17 @@ proc xdefine_axi_target_params {periphs file_handle} {
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_TYPE" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_TYPE" $canonical_tag]
|
||||||
puts $file_handle "#define $canonical_name XPAR_AXI_FIFO"
|
puts $file_handle "#define $canonical_name XPAR_AXI_FIFO"
|
||||||
add_field_to_periph_config_struct $device_id $canonical_name
|
add_field_to_periph_config_struct $device_id $canonical_name
|
||||||
|
|
||||||
set axi_fifo_baseaddr [get_property CONFIG.C_BASEADDR $target_periph]
|
set axi_fifo_baseaddr [common::get_property CONFIG.C_BASEADDR $target_periph]
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_BASEADDR" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_BASEADDR" $canonical_tag]
|
||||||
puts $file_handle [format "#define $canonical_name %s" $axi_fifo_baseaddr]
|
puts $file_handle [format "#define $canonical_name %s" $axi_fifo_baseaddr]
|
||||||
add_field_to_periph_config_struct $device_id $canonical_name
|
add_field_to_periph_config_struct $device_id $canonical_name
|
||||||
# FIFO Interrupts Handling
|
# FIFO Interrupts Handling
|
||||||
set int_pin [get_pins -of_objects [get_cells $tartget_per_name] INTERRUPT]
|
set int_pin [hsi::get_pins -of_objects [hsi::get_cells $tartget_per_name] INTERRUPT]
|
||||||
set intc_periph_type [::hsi::utils::get_connected_intr_cntrl $tartget_per_name $int_pin]
|
set intc_periph_type [::hsi::utils::get_connected_intr_cntrl $tartget_per_name $int_pin]
|
||||||
set intc_name [get_property IP_NAME $intc_periph_type]
|
set intc_name [common::get_property IP_NAME $intc_periph_type]
|
||||||
if { $intc_name != [format "ps7_scugic"] } {
|
if { $intc_name != [format "ps7_scugic"] } {
|
||||||
set int_id [::hsi::utils::get_port_intr_id [get_cells $tartget_per_name] $int_pin]
|
set int_id [::hsi::utils::get_port_intr_id [hsi::get_cells $tartget_per_name] $int_pin]
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_FIFO_INTR" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_FIFO_INTR" $canonical_tag]
|
||||||
puts $file_handle [format "#define $canonical_name %d" $int_id]
|
puts $file_handle [format "#define $canonical_name %d" $int_id]
|
||||||
add_field_to_periph_config_struct $device_id $canonical_name
|
add_field_to_periph_config_struct $device_id $canonical_name
|
||||||
|
@ -239,9 +237,9 @@ proc xdefine_axi_target_params {periphs file_handle} {
|
||||||
add_field_to_periph_config_struct $device_id 0xFF
|
add_field_to_periph_config_struct $device_id 0xFF
|
||||||
} else {
|
} else {
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_FIFO_INTR" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_FIFO_INTR" $canonical_tag]
|
||||||
set temp [string toupper $int_pin]
|
set target_periph_name [string toupper [common::get_property NAME $target_periph_type]]
|
||||||
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_%s_INTR" $target_periph_name $temp]
|
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_S2MM_INTROUT_INTR" $target_periph_name]
|
||||||
add_field_to_periph_config_struct $device_id $canonical_name
|
add_field_to_periph_config_struct $deviceid $canonical_name
|
||||||
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMARX_INTR 0xFF" $canonical_tag]
|
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMARX_INTR 0xFF" $canonical_tag]
|
||||||
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMATX_INTR 0xFF" $canonical_tag]
|
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMATX_INTR 0xFF" $canonical_tag]
|
||||||
add_field_to_periph_config_struct $device_id 0xFF
|
add_field_to_periph_config_struct $device_id 0xFF
|
||||||
|
@ -249,7 +247,7 @@ proc xdefine_axi_target_params {periphs file_handle} {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if {$target_periph_type == "axi_dma"} {
|
if {$target_periph_type == "axi_dma"} {
|
||||||
set axi_dma_baseaddr [get_property CONFIG.C_BASEADDR $target_periph]
|
set axi_dma_baseaddr [common::get_property CONFIG.C_BASEADDR $target_periph]
|
||||||
# Handle base address and connection type
|
# Handle base address and connection type
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_TYPE" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_TYPE" $canonical_tag]
|
||||||
puts $file_handle "#define $canonical_name XPAR_AXI_DMA"
|
puts $file_handle "#define $canonical_name XPAR_AXI_DMA"
|
||||||
|
@ -257,7 +255,7 @@ proc xdefine_axi_target_params {periphs file_handle} {
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_BASEADDR" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_BASEADDR" $canonical_tag]
|
||||||
puts $file_handle [format "#define $canonical_name %s" $axi_dma_baseaddr]
|
puts $file_handle [format "#define $canonical_name %s" $axi_dma_baseaddr]
|
||||||
add_field_to_periph_config_struct $device_id $canonical_name
|
add_field_to_periph_config_struct $device_id $canonical_name
|
||||||
|
|
||||||
puts $file_handle [format "#define XPAR_%s_CONNECTED_FIFO_INTR 0xFF" $canonical_tag]
|
puts $file_handle [format "#define XPAR_%s_CONNECTED_FIFO_INTR 0xFF" $canonical_tag]
|
||||||
add_field_to_periph_config_struct $device_id 0xFF
|
add_field_to_periph_config_struct $device_id 0xFF
|
||||||
set dmarx_signal [format "s2mm_introut"]
|
set dmarx_signal [format "s2mm_introut"]
|
||||||
|
@ -265,14 +263,14 @@ proc xdefine_axi_target_params {periphs file_handle} {
|
||||||
xdefine_dma_interrupts $file_handle $target_periph $device_id $canonical_tag $dmarx_signal $dmatx_signal
|
xdefine_dma_interrupts $file_handle $target_periph $device_id $canonical_tag $dmarx_signal $dmatx_signal
|
||||||
}
|
}
|
||||||
incr device_id
|
incr device_id
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if {$validentry !=1} {
|
if {$validentry !=1} {
|
||||||
puts "*******************************************************************************\r\n"
|
puts "*******************************************************************************\r\n"
|
||||||
puts "The target Peripheral(Axi DMA or AXI FIFO) is not connected properly to the AXI Ethernet core."
|
puts "The target Peripheral(Axi DMA or AXI FIFO) is not connected properly to the AXI Ethernet core."
|
||||||
puts "*******************************************************************************\r\n"
|
puts "*******************************************************************************\r\n"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
|
@ -281,7 +279,7 @@ proc xdefine_axi_target_params {periphs file_handle} {
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
proc xdefine_temac_params_canonical {file_handle periph device_id} {
|
proc xdefine_temac_params_canonical {file_handle periph device_id} {
|
||||||
|
|
||||||
puts $file_handle "\n/* Canonical definitions for peripheral [string toupper [get_property NAME $periph]] */"
|
puts $file_handle "\n/* Canonical definitions for peripheral [string toupper [common::get_property NAME $periph]] */"
|
||||||
|
|
||||||
set canonical_tag [string toupper [format "XPAR_AXIETHERNET_%d" $device_id]]
|
set canonical_tag [string toupper [format "XPAR_AXIETHERNET_%d" $device_id]]
|
||||||
|
|
||||||
|
@ -461,17 +459,17 @@ proc xdefine_axiethernet_config_file {file_name drv_string} {
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
proc xdefine_dma_interrupts {file_handle target_periph deviceid canonical_tag dmarx_signal dmatx_signal} {
|
proc xdefine_dma_interrupts {file_handle target_periph deviceid canonical_tag dmarx_signal dmatx_signal} {
|
||||||
|
|
||||||
set target_periph_name [string toupper [get_property NAME $target_periph]]
|
set target_periph_name [string toupper [common::get_property NAME $target_periph]]
|
||||||
|
|
||||||
# First get the interrupt ports on this AXI peripheral
|
# First get the interrupt ports on this AXI peripheral
|
||||||
set interrupt_port [get_pins -of_objects $target_periph -filter {TYPE==INTERRUPT&&DIRECTION==O}]
|
set interrupt_port [hsi::get_pins -of_objects $target_periph -filter {TYPE==INTERRUPT&&DIRECTION==O}]
|
||||||
if {$interrupt_port == ""} {
|
if {$interrupt_port == ""} {
|
||||||
puts "Info: There are no AXIDMA Interrupt ports"
|
puts "Info: There are no AXIDMA Interrupt ports"
|
||||||
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMARX_INTR 0xFF" $canonical_tag]
|
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMARX_INTR 0xFF" $canonical_tag]
|
||||||
add_field_to_periph_config_struct $deviceid 0xFF
|
add_field_to_periph_config_struct $deviceid 0xFF
|
||||||
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMATX_INTR 0xFF" $canonical_tag]
|
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMATX_INTR 0xFF" $canonical_tag]
|
||||||
add_field_to_periph_config_struct $deviceid 0xFF
|
add_field_to_periph_config_struct $deviceid 0xFF
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
# For each interrupt port, find out the ordinal of the interrupt line
|
# For each interrupt port, find out the ordinal of the interrupt line
|
||||||
# as connected to an interrupt controller
|
# as connected to an interrupt controller
|
||||||
|
@ -479,9 +477,9 @@ proc xdefine_dma_interrupts {file_handle target_periph deviceid canonical_tag dm
|
||||||
set dmarx "null"
|
set dmarx "null"
|
||||||
set dmatx "null"
|
set dmatx "null"
|
||||||
foreach intr_port $interrupt_port {
|
foreach intr_port $interrupt_port {
|
||||||
set interrupt_signal_name [get_property NAME $intr_port]
|
set interrupt_signal_name [common::get_property NAME $intr_port]
|
||||||
set intc_port [get_pins -of_objects $target_periph -filter {TYPE==INTERRUPT&&DIRECTION==O}]
|
set intc_port [hsi::get_pins -of_objects $target_periph -filter {TYPE==INTERRUPT&&DIRECTION==O}]
|
||||||
|
|
||||||
# Make sure the interrupt signal was connected in this design. We assume
|
# Make sure the interrupt signal was connected in this design. We assume
|
||||||
# at least one is. (could be a bug if user just wants polled mode)
|
# at least one is. (could be a bug if user just wants polled mode)
|
||||||
if { $intc_port != "" } {
|
if { $intc_port != "" } {
|
||||||
|
@ -489,10 +487,10 @@ proc xdefine_dma_interrupts {file_handle target_periph deviceid canonical_tag dm
|
||||||
foreach intr_sink $intc_port {
|
foreach intr_sink $intc_port {
|
||||||
set pname_type [::hsi::utils::get_connected_intr_cntrl $target_periph $intr_sink]
|
set pname_type [::hsi::utils::get_connected_intr_cntrl $target_periph $intr_sink]
|
||||||
if {$pname_type != "chipscope_ila"} {
|
if {$pname_type != "chipscope_ila"} {
|
||||||
set special [get_property IP_TYPE $pname_type]
|
set special [common::get_property IP_TYPE $pname_type]
|
||||||
if {[string compare -nocase $special "INTERRUPT_CNTLR"] == 0} {
|
if {[string compare -nocase $special "INTERRUPT_CNTLR"] == 0} {
|
||||||
set found_intc $intr_sink
|
set found_intc $intr_sink
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -503,11 +501,11 @@ proc xdefine_dma_interrupts {file_handle target_periph deviceid canonical_tag dm
|
||||||
add_field_to_periph_config_struct $deviceid 0xFF
|
add_field_to_periph_config_struct $deviceid 0xFF
|
||||||
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMATX_INTR 0xFF" $canonical_tag]
|
puts $file_handle [format "#define XPAR_%s_CONNECTED_DMATX_INTR 0xFF" $canonical_tag]
|
||||||
add_field_to_periph_config_struct $deviceid 0xFF
|
add_field_to_periph_config_struct $deviceid 0xFF
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
set intc_periph [get_cells -of_objects $found_intc]
|
set intc_periph [hsi::get_cells -of_objects $found_intc]
|
||||||
set intc_periph_type [get_property IP_NAME $pname_type]
|
set intc_periph_type [common::get_property IP_NAME $pname_type]
|
||||||
set intc_name [string toupper [get_property NAME $pname_type]]
|
set intc_name [string toupper [common::get_property NAME $pname_type]]
|
||||||
} else {
|
} else {
|
||||||
puts "Info: $target_periph_name interrupt signal $interrupt_signal_name not connected"
|
puts "Info: $target_periph_name interrupt signal $interrupt_signal_name not connected"
|
||||||
continue
|
continue
|
||||||
|
@ -526,20 +524,20 @@ proc xdefine_dma_interrupts {file_handle target_periph deviceid canonical_tag dm
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_DMATX_INTR" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_DMATX_INTR" $canonical_tag]
|
||||||
puts $file_handle [format "#define $canonical_name %d" $tx_int_id]
|
puts $file_handle [format "#define $canonical_name %d" $tx_int_id]
|
||||||
add_field_to_periph_config_struct $deviceid $canonical_name
|
add_field_to_periph_config_struct $deviceid $canonical_name
|
||||||
} else {
|
} else {
|
||||||
set addentry 2
|
set addentry 2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Now add to the config table in the proper order (RX first, then TX
|
# Now add to the config table in the proper order (RX first, then TX
|
||||||
|
|
||||||
if { $intc_periph_type == [format "ps7_scugic"] } {
|
if { $intc_periph_type == [format "ps7_scugic"] } {
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_DMARX_INTR" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_DMARX_INTR" $canonical_tag]
|
||||||
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_S2MM_INTROUT_INTR" $target_periph_name]
|
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_S2MM_INTROUT_INTR" $target_periph_name]
|
||||||
add_field_to_periph_config_struct $deviceid $canonical_name
|
add_field_to_periph_config_struct $deviceid $canonical_name
|
||||||
set canonical_name [format "XPAR_%s_CONNECTED_DMATX_INTR" $canonical_tag]
|
set canonical_name [format "XPAR_%s_CONNECTED_DMATX_INTR" $canonical_tag]
|
||||||
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_MM2S_INTROUT_INTR" $target_periph_name]
|
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_MM2S_INTROUT_INTR" $target_periph_name]
|
||||||
add_field_to_periph_config_struct $deviceid $canonical_name
|
add_field_to_periph_config_struct $deviceid $canonical_name
|
||||||
}
|
}
|
||||||
|
|
||||||
if { $addentry == 1} {
|
if { $addentry == 1} {
|
||||||
|
@ -557,7 +555,7 @@ proc xdefine_dma_interrupts {file_handle target_periph deviceid canonical_tag dm
|
||||||
proc xdefine_temac_interrupt {file_handle periph device_id} {
|
proc xdefine_temac_interrupt {file_handle periph device_id} {
|
||||||
|
|
||||||
#set mhs_handle [xget_hw_parent_handle $periph]
|
#set mhs_handle [xget_hw_parent_handle $periph]
|
||||||
set periph_name [string toupper [get_property NAME $periph]]
|
set periph_name [string toupper [common::get_property NAME $periph]]
|
||||||
|
|
||||||
# set up the canonical constant name
|
# set up the canonical constant name
|
||||||
set canonical_name [format "XPAR_AXIETHERNET_%d_INTR" $device_id]
|
set canonical_name [format "XPAR_AXIETHERNET_%d_INTR" $device_id]
|
||||||
|
@ -567,34 +565,34 @@ proc xdefine_temac_interrupt {file_handle periph device_id} {
|
||||||
# for the interrupt ID based on the interrupt signal name of the TEMAC
|
# for the interrupt ID based on the interrupt signal name of the TEMAC
|
||||||
#
|
#
|
||||||
# First get the interrupt ports on this peripheral
|
# First get the interrupt ports on this peripheral
|
||||||
set interrupt_port [get_pins -of_objects $periph -filter {TYPE==INTERRUPT&&DIRECTION==O}]
|
set interrupt_port [hsi::get_pins -of_objects $periph -filter {TYPE==INTERRUPT&&DIRECTION==O}]
|
||||||
if {$interrupt_port == ""} {
|
if {$interrupt_port == ""} {
|
||||||
puts "Info: There are no AXI Ethernet Interrupt ports"
|
puts "Info: There are no AXI Ethernet Interrupt ports"
|
||||||
# No interrupts were connected, so add dummy entry to the config structure
|
# No interrupts were connected, so add dummy entry to the config structure
|
||||||
puts $file_handle [format "#define $canonical_name 0xFF"]
|
puts $file_handle [format "#define $canonical_name 0xFF"]
|
||||||
add_field_to_periph_config_struct $device_id 0xFF
|
add_field_to_periph_config_struct $device_id 0xFF
|
||||||
}
|
}
|
||||||
|
|
||||||
# For each interrupt port, find out the ordinal of the interrupt line
|
# For each interrupt port, find out the ordinal of the interrupt line
|
||||||
# as connected to an interrupt controller
|
# as connected to an interrupt controller
|
||||||
set addentry 0
|
set addentry 0
|
||||||
set interrupt_signal_name [get_property NAME $interrupt_port]
|
set interrupt_signal_name [common::get_property NAME $interrupt_port]
|
||||||
#set interrupt_signal [xget_hw_value $interrupt_port]
|
#set interrupt_signal [xget_hw_value $interrupt_port]
|
||||||
set intc_prt [::hsi::utils::get_sink_pins [get_pins -of_objects [get_cells $periph] INTERRUPT]]
|
set intc_prt [::hsi::utils::get_sink_pins [hsi::get_pins -of_objects [hsi::get_cells $periph] INTERRUPT]]
|
||||||
|
|
||||||
# Make sure the interrupt signal was connected in this design. We assume
|
# Make sure the interrupt signal was connected in this design. We assume
|
||||||
# at least one is. (could be a bug if user just wants polled mode)
|
# at least one is. (could be a bug if user just wants polled mode)
|
||||||
if { $intc_prt != "" } {
|
if { $intc_prt != "" } {
|
||||||
set found_intc ""
|
set found_intc ""
|
||||||
foreach intr_sink $intc_prt {
|
foreach intr_sink $intc_prt {
|
||||||
set phandle [get_cells -of_objects $intr_sink]
|
set phandle [hsi::get_cells -of_objects $intr_sink]
|
||||||
set pname_type [get_property NAME $phandle]
|
set pname_type [common::get_property NAME $phandle]
|
||||||
if {$pname_type != "chipscope_ila"} {
|
if {$pname_type != "chipscope_ila"} {
|
||||||
set special [get_property IP_TYPE [get_cells $pname_type]]
|
set special [common::get_property IP_TYPE [hsi::get_cells $pname_type]]
|
||||||
if {[string compare -nocase $special "INTERRUPT_CNTLR"] == 0} {
|
if {[string compare -nocase $special "INTERRUPT_CNTLR"] == 0} {
|
||||||
set found_intc $intr_sink
|
set found_intc $intr_sink
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -602,16 +600,16 @@ proc xdefine_temac_interrupt {file_handle periph device_id} {
|
||||||
puts "Info: Axi Ethernet interrupt not connected to intc\n"
|
puts "Info: Axi Ethernet interrupt not connected to intc\n"
|
||||||
# No interrupts were connected, so add dummy entry to the config structure
|
# No interrupts were connected, so add dummy entry to the config structure
|
||||||
puts $file_handle [format "#define $canonical_name 0xFF"]
|
puts $file_handle [format "#define $canonical_name 0xFF"]
|
||||||
add_field_to_periph_config_struct $device_id 0xFF
|
add_field_to_periph_config_struct $device_id 0xFF
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
set intc_periph [get_cells -of_objects $found_intc]
|
set intc_periph [hsi::get_cells -of_objects $found_intc]
|
||||||
set intc_periph_type [get_property IP_NAME $intc_periph]
|
set intc_periph_type [common::get_property IP_NAME $intc_periph]
|
||||||
set intc_name [string toupper [get_property NAME $intc_periph]]
|
set intc_name [string toupper [common::get_property NAME $intc_periph]]
|
||||||
} else {
|
} else {
|
||||||
puts "Info: $periph_name interrupt signal $interrupt_signal_name not connected"
|
puts "Info: $periph_name interrupt signal $interrupt_signal_name not connected"
|
||||||
# No interrupts were connected, so add dummy entry to the config structure
|
# No interrupts were connected, so add dummy entry to the config structure
|
||||||
puts $file_handle [format "#define $canonical_name 0xFF"]
|
puts $file_handle [format "#define $canonical_name 0xFF"]
|
||||||
add_field_to_periph_config_struct $device_id 0xFF
|
add_field_to_periph_config_struct $device_id 0xFF
|
||||||
return
|
return
|
||||||
|
@ -622,7 +620,7 @@ proc xdefine_temac_interrupt {file_handle periph device_id} {
|
||||||
# matches the original interrupt signal we were tracking.
|
# matches the original interrupt signal we were tracking.
|
||||||
|
|
||||||
if { $intc_periph_type != [format "ps7_scugic"] } {
|
if { $intc_periph_type != [format "ps7_scugic"] } {
|
||||||
set ethernet_int_signal_name [get_pins -of_objects $periph INTERRUPT]
|
set ethernet_int_signal_name [hsi::get_pins -of_objects $periph INTERRUPT]
|
||||||
set int_id [::hsi::utils::get_port_intr_id $periph $ethernet_int_signal_name]
|
set int_id [::hsi::utils::get_port_intr_id $periph $ethernet_int_signal_name]
|
||||||
puts $file_handle "\#define $canonical_name $int_id"
|
puts $file_handle "\#define $canonical_name $int_id"
|
||||||
add_field_to_periph_config_struct $device_id $canonical_name
|
add_field_to_periph_config_struct $device_id $canonical_name
|
||||||
|
@ -630,7 +628,7 @@ proc xdefine_temac_interrupt {file_handle periph device_id} {
|
||||||
} else {
|
} else {
|
||||||
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_INTERRUPT_INTR" $periph_name]
|
puts $file_handle [format "#define $canonical_name XPAR_FABRIC_%s_INTERRUPT_INTR" $periph_name]
|
||||||
add_field_to_periph_config_struct $device_id $canonical_name
|
add_field_to_periph_config_struct $device_id $canonical_name
|
||||||
set addentry 1
|
set addentry 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if { $addentry == 0 } {
|
if { $addentry == 0 } {
|
||||||
|
@ -642,17 +640,17 @@ proc xdefine_temac_interrupt {file_handle periph device_id} {
|
||||||
|
|
||||||
proc generate_sgmii_params {drv_handle file_name} {
|
proc generate_sgmii_params {drv_handle file_name} {
|
||||||
set file_handle [::hsi::utils::open_include_file $file_name]
|
set file_handle [::hsi::utils::open_include_file $file_name]
|
||||||
set ips [get_cells "*"]
|
set ips [hsi::get_cells "*"]
|
||||||
|
|
||||||
foreach ip $ips {
|
foreach ip $ips {
|
||||||
set periph [get_property IP_NAME $ip]
|
set periph [common::get_property IP_NAME $ip]
|
||||||
if { [string compare -nocase $periph "gig_ethernet_pcs_pma"] == 0} {
|
if { [string compare -nocase $periph "gig_ethernet_pcs_pma"] == 0} {
|
||||||
set PhyStandard [get_property CONFIG.Standard $ip]
|
set PhyStandard [common::get_property CONFIG.Standard $ip]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ip $ips {
|
foreach ip $ips {
|
||||||
set periph [get_property IP_NAME $ip]
|
set periph [common::get_property IP_NAME $ip]
|
||||||
if { [string compare -nocase $periph "axi_ethernet_buffer"] == 0} {
|
if { [string compare -nocase $periph "axi_ethernet_buffer"] == 0} {
|
||||||
set phya [is_gige_pcs_pma_ip_present $ip]
|
set phya [is_gige_pcs_pma_ip_present $ip]
|
||||||
if { $phya == 0} {
|
if { $phya == 0} {
|
||||||
|
@ -681,14 +679,14 @@ proc is_gige_pcs_pma_ip_present {slave} {
|
||||||
set phy_addr 0
|
set phy_addr 0
|
||||||
set ipconv 0
|
set ipconv 0
|
||||||
|
|
||||||
set ips [get_cells "*"]
|
set ips [hsi::get_cells "*"]
|
||||||
set enetipinstance_name [get_property IP_NAME $slave]
|
set enetipinstance_name [common::get_property IP_NAME $slave]
|
||||||
|
|
||||||
foreach ip $ips {
|
foreach ip $ips {
|
||||||
set periph [get_property IP_NAME $ip]
|
set periph [common::get_property IP_NAME $ip]
|
||||||
if { [string compare -nocase $periph "gig_ethernet_pcs_pma"] == 0} {
|
if { [string compare -nocase $periph "gig_ethernet_pcs_pma"] == 0} {
|
||||||
set sgmii_param [get_property CONFIG.c_is_sgmii $ip]
|
set sgmii_param [common::get_property CONFIG.c_is_sgmii $ip]
|
||||||
set PhyStandarrd [get_property CONFIG.Standard $ip]
|
set PhyStandarrd [common::get_property CONFIG.Standard $ip]
|
||||||
if {$sgmii_param == true || $PhyStandarrd == "1000BASEX"} {
|
if {$sgmii_param == true || $PhyStandarrd == "1000BASEX"} {
|
||||||
set ipconv $ip
|
set ipconv $ip
|
||||||
}
|
}
|
||||||
|
@ -697,7 +695,7 @@ proc is_gige_pcs_pma_ip_present {slave} {
|
||||||
}
|
}
|
||||||
|
|
||||||
if { $ipconv != 0 } {
|
if { $ipconv != 0 } {
|
||||||
set port_value [get_pins -of_objects [get_nets -of_objects [get_pins -of_objects $ipconv gmii_txd]]]
|
set port_value [hsi::get_pins -of_objects [hsi::get_nets -of_objects [hsi::get_pins -of_objects $ipconv gmii_txd]]]
|
||||||
if { $port_value != 0 } {
|
if { $port_value != 0 } {
|
||||||
if { [string compare -nocase $enetipinstance_name "axi_ethernet_buffer"] == 0} {
|
if { [string compare -nocase $enetipinstance_name "axi_ethernet_buffer"] == 0} {
|
||||||
set phyaddr [::hsi::utils::get_param_value $ipconv C_PHYADDR]
|
set phyaddr [::hsi::utils::get_param_value $ipconv C_PHYADDR]
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#
|
#
|
||||||
# Ver Who Date Changes
|
# Ver Who Date Changes
|
||||||
# -------- ------ -------- ----------------------------------------------------
|
# -------- ------ -------- ----------------------------------------------------
|
||||||
# 1.00.a asa 05/12/10 First Release
|
# 1.00.a asa 05/12/10 First Release
|
||||||
# 4.0 adk 10/12/13 Updated as per the New Tcl API's
|
# 4.0 adk 10/12/13 Updated as per the New Tcl API's
|
||||||
# 4.1 adk 21/4/14 Fixed the CR:780537 Modified the get_dma_info proc
|
# 4.1 adk 21/4/14 Fixed the CR:780537 Modified the get_dma_info proc
|
||||||
# logic as appropriate(In case of multiple dma's in the
|
# logic as appropriate(In case of multiple dma's in the
|
||||||
|
@ -117,7 +117,7 @@ proc gen_init_code {swproj mhsinst} {
|
||||||
}
|
}
|
||||||
if {$swproj == 1} {
|
if {$swproj == 1} {
|
||||||
|
|
||||||
set ipname [get_property NAME $mhsinst]
|
set ipname [common::get_property NAME $mhsinst]
|
||||||
set ifintr [::hsi::utils::is_ip_interrupting_current_proc $mhsinst]
|
set ifintr [::hsi::utils::is_ip_interrupting_current_proc $mhsinst]
|
||||||
|
|
||||||
if {$ifintr == 1} {
|
if {$ifintr == 1} {
|
||||||
|
@ -157,9 +157,9 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
set ipname [get_property NAME $mhsinst]
|
set ipname [common::get_property NAME $mhsinst]
|
||||||
set deviceid [::hsi::utils::get_ip_param_name $mhsinst "DEVICE_ID"]
|
set deviceid [::hsi::utils::get_ip_param_name $mhsinst "DEVICE_ID"]
|
||||||
set stdout [get_property CONFIG.STDOUT [get_os]]
|
set stdout [common::get_property CONFIG.STDOUT [hsi::get_os]]
|
||||||
if { $stdout == "" || $stdout == "none" } {
|
if { $stdout == "" || $stdout == "none" } {
|
||||||
set hasStdout 0
|
set hasStdout 0
|
||||||
} else {
|
} else {
|
||||||
|
@ -170,15 +170,15 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
|
|
||||||
set fifo_deviceid [get_fifo_info $mhsinst "id"]
|
set fifo_deviceid [get_fifo_info $mhsinst "id"]
|
||||||
set fifo_ipname [get_fifo_info $mhsinst "name"]
|
set fifo_ipname [get_fifo_info $mhsinst "name"]
|
||||||
|
|
||||||
set dma_deviceid [get_dma_info $mhsinst "id"]
|
set dma_deviceid [get_dma_info $mhsinst "id"]
|
||||||
set dma_ipname [get_dma_info $mhsinst "name"]
|
set dma_ipname [get_dma_info $mhsinst "name"]
|
||||||
|
|
||||||
if {$ifintr == 1} {
|
if {$ifintr == 1} {
|
||||||
set intr_pin_name [get_pins -of_objects [get_cells $ipname] INTERRUPT]
|
set intr_pin_name [hsi::get_pins -of_objects [hsi::get_cells $ipname] INTERRUPT]
|
||||||
set intcname [::hsi::utils::get_connected_intr_cntrl $ipname $intr_pin_name]
|
set intcname [::hsi::utils::get_connected_intr_cntrl $ipname $intr_pin_name]
|
||||||
set intcvar intc
|
set intcvar intc
|
||||||
set proc [get_property IP_NAME [get_cells [get_sw_processor]]]
|
set proc [common::get_property IP_NAME [hsi::get_cells [hsi::get_sw_processor]]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -188,23 +188,23 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
if { $dma == 3 } {
|
if { $dma == 3 } {
|
||||||
set type "SgDma"
|
set type "SgDma"
|
||||||
}
|
}
|
||||||
|
|
||||||
set testfunc_call ""
|
set testfunc_call ""
|
||||||
|
|
||||||
# BEGIN: FIFO
|
# BEGIN: FIFO
|
||||||
if { $dma == 1 } {
|
if { $dma == 1 } {
|
||||||
append testfunc_call "
|
append testfunc_call "
|
||||||
|
|
||||||
{
|
{
|
||||||
int Status;
|
int Status;
|
||||||
"
|
"
|
||||||
|
|
||||||
if {${hasStdout} == 1} {
|
if {${hasStdout} == 1} {
|
||||||
append testfunc_call "
|
append testfunc_call "
|
||||||
print(\"\\r\\n Running AxiEthernetPolledExample() for ${ipname}...\\r\\n\");
|
print(\"\\r\\n Running AxiEthernetPolledExample() for ${ipname}...\\r\\n\");
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
append testfunc_call "
|
append testfunc_call "
|
||||||
Status = AxiEthernetPolledExample( ${deviceid},
|
Status = AxiEthernetPolledExample( ${deviceid},
|
||||||
${fifo_deviceid} );
|
${fifo_deviceid} );
|
||||||
|
@ -237,7 +237,7 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
|
|
||||||
# BEGIN: INTERRUPT
|
# BEGIN: INTERRUPT
|
||||||
if { ${ifintr} == 1 } {
|
if { ${ifintr} == 1 } {
|
||||||
|
|
||||||
# AXIETHERNET
|
# AXIETHERNET
|
||||||
if {
|
if {
|
||||||
$proc == "microblaze"
|
$proc == "microblaze"
|
||||||
|
@ -249,7 +249,7 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
set intr_id [string toupper $intr_id]
|
set intr_id [string toupper $intr_id]
|
||||||
|
|
||||||
|
|
||||||
# BEGIN: FIFO & INTERRUPT
|
# BEGIN: FIFO & INTERRUPT
|
||||||
if {$dma == 1} {
|
if {$dma == 1} {
|
||||||
# AXIFIFO
|
# AXIFIFO
|
||||||
if {
|
if {
|
||||||
|
@ -259,7 +259,7 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
} else {
|
} else {
|
||||||
set fifo_intr_id "XPAR_FABRIC_${fifo_ipname}_${intr_pin_name}_INTR"
|
set fifo_intr_id "XPAR_FABRIC_${fifo_ipname}_${intr_pin_name}_INTR"
|
||||||
}
|
}
|
||||||
|
|
||||||
set fifo_intr_id [string toupper $fifo_intr_id]
|
set fifo_intr_id [string toupper $fifo_intr_id]
|
||||||
|
|
||||||
append testfunc_call "
|
append testfunc_call "
|
||||||
|
@ -286,7 +286,7 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
append testfunc_call "
|
append testfunc_call "
|
||||||
if(Status == 0) {
|
if(Status == 0) {
|
||||||
print(\"AxiEthernet Interrupt Test PASSED.\\r\\n\");
|
print(\"AxiEthernet Interrupt Test PASSED.\\r\\n\");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print(\"AxiEthernet Interrupt Test FAILED.\\r\\n\");
|
print(\"AxiEthernet Interrupt Test FAILED.\\r\\n\");
|
||||||
}
|
}
|
||||||
|
@ -331,7 +331,7 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
append testfunc_call "
|
append testfunc_call "
|
||||||
if (Status == 0) {
|
if (Status == 0) {
|
||||||
print(\"AxiEthernet Interrupt Test PASSED.\\r\\n\");
|
print(\"AxiEthernet Interrupt Test PASSED.\\r\\n\");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print(\"AxiEthernet Interrupt Test FAILED.\\r\\n\");
|
print(\"AxiEthernet Interrupt Test FAILED.\\r\\n\");
|
||||||
}
|
}
|
||||||
|
@ -350,11 +350,11 @@ proc gen_testfunc_call {swproj mhsinst} {
|
||||||
|
|
||||||
proc get_fifo_info {mhsHandle type} {
|
proc get_fifo_info {mhsHandle type} {
|
||||||
|
|
||||||
set ipinst_list [get_cells $mhsHandle "*"]
|
set ipinst_list [hsi::get_cells $mhsHandle "*"]
|
||||||
|
|
||||||
foreach ipinst $ipinst_list {
|
foreach ipinst $ipinst_list {
|
||||||
set coreName [get_property IP_NAME $ipinst]
|
set coreName [common::get_property IP_NAME $ipinst]
|
||||||
set instName [get_property NAME $ipinst]
|
set instName [common::get_property NAME $ipinst]
|
||||||
|
|
||||||
if {[string compare -nocase $coreName "axi_fifo_mm_s"] == 0} {
|
if {[string compare -nocase $coreName "axi_fifo_mm_s"] == 0} {
|
||||||
|
|
||||||
|
@ -370,26 +370,26 @@ proc get_fifo_info {mhsHandle type} {
|
||||||
}
|
}
|
||||||
|
|
||||||
proc get_dma_info {mhsinst type} {
|
proc get_dma_info {mhsinst type} {
|
||||||
set ipinst_list [get_cells $mhsinst "*"]
|
set ipinst_list [hsi::get_cells $mhsinst "*"]
|
||||||
|
|
||||||
set p2p_busifs_i [get_intf_pins -of_objects $mhsinst -filter "TYPE==INITIATOR"]
|
set p2p_busifs_i [hsi::get_intf_pins -of_objects $mhsinst -filter "TYPE==INITIATOR"]
|
||||||
# Add p2p periphs
|
# Add p2p periphs
|
||||||
foreach p2p_busif $p2p_busifs_i {
|
foreach p2p_busif $p2p_busifs_i {
|
||||||
set busif_name [string toupper [get_property NAME $p2p_busif]]
|
set busif_name [string toupper [common::get_property NAME $p2p_busif]]
|
||||||
set conn_busif_handle [::hsi::utils::get_connected_intf $mhsinst $busif_name]
|
set conn_busif_handle [::hsi::utils::get_connected_intf $mhsinst $busif_name]
|
||||||
if { [string compare -nocase $conn_busif_handle ""] == 0} {
|
if { [string compare -nocase $conn_busif_handle ""] == 0} {
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
# if there is a single match, we know if it is FIFO or DMA
|
# if there is a single match, we know if it is FIFO or DMA
|
||||||
# no need for further iterations
|
# no need for further iterations
|
||||||
set conn_busif_name [get_property NAME $conn_busif_handle]
|
set conn_busif_name [common::get_property NAME $conn_busif_handle]
|
||||||
set target_periph [get_cells -of_objects $conn_busif_handle]
|
set target_periph [hsi::get_cells -of_objects $conn_busif_handle]
|
||||||
set target_periph_type [get_property IP_NAME $target_periph]
|
set target_periph_type [common::get_property IP_NAME $target_periph]
|
||||||
if { [string compare -nocase $target_periph_type "tri_mode_ethernet_mac"] == 0 } {
|
if { [string compare -nocase $target_periph_type "tri_mode_ethernet_mac"] == 0 } {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
set target_periph_name [string toupper [get_property NAME $target_periph]]
|
set target_periph_name [string toupper [common::get_property NAME $target_periph]]
|
||||||
set instName [get_property NAME $target_periph]
|
set instName [common::get_property NAME $target_periph]
|
||||||
if {[string compare -nocase $target_periph_type "axi_dma"] == 0} {
|
if {[string compare -nocase $target_periph_type "axi_dma"] == 0} {
|
||||||
if {[string compare -nocase $type "id"] == 0} {
|
if {[string compare -nocase $type "id"] == 0} {
|
||||||
set deviceid [::hsi::utils::get_ip_param_name $target_periph "DEVICE_ID"]
|
set deviceid [::hsi::utils::get_ip_param_name $target_periph "DEVICE_ID"]
|
||||||
|
|
Loading…
Add table
Reference in a new issue