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

main
Adrian Costina 2015-03-18 13:04:15 +02:00
parent 57302820ed
commit 30a869b02a
2 changed files with 18 additions and 11 deletions

View File

@ -36,12 +36,6 @@ if {$sys_zynq == 0} {
set gpio_fmcomms6_t [create_bd_port -dir O gpio_fmcomms6_t] 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 # dma interface
set adc_clk [create_bd_port -dir O adc_clk] 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_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 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) # 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_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_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_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) # interconnect (cpu)

View File

@ -247,7 +247,6 @@ module system_top (
.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_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]),
@ -256,7 +255,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]),
.fmcomms6_dma_irq (ps_intrs[13]),
.spdif (spdif), .spdif (spdif),
.spi_clk_i (spi_clk), .spi_clk_i (spi_clk),
.spi_clk_o (spi_clk), .spi_clk_o (spi_clk),