fmcomms7: Updated project with interrupts in IPI to work correctly in Linux

main
Adrian Costina 2015-03-18 13:04:52 +02:00
parent 30a869b02a
commit d30edeb616
2 changed files with 31 additions and 21 deletions

View File

@ -77,12 +77,6 @@ if {$sys_zynq == 0} {
set adc_dsync [create_bd_port -dir I adc_dsync]
set adc_ddata [create_bd_port -dir I -from 127 -to 0 adc_ddata]
set axi_ad9144_dma_intr [create_bd_port -dir O axi_ad9144_dma_intr]
set axi_ad9680_dma_intr [create_bd_port -dir O axi_ad9680_dma_intr]
set axi_fmcomms7_spi_intr [create_bd_port -dir O axi_fmcomms7_spi_intr ]
set axi_fmcomms7_spi2_intr [create_bd_port -dir O axi_fmcomms7_spi2_intr ]
set axi_fmcomms7_gpio_intr [create_bd_port -dir O axi_fmcomms7_gpio_intr ]
# dac peripherals
set axi_ad9144_core [create_bd_cell -type ip -vlnv analog.com:user:axi_ad9144:1.0 axi_ad9144_core]
@ -301,7 +295,6 @@ if {$sys_zynq == 0} {
connect_bd_net -net axi_ad9144_dac_drd [get_bd_ports dac_drd] [get_bd_pins axi_ad9144_dma/fifo_rd_en]
connect_bd_net -net axi_ad9144_dac_ddata [get_bd_ports dac_ddata] [get_bd_pins axi_ad9144_dma/fifo_rd_dout]
connect_bd_net -net axi_ad9144_dac_dunf [get_bd_pins axi_ad9144_core/dac_dunf] [get_bd_pins axi_ad9144_dma/fifo_rd_underflow]
connect_bd_net -net axi_ad9144_dma_intr [get_bd_pins axi_ad9144_dma/irq] [get_bd_ports axi_ad9144_dma_intr]
# connections (adc)
@ -339,7 +332,7 @@ if {$sys_zynq == 0} {
connect_bd_net -net axi_ad9680_dma_dready [get_bd_pins axi_ad9680_fifo/dma_wready] [get_bd_pins axi_ad9680_dma/s_axis_ready]
connect_bd_net -net axi_ad9680_dma_ddata [get_bd_pins axi_ad9680_fifo/dma_wdata] [get_bd_pins axi_ad9680_dma/s_axis_data]
connect_bd_net -net axi_ad9680_dma_xfer_req [get_bd_pins axi_ad9680_fifo/axi_xfer_req] [get_bd_pins axi_ad9680_dma/s_axis_xfer_req]
connect_bd_net -net axi_ad9680_dma_intr [get_bd_pins axi_ad9680_dma/irq] [get_bd_ports axi_ad9680_dma_intr]
# dac/adc clocks
@ -391,7 +384,6 @@ if {$sys_zynq == 0} {
connect_bd_net -net sys_100m_resetn [get_bd_pins axi_cpu_interconnect/M14_ARESETN] $sys_100m_resetn_source
connect_bd_net -net sys_100m_resetn [get_bd_pins axi_fmcomms7_spi2/s_axi_aresetn]
connect_bd_net -net axi_fmcomms7_spi_intr [get_bd_pins axi_fmcomms7_spi2/ip2intc_irpt] [get_bd_ports axi_fmcomms7_spi2_intr]
if {$sys_zynq == 0} {
@ -408,8 +400,36 @@ if {$sys_zynq == 0} {
connect_bd_net -net sys_100m_resetn [get_bd_pins axi_fmcomms7_spi/s_axi_aresetn]
connect_bd_net -net sys_100m_resetn [get_bd_pins axi_fmcomms7_gpio/s_axi_aresetn]
connect_bd_net -net axi_fmcomms7_spi_intr [get_bd_pins axi_fmcomms7_spi/ip2intc_irpt] [get_bd_ports axi_fmcomms7_spi_intr]
connect_bd_net -net axi_fmcomms7_gpio_intr [get_bd_pins axi_fmcomms7_gpio/ip2intc_irpt] [get_bd_ports axi_fmcomms7_gpio_intr]
}
# interrupts
if {$sys_zynq == 0} {
delete_bd_objs [get_bd_nets mb_intr_9_s] [get_bd_ports mb_intr_9]
delete_bd_objs [get_bd_nets mb_intr_10_s] [get_bd_ports mb_intr_10]
delete_bd_objs [get_bd_nets mb_intr_11_s] [get_bd_ports mb_intr_11]
delete_bd_objs [get_bd_nets mb_intr_12_s] [get_bd_ports mb_intr_12]
delete_bd_objs [get_bd_nets mb_intr_13_s] [get_bd_ports mb_intr_13]
connect_bd_net -net axi_ad9144_dma_intr [get_bd_pins axi_ad9144_dma/irq] [get_bd_pins sys_concat_intc/In9]
connect_bd_net -net axi_ad9680_dma_intr [get_bd_pins axi_ad9680_dma/irq] [get_bd_pins sys_concat_intc/In10]
connect_bd_net -net axi_fmcomms7_gpio_intr [get_bd_pins axi_fmcomms7_gpio/ip2intc_irpt] [get_bd_pins sys_concat_intc/In11]
connect_bd_net -net axi_fmcomms7_spi2_intr [get_bd_pins axi_fmcomms7_spi2/ip2intc_irpt] [get_bd_pins sys_concat_intc/In12]
connect_bd_net -net axi_fmcomms7_spi_intr [get_bd_pins axi_fmcomms7_spi/ip2intc_irpt] [get_bd_pins sys_concat_intc/In13]
} else {
delete_bd_objs [get_bd_nets ps_intr_9_s] [get_bd_ports ps_intr_9]
delete_bd_objs [get_bd_nets ps_intr_10_s] [get_bd_ports ps_intr_10]
delete_bd_objs [get_bd_nets ps_intr_11_s] [get_bd_ports ps_intr_11]
delete_bd_objs [get_bd_nets ps_intr_12_s] [get_bd_ports ps_intr_12]
delete_bd_objs [get_bd_nets ps_intr_13_s] [get_bd_ports ps_intr_13]
connect_bd_net -net axi_ad9144_dma_intr [get_bd_pins axi_ad9144_dma/irq] [get_bd_pins sys_concat_intc/In9]
connect_bd_net -net axi_ad9680_dma_intr [get_bd_pins axi_ad9680_dma/irq] [get_bd_pins sys_concat_intc/In10]
connect_bd_net -net axi_fmcomms7_gpio_intr [get_bd_pins axi_fmcomms7_gpio/ip2intc_irpt] [get_bd_pins sys_concat_intc/In11]
connect_bd_net -net axi_fmcomms7_spi2_intr [get_bd_pins axi_fmcomms7_spi2/ip2intc_irpt] [get_bd_pins sys_concat_intc/In12]
connect_bd_net -net axi_fmcomms7_spi_intr [get_bd_pins axi_fmcomms7_spi/ip2intc_irpt] [get_bd_pins sys_concat_intc/In13]
}
# gt uses hp3, and 100MHz clock for both DRP and AXI4

View File

@ -604,11 +604,6 @@ module system_top (
.adc_enable_1 (adc_enable_1),
.adc_valid_0 (adc_valid_0),
.adc_valid_1 (adc_valid_1),
.axi_ad9144_dma_intr (ps_intrs[9]),
.axi_ad9680_dma_intr (ps_intrs[10]),
.axi_fmcomms7_gpio_intr (ps_intrs[11]),
.axi_fmcomms7_spi2_intr (ps_intrs[12]),
.axi_fmcomms7_spi_intr (ps_intrs[13]),
.dac_clk (dac_clk),
.dac_ddata (dac_ddata),
.dac_ddata_0 (dac_ddata_0),
@ -633,10 +628,6 @@ module system_top (
.iic_main_sda_io (iic_sda),
.ps_intr_0 (ps_intrs[0]),
.ps_intr_1 (ps_intrs[1]),
.ps_intr_10 (ps_intrs[10]),
.ps_intr_11 (ps_intrs[11]),
.ps_intr_12 (ps_intrs[12]),
.ps_intr_13 (ps_intrs[13]),
.ps_intr_2 (ps_intrs[2]),
.ps_intr_3 (ps_intrs[3]),
.ps_intr_4 (ps_intrs[4]),
@ -644,7 +635,6 @@ module system_top (
.ps_intr_6 (ps_intrs[6]),
.ps_intr_7 (ps_intrs[7]),
.ps_intr_8 (ps_intrs[8]),
.ps_intr_9 (ps_intrs[9]),
.rx_data_n (rx_data_n),
.rx_data_p (rx_data_p),
.rx_ref_clk (rx_ref_clk),