From 30a869b02a6f144929280ba3f7d321c496eb0c3d Mon Sep 17 00:00:00 2001 From: Adrian Costina Date: Wed, 18 Mar 2015 13:04:15 +0200 Subject: [PATCH] fmcomms6: Updated project with interrupts in IPI to work correctly in Linux --- projects/fmcomms6/common/fmcomms6_bd.tcl | 27 ++++++++++++++++-------- projects/fmcomms6/zc706/system_top.v | 2 -- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/projects/fmcomms6/common/fmcomms6_bd.tcl b/projects/fmcomms6/common/fmcomms6_bd.tcl index 5e4c8f61c..63cea7a49 100644 --- a/projects/fmcomms6/common/fmcomms6_bd.tcl +++ b/projects/fmcomms6/common/fmcomms6_bd.tcl @@ -36,12 +36,6 @@ if {$sys_zynq == 0} { set gpio_fmcomms6_t [create_bd_port -dir O gpio_fmcomms6_t] } -# interrupts - -set fmcomms6_dma_irq [create_bd_port -dir O fmcomms6_dma_irq] -set fmcomms6_spi_irq [create_bd_port -dir O fmcomms6_spi_irq] -set fmcomms6_gpio_irq [create_bd_port -dir O fmcomms6_gpio_irq] - # dma interface set adc_clk [create_bd_port -dir O adc_clk] @@ -131,8 +125,6 @@ if {$sys_zynq == 1 } { connect_bd_net -net gpio_fmcomms6_o [get_bd_ports gpio_fmcomms6_o] [get_bd_pins axi_fmcomms6_gpio/gpio_io_o] connect_bd_net -net gpio_fmcomms6_t [get_bd_ports gpio_fmcomms6_t] [get_bd_pins axi_fmcomms6_gpio/gpio_io_t] - connect_bd_net -net axi_fmcomms6_spi_irq [get_bd_pins axi_fmcomms6_spi/ip2intc_irpt] [get_bd_ports fmcomms6_spi_irq] - connect_bd_net -net axi_fmcomms6_gpio_irq [get_bd_pins axi_fmcomms6_gpio/ip2intc_irpt] [get_bd_ports fmcomms6_gpio_irq] } # connections (adc) @@ -165,7 +157,24 @@ connect_bd_net -net axi_ad9652_dma_dwr [get_bd_pins sys_wfifo/s_wr] connect_bd_net -net axi_ad9652_dma_dsync [get_bd_ports adc_dma_sync] [get_bd_pins axi_ad9652_dma/fifo_wr_sync] connect_bd_net -net axi_ad9652_dma_ddata [get_bd_pins sys_wfifo/s_wdata] [get_bd_pins axi_ad9652_dma/fifo_wr_din] connect_bd_net -net axi_ad9652_dma_dovf [get_bd_pins sys_wfifo/s_wovf] [get_bd_pins axi_ad9652_dma/fifo_wr_overflow] -connect_bd_net -net axi_ad9652_dma_irq [get_bd_pins axi_ad9652_dma/irq] [get_bd_ports fmcomms6_dma_irq] + +# interrupts + +if {$sys_zynq == 0 } { + + 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_13_s] [get_bd_ports mb_intr_13] + connect_bd_net -net axi_fmcomms6_spi_irq [get_bd_pins axi_fmcomms6_spi/ip2intc_irpt] [get_bd_pins sys_concat_intc/In10] + connect_bd_net -net axi_fmcomms6_gpio_irq [get_bd_pins axi_fmcomms6_gpio/ip2intc_irpt] [get_bd_pins sys_concat_intc/In11] + connect_bd_net -net axi_ad9652_dma_irq [get_bd_pins axi_ad9652_dma/irq] [get_bd_pins sys_concat_intc/In13] + +} else { + + delete_bd_objs [get_bd_nets ps_intr_13_s] [get_bd_ports ps_intr_13] + connect_bd_net -net axi_ad9652_dma_irq [get_bd_pins axi_ad9652_dma/irq] [get_bd_pins sys_concat_intc/In13] + +} # interconnect (cpu) diff --git a/projects/fmcomms6/zc706/system_top.v b/projects/fmcomms6/zc706/system_top.v index 5b25a6e03..9e42cdbaa 100644 --- a/projects/fmcomms6/zc706/system_top.v +++ b/projects/fmcomms6/zc706/system_top.v @@ -247,7 +247,6 @@ module system_top ( .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]), @@ -256,7 +255,6 @@ module system_top ( .ps_intr_7 (ps_intrs[7]), .ps_intr_8 (ps_intrs[8]), .ps_intr_9 (ps_intrs[9]), - .fmcomms6_dma_irq (ps_intrs[13]), .spdif (spdif), .spi_clk_i (spi_clk), .spi_clk_o (spi_clk),