Simplifying System IntegrationTM 73M1822/73M1922 Control Module User Guide December 23, 2009 Rev. 1.
73M1822/73M1922 Control Module User Guide UG_1x22_053 © 2009 Teridian Semiconductor Corporation. All rights reserved. Teridian Semiconductor Corporation is a registered trademark of Teridian Semiconductor Corporation. Simplifying System Integration is a trademark of Teridian Semiconductor Corporation. Linux is a registered trademark of Linus Torvalds. Asterisk is a registered trademark of Digium, Inc. All other trademarks are the property of their respective owners.
UG_1x22_053 73M1822/73M1922 Control Module User Guide Table of Contents 1 2 3 4 Introduction ................................................................................................................................... 7 1.1 Purpose and Scope ................................................................................................................. 7 1.2 Conventions Used in this Guide ............................................................................................... 7 1.
73M1822/73M1922 Control Module User Guide 7 4 UG_1x22_053 6.3 Modem Hook Switch Control Services .................................................................................... 35 6.3.1 M1X22_ENNOM_DELAY_TIMER.............................................................................. 35 6.3.2 M1X22_ATH1............................................................................................................ 36 6.3.3 M1X22_ATH0....................................................................
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.12.5 M1X22_GPIO_DATA_TYPE...................................................................................... 74 7.12.6 M1X22_GPIO_SIGNAL_DIRECTION ........................................................................ 74 7.12.7 M1X22_GPIO_INTR_POLARITY ............................................................................... 75 7.12.8 M1X22_GPIO_CONFIG_t ......................................................................................
73M1822/73M1922 Control Module User Guide UG_1x22_053 Figures Figure 1: General Driver Architecture ....................................................................................................... 8 Figure 2: Driver Functional Block Diagram ............................................................................................... 9 Tables Table 1: Summary of Initialization IOCTLs .............................................................................................
UG_1x22_053 73M1822/73M1922 Control Module User Guide 1 Introduction This document describes the capabilities of the 73M1822/73M1922 Control Module. This driver software is provided for use and integration by Teridian customers on their individual platforms. The intention of this Control Module is to provide a customizable framework that is independent of processor and operating system. Throughout this document the 73M1x22 Reference Device Driver will be simply referred to as “driver” or “device driver”.
73M1822/73M1922 Control Module User Guide UG_1x22_053 2 Overview 2.1 Driver Architecture The driver provides a framework by which applications can leverage the features of the chipset. The main interface of the driver (IOCTLs) provides an abstraction layer for monitoring and control of the device status. Figure 1 depicts the general driver architecture.
UG_1x22_053 73M1822/73M1922 Control Module User Guide User Application Software IOCTLs Events 73M1x22 Control Module OS/BSP Timers State Processor MAFE ISR Teridian 73M1x22 Hardware Module 73M1x22 Chip Set Figure 2: Driver Functional Block Diagram The driver provides an interface to user application through the IOCTL and Events interface. Through this interface, the user application communicates with the driver via a standard device interface (open, close, select, ioctl functions).
73M1822/73M1922 Control Module User Guide UG_1x22_053 2.2.1 Event Generation During operation the driver constantly monitors the line for the following conditions: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. APOH condition. Transition back to no APOH condition (NOPOH). Ring start detection. End of Ring condition. Battery disconnected condition. Battery restored condition. Polarity reversal condition. Line State condition – monitoring of voltage and current. Synchronization loss condition.
UG_1x22_053 2.2.3.2 73M1822/73M1922 Control Module User Guide Measurement Procedure The driver is responsible for reading the raw value required at a given sample rate from the device. The result is computed and averaged over a specified number of those previously read values, and then compare to the interval and event table (IET) described below. Based on these comparisons dedicated events may be sent to the application.
73M1822/73M1922 Control Module User Guide UG_1x22_053 2.2.5 Loopback and Testing Modes The 1x22 devices support several variations of loopback modes. Refer to the “Loopback and Testing Modes” section of the 73M1822/73M1922 Data Sheet for more detail. Each loopback mode is designed to test connectivity at various points in the system.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 3 Driver Service Interface The Driver Service provides the link between the modem device and the user application. First, the driver must be loaded and bound into the operating system environment before this service can be provided. Access to the driver is done via two file descriptors – the device and channel file descriptors.
73M1822/73M1922 Control Module User Guide UG_1x22_053 4 Country Specific Settings The 73M1x22 Control Module supports global compliance parameters for each DAA device it manages. When selected for a specific country code using M1X22_CH_INIT, the following predefined parameters will be applied: 1. 2. 3. 4. 5. AC termination impedance – AC impedance register value. DC termination mask – DC mask value. Ring Detection – Ring detection threshold value.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 5 Modem Events The driver provides event service to the high level application by maintaining a FIFO queue of event structures, M1X22_MDM_EVENT_t. Events are created by the driver to reflect various conditions as described in Section 5.2. Once created, this new event is added to the FIFO queue and the driver notifies the application layer via file descriptor status change mechanism.
73M1822/73M1922 Control Module User Guide 5.2 UG_1x22_053 Event Identification 5.2.1 M1X22_BATTERY_DROPPED This event occurs when the modem line is disconnected from the telephone network. Parameters Data Type unsigned int Name event_id Description unsigned int channel_id Channel ID. unsigned int event_cnt Number of events that remain in the queue. unsigned int event_data1 N/A. unsigned int event_data2 N/A. unsigned int event_data3 N/A. unsigned int event_data4 N/A.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 5.2.4 M1X22_NOPOH_DETECT This event is generated when a parallel phone goes on hook. Parameters Data Type Name Description unsigned int event_id M1X22_NOPOH_DETECT. unsigned int channel_id Channel ID. unsigned int event_cnt Number of events that remain in the queue. unsigned int event_data1 N/A. unsigned int event_data2 N/A. unsigned int event_data3 N/A. unsigned int event_data4 N/A. 5.2.
73M1822/73M1922 Control Module User Guide UG_1x22_053 5.2.7 M1X22_RING_DETECT_END This event is generated when the driver detects the end of the ring burst. Parameters Data Type Name Description unsigned int event_id M1X22_RING_DETECT_END. unsigned int channel_id Channel ID. unsigned int event_cnt Number of events that remain in the queue. unsigned int event_data1 Ring burst frequency (in Hz) unsigned int event_data2 Ring burst duration (in ms) unsigned int event_data3 N/A.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 5.2.10 M1X22_OI_DETECT This event is generated on detection of an over current line condition. Parameters Data Type Name Description unsigned int event_id M1X22_OI_DETECT. unsigned int channel_id Channel ID. unsigned int event_cnt Number of events that remain in the queue. unsigned int event_data1 N/A. unsigned int event_data2 N/A. unsigned int event_data3 N/A. unsigned int event_data4 N/A. 5.2.
73M1822/73M1922 Control Module User Guide UG_1x22_053 5.2.13 M1X22_DIAL_ABORTED This event is generated when a pulse dial session is aborted or canceled by the user application. Parameters Data Type Name Description unsigned int event_id M1X22_DIAL_ABORTED. unsigned int channel_id Channel ID. unsigned int event_cnt Number of events that remain in the queue. unsigned int event_data1 N/A. unsigned int event_data2 N/A. unsigned int event_data3 N/A. unsigned int event_data4 N/A. 5.2.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6 IOCTL Commands Description Upon successful opening of a device or channel descriptor the application layer can control the operation of the device and the modem channel. The application in user space communicates with the driver via standard Linux driver interface IOCTL calls.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.1.1 M1X22_CH_INIT Description Performs 73M1x22 channel initialization. This includes initialize all default registers and country specific threshold parameters. This IOCTL requires the country code listed in M1X22_COUNTRY_CODE as input. The modem channel will be initialized according to the default setting parameter of the input country code. The default setting parameter can be found in the tsc_1x22_ctl_cntry_tbl.c file.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.1.2 M1X22_CNTRY_NMBR_GET Description Converts a null terminated ASCII string into a country code. This country code can be used in the M1X22_CH_INIT IOCTL. #define M1X22_CNTRY_NMBR_GET _IOWR(0xA4,0xB5,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_CNTRY_NMBR_GET, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor. int M1X22_CNTRY_NMBR_GET I/O control identifier for this operation.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.1.3 M1X22_GET_COUNTRY_CONFIG This IOCTL allows an application program to read the current default setting for a particular country using the country code as an input. Description Reads the current default setting for a given country. The country code is passed in via the cnum field of the M1X22_CNTRY_STRUCT_t structure. This structure is also used by the driver to return the parameter.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.1.4 M1X22_SET_COUNTRY_CONFIG This IOCTL allows application program to write the current default setting for a particular country using the country code as an input. Once written this becomes the new default setting for the country code until the system is rebooted. For persistence change of default country parameter the tsc_1X22_ctl_cntry_tbl.c must be change and rebuilt. Description Write to the current default setting of a given country code.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.1.5 M1X22_PHONE_VOLUME_SET Description The gain of both transmit and receive path can be controlled by digital and/or analog means. This IOCTL provides an easy way to set the transmit and receive gain. #define M1X22_PHONE_VOLUME_SET _IOWR(0xA4,0xCA,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_PHONE_VOLUME_SET, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.1.6 M1X22_SET_SAMPLING_FREQ Description Select modem sample rate. The 73M1x22 device can operate at many different sample rates ranging from 7.2 kHz to 16 kHz. The device defaults to 7.2 kHz operation with a 24.576 MHz crystal upon startup and can be changed using this ioctl. Notes: Changing of the sample rate will affect the following: 1. Barrier interface operation – a momentarily lost of synchronization on the barrier interface is expected.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.1.7 M1X22_GET_SAMPLING_FREQ Description Return current modem sample rate. The 73M1x22 device can operate at many different sample rates ranging from 7.2 kHz to 16 kHz. The device defaults to 7.2 kHz operation with a 24.576 MHz crystal upon startup.
UG_1x22_053 6.2 73M1822/73M1922 Control Module User Guide Events and Status Service The driver can be queried for a variety of current status of the modem line via IOCTLs. Table 2 summarizes these services. Table 2: Modem Line Status Services Events and Status M1X22_RNG_GET Description Descriptor Modem line ring status commands. Channel M1X22_POL_GET Modem line polarity status commands. Channel M1X22_BAT_GET Modem line battery status command.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.2.2 M1X22_POL_GET Description Gets the current polarity reversal status of the modem line. The driver maintains this status in its local variable and it is being retrieved by user application using this command. #define M1X22_POL_GET _IOWR(0xA4,0xB7,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_POL_GET, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.2.3 M1X22_BAT_GET Description Gets the current battery status of the modem line. The driver maintains this status in its local variable and it is being retrieved by user application using this command. #define M1X22_BAT_GET _IOWR(0xA4,0xB6,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_BAT_GET, unsigned long param ); Parameters Data Type int Name chan_fd Description int M1X22_BAT_GET I/O control identifier for this operation.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.2.4 M1X22_POH_GET Description Gets the current “parallel phone off-hook” status of the modem line. The driver maintains this status in its local variable and it is being retrieved by user application using this command.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.2.5 M1X22_EVENT_GET Description Returns an event from the FIFO queue. The driver records various events in its internal FIFO queue. Access to this event on this queue by user application is accomplished using this command, and the event will be removed permanently from the queue.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.2.6 M1X22_ERROR_CODE_GET Description This IOCTL returns the error code of the last IOCTL command. The driver records only the last error code and applicable to device and channel descriptor.
UG_1x22_053 6.3 73M1822/73M1922 Control Module User Guide Modem Hook Switch Control Services The configuration and control of the modem Hook Switch is accomplished by using the IOCTLs summarized in Table 3. Table 3: Modem Hook Switch Control Services Events and Status M1X22_ENNOM_DELAY_TIMER Description Descriptor Allows the developer to tune the EnNom response timer. Channel M1X22_ATH1 Issue off-hook in the modem interface. Channel M1X22_ATH0 Issue on-hook in the modem interface.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.3.2 M1X22_ATH1 Description Issues the off-hook signal to the modem interface. #define M1X22_ATH1 _IOWR(0xA4,0xA2,unsigned int) Note: The driver provides an option to generate a battery status event upon completion of this off-hook procedure. This option is controlled by the following macro defined in a header file.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.3.3 M1X22_ATH0 Description Issues on-hook in the modem interface. #define M1X22_ATH0 _IOWR(0xA4,0xA1,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_ATH0, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor. int M1X22_ATH0 I/O control identifier for this operation. unsigned long param N/A. Return Values Data Type int Rev. 1.0 Description Always returns 0.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.3.4 M1X22_ATDP Description Performs pulse dialing on the modem channel. As a pulse dial procedure can take more than a second per digit, it is absolutely essential that this session be carried out transparently in the background without locking up the caller during the process. Therefore, this IOCTL is a non-blocking call and it returns immediately after scheduling the background process to start the pulse dialing.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.3.5 M1X22_ATDP_CANCEL Description Aborts or cancels an active pulse session requested previously by using the M1X22_ATDP IOCTL. The cancellation occurs in the background and, when it is done, the driver sends an M1X22_DIAL_ABORTED event. #define M1X22_ATDP_CANCEL _IOWR(0xA4,0xDD,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_ATDP_CANCEL, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.3.6 M1X22_ATDP_PARAM Description This IOCTL is used to modify or read the following default pulse dial parameters: • On hook duration (default = 60 ms) • Off hook duration (default = 40 ms) • Inter-digit duration (default = 1 sec) The command field in the M1X22_PULSE_DIAL_PARAM_t structure indicates whether it is a read or a write operation.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.3.7 M1X22_FLSH_CFG Description This is the configuration of flash-hook timing parameter for the modem interface. #define M1X22_FLSH_CFG _IOWR(0xA4,0xBA,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_FLSH_CFG, unsigned long param ); Parameters Data Type int Name chan_fd Description int M1X22_FLSH_CFG I/O control identifier for this operation. unsigned long param The desired flash duration. Range from 5 to 50 ms, inclusive.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.3.9 M1X22_SEND_WETTING_PULSE Description Performs hook flashing on the modem interface for the duration set by param. #define M1X22_FLSH_SET _IOWR(0xA4,0xBC,unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_SEND_WETTING_PULSE, unsigned long param ); Parameters Data Type int Name chan_fd Description int M1X22_SEND_WETTING_PULSE I/O control identifier for this operation.
UG_1x22_053 6.4 73M1822/73M1922 Control Module User Guide Caller-ID Services The following service control how the modem manages Type 1 Caller-ID. Table 4: Call ID Services Name M1X22_ENABLE_CALLER_ID Description Descriptor Enable automatic Caller ID enabling mode. Channel M1X22_DISABLE_CALLER_ID Disable automatic Caller ID enabling mode. Channel M1X22_ENTER_CID_MODE Manually enter Caller ID mode. Channel M1X22_EXIT_CID_MODE Manually exit Caller ID mode. Channel 6.4.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.4.2 M1X22_DISABLE_CALLER_ID Description Disables the automatic Caller ID processing. By default the driver will start Caller ID mode with an on hook transition. This can be disabled by upper layer application using this service.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.4.4 M1X22_EXIT_CID_MODE Description Exits Caller ID mode. #define M1X22_EXIT_CID_MODE _IOWR(0xA4, 0xF2, unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_EXIT_CID_MODE, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor. int M1X22_EXIT_CID_MODE I/O control identifier for this operation. unsigned long param N/A. Return Values Data Type int Rev. 1.0 Description Always returns 0.
73M1822/73M1922 Control Module User Guide 6.5 UG_1x22_053 Ring Detection Services The following services control how the modem manages Ring Detection. Table 5: Ring Detection Services Name M1X22_SET_MIN_INTER_RING_GAP Description Descriptor Set minimum inter-ring timer value. Channel M1X22_SET_RING_MIN_FREQ Set min frequency threshold for ring filter. Channel M1X22_SET_RING_MAX_FREQ Set max frequency threshold for ring filter. Channel 6.5.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.5.2 M1X22_SET_RING_MIN_FREQ Description Upon detection of a ring burst the driver will attempt to determine the ring burst frequency. If the ring burst frequency is above the minimum ring frequency and below the maximum frequency then the driver will report an M1X22_RING_DETECT event.
73M1822/73M1922 Control Module User Guide 6.6 UG_1x22_053 Line State Analysis Services The following services control the modem line state via line current and line voltage measurements. Table 6 provides the summary of each IOCTL. These IOCTLs can be used for both measuring entities – the line current and line voltage. Table 6: Line State Analysis Services Name M1X22_MEASURE_START Description Descriptor Start line measurement. Channel M1X22_MEASURE_STOP Stop line measurement.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.6.2 M1X22_MEASURE_STOP Description Stops an on-going measurement (current or voltage). The param parameter points to a structure that contains the requested stop measuring entity. #define M1X22_MEASURE_STOP _IOWR(0xA4, 0xE6, unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_MEASURE_STOP, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.6.3 M1X22_MEASURE_UPDATE Description Reads an IET entry or updates an IET entry based on provided parameters. The param parameter points to a structure that contains the requested action (GET or SET), the measuring entity (current or voltage), the IET table index, and its attributes, if used in the SET operation. For GET operations the IET attributes will be read from the driver.
UG_1x22_053 73M1822/73M1922 Control Module User Guide The following example code illustrates a reading of a line voltage IET table entry. M1X22_MEASURE_UPDATE_t read; int ret; read.row = 5; /* read row 5 of voltage IET table */ read.action = M1X22_MEASURE_ACTION_GET; /* request for GET operation */ read.
73M1822/73M1922 Control Module User Guide 6.7 UG_1x22_053 GPIO Services 6.7.1 M1X22_GPIO_CONFIG Description The ioctl is used to configure the GPIO pin. #define M1X22_GPIO_CONFIG _IOWR(0xA4, 0xC0, unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_GPIO_CONFIG, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor. int M1X22_GPIO_CONFIG I/O control identifier for this operation. unsigned long param Pointer to M1X22_GPIO_CONFIG_t.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.7.2 M1X22_GPIO_CONTROL Description The ioctl is used to control the operation of the GPIO pin. #define M1X22_GPIO_CONTROL _IOWR(0xA4, 0xC1, unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_GPIO_CONTROL, unsigned long param ); Parameters Data Type Name Description int chan_fd Channel descriptor. int M1X22_GPIO_CONTROL I/O control identifier for this operation. unsigned long param Pointer to M1X22_GPIO_CONTROL_t.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.7.3 M1X22_GPIO_DATA Description This IOCTL is used to read or write data from and to the GPIO pin. #define M1X22_GPIO_DATA _IOWR(0xA4, 0xC2, unsigned int) Prototype int ioctl ( int chan_fd, int M1X22_GPIO_DATA, unsigned long param ); Parameters Data Type int Name chan_fd Description int M1X22_GPIO_DATA I/O control identifier for this operation. unsigned long param Pointer to the M1X22_GPIO_DATA_t structure. Channel descriptor.
UG_1x22_053 6.8 73M1822/73M1922 Control Module User Guide Loopback Services 6.8.1 M1X22_LOOPBACK Description This IOCTL is used for managing the loopback session – initiating, clearing or retrieving the status of current active loopback session on a given channel. Only one loopback session can be active per channel. For reading the status the loopback “mode” will be returned in the structure M1X22_LOOPBACK_t pointed to by the “param” field.
73M1822/73M1922 Control Module User Guide 6.9 UG_1x22_053 Miscellaneous 6.9.1 M1X22_THRESHOLD_OVERRIDE Description Various modem channel parameters are conveniently grouped and predefined in the country parameter setting as specified in Section 7.2. These parameters are programmed during channel initialization ioctl (M1X22_CH_INIT). However, these parameters can be overridden at runtime to fine tune to the desired threshold for the specific installation using this M1X22_THRESHOLD_OVERRIDE IOCTL.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.9.2 M1X22_BTONE_FILTER Description Large amplitude out-of-band tones can be used to measure call duration and to allow remote central office to determine the duration of the call for billing purposes. These tones can saturate or distort the input signal, thus, it is important to be able to reject them. This IOCTL provides the ability to filter out the billing tone.
73M1822/73M1922 Control Module User Guide UG_1x22_053 6.9.3 M1X22_CPROG_MONITOR Description The Call Progress Monitor monitors activities on the line. The audio output contains both transmit and receive data with a configurable level individually can be set using this IOCTL.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 6.9.4 M1X22_DEBUG_LEVEL_SET Description Sets the driver trace mask to enable or disable run-time trace messages. Multiple trace masks can be ORed together. #define M1X22_DEBUG_LEVEL_SET _IOWR(0xA4,0xE1,unsigned int) Prototype int ioctl ( int dev_fd, int M1X22_DEBUG_LEVEL_SET, unsigned long param ); Parameters Data Type int Name dev_fd Description int M1X22_DEBUG_LEVEL_SET I/O control identifier for this operation.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7 Type and Structure Definition Reference This section contains the type definitions, reference of data type and structure used in the 73M1x22 driver. 7.1 M1X22_COUNTRY_CODE Description List of country codes use in the M1X22_CH_INIT IOCTL.
UG_1x22_053 #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define Rev. 1.
73M1822/73M1922 Control Module User Guide 7.2 UG_1x22_053 M1X22_CNTRY_STRUCT_t Description This structure defines the country default parameters.
UG_1x22_053 7.3 73M1822/73M1922 Control Module User Guide M1X22_DEBUG_TRACE_MASK Description Trace macros used by the M1X22_DEBUG_LEVEL_SET IOCTL. Prototype #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define 7.
73M1822/73M1922 Control Module User Guide 7.5 UG_1x22_053 struct txrx_gain Description This structure is used by the M1X22_PHONE_VOLUME_SET IOCTL to adjust the volume setting of the speakerphone and microphone. Prototype struct txrx_gain { int tx_gain; int rx_gain; }; Parameters Data Type Name Transmit int tx_gain Transmit level in dBm. Int rx_gain Receive level in dB. 7.6 M1X22_PULSE_DIAL_t Description This structure is used by the M1X22_ATDP IOCTLs for pulse dialing.
UG_1x22_053 7.7 73M1822/73M1922 Control Module User Guide M1X22_PULSE_DIAL_PARAM_t Description This structure is used by the M1X22_ATDP_PARAM IOCTLs to read or modify the pulse dial parameter. The command field indicates whether it is a read or a write operation.
73M1822/73M1922 Control Module User Guide 7.9 UG_1x22_053 M1X22_SAMPLE_RATE_SELECTION Description This is the enumerated sample rate selection. It is used by the M1X22_SET_SAMPLING_FREQ IOCTL to select the PCM sample rate.
UG_1x22_053 Name 73M1822/73M1922 Control Module User Guide Value Description M1X22_XTAL_24576KHZ_FS_14400HZ 11 Set sample rate at 24.576 MHz assuming a crystal frequency of 14.4 kHz. M1X22_XTAL_24576KHZ_FS_16000HZ 12 Set sample rate at 24.576 MHz assuming a crystal frequency of 16.0 kHz. M1X22_XTAL_09216KHZ_FS_07200HZ 13 Set sample rate at 9.216 MHz assuming a crystal frequency of 7.2 kHz. M1X22_XTAL_09216KHZ_FS_08000HZ 14 Set sample rate at 9.216 MHz assuming a crystal frequency of 8.0 kHz.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.10 Billing Tone Filter Related Data Type and Structure 7.10.1 M1X22_BTONE_FILTER_COMMAND Description This is the billing tone filter commands. For the enable command the tone frequency parameter is expected in the Call Progress Monitor Data Type and Structure .
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.10.3 M1X22_BTONE_FILTER_t Description This structure is used by the M1X22_BTONE_FILTER IOCTL to enable or to disable the billing tone. The filter is by default disable upon initialization and can be enabled to reject a tone of specific frequency using this IOCTL.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.11 Call Progress Monitor Data Type and Structure 7.11.1 M1X22_CPROG_MON_VOLT_REF Description This contains the list of supported voltage reference at the call progress monitor audio output. This is used in the M1X22_CPROG_MONITOR IOCTL to select the voltage reference. Prototype typedef enum { M1X22_CPROG_MON_VOLT_REG_1_5 = 0, /* 1.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.11.3 M1X22_CPROG_MONITOR_t Description This structure is used by the M1X22_CPROG_MONITOR IOCTL to adjust (or mute) the gain setting of the call progress monitor audio path.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.12 GPIO Related Data Type and Structures 7.12.1 M1X22_GPIO_NUMBER Description This is the list of GPIO pin definitions. Prototype typedef enum { M1X22_GPIO_NUM_4 M1X22_GPIO_NUM_5 M1X22_GPIO_NUM_6 M1X22_GPIO_NUM_7 } M1X22_GPIO_NUMBER; = = = = 0x10, 0x20, 0x40, 0x80 /* /* /* /* GPIO-4 GPIO-5 GPIO-6 GPIO-7 */ */ */ */ Parameters Name Value Description M1X22_GPIO_NUM_4 0x10 GPIO4. M1X22_GPIO_NUM_5 0x20 GPIO5. M1X22_GPIO_NUM_6 0x40 GPIO6.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.12.3 M1X22_GPIO_CONTROL_TYPE Description GPIO control type definitios. Prototype typedef enum { M1X22_GPIO_CONTROL_DISABLE = 0, M1X22_GPIO_CONTROL_ENABLE = 1 } M1X22_GPIO_CONTROL_TYPE; /* disable GPIO /* enable GPIO */ */ Parameters Name Value Description M1X22_GPIO_CONTROL_DISABLE 0 Disable GPIO. M1X22_GPIO_CONTROL_ENABLE 1 Enable GPIO. 7.12.4 M1X22_GPIO_DATA_COMMAND Description GPIO data access command.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.12.5 M1X22_GPIO_DATA_TYPE Description GPIO data types – this is the GPIO data returned from the M1X22_GPIO_DATA_GET access command, or data to be written to the GPIO port using the M1X22_GPIO_DATA_SET access command. Prototype typedef enum { M1X22_GPIO_DATA_LOW M1X22_GPIO_DATA_HIGH } M1X22_GPIO_DATA_TYPE; = 0, = 1 /* GPIO data - low /* GPIO data - high */ */ Parameters Name Value Description M1X22_GPIO_DATA_LOW 0 GPIO data – low.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.12.7 M1X22_GPIO_INTR_POLARITY Description GPIO Interrupt signal transition edge selection. The defines the interrupt source as being either on a rising or a falling edge of the corresponding GPIO pin. If configured as M1X22_GPIO_POL_RISING a rising edge will trigger an interrupt from the corresponding GPIO pin. If configured as M1X22_GPIO_POL_FALLING a falling edge will trigger an interrupt from the corresponding GPIO pin.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.12.9 M1X22_GPIO_DATA_t Description This structure is used by the M1X22_GPIO_DATA IOCTLs to read or write GPIO signal from or to the GPIO pin. Prototype typedef struct gpio_data { M1X22_GPIO_DATA_COMMAND M1X22_GPIO_NUMBER M1X22_GPIO_DATA_TYPE } M1X22_GPIO_DATA_t; command; gpio; data; /* command */ /* GPIO number */ /* data */ Parameters Data Type M1X22_GPIO_DATA_COMMAND Name command Description Read or Write command.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.13 Loopback Related Data Type and Structure 7.13.1 M1X22_LOOPBACK_COMMAND Description These loopback commands can be used in the M1X22_LOOPBACK IOCTL to manage loopback sessions.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.13.3 M1X22_LOOPBACK_t Description This is the structure used for managing the loopback with the M1X22_LOOPBACK IOCTL. Prototype typedef struct m1X22_loopback_struct { M1X22_LOOPBACK_COMMAND command; M1X22_LOOPBACK_MODE mode; } M1X22_LOOPBACK_t; Parameters Name M1X22_LOOPBACK_COMMAND Value Command Loopback command. M1X22_LOOPBACK_MODE type Loopback mode. 78 Description Rev. 1.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.14 Line Measurement Related Data Types and Structures 7.14.1 M1X22_MEASURE_ENTITY Description This is the enumerated list of line measuring entities that can be monitored by the driver. Prototype typedef enum { M1X22_MEASURE_ENTITY_CURRENT = 0, M1X22_MEASURE_ENTITY_VOLTAGE = 1, } M1X22_MEASURE_ENTITY; Parameters Name Value Description M1X22_MEASURE_ENTITY_CURRENT 0 Line current measuring entity.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.14.3 M1X22_MEASURE_START_STOP_t Description This structure is used by the M1X22_MEASURE_START and M1X22_MEASURE_STOP IOCTLs to start and stop the current or voltage measurement. Prototype typedef struct { M1X22_MEASURE_ENTITY entity; unsigned int sample_time; unsigned int average_sample_count; } M1X22_MEASURE_START_t; Parameters Data Type Name Description M1X22_MEASURE_ENTITY entity Measuring entity – current or voltage.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 7.14.4 M1X22_MEASURE_UPDATE_t Description This structure is used by the M1X22_MEASURE_UPDATE IOCTL to send the IET table entry parameters for update, or to read its content. The action parameter in the structure indicates the desired operation. The GET operation performs the read function while the SET operation performs write or modify function.
73M1822/73M1922 Control Module User Guide UG_1x22_053 7.14.5 M1X22_IET_t Description This Interval and Event Table structure (IET) is internally used by the driver to store threshold parameters for monitoring line current and voltage.
UG_1x22_053 73M1822/73M1922 Control Module User Guide 8 Driver Source and Include Files The driver software is written exclusively in the C programming language and consists of the following files. Table 7: Driver Source Code Files File Name Directory Description drv_config.h user User defined parameters. drv_version.h drv_sys_os.h include Defines the driver version number. include Include OS specific files. drv_sys_os_linux.h include Include Linux specific macros/defines.
73M1822/73M1922 Control Module User Guide UG_1x22_053 9 Related Documentation The following 73M1x22 documents are available from Teridian Semiconductor Corporation: 73M182273M1X22 Data Sheet 73M182273M1X22 Layout Guidelines 73M1x22 Worldwide Design Guide 73M1822/73M1922 Control Module User Guide 73M1822/73M1922 Hardware Module for SMDK412 User Guide 73M1822/73M1922 Modem API User Guide 73M1822/73M1922 Modem CTL Application User Guide 73M1822/73M1922 MicroDAA Software Architecture 10 Contact Information F
UG_1x22_053 73M1822/73M1922 Control Module User Guide Appendix A – Country Codes Table 8 provides all the defined countries, their corresponding two-character codes and their indexes.
73M1822/73M1922 Control Module User Guide UG_1x22_053 Revision History Revision Date Description 1.0 12/23/2009 First publication. 86 Rev. 1.