summaryrefslogtreecommitdiff
path: root/drivers/dahdi/xpp/print_fxo_modes.c
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2008-06-19 13:36:15 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2008-06-19 13:36:15 +0000
commit9d886a8e34490fabc3a1e3a0ebba5f8a43a6fd49 (patch)
tree8ac596c49aed7284efdb19c2b97900248436aa44 /drivers/dahdi/xpp/print_fxo_modes.c
parent55896756afb1dc68c66712885cd310f8a11494e2 (diff)
Further XPP driver adjustments:
* More complete Kconfig. * Verification of FXO init script moved here from tools. * Perl init scripts are verified. * Correct name XppConf*ig*. * Add the files for xpp_mmap . git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4408 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/xpp/print_fxo_modes.c')
-rw-r--r--drivers/dahdi/xpp/print_fxo_modes.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/dahdi/xpp/print_fxo_modes.c b/drivers/dahdi/xpp/print_fxo_modes.c
new file mode 100644
index 0000000..6d7d747
--- /dev/null
+++ b/drivers/dahdi/xpp/print_fxo_modes.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+
+int main(int argc, char *argv[])
+{
+ size_t i;
+
+ for (i=0; i<(sizeof(fxo_modes)/sizeof(struct fxo_mode)); i++) {
+ if (fxo_modes[i].name == NULL) break;
+ int reg16=0, reg26=0, reg30=0, reg31=0x20;
+ char ring_osc[BUFSIZ]="", ring_x[BUFSIZ] = "";
+
+ reg16 |= (fxo_modes[i].ohs << 6);
+ reg16 |= (fxo_modes[i].rz << 1);
+ reg16 |= (fxo_modes[i].rt);
+
+ reg26 |= (fxo_modes[i].dcv << 6);
+ reg26 |= (fxo_modes[i].mini << 4);
+ reg26 |= (fxo_modes[i].ilim << 1);
+
+ reg30 = (fxo_modes[i].acim);
+
+ reg31 |= (fxo_modes[i].ohs2 << 3);
+
+ if (fxo_modes[i].ring_osc)
+ snprintf(ring_osc, BUFSIZ, "ring_osc=%04X", fxo_modes[i].ring_osc);
+ if (fxo_modes[i].ring_x)
+ snprintf(ring_x, BUFSIZ, "ring_x=%04X", fxo_modes[i].ring_x);
+ printf("%-15s\treg16=%02X\treg26=%02X\treg30=%02X\treg31=%02X\t%s\t%s\n",
+ fxo_modes[i].name, reg16, reg26, reg30, reg31, ring_osc, ring_x);
+ }
+ return 0;
+}