![]() |
no-OS
|
Implementation of AD9250 Driver. More...
Functions | |
| int32_t | ad9250_set_bits_to_reg (struct ad9250_dev *dev, uint32_t register_address, uint8_t bits_value, uint8_t mask) |
| Sets a bit/group of bits inside a register without modifying other bits. | |
| int32_t | ad9250_is_shadow_register (int32_t register_address) |
| Checks if the register is shadowed. | |
| int32_t | ad9250_setup (struct ad9250_dev **device, struct ad9250_init_param init_param) |
| Configures the device. | |
| int32_t | ad9250_remove (struct ad9250_dev *dev) |
| Free the resources allocated by ad9250_setup(). | |
| int32_t | ad9250_read (struct ad9250_dev *dev, int32_t register_address) |
| Reads the value of the selected register. | |
| int32_t | ad9250_write (struct ad9250_dev *dev, int32_t register_address, int32_t register_value) |
| Writes a value to the selected register. | |
| int32_t | ad9250_transfer (struct ad9250_dev *dev) |
| Initiates a transfer and waits for the operation to end. Note: This function may be called after a shadowed register was written, so that the internal update can actually take place. | |
| int32_t | ad9250_soft_reset (struct ad9250_dev *dev) |
| Resets all registers to their default values. | |
| int32_t | ad9250_chip_pwr_mode (struct ad9250_dev *dev, int32_t mode) |
| Configures the power mode of the chip. | |
| int32_t | ad9250_select_channel_for_config (struct ad9250_dev *dev, int32_t channel) |
| Selects a channel as the current channel for further configurations. | |
| int32_t | ad9250_test_mode (struct ad9250_dev *dev, int32_t mode) |
| Sets the ADC's test mode. | |
| int32_t | ad9250_offset_adj (struct ad9250_dev *dev, int32_t adj) |
| Sets the offset adjustment. | |
| int32_t | ad9250_output_disable (struct ad9250_dev *dev, int32_t en) |
| Disables (1) or enables (0) the data output. Note: This function modifies a shadowed register, therefore a call of ad9250_transfer() is required for the internal update to take place. | |
| int32_t | ad9250_output_invert (struct ad9250_dev *dev, int32_t invert) |
| Activates the inverted (1) or normal (0) output mode. Note: This function modifies a shadowed register, therefore a call of ad9250_transfer() is required for the internal update to take place. | |
| int32_t | ad9250_output_format (struct ad9250_dev *dev, int32_t format) |
| Specifies the output format. Note: This function modifies a shadowed register, therefore a call of ad9250_transfer() is required for the internal update to take place. | |
| int32_t | ad9250_reset_pn9 (struct ad9250_dev *dev, int32_t rst) |
| Sets (1) or clears (0) the reset short PN sequence bit(PN9). | |
| int32_t | ad9250_reset_pn23 (struct ad9250_dev *dev, int32_t rst) |
| Sets (1) or clears (0) the reset long PN sequence bit(PN23). | |
| int32_t | ad9250_set_user_pattern (struct ad9250_dev *dev, int32_t pattern_no, int32_t user_pattern) |
| Configures a User Test Pattern. | |
| int32_t | ad9250_bist_enable (struct ad9250_dev *dev, int32_t enable) |
| Enables the Build-In-Self-Test. | |
| int32_t | ad9250_bist_reset (struct ad9250_dev *dev, int32_t reset) |
| Resets the Build-In-Self-Test. | |
| int32_t | ad9250_jesd204b_set_frames (struct ad9250_dev *dev, int32_t k_frames) |
| Sets number of frames per multiframe (K). | |
| int32_t | ad9250_jesd204b_setup (struct ad9250_dev *dev) |
| Configures the JESD204B interface. | |
| int32_t | ad9250_jesd204b_pwr_mode (struct ad9250_dev *dev, int32_t mode) |
| Configures the power mode of the JESD204B data transmit block. | |
| int32_t | ad9250_jesd204b_select_test_injection_point (struct ad9250_dev *dev, int32_t inj_point) |
| Selects the point in the processing path of a lane, where the test data will be inserted. | |
| int32_t | ad9250_jesd204b_test_mode (struct ad9250_dev *dev, int32_t test_mode) |
| Selects a JESD204B test mode. | |
| int32_t | ad9250_jesd204b_invert_logic (struct ad9250_dev *dev, int32_t invert) |
| Inverts the logic of JESD204B bits. | |
| int32_t | ad9250_fast_detect_setup (struct ad9250_dev *dev) |
| Configures the Fast-Detect module. | |
| int32_t | ad9250_dcc_enable (struct ad9250_dev *dev, int32_t enable) |
| Enables DC correction for use in the output data signal path. | |
| int32_t | ad9250_dcc_bandwidth (struct ad9250_dev *dev, int32_t bw) |
| Selects the bandwidth value for the DC correction circuit. | |
| int32_t | ad9250_dcc_freeze (struct ad9250_dev *dev, int32_t freeze) |
| Freezes DC correction value. | |
Variables | |
| const int32_t | shadow_regs [SHADOW_REGISTER_COUNT] |
Implementation of AD9250 Driver.
Copyright 2013(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
| int32_t ad9250_bist_enable | ( | struct ad9250_dev * | dev, |
| int32_t | enable ) |
Enables the Build-In-Self-Test.
| dev | - The device structure. |
| enable | - enable option. |
| int32_t ad9250_bist_reset | ( | struct ad9250_dev * | dev, |
| int32_t | reset ) |
Resets the Build-In-Self-Test.
| dev | - The device structure. |
| reset | - reset option. |
| int32_t ad9250_chip_pwr_mode | ( | struct ad9250_dev * | dev, |
| int32_t | mode ) |
Configures the power mode of the chip.
| dev | - The device structure. |
| mode | - The power mode. Example: 00 � normal operation(default); 01 � power-down; 10 - standby. |
| int32_t ad9250_dcc_bandwidth | ( | struct ad9250_dev * | dev, |
| int32_t | bw ) |
Selects the bandwidth value for the DC correction circuit.
| dev | - The device structure. |
| bw | - DC correction bandwidth. Example: 0 - 2387.32 Hz at Sample Rate of 245.76 MSPS 1 - 1193.66 Hz at Sample Rate of 245.76 MSPS ... 13 - 0.29 Hz at Sample Rate of 245.76 MSPS |
| int32_t ad9250_dcc_enable | ( | struct ad9250_dev * | dev, |
| int32_t | enable ) |
Enables DC correction for use in the output data signal path.
| dev | - The device structure. |
| enable | - enable option. Example: 0 - correction off 1 - correction on |
| int32_t ad9250_dcc_freeze | ( | struct ad9250_dev * | dev, |
| int32_t | freeze ) |
Freezes DC correction value.
| dev | - The device structure. |
| freeze | - freeze option. Example: 0 - calculates the correction value 1 - freezes the DC correction at its current state |
| int32_t ad9250_fast_detect_setup | ( | struct ad9250_dev * | dev | ) |
Configures the Fast-Detect module.
| dev | - The device structure. |
| int32_t ad9250_is_shadow_register | ( | int32_t | register_address | ) |
Checks if the register is shadowed.
| register_address | - The address of the register to be checked. |
| int32_t ad9250_jesd204b_invert_logic | ( | struct ad9250_dev * | dev, |
| int32_t | invert ) |
Inverts the logic of JESD204B bits.
| dev | - The device structure. |
| invert | - Invert option. Example: 1 - Activates the inverted mode 0 - Activates the normal mode |
| int32_t ad9250_jesd204b_pwr_mode | ( | struct ad9250_dev * | dev, |
| int32_t | mode ) |
Configures the power mode of the JESD204B data transmit block.
| dev | - The device structure. |
| mode | - The power mode. Example: 00 � normal operation(default); 01 � power-down; 10 - standby. |
| int32_t ad9250_jesd204b_select_test_injection_point | ( | struct ad9250_dev * | dev, |
| int32_t | inj_point ) |
Selects the point in the processing path of a lane, where the test data will be inserted.
| dev | - The device structure. |
| inj_point | - The point in the processing path of a lane. Example: 1 - a 10-bit data is inserted at 8B/10B ENCODER output 2 - a 8-bit at scrambler input |
| int32_t ad9250_jesd204b_set_frames | ( | struct ad9250_dev * | dev, |
| int32_t | k_frames ) |
Sets number of frames per multiframe (K).
| dev | - The device structure. |
| k_frames | - Number of frames. Must be a multiple of 4. Range: Ceil(17/F) to 32, where F - is the number of octets per frame. |
| int32_t ad9250_jesd204b_setup | ( | struct ad9250_dev * | dev | ) |
Configures the JESD204B interface.
| dev | - The device structure. |
| int32_t ad9250_jesd204b_test_mode | ( | struct ad9250_dev * | dev, |
| int32_t | test_mode ) |
Selects a JESD204B test mode.
| dev | - The device structure. |
| test_mode | - mode option. Example: 0 - test mode disabled 1 - alternating checker board 2 - 1/0 word toggle 3 - PN23 sequence 4 - PN9 sequence 5 - continuous/repeat user test mode 6 - single user test mode 7 - reserved 8 - modified RPAT test sequence 12 - PN7 sequence 13 - PN15 sequence |
| int32_t ad9250_offset_adj | ( | struct ad9250_dev * | dev, |
| int32_t | adj ) |
Sets the offset adjustment.
| dev | - The device structure. |
| adj | - The offset adjust value in LSBs from +31 to -32. |
| int32_t ad9250_output_disable | ( | struct ad9250_dev * | dev, |
| int32_t | en ) |
Disables (1) or enables (0) the data output. Note: This function modifies a shadowed register, therefore a call of ad9250_transfer() is required for the internal update to take place.
| dev | - The device structure. |
| en | - Enable option. Example: 1 - Disables the data output; 0 - Enables the data output(default). |
| int32_t ad9250_output_format | ( | struct ad9250_dev * | dev, |
| int32_t | format ) |
Specifies the output format. Note: This function modifies a shadowed register, therefore a call of ad9250_transfer() is required for the internal update to take place.
| dev | - The device structure. |
| format | - The output format. Example: 0 � offset binary(default); 1 � two's complement; |
| int32_t ad9250_output_invert | ( | struct ad9250_dev * | dev, |
| int32_t | invert ) |
Activates the inverted (1) or normal (0) output mode. Note: This function modifies a shadowed register, therefore a call of ad9250_transfer() is required for the internal update to take place.
| dev | - The device structure. |
| invert | - Invert option. Example: 1 - Activates the inverted output mode; 0 - Activates the normal output mode(default). |
| int32_t ad9250_read | ( | struct ad9250_dev * | dev, |
| int32_t | register_address ) |
Reads the value of the selected register.
| dev | - The device structure. |
| register_address | - The address of the register to read. |
| int32_t ad9250_remove | ( | struct ad9250_dev * | dev | ) |
Free the resources allocated by ad9250_setup().
| dev | - The device structure. |
| int32_t ad9250_reset_pn23 | ( | struct ad9250_dev * | dev, |
| int32_t | rst ) |
Sets (1) or clears (0) the reset long PN sequence bit(PN23).
| dev | - The device structure. |
| rst | - Enable option. Example: 1 - The PN sequence is held in reset; 0 - The PN sequence resumes from the seed value(0x3AFF). |
| int32_t ad9250_reset_pn9 | ( | struct ad9250_dev * | dev, |
| int32_t | rst ) |
Sets (1) or clears (0) the reset short PN sequence bit(PN9).
| dev | - The device structure. |
| rst | - Enable option. Example: 1 - The PN sequence is held in reset; 0 - The PN sequence resumes from the seed value(0x92). |
| int32_t ad9250_select_channel_for_config | ( | struct ad9250_dev * | dev, |
| int32_t | channel ) |
Selects a channel as the current channel for further configurations.
| dev | - The device structure. |
| channel | - Channel option. Example 1 - channel A 2 - channel B 3 - channel A and channel B |
| int32_t ad9250_set_bits_to_reg | ( | struct ad9250_dev * | dev, |
| uint32_t | register_address, | ||
| uint8_t | bits_value, | ||
| uint8_t | mask ) |
Sets a bit/group of bits inside a register without modifying other bits.
| dev | - The device structure. |
| register_address | - The address of the register to be written. |
| bits_value | - The value of the bit/bits. |
| mask | - The bit/bits position in the register. |
| int32_t ad9250_set_user_pattern | ( | struct ad9250_dev * | dev, |
| int32_t | pattern_no, | ||
| int32_t | user_pattern ) |
Configures a User Test Pattern.
| dev | - The device structure. |
| pattern_no | - Selects the patterns to be configured. Range 1..4. |
| user_pattern | - Users's pattern. |
| int32_t ad9250_setup | ( | struct ad9250_dev ** | device, |
| struct ad9250_init_param | init_param ) |
Configures the device.
| device | - The device structure. |
| init_param | - The structure that contains the device initial parameters. |
| int32_t ad9250_soft_reset | ( | struct ad9250_dev * | dev | ) |
Resets all registers to their default values.
| dev | - The device structure. |
| int32_t ad9250_test_mode | ( | struct ad9250_dev * | dev, |
| int32_t | mode ) |
Sets the ADC's test mode.
| dev | - The device structure. |
| mode | - ADC test mode. Example: 0 -> off(default) 1 -> midscale short 2 -> +FS short 3 -> -FS short 4 -> checkerboard output 5 -> PN sequence long 6 -> PN 9 short 7 -> one/zero word toggle 8 -> user test mode 9 to 14 -> unused 15 -> ramp output |
| int32_t ad9250_transfer | ( | struct ad9250_dev * | dev | ) |
Initiates a transfer and waits for the operation to end. Note: This function may be called after a shadowed register was written, so that the internal update can actually take place.
| dev | - The device structure. |
| int32_t ad9250_write | ( | struct ad9250_dev * | dev, |
| int32_t | register_address, | ||
| int32_t | register_value ) |
Writes a value to the selected register.
| dev | - The device structure. |
| register_address | - The address of the register to write to. |
| register_value | - The value to write to the register. |
| const int32_t shadow_regs[SHADOW_REGISTER_COUNT] |