Header file of AD9656 Driver.
More...
Header file of AD9656 Driver.
- Author
- DHotolea (dan.h.nosp@m.otol.nosp@m.eanu@.nosp@m.anal.nosp@m.og.co.nosp@m.m)
Copyright 2020(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ AD9656_CHIP_ID
| #define AD9656_CHIP_ID 0x0C0 |
◆ AD9656_FORMAT_2S_COMPLEMENT
| #define AD9656_FORMAT_2S_COMPLEMENT 0x001 |
◆ AD9656_FORMAT_OFFSET_BINARY
| #define AD9656_FORMAT_OFFSET_BINARY 0x000 |
◆ AD9656_LINK_OFF
| #define AD9656_LINK_OFF 0x000 |
◆ AD9656_LINK_PN23
| #define AD9656_LINK_PN23 0x003 |
◆ AD9656_LINK_PN9
| #define AD9656_LINK_PN9 0x004 |
◆ AD9656_REG_ADC_TEST_MODE
| #define AD9656_REG_ADC_TEST_MODE 0x00D |
◆ AD9656_REG_CHIP_ID
| #define AD9656_REG_CHIP_ID 0x001 |
◆ AD9656_REG_DEVICE_INDEX
| #define AD9656_REG_DEVICE_INDEX 0x005 |
◆ AD9656_REG_JESD204B_CSN_CONFIG
| #define AD9656_REG_JESD204B_CSN_CONFIG 0x072 |
◆ AD9656_REG_JESD204B_LANE_RATE_CTRL
| #define AD9656_REG_JESD204B_LANE_RATE_CTRL 0x021 |
◆ AD9656_REG_JESD204B_LANE_SERD_OUT1_OUT0_ASSIGN
| #define AD9656_REG_JESD204B_LANE_SERD_OUT1_OUT0_ASSIGN 0x082 |
◆ AD9656_REG_JESD204B_LANE_SERD_OUT3_OUT2_ASSIGN
| #define AD9656_REG_JESD204B_LANE_SERD_OUT3_OUT2_ASSIGN 0x083 |
◆ AD9656_REG_JESD204B_M_CTRL
| #define AD9656_REG_JESD204B_M_CTRL 0x071 |
◆ AD9656_REG_JESD204B_MF_CTRL
| #define AD9656_REG_JESD204B_MF_CTRL 0x070 |
◆ AD9656_REG_JESD204B_PLL_LOCK_STATUS
| #define AD9656_REG_JESD204B_PLL_LOCK_STATUS 0x00A |
◆ AD9656_REG_JESD204B_QUICK_CONFIG
| #define AD9656_REG_JESD204B_QUICK_CONFIG 0x05E |
◆ AD9656_REG_JESD204B_SCR_L
| #define AD9656_REG_JESD204B_SCR_L 0x06E |
◆ AD9656_REG_JESD204B_SUBCLASS_CONFIG
| #define AD9656_REG_JESD204B_SUBCLASS_CONFIG 0x073 |
◆ AD9656_REG_LINK_CONTROL
| #define AD9656_REG_LINK_CONTROL 0x05F |
◆ AD9656_REG_LINK_MODE
| #define AD9656_REG_LINK_MODE 0x61 |
◆ AD9656_REG_OUTPUT_MODE
| #define AD9656_REG_OUTPUT_MODE 0x014 |
◆ AD9656_REG_USER_TEST_PATTERN_1_LSB
| #define AD9656_REG_USER_TEST_PATTERN_1_LSB 0x19 |
◆ AD9656_REG_USER_TEST_PATTERN_1_MSB
| #define AD9656_REG_USER_TEST_PATTERN_1_MSB 0x1A |
◆ AD9656_REG_USER_TEST_PATTERN_2_LSB
| #define AD9656_REG_USER_TEST_PATTERN_2_LSB 0x1B |
◆ AD9656_REG_USER_TEST_PATTERN_2_MSB
| #define AD9656_REG_USER_TEST_PATTERN_2_MSB 0x1C |
◆ AD9656_SPI_CONFIG
| #define AD9656_SPI_CONFIG 0x000 |
◆ AD9656_TEST_OFF
| #define AD9656_TEST_OFF 0x000 |
◆ AD9656_TEST_PN23
| #define AD9656_TEST_PN23 0x005 |
◆ AD9656_TEST_PN9
| #define AD9656_TEST_PN9 0x006 |
◆ AD9656_TEST_USER_INPUT
| #define AD9656_TEST_USER_INPUT 0x048 |
◆ ad9656_JESD204_test()
| int32_t ad9656_JESD204_test |
( |
struct ad9656_dev * | dev, |
|
|
uint32_t | test_mode, |
|
|
uint32_t | link_mode ) |
Launch the JESD204 test functionality for the receive path for the ad9656 chip.
- Parameters
-
| dev | - The device handler for the ad9656 chip |
| test_mode | - The type of test that is to be performed or OFF if the testing process is to be stopped |
| link_mode | - Used for link control, it also specifies what type of test is is going to be performed, OFF if no testing is done |
- Returns
- 0 if the ad9656 chip could be successfully set for JESD204 link testing, -1 otherwise
◆ ad9656_reg_read()
| int32_t ad9656_reg_read |
( |
struct ad9656_dev * | dev, |
|
|
uint16_t | reg_addr, |
|
|
uint8_t * | reg_data ) |
Reads from the ad9656 that is contected to the SPI.
- Parameters
-
| dev | - The ad9656 device handler |
| reg_addr | - The address of the internal register of the ad9656 chip |
| reg_data | - The value read from the internal register |
- Returns
- 0 if the value was successfully read, -1 otherwise
◆ ad9656_reg_write()
| int32_t ad9656_reg_write |
( |
struct ad9656_dev * | dev, |
|
|
uint16_t | reg_addr, |
|
|
uint8_t | reg_data ) |
Write to the ad9656 that is conected to the SPI.
- Parameters
-
| dev | - The device handler for the ad9656 chip |
| reg_addr | - Address of the internal register of the ad9656 chip |
| reg_data | - Value to be written to the register |
- Returns
- 0 if the value was written successfully, -1 otherwise
◆ ad9656_remove()
Free the resources allocated by ad9656_setup().
- Parameters
-
| dev | - The device structure. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad9656_setup()
Setup the working parameters of the ad9656 chip.
- Parameters
-
| device | - The device handler of the ad9656 chip |
| init_param | - Values for the working parameters of ad9656 |
- Returns
- 0 if device is ready for use, -1 otherwise
◆ ad9656_user_input_test()
Launch the user input test functionality for the receive path for the ad9656 chip. User input data is supplied on the outputs instead of real data captured on the ADC.
- Parameters
-
| dev | - The device handler for the ad9656 chip |
| test_mode | - The type of test that is to be performed or OFF if the testing process is to be stopped |
| user_input_test_pattern | - User input test pattern that is sent on the output instead of the ADC data |
- Returns
- 0 if the ad9656 chip could be successfully set for user input testing, FAILURE otherwise