scugic : added namespace for all HSI TCL commands.

Signed-off-by: Nava kishore Manne <navam@xilinx.com>
This commit is contained in:
Nava kishore Manne 2015-04-09 13:23:49 +05:30
parent 7ec407e342
commit 3ecea15617
2 changed files with 92 additions and 94 deletions

View file

@ -65,10 +65,10 @@ proc generate {drv_handle} {
#
proc xdefine_zynq_include_file {drv_handle file_name drv_string args} {
# Open include file
set file_handle [::hsm::utils::open_include_file $file_name]
set file_handle [::hsi::utils::open_include_file $file_name]
# Get all peripherals connected to this driver
set periphs [::hsm::utils::get_common_driver_ips $drv_handle]
set periphs [::hsi::utils::get_common_driver_ips $drv_handle]
# Handle special cases
set arg "NUM_INSTANCES"
@ -76,7 +76,7 @@ proc xdefine_zynq_include_file {drv_handle file_name drv_string args} {
if {$posn > -1} {
puts $file_handle "/* Definitions for driver [string toupper [get_property NAME $drv_handle]] */"
# Define NUM_INSTANCES
puts $file_handle "#define [::hsm::utils::get_driver_param_name $drv_string $arg] [llength $periphs]"
puts $file_handle "#define [::hsi::utils::get_driver_param_name $drv_string $arg] [llength $periphs]"
set args [lreplace $args $posn $posn]
}
# Check if it is a driver parameter
@ -87,11 +87,11 @@ proc xdefine_zynq_include_file {drv_handle file_name drv_string args} {
if {[llength $value] == 0} {
lappend newargs $arg
} else {
puts $file_handle "#define [::hsm::utils::get_driver_param_name $drv_string $arg] [get_property CONFIG.$arg $drv_handle]"
puts $file_handle "#define [::hsi::utils::get_driver_param_name $drv_string $arg] [get_property CONFIG.$arg $drv_handle]"
}
}
set args $newargs
set procdrv [get_sw_processor]
set procdrv [hsi::get_sw_processor]
set compiler [get_property CONFIG.compiler $procdrv]
# Print all parameters for all peripherals
set device_id 0
@ -132,8 +132,8 @@ proc xdefine_zynq_include_file {drv_handle file_name drv_string args} {
if {[llength $value] == 0} {
set value 0
}
set value [::hsm::utils::format_addr_string $value $arg]
set arg_name [::hsm::utils::get_ip_param_name $periph $arg]
set value [::hsi::utils::format_addr_string $value $arg]
set arg_name [::hsi::utils::get_ip_param_name $periph $arg]
regsub "S_AXI_" $arg_name "" arg_name
if {[string compare -nocase "HW_VER" $arg] == 0} {
puts $file_handle "#define $arg_name \"$value\""
@ -154,10 +154,10 @@ proc xdefine_zynq_include_file {drv_handle file_name drv_string args} {
#-----------------------------------------------------------------------------
proc xdefine_zynq_canonical_xpars {drv_handle file_name drv_string args} {
# Open include file
set file_handle [::hsm::utils::open_include_file $file_name]
set file_handle [::hsi::utils::open_include_file $file_name]
# Get all the peripherals connected to this driver
set periphs [::hsm::utils::get_common_driver_ips $drv_handle]
set periphs [::hsi::utils::get_common_driver_ips $drv_handle]
# Get the names of all the peripherals connected to this driver
foreach periph $periphs {
@ -184,7 +184,7 @@ proc xdefine_zynq_canonical_xpars {drv_handle file_name drv_string args} {
set i 0
foreach periph $periphs {
set periph_name [string toupper [get_property NAME $periph]]
set procdrv [get_sw_processor]
set procdrv [hsi::get_sw_processor]
set compiler [get_property CONFIG.compiler $procdrv]
# Generate canonical definitions only for the peripherals whose
# canonical name is not the same as hardware instance name
@ -193,13 +193,13 @@ proc xdefine_zynq_canonical_xpars {drv_handle file_name drv_string args} {
set canonical_name [format "%s_%s" $drv_string [lindex $indices $i]]
foreach arg $args {
set lvalue [::hsm::utils::get_driver_param_name $canonical_name $arg]
set lvalue [::hsi::utils::get_driver_param_name $canonical_name $arg]
# replace S_SXI_ with CPU_. This is a temporary fix. Revist when the
# S_AXI_DIST_BASEADDR is generated by the tools
regsub "S_AXI_" $lvalue "CPU_" lvalue
# The commented out rvalue is the name of the instance-specific constant
# set rvalue [::hsm::utils::get_ip_param_name $periph $arg]
# set rvalue [::hsi::utils::get_ip_param_name $periph $arg]
# The rvalue set below is the actual value of the parameter
if {[string compare -nocase "C_S_AXI_BASEADDR" $arg] == 0} {
if {[string compare -nocase $compiler "arm-none-eabi-gcc"] == 0} {
@ -231,7 +231,7 @@ proc xdefine_zynq_canonical_xpars {drv_handle file_name drv_string args} {
if {[llength $rvalue] == 0} {
set rvalue 0
}
set rvalue [::hsm::utils::format_addr_string $rvalue $arg]
set rvalue [::hsi::utils::format_addr_string $rvalue $arg]
puts $file_handle "#define $lvalue $rvalue"
@ -247,10 +247,10 @@ proc xdefine_zynq_canonical_xpars {drv_handle file_name drv_string args} {
proc xdefine_gic_params {drvhandle} {
set config_inc [::hsm::utils::open_include_file "xparameters.h"]
set config_inc [::hsi::utils::open_include_file "xparameters.h"]
# Next define interrupt IDs for each connected peripheral
set periphs [::hsm::utils::get_common_driver_ips $drvhandle]
set periphs [::hsi::utils::get_common_driver_ips $drvhandle]
set device_id 0
foreach periph $periphs {
@ -265,9 +265,9 @@ proc xdefine_gic_params {drvhandle} {
xhandle_coreirq_interrupts
# Get ports that are driving the interrupt
#set source_ports [::hsm::utils::get_interrupt_sources $periph]
set pin [get_pins -of_objects $periph IRQ_F2P]
set source_ports [::hsm::utils::get_source_pins $pin]
#set source_ports [::hsi::utils::get_interrupt_sources $periph]
set pin [hsi::get_pins -of_objects $periph IRQ_F2P]
set source_ports [::hsi::utils::get_source_pins $pin]
set i 0
lappend source_list
foreach source_port $source_ports {
@ -277,14 +277,14 @@ proc xdefine_gic_params {drvhandle} {
set source_periph($i) "DUMMY"
set source_name($i) "DUMMY"
} else {
set external_pin [::hsm::utils::is_external_pin $source_port]
set external_pin [::hsi::utils::is_external_pin $source_port]
if {$external_pin} {
set source_port_name($i) [get_property NAME $source_port]
set source_periph($i) "system"
set source_name($i) "system"
} else {
set source_port_name($i) [get_property NAME $source_port]
set source_periph($i) [get_cells -of_object $source_port]
set source_periph($i) [hsi::get_cells -of_object $source_port]
set source_name($i) [get_property NAME $source_periph($i)]
}
}
@ -356,7 +356,7 @@ proc xdefine_gic_params {drvhandle} {
if {[string compare -nocase $port_type "global"] == 0} {
continue
}
set drv [get_drivers -filter "HW_INSTANCE==$$source_name($i)"]
set drv [hsi::get_drivers -filter "HW_INSTANCE==$$source_name($i)"]
#set iptype [xget_value $source_periph($i) "OPTION" "IPTYPE"]
if {[llength $source_name($i)] != 0 && [llength $drv] != 0} {
@ -438,7 +438,7 @@ proc lcount {list match_entry} {
###################################################################
proc xfind_instance {drvhandle instname} {
set instlist [::hsm::utils::get_common_driver_ips $drvhandle]
set instlist [::hsi::utils::get_common_driver_ips $drvhandle]
set i 0
foreach inst $instlist {
set name [get_property NAME $inst]
@ -458,7 +458,7 @@ proc xfind_instance {drvhandle instname} {
#
###################################################################
proc xget_port_type {port} {
set periph [get_cells -of_objects $port]
set periph [hsi::get_cells -of_objects $port]
if {[llength $periph] == 0} {
return "global"
} else {
@ -470,31 +470,31 @@ proc xget_port_type {port} {
# Tcl procedure for generating Core IRQ interrupts in xparameters.h file
# ----------------------------------------------------------------------------------
proc xhandle_coreirq_interrupts { } {
set file_handle [::hsm::utils::open_include_file "xparameters.h"]
set file_handle [::hsi::utils::open_include_file "xparameters.h"]
puts $file_handle "\n/***Definitions for Core_nIRQ/nFIQ interrupts ****/"
close $file_handle
set periphs [get_cells *]
set periphs [hsi::get_cells *]
foreach periph $periphs {
set intr_pins [get_pins -of_objects $periph -filter "TYPE == INTERRUPT"]
set intr_pins [hsi::get_pins -of_objects $periph -filter "TYPE == INTERRUPT"]
foreach intr_piin $intr_pins {
set sink_pin [::hsm::utils::get_sink_pins $intr_piin]
set sink_pin [::hsi::utils::get_sink_pins $intr_piin]
if { $sink_pin == "Core1_nIRQ" || $sink_pin == "Core0_nIRQ" } {
set ip_name [get_property IP_NAME [get_cells $periph]]
set ip_name [get_property IP_NAME [hsi::get_cells $periph]]
set periph [string toupper $periph]
set intr_pin [string toupper $intr_piin]
if {$ip_name != "ps7_scugic" } {
set intr_id "XPAR_FABRIC_${periph}_${intr_pin}_INTR"
set file_handle [::hsm::utils::open_include_file "xparameters.h"]
set file_handle [::hsi::utils::open_include_file "xparameters.h"]
puts $file_handle "#define ${intr_id} 31"
close $file_handle
}
} elseif { $sink_pin == "Core0_nFIQ" || $sink_pin == "Core1_nFIQ" } {
set ip_name [get_property IP_NAME [get_cells $periph]]
set ip_name [get_property IP_NAME [hsi::get_cells $periph]]
set periph [string toupper $periph]
set intr_pin [string toupper $intr_piin]
if {$ip_name != "ps7_scugic" } {
set intr_id "XPAR_FABRIC_${periph}_${intr_pin}_INTR"
set file_handle [::hsm::utils::open_include_file "xparameters.h"]
set file_handle [::hsi::utils::open_include_file "xparameters.h"]
puts $file_handle "#define ${intr_id} 28"
close $file_handle
}
@ -502,4 +502,3 @@ proc xhandle_coreirq_interrupts { } {
}
}
}

View file

@ -87,8 +87,8 @@ proc gen_testfunc_call {swproj mhsinst} {
set ipname [get_property NAME $mhsinst]
set decl " static XScuGic ${ipname};"
set deviceid [::hsm::utils::get_ip_param_name $mhsinst "DEVICE_ID"]
set stdout [get_property CONFIG.STDOUT [get_os]]
set deviceid [::hsi::utils::get_ip_param_name $mhsinst "DEVICE_ID"]
set stdout [get_property CONFIG.STDOUT [hsi::get_os]]
if { $stdout == "" || $stdout == "none" } {
set hasStdout 0
} else {
@ -150,4 +150,3 @@ proc gen_testfunc_call {swproj mhsinst} {
return $testfunc_call
}