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

main
Adrian Costina 2015-03-18 13:02:45 +02:00
parent 73ad75153e
commit a27c8d3052
7 changed files with 14 additions and 33 deletions

View File

@ -293,8 +293,6 @@ module system_top (
.iic_rstn (iic_rstn), .iic_rstn (iic_rstn),
.mb_intr_10 (mb_intrs[10]), .mb_intr_10 (mb_intrs[10]),
.mb_intr_11 (mb_intrs[11]), .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_14 (mb_intrs[14]),
.mb_intr_15 (mb_intrs[15]), .mb_intr_15 (mb_intrs[15]),
.mb_intr_16 (mb_intrs[16]), .mb_intr_16 (mb_intrs[16]),
@ -313,8 +311,6 @@ module system_top (
.mb_intr_29 (mb_intrs[29]), .mb_intr_29 (mb_intrs[29]),
.mb_intr_30 (mb_intrs[30]), .mb_intr_30 (mb_intrs[30]),
.mb_intr_31 (mb_intrs[31]), .mb_intr_31 (mb_intrs[31]),
.ad9122_dma_irq (mb_intrs[12]),
.ad9643_dma_irq (mb_intrs[13]),
.adc_clk (adc_clk), .adc_clk (adc_clk),
.adc_clk_in_n (adc_clk_in_n), .adc_clk_in_n (adc_clk_in_n),
.adc_clk_in_p (adc_clk_in_p), .adc_clk_in_p (adc_clk_in_p),

View File

@ -48,11 +48,6 @@
set adc_dma_sync [create_bd_port -dir I adc_dma_sync] set adc_dma_sync [create_bd_port -dir I adc_dma_sync]
set adc_dma_wdata [create_bd_port -dir I -from 31 -to 0 adc_dma_wdata] set adc_dma_wdata [create_bd_port -dir I -from 31 -to 0 adc_dma_wdata]
# interrupts
set ad9122_dma_irq [create_bd_port -dir O ad9122_dma_irq]
set ad9643_dma_irq [create_bd_port -dir O ad9643_dma_irq]
# dac peripherals # dac peripherals
set axi_ad9122 [create_bd_cell -type ip -vlnv analog.com:user:axi_ad9122:1.0 axi_ad9122] set axi_ad9122 [create_bd_cell -type ip -vlnv analog.com:user:axi_ad9122:1.0 axi_ad9122]
@ -135,7 +130,6 @@ if {$sys_zynq == 1} {
connect_bd_net -net axi_ad9122_dma_drd [get_bd_pins axi_ad9122_dma/fifo_rd_en] [get_bd_ports dac_dma_rd] connect_bd_net -net axi_ad9122_dma_drd [get_bd_pins axi_ad9122_dma/fifo_rd_en] [get_bd_ports dac_dma_rd]
connect_bd_net -net axi_ad9122_dma_ddata [get_bd_pins axi_ad9122_dma/fifo_rd_dout] [get_bd_ports dac_dma_rdata] connect_bd_net -net axi_ad9122_dma_ddata [get_bd_pins axi_ad9122_dma/fifo_rd_dout] [get_bd_ports dac_dma_rdata]
connect_bd_net -net axi_ad9122_dma_irq [get_bd_pins axi_ad9122_dma/irq] [get_bd_ports ad9122_dma_irq]
# connections (adc) # connections (adc)
@ -167,7 +161,20 @@ if {$sys_zynq == 1} {
connect_bd_net -net axi_ad9643_dma_dsync [get_bd_ports adc_dma_sync] [get_bd_pins axi_ad9643_dma/fifo_wr_sync] connect_bd_net -net axi_ad9643_dma_dsync [get_bd_ports adc_dma_sync] [get_bd_pins axi_ad9643_dma/fifo_wr_sync]
connect_bd_net -net axi_ad9643_dma_ddata [get_bd_pins sys_wfifo/s_wdata] [get_bd_pins axi_ad9643_dma/fifo_wr_din] connect_bd_net -net axi_ad9643_dma_ddata [get_bd_pins sys_wfifo/s_wdata] [get_bd_pins axi_ad9643_dma/fifo_wr_din]
connect_bd_net -net axi_ad9643_dma_dovf [get_bd_pins sys_wfifo/s_wovf] [get_bd_pins axi_ad9643_dma/fifo_wr_overflow] connect_bd_net -net axi_ad9643_dma_dovf [get_bd_pins sys_wfifo/s_wovf] [get_bd_pins axi_ad9643_dma/fifo_wr_overflow]
connect_bd_net -net axi_ad9643_dma_irq [get_bd_pins axi_ad9643_dma/irq] [get_bd_ports ad9643_dma_irq]
# interrupts
if {$sys_zynq == 0 } {
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_ad9122_dma_irq [get_bd_pins axi_ad9122_dma/irq] [get_bd_pins sys_concat_intc/In12]
connect_bd_net -net axi_ad9643_dma_irq [get_bd_pins axi_ad9643_dma/irq] [get_bd_pins sys_concat_intc/In13]
} else {
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_ad9122_dma_irq [get_bd_pins axi_ad9122_dma/irq] [get_bd_pins sys_concat_intc/In12]
connect_bd_net -net axi_ad9643_dma_irq [get_bd_pins axi_ad9643_dma/irq] [get_bd_pins sys_concat_intc/In13]
}
# interconnect (cpu) # interconnect (cpu)

View File

@ -349,8 +349,6 @@ module system_top (
.iic_rstn (iic_rstn), .iic_rstn (iic_rstn),
.mb_intr_10 (mb_intrs[10]), .mb_intr_10 (mb_intrs[10]),
.mb_intr_11 (mb_intrs[11]), .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_14 (mb_intrs[14]),
.mb_intr_15 (mb_intrs[15]), .mb_intr_15 (mb_intrs[15]),
.mb_intr_16 (mb_intrs[16]), .mb_intr_16 (mb_intrs[16]),
@ -369,8 +367,6 @@ module system_top (
.mb_intr_29 (mb_intrs[29]), .mb_intr_29 (mb_intrs[29]),
.mb_intr_30 (mb_intrs[30]), .mb_intr_30 (mb_intrs[30]),
.mb_intr_31 (mb_intrs[31]), .mb_intr_31 (mb_intrs[31]),
.ad9122_dma_irq (mb_intrs[12]),
.ad9643_dma_irq (mb_intrs[13]),
.mdio_mdc (mdio_mdc), .mdio_mdc (mdio_mdc),
.mdio_mdio_io (mdio_mdio_io), .mdio_mdio_io (mdio_mdio_io),
.mii_col (mii_col), .mii_col (mii_col),

View File

@ -347,8 +347,6 @@ module system_top (
.iic_rstn (iic_rstn), .iic_rstn (iic_rstn),
.mb_intr_10 (mb_intrs[10]), .mb_intr_10 (mb_intrs[10]),
.mb_intr_11 (mb_intrs[11]), .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_14 (mb_intrs[14]),
.mb_intr_15 (mb_intrs[15]), .mb_intr_15 (mb_intrs[15]),
.mb_intr_16 (mb_intrs[16]), .mb_intr_16 (mb_intrs[16]),
@ -367,8 +365,6 @@ module system_top (
.mb_intr_29 (mb_intrs[29]), .mb_intr_29 (mb_intrs[29]),
.mb_intr_30 (mb_intrs[30]), .mb_intr_30 (mb_intrs[30]),
.mb_intr_31 (mb_intrs[31]), .mb_intr_31 (mb_intrs[31]),
.ad9122_dma_irq (mb_intrs[12]),
.ad9643_dma_irq (mb_intrs[13]),
.mdio_mdc (mdio_mdc), .mdio_mdc (mdio_mdc),
.mdio_mdio_io (mdio_mdio), .mdio_mdio_io (mdio_mdio),
.mgt_clk_clk_n (mgt_clk_n), .mgt_clk_clk_n (mgt_clk_n),

View File

@ -309,8 +309,6 @@ module system_top (
.ps_intr_1 (ps_intrs[1]), .ps_intr_1 (ps_intrs[1]),
.ps_intr_10 (ps_intrs[10]), .ps_intr_10 (ps_intrs[10]),
.ps_intr_11 (ps_intrs[11]), .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_2 (ps_intrs[2]),
.ps_intr_3 (ps_intrs[3]), .ps_intr_3 (ps_intrs[3]),
.ps_intr_4 (ps_intrs[4]), .ps_intr_4 (ps_intrs[4]),
@ -319,8 +317,6 @@ module system_top (
.ps_intr_7 (ps_intrs[7]), .ps_intr_7 (ps_intrs[7]),
.ps_intr_8 (ps_intrs[8]), .ps_intr_8 (ps_intrs[8]),
.ps_intr_9 (ps_intrs[9]), .ps_intr_9 (ps_intrs[9]),
.ad9122_dma_irq (ps_intrs[12]),
.ad9643_dma_irq (ps_intrs[13]),
.ref_clk (ref_clk), .ref_clk (ref_clk),
.spdif (spdif)); .spdif (spdif));

View File

@ -309,8 +309,6 @@ module system_top (
.ps_intr_1 (ps_intrs[1]), .ps_intr_1 (ps_intrs[1]),
.ps_intr_10 (ps_intrs[10]), .ps_intr_10 (ps_intrs[10]),
.ps_intr_11 (ps_intrs[11]), .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_2 (ps_intrs[2]),
.ps_intr_3 (ps_intrs[3]), .ps_intr_3 (ps_intrs[3]),
.ps_intr_4 (ps_intrs[4]), .ps_intr_4 (ps_intrs[4]),
@ -319,8 +317,6 @@ module system_top (
.ps_intr_7 (ps_intrs[7]), .ps_intr_7 (ps_intrs[7]),
.ps_intr_8 (ps_intrs[8]), .ps_intr_8 (ps_intrs[8]),
.ps_intr_9 (ps_intrs[9]), .ps_intr_9 (ps_intrs[9]),
.ad9122_dma_irq (ps_intrs[12]),
.ad9643_dma_irq (ps_intrs[13]),
.ref_clk (ref_clk), .ref_clk (ref_clk),
.spdif (spdif)); .spdif (spdif));

View File

@ -362,9 +362,6 @@ module system_top (
.ps_intr_0 (ps_intrs[0]), .ps_intr_0 (ps_intrs[0]),
.ps_intr_1 (ps_intrs[1]), .ps_intr_1 (ps_intrs[1]),
.ps_intr_10 (ps_intrs[10]), .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_2 (ps_intrs[2]),
.ps_intr_3 (ps_intrs[3]), .ps_intr_3 (ps_intrs[3]),
.ps_intr_4 (ps_intrs[4]), .ps_intr_4 (ps_intrs[4]),
@ -373,9 +370,6 @@ module system_top (
.ps_intr_7 (ps_intrs[7]), .ps_intr_7 (ps_intrs[7]),
.ps_intr_8 (ps_intrs[8]), .ps_intr_8 (ps_intrs[8]),
.ps_intr_9 (ps_intrs[9]), .ps_intr_9 (ps_intrs[9]),
.ad9122_dma_irq (ps_intrs[12]),
.ad9643_dma_irq (ps_intrs[13]),
.iic_fmc_intr(ps_intrs[11]),
.ref_clk (ref_clk), .ref_clk (ref_clk),
.otg_vbusoc (otg_vbusoc), .otg_vbusoc (otg_vbusoc),
.spdif (spdif)); .spdif (spdif));