From d20934b7aec875f3752b36caf1432f6eb893c107 Mon Sep 17 00:00:00 2001 From: Adrian Costina Date: Wed, 18 Mar 2015 12:58:11 +0200 Subject: [PATCH] ad9467_fmc: Updated project with interrupts in IPI to work correctly in Linux --- projects/ad9467_fmc/common/ad9467_bd.tcl | 19 +++++++++++-------- projects/ad9467_fmc/kc705/system_top.v | 4 ---- projects/ad9467_fmc/zed/system_top.v | 3 --- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/projects/ad9467_fmc/common/ad9467_bd.tcl b/projects/ad9467_fmc/common/ad9467_bd.tcl index 471a63eff..a52d831ba 100644 --- a/projects/ad9467_fmc/common/ad9467_bd.tcl +++ b/projects/ad9467_fmc/common/ad9467_bd.tcl @@ -21,12 +21,6 @@ if {$sys_zynq == 0} { set spi_sdo_i [create_bd_port -dir I spi_sdo_i] set spi_sdi_i [create_bd_port -dir I spi_sdi_i] - # interrupts - set ad9467_dma_irq [create_bd_port -dir O ad9467_dma_irq] -if {$sys_zynq == 0} { - set ad9467_spi_irq [create_bd_port -dir O ad9467_spi_irq] -} - # adc peripheral set axi_ad9467 [create_bd_cell -type ip -vlnv analog.com:user:axi_ad9467:1.0 axi_ad9467] @@ -143,7 +137,6 @@ if {$sys_zynq == 0} { connect_bd_net -net axi_ad9467_dma_ddata [get_bd_pins axi_ad9467/adc_data] [get_bd_pins axi_ad9467_dma/fifo_wr_din] connect_bd_net -net axi_ad9467_dma_dovf [get_bd_pins axi_ad9467/adc_dovf] [get_bd_pins axi_ad9467_dma/fifo_wr_overflow] - connect_bd_net -net axi_ad9467_dma_irq [get_bd_pins axi_ad9467_dma/irq] [get_bd_ports ad9467_dma_irq] # interconnect (cpu) @@ -168,8 +161,18 @@ if {$sys_zynq == 0} { connect_bd_net -net sys_100m_clk [get_bd_pins axi_ad9467_spi/ext_spi_clk] connect_bd_net -net sys_100m_resetn [get_bd_pins axi_cpu_interconnect/M09_ARESETN] $sys_100m_resetn_source connect_bd_net -net sys_100m_resetn [get_bd_pins axi_ad9467_spi/s_axi_aresetn] +} - connect_bd_net -net axi_ad9467_spi_irq [get_bd_pins axi_ad9467_spi/ip2intc_irpt] [get_bd_ports ad9467_spi_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_13_s] [get_bd_ports mb_intr_13] + connect_bd_net -net axi_ad9467_dma_irq [get_bd_pins axi_ad9467_dma/irq] [get_bd_pins sys_concat_intc/In10] + connect_bd_net -net axi_ad9467_spi_irq [get_bd_pins axi_ad9467_spi/ip2intc_irpt] [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_ad9467_dma_irq [get_bd_pins axi_ad9467_dma/irq] [get_bd_pins sys_concat_intc/In13] } # interconnect (mem/adc) diff --git a/projects/ad9467_fmc/kc705/system_top.v b/projects/ad9467_fmc/kc705/system_top.v index c25641b16..3c2612c0c 100644 --- a/projects/ad9467_fmc/kc705/system_top.v +++ b/projects/ad9467_fmc/kc705/system_top.v @@ -236,10 +236,8 @@ system_wrapper i_system_wrapper ( .iic_main_scl_io (iic_scl), .iic_main_sda_io (iic_sda), .iic_rstn (iic_rstn), - .mb_intr_10 (mb_intrs[10]), .mb_intr_11 (mb_intrs[11]), .mb_intr_12 (mb_intrs[12]), - .mb_intr_13 (mb_intrs[13]), .mb_intr_14 (mb_intrs[14]), .mb_intr_15 (mb_intrs[15]), .mb_intr_16 (mb_intrs[16]), @@ -258,8 +256,6 @@ system_wrapper i_system_wrapper ( .mb_intr_29 (mb_intrs[29]), .mb_intr_30 (mb_intrs[30]), .mb_intr_31 (mb_intrs[31]), - .ad9467_dma_irq (mb_intrs[10]), - .ad9467_spi_irq (mb_intrs[13]), .mdio_mdc (mdio_mdc), .mdio_mdio_io (mdio_mdio_io), .mii_col (mii_col), diff --git a/projects/ad9467_fmc/zed/system_top.v b/projects/ad9467_fmc/zed/system_top.v index b41f45859..9d69251d1 100644 --- a/projects/ad9467_fmc/zed/system_top.v +++ b/projects/ad9467_fmc/zed/system_top.v @@ -250,9 +250,7 @@ system_wrapper i_system_wrapper ( .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]), @@ -261,7 +259,6 @@ system_wrapper i_system_wrapper ( .ps_intr_7 (ps_intrs[7]), .ps_intr_8 (ps_intrs[8]), .ps_intr_9 (ps_intrs[9]), - .ad9467_dma_irq (ps_intrs[13]), .otg_vbusoc (otg_vbusoc), .spdif (spdif), .adc_clk_in_n(adc_clk_in_n),