pluto_hdl_adi/library/Makefile

255 lines
7.9 KiB
Makefile
Raw Normal View History

2015-04-01 20:26:23 +00:00
####################################################################################
####################################################################################
## Copyright (c) 2018 - 2021 Analog Devices, Inc.
### SPDX short identifier: BSD-1-Clause
2015-04-01 20:26:23 +00:00
## Auto-generated, do not modify!
####################################################################################
####################################################################################
include ../quiet.mk
.PHONY: all lib clean clean-all
2015-04-01 20:26:23 +00:00
all: lib
clean:
$(MAKE) -C ad463x_data_capture clean
$(MAKE) -C axi_ad5766 clean
$(MAKE) -C axi_ad7616 clean
$(MAKE) -C axi_ad7768 clean
$(MAKE) -C axi_ad777x clean
$(MAKE) -C axi_ad9122 clean
$(MAKE) -C axi_ad9250 clean
$(MAKE) -C axi_ad9265 clean
$(MAKE) -C axi_ad9361 clean
$(MAKE) -C axi_ad9434 clean
$(MAKE) -C axi_ad9467 clean
$(MAKE) -C axi_ad9625 clean
$(MAKE) -C axi_ad9671 clean
$(MAKE) -C axi_ad9684 clean
$(MAKE) -C axi_ad9739a clean
2022-01-20 10:23:02 +00:00
$(MAKE) -C axi_ad9783 clean
$(MAKE) -C axi_ad9963 clean
$(MAKE) -C axi_adaq8092 clean
$(MAKE) -C axi_adc_decimate clean
$(MAKE) -C axi_adc_trigger clean
$(MAKE) -C axi_adrv9001 clean
$(MAKE) -C axi_clkgen clean
$(MAKE) -C axi_clock_monitor clean
$(MAKE) -C axi_dac_interpolate clean
$(MAKE) -C axi_dmac clean
$(MAKE) -C axi_fan_control clean
$(MAKE) -C axi_fmcadc5_sync clean
$(MAKE) -C axi_generic_adc clean
$(MAKE) -C axi_gpreg clean
$(MAKE) -C axi_hdmi_rx clean
$(MAKE) -C axi_hdmi_tx clean
$(MAKE) -C axi_i2s_adi clean
$(MAKE) -C axi_intr_monitor clean
axi_laser_driver: Initial commit The laser driver contains the axi_pulse_gen's IP and an additional register map which controls/monitor the laser driver enable control line and the over temperature warning line (OTW). It also contains an interrupt logic, which allows to generate an interrupt in function of the generated pulse or incoming OTW signal. The IPs register maps looks as follow: 0x00 - axi_pulse_gen register map 0x80 - axi_laser_driver register map 0x80 - DRIVER_ENABLE 0x84 - DRIVER_OTW 0x88 - EXT_CLK_COUNTER 0xA0 - IRQ_MASK 0xA4 - IRQ_SOURCE 0xA8 - IRQ_PENDING 0xAC - SEQUENCER_CONTROL 0 - SEQUENCER_ENABLE 1 - AUTO_SEQUENCER_ENABLED 0xB0 - SEQUENCER_SYNC_OFFSET 0xB4 - AUTO_SEQUENCE [ 1: 0] - CHANNEL_SEL_0 [ 5: 4] - CHANNEL_SEL_1 [ 9: 8] - CHANNEL_SEL_2 [13:12] - CHANNEL_SEL_3 0xB8 - MANUAL_SEQUENCE [ 1: 0] - MANUAL_CHANNEL_SEL Current interrupt sources scheme is: - bit 0 : pulse (triggered by the level of the pulse) - bit 1 : OTW_N enter (triggered by positive edge of the OTW_N) - bit 2 : OTW_N exit (triggered by the level of the pulse) Generate a reset signal before the pulse which can be used to reset various IP's of the data path (eg. pack/cpack). This can help to clear out the internal buffers and registers of these IP, starting clean at the moment when the actual pulse arrives. The sequencer has an auto and a manual mode, and can be set to custom sequences of the TIA channel selection lines sate. The sequencer in auto mode is synchronized to the pulse, it will change its state before a generated pulse which will drive the lasers. The offset between the sequencer beat and the laser driver pulse can be modified through an AXI register.
2019-03-19 12:05:14 +00:00
$(MAKE) -C axi_laser_driver clean
$(MAKE) -C axi_logic_analyzer clean
2021-11-15 20:41:40 +00:00
$(MAKE) -C axi_ltc2387 clean
$(MAKE) -C axi_pulse_gen clean
$(MAKE) -C axi_pwm_gen clean
$(MAKE) -C axi_rd_wr_combiner clean
$(MAKE) -C axi_spdif_rx clean
$(MAKE) -C axi_spdif_tx clean
2019-06-28 08:41:21 +00:00
$(MAKE) -C axi_sysid clean
$(MAKE) -C axi_tdd clean
$(MAKE) -C cn0363/cn0363_dma_sequencer clean
$(MAKE) -C cn0363/cn0363_phase_data_sync clean
$(MAKE) -C cordic_demod clean
2021-03-15 08:50:39 +00:00
$(MAKE) -C data_offload clean
2018-08-13 13:59:02 +00:00
$(MAKE) -C intel/adi_jesd204 clean
$(MAKE) -C intel/avl_adxcfg clean
$(MAKE) -C intel/avl_adxcvr clean
$(MAKE) -C intel/avl_adxcvr_octet_swap clean
$(MAKE) -C intel/avl_adxphy clean
$(MAKE) -C intel/avl_dacfifo clean
$(MAKE) -C intel/axi_adxcvr clean
$(MAKE) -C intel/common/intel_mem_asym clean
$(MAKE) -C intel/common/intel_serdes clean
2018-08-13 13:59:02 +00:00
$(MAKE) -C intel/jesd204_phy clean
$(MAKE) -C intel/util_clkdiv clean
2017-05-05 16:53:39 +00:00
$(MAKE) -C jesd204/ad_ip_jesd204_tpl_adc clean
2017-05-05 16:54:09 +00:00
$(MAKE) -C jesd204/ad_ip_jesd204_tpl_dac clean
$(MAKE) -C jesd204/axi_jesd204_common clean
$(MAKE) -C jesd204/axi_jesd204_rx clean
$(MAKE) -C jesd204/axi_jesd204_tx clean
$(MAKE) -C jesd204/jesd204_common clean
$(MAKE) -C jesd204/jesd204_rx clean
$(MAKE) -C jesd204/jesd204_rx_static_config clean
$(MAKE) -C jesd204/jesd204_soft_pcs_rx clean
$(MAKE) -C jesd204/jesd204_soft_pcs_tx clean
$(MAKE) -C jesd204/jesd204_tx clean
$(MAKE) -C jesd204/jesd204_tx_static_config clean
$(MAKE) -C jesd204/jesd204_versal_gt_adapter_rx clean
$(MAKE) -C jesd204/jesd204_versal_gt_adapter_tx clean
$(MAKE) -C spi_engine/axi_spi_engine clean
$(MAKE) -C spi_engine/spi_axis_reorder clean
$(MAKE) -C spi_engine/spi_engine_execution clean
$(MAKE) -C spi_engine/spi_engine_interconnect clean
$(MAKE) -C spi_engine/spi_engine_offload clean
2019-06-28 08:41:21 +00:00
$(MAKE) -C sysid_rom clean
$(MAKE) -C util_adcfifo clean
$(MAKE) -C util_axis_fifo clean
$(MAKE) -C util_axis_fifo_asym clean
$(MAKE) -C util_axis_resize clean
$(MAKE) -C util_axis_upscale clean
$(MAKE) -C util_bsplit clean
$(MAKE) -C util_cdc clean
$(MAKE) -C util_cic clean
$(MAKE) -C util_dacfifo clean
$(MAKE) -C util_dec256sinc24b clean
$(MAKE) -C util_delay clean
$(MAKE) -C util_do_ram clean
$(MAKE) -C util_extract clean
$(MAKE) -C util_fir_dec clean
$(MAKE) -C util_fir_int clean
$(MAKE) -C util_gmii_to_rgmii clean
$(MAKE) -C util_hbm clean
$(MAKE) -C util_i2c_mixer clean
$(MAKE) -C util_mfifo clean
2021-11-09 11:58:06 +00:00
$(MAKE) -C util_mii_to_rmii clean
$(MAKE) -C util_pack/util_cpack2 clean
Add util_upack2 core The util_upack2 core is similar to the util_upack core. It unpacks, or deinterleaves, a data stream onto multiple ports. The upack2 core uses a streaming AXI interface for its data source instead of a FIFO interface like the upack core uses. On the output side the upack2 core uses a multi-port FIFO interface. There is a single data request signal (fifo_rd_en) for all ports. But each port can be individually enabled or disabled using the enable signals. This modified architecture allows the upack2 core to better generate the valid and underflow control signals to indicate whether data is available in a response to a data request. If fifo_rd_en is asserted and data is available the fifo_rd_valid signal are asserted in the following clock cycle. The enabled fifo_rd_data ports will be contain valid data during the same clock cycle as fifo_rd_valid is asserted. During other clock cycles the output data is undefined. On disabled ports the data is always undefined. If no data is available instead the fifo_rd_underflow signal is asserted in the following clock cycle and the output of all fifo_rd_data ports is undefined. This core is build using the common pack infrastructure. The core that is specific to the upack2 core is mainly only responsible for generating the control signals for the external interfaces. The core is accompanied by a test bench that verifies correct behavior for all possible combinations of enable masks. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-10-07 12:39:27 +00:00
$(MAKE) -C util_pack/util_upack2 clean
$(MAKE) -C util_pad clean
$(MAKE) -C util_pulse_gen clean
$(MAKE) -C util_rfifo clean
$(MAKE) -C util_sigma_delta_spi clean
$(MAKE) -C util_tdd_sync clean
$(MAKE) -C util_var_fifo clean
$(MAKE) -C util_wfifo clean
$(MAKE) -C xilinx/axi_adcfifo clean
$(MAKE) -C xilinx/axi_adxcvr clean
$(MAKE) -C xilinx/axi_dacfifo clean
$(MAKE) -C xilinx/axi_xcvrlb clean
$(MAKE) -C xilinx/util_adxcvr clean
$(MAKE) -C xilinx/util_clkdiv clean
2015-04-07 20:32:01 +00:00
$(MAKE) -C interfaces clean
2017-02-10 14:32:58 +00:00
2015-04-07 20:32:01 +00:00
clean-all:clean
2015-04-01 20:26:23 +00:00
lib:
$(MAKE) -C ad463x_data_capture
$(MAKE) -C axi_ad5766
$(MAKE) -C axi_ad7616
$(MAKE) -C axi_ad7768
$(MAKE) -C axi_ad777x
$(MAKE) -C axi_ad9122
$(MAKE) -C axi_ad9250
$(MAKE) -C axi_ad9265
$(MAKE) -C axi_ad9361
$(MAKE) -C axi_ad9434
$(MAKE) -C axi_ad9467
$(MAKE) -C axi_ad9625
$(MAKE) -C axi_ad9671
$(MAKE) -C axi_ad9684
$(MAKE) -C axi_ad9739a
2022-01-20 10:23:02 +00:00
$(MAKE) -C axi_ad9783
$(MAKE) -C axi_ad9963
$(MAKE) -C axi_adaq8092
$(MAKE) -C axi_adc_decimate
$(MAKE) -C axi_adc_trigger
$(MAKE) -C axi_adrv9001
$(MAKE) -C axi_clkgen
$(MAKE) -C axi_clock_monitor
$(MAKE) -C axi_dac_interpolate
$(MAKE) -C axi_dmac
$(MAKE) -C axi_fan_control
$(MAKE) -C axi_fmcadc5_sync
$(MAKE) -C axi_generic_adc
$(MAKE) -C axi_gpreg
$(MAKE) -C axi_hdmi_rx
$(MAKE) -C axi_hdmi_tx
$(MAKE) -C axi_i2s_adi
$(MAKE) -C axi_intr_monitor
axi_laser_driver: Initial commit The laser driver contains the axi_pulse_gen's IP and an additional register map which controls/monitor the laser driver enable control line and the over temperature warning line (OTW). It also contains an interrupt logic, which allows to generate an interrupt in function of the generated pulse or incoming OTW signal. The IPs register maps looks as follow: 0x00 - axi_pulse_gen register map 0x80 - axi_laser_driver register map 0x80 - DRIVER_ENABLE 0x84 - DRIVER_OTW 0x88 - EXT_CLK_COUNTER 0xA0 - IRQ_MASK 0xA4 - IRQ_SOURCE 0xA8 - IRQ_PENDING 0xAC - SEQUENCER_CONTROL 0 - SEQUENCER_ENABLE 1 - AUTO_SEQUENCER_ENABLED 0xB0 - SEQUENCER_SYNC_OFFSET 0xB4 - AUTO_SEQUENCE [ 1: 0] - CHANNEL_SEL_0 [ 5: 4] - CHANNEL_SEL_1 [ 9: 8] - CHANNEL_SEL_2 [13:12] - CHANNEL_SEL_3 0xB8 - MANUAL_SEQUENCE [ 1: 0] - MANUAL_CHANNEL_SEL Current interrupt sources scheme is: - bit 0 : pulse (triggered by the level of the pulse) - bit 1 : OTW_N enter (triggered by positive edge of the OTW_N) - bit 2 : OTW_N exit (triggered by the level of the pulse) Generate a reset signal before the pulse which can be used to reset various IP's of the data path (eg. pack/cpack). This can help to clear out the internal buffers and registers of these IP, starting clean at the moment when the actual pulse arrives. The sequencer has an auto and a manual mode, and can be set to custom sequences of the TIA channel selection lines sate. The sequencer in auto mode is synchronized to the pulse, it will change its state before a generated pulse which will drive the lasers. The offset between the sequencer beat and the laser driver pulse can be modified through an AXI register.
2019-03-19 12:05:14 +00:00
$(MAKE) -C axi_laser_driver
$(MAKE) -C axi_logic_analyzer
2021-11-15 20:41:40 +00:00
$(MAKE) -C axi_ltc2387
$(MAKE) -C axi_pulse_gen
$(MAKE) -C axi_pwm_gen
$(MAKE) -C axi_rd_wr_combiner
$(MAKE) -C axi_spdif_rx
$(MAKE) -C axi_spdif_tx
2019-06-28 08:41:21 +00:00
$(MAKE) -C axi_sysid
$(MAKE) -C axi_tdd
$(MAKE) -C cn0363/cn0363_dma_sequencer
$(MAKE) -C cn0363/cn0363_phase_data_sync
$(MAKE) -C cordic_demod
2021-03-15 08:50:39 +00:00
$(MAKE) -C data_offload
2018-08-13 13:59:02 +00:00
$(MAKE) -C intel/adi_jesd204
$(MAKE) -C intel/avl_adxcfg
$(MAKE) -C intel/avl_adxcvr
$(MAKE) -C intel/avl_adxcvr_octet_swap
$(MAKE) -C intel/avl_adxphy
$(MAKE) -C intel/avl_dacfifo
$(MAKE) -C intel/axi_adxcvr
$(MAKE) -C intel/common/intel_mem_asym
$(MAKE) -C intel/common/intel_serdes
2018-08-13 13:59:02 +00:00
$(MAKE) -C intel/jesd204_phy
$(MAKE) -C intel/util_clkdiv
2017-05-05 16:53:39 +00:00
$(MAKE) -C jesd204/ad_ip_jesd204_tpl_adc
2017-05-05 16:54:09 +00:00
$(MAKE) -C jesd204/ad_ip_jesd204_tpl_dac
$(MAKE) -C jesd204/axi_jesd204_common
$(MAKE) -C jesd204/axi_jesd204_rx
$(MAKE) -C jesd204/axi_jesd204_tx
$(MAKE) -C jesd204/jesd204_common
$(MAKE) -C jesd204/jesd204_rx
$(MAKE) -C jesd204/jesd204_rx_static_config
$(MAKE) -C jesd204/jesd204_soft_pcs_rx
$(MAKE) -C jesd204/jesd204_soft_pcs_tx
$(MAKE) -C jesd204/jesd204_tx
$(MAKE) -C jesd204/jesd204_tx_static_config
$(MAKE) -C jesd204/jesd204_versal_gt_adapter_rx
$(MAKE) -C jesd204/jesd204_versal_gt_adapter_tx
$(MAKE) -C spi_engine/axi_spi_engine
$(MAKE) -C spi_engine/spi_axis_reorder
$(MAKE) -C spi_engine/spi_engine_execution
$(MAKE) -C spi_engine/spi_engine_interconnect
$(MAKE) -C spi_engine/spi_engine_offload
2019-06-28 08:41:21 +00:00
$(MAKE) -C sysid_rom
$(MAKE) -C util_adcfifo
$(MAKE) -C util_axis_fifo
$(MAKE) -C util_axis_fifo_asym
$(MAKE) -C util_axis_resize
$(MAKE) -C util_axis_upscale
$(MAKE) -C util_bsplit
$(MAKE) -C util_cdc
$(MAKE) -C util_cic
$(MAKE) -C util_dacfifo
$(MAKE) -C util_dec256sinc24b
$(MAKE) -C util_delay
$(MAKE) -C util_do_ram
$(MAKE) -C util_extract
$(MAKE) -C util_fir_dec
$(MAKE) -C util_fir_int
$(MAKE) -C util_gmii_to_rgmii
$(MAKE) -C util_hbm
$(MAKE) -C util_i2c_mixer
$(MAKE) -C util_mfifo
2021-11-09 11:58:06 +00:00
$(MAKE) -C util_mii_to_rmii
$(MAKE) -C util_pack/util_cpack2
Add util_upack2 core The util_upack2 core is similar to the util_upack core. It unpacks, or deinterleaves, a data stream onto multiple ports. The upack2 core uses a streaming AXI interface for its data source instead of a FIFO interface like the upack core uses. On the output side the upack2 core uses a multi-port FIFO interface. There is a single data request signal (fifo_rd_en) for all ports. But each port can be individually enabled or disabled using the enable signals. This modified architecture allows the upack2 core to better generate the valid and underflow control signals to indicate whether data is available in a response to a data request. If fifo_rd_en is asserted and data is available the fifo_rd_valid signal are asserted in the following clock cycle. The enabled fifo_rd_data ports will be contain valid data during the same clock cycle as fifo_rd_valid is asserted. During other clock cycles the output data is undefined. On disabled ports the data is always undefined. If no data is available instead the fifo_rd_underflow signal is asserted in the following clock cycle and the output of all fifo_rd_data ports is undefined. This core is build using the common pack infrastructure. The core that is specific to the upack2 core is mainly only responsible for generating the control signals for the external interfaces. The core is accompanied by a test bench that verifies correct behavior for all possible combinations of enable masks. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2018-10-07 12:39:27 +00:00
$(MAKE) -C util_pack/util_upack2
$(MAKE) -C util_pad
$(MAKE) -C util_pulse_gen
$(MAKE) -C util_rfifo
$(MAKE) -C util_sigma_delta_spi
$(MAKE) -C util_tdd_sync
$(MAKE) -C util_var_fifo
$(MAKE) -C util_wfifo
$(MAKE) -C xilinx/axi_adcfifo
$(MAKE) -C xilinx/axi_adxcvr
$(MAKE) -C xilinx/axi_dacfifo
$(MAKE) -C xilinx/axi_xcvrlb
$(MAKE) -C xilinx/util_adxcvr
$(MAKE) -C xilinx/util_clkdiv
2017-04-27 19:11:01 +00:00
$(MAKE) -C interfaces
2017-02-10 14:32:58 +00:00
2015-04-01 20:26:23 +00:00
####################################################################################
####################################################################################