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

main
Adrian Costina 2015-03-17 17:35:15 +02:00
parent cfe096cdcf
commit c99d7a2da3
3 changed files with 19 additions and 17 deletions

View File

@ -26,10 +26,6 @@ set dma_wr [create_bd_port -dir I dma_wr]
set dma_sync [create_bd_port -dir I dma_sync]
set dma_data [create_bd_port -dir I -from 63 -to 0 dma_data]
set ad6676_spi_intr [create_bd_port -dir O ad6676_spi_intr]
set ad6676_gpio_intr [create_bd_port -dir O ad6676_gpio_intr]
set ad6676_dma_intr [create_bd_port -dir O ad6676_dma_intr]
if {$sys_zynq == 0} {
set gpio_ctl_i [create_bd_port -dir I -from 4 -to 0 gpio_ctl_i]
@ -187,7 +183,25 @@ connect_bd_net -net axi_ad6676_dma_wr [get_bd_pins axi_ad6676_dma/
connect_bd_net -net axi_ad6676_dma_sync [get_bd_pins axi_ad6676_dma/fifo_wr_sync] [get_bd_ports dma_sync]
connect_bd_net -net axi_ad6676_dma_data [get_bd_pins axi_ad6676_dma/fifo_wr_din] [get_bd_ports dma_data]
connect_bd_net -net axi_ad6676_adc_dovf [get_bd_pins axi_ad6676_core/adc_dovf] [get_bd_pins axi_ad6676_dma/fifo_wr_overflow]
connect_bd_net -net axi_ad6676_dma_intr [get_bd_pins axi_ad6676_dma/irq] [get_bd_ports ad6676_dma_intr]
# 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]
delete_bd_objs [get_bd_nets mb_intr_14_s] [get_bd_ports mb_intr_14]
connect_bd_net -net axi_ad6676_dma_intr [get_bd_pins axi_ad6676_dma/irq] [get_bd_pins sys_concat_intc/In10]
connect_bd_net -net axi_ad6676_spi_intr [get_bd_pins axi_ad6676_spi/ip2intc_irpt] [get_bd_pins sys_concat_intc/In13]
connect_bd_net -net axi_ad6676_gpio_intr [get_bd_pins axi_ad6676_gpio/ip2intc_irpt] [get_bd_pins sys_concat_intc/In14]
} else {
delete_bd_objs [get_bd_nets ps_intr_13_s] [get_bd_ports ps_intr_13]
connect_bd_net -net axi_ad6676_dma_intr [get_bd_pins axi_ad6676_dma/irq] [get_bd_pins sys_concat_intc/In13]
}
# interconnect (cpu)
@ -226,8 +240,6 @@ if {$sys_zynq == 0} {
connect_bd_net -net sys_100m_resetn [get_bd_pins axi_ad6676_spi/s_axi_aresetn]
connect_bd_net -net sys_100m_resetn [get_bd_pins axi_ad6676_gpio/s_axi_aresetn]
connect_bd_net -net axi_ad6676_spi_intr [get_bd_pins axi_ad6676_spi/ip2intc_irpt] [get_bd_pins ad6676_spi_intr]
connect_bd_net -net axi_ad6676_gpio_intr [get_bd_pins axi_ad6676_gpio/ip2intc_irpt] [get_bd_pins ad6676_gpio_intr]
}
# gt uses hp3, and 100MHz clock for both DRP and AXI4

View File

@ -296,11 +296,8 @@ module system_top (
.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]),
.mb_intr_17 (mb_intrs[17]),
@ -318,9 +315,6 @@ module system_top (
.mb_intr_29 (mb_intrs[29]),
.mb_intr_30 (mb_intrs[30]),
.mb_intr_31 (mb_intrs[31]),
.ad6676_spi_intr (mb_intrs[13]),
.ad6676_gpio_intr (mb_intrs[14]),
.ad6676_dma_intr (mb_intrs[10]),
.mdio_mdc (mdio_mdc),
.mdio_mdio_io (mdio_mdio),
.mgt_clk_clk_n (mgt_clk_n),

View File

@ -278,9 +278,6 @@ module system_top (
.GPIO_I (gpio_i),
.GPIO_O (gpio_o),
.GPIO_T (gpio_t),
.ad6676_dma_intr (ps_intrs[13]),
.ad6676_gpio_intr (),
.ad6676_spi_intr (),
.adc_clk (adc_clk),
.adc_data_a (adc_data_a),
.adc_data_b (adc_data_b),
@ -303,7 +300,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]),