FreeCalypso > hg > fc-magnetite
annotate src/cs/drivers/drv_core/armio/armio.c @ 685:3fb7384e820d
tpudrv12.h: FCDEV3B goes back to being itself
A while back we had the idea of a FreeCalypso modem family whereby our
current fcdev3b target would some day morph into fcmodem, with multiple
FC modem family products, potentially either triband or quadband, being
firmware-compatible with each other and with our original FCDEV3B. But
in light of the discovery of Tango modules that earlier idea is now being
withdrawn: instead the already existing Tango hw is being adopted into
our FreeCalypso family.
Tango cannot be firmware-compatible with triband OM/FCDEV3B targets
because the original quadband RFFE on Tango modules is wired in TI's
original Leonardo arrangement. Because this Leonardo/Tango way is now
becoming the official FreeCalypso way of driving quadband RFFEs thanks
to the adoption of Tango into our FC family, our earlier idea of
extending FIC's triband RFFE control signals with TSPACT5 no longer makes
much sense - we will probably never produce any new hardware with that
once-proposed arrangement. Therefore, that triband-or-quadband FCFAM
provision is being removed from the code base, and FCDEV3B goes back to
being treated the same way as CONFIG_TARGET_GTAMODEM for RFFE control
purposes.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 24 Sep 2020 21:03:08 +0000 |
| parents | 140a0d24a64c |
| children |
| rev | line source |
|---|---|
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * ARMIO.C |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * Control diagnostic bits |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * Reference : GCS207 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 #include "l1sw.cfg" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 #include "swconfig.cfg" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #ifdef BLUETOOTH_INCLUDED |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #include "btemobile.cfg" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #endif |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #if (OP_L1_STANDALONE == 1) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 #include "l1_macro.h" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #include "l1_confg.h" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #endif |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #include "board.cfg" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #include "chipset.cfg" |
|
602
92dbfa906f66
fc-target.cfg config header renamed to more sensible fc-target.h
Mychaela Falconia <falcon@freecalypso.org>
parents:
600
diff
changeset
|
23 #include "fc-target.h" |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #if (OP_L1_STANDALONE == 0) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "main/sys_types.h" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #else |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "sys_types.h" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #endif |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #include "memif/mem.h" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #include "inth/iq.h" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #include "armio/armio.h" |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "abb/abb.h" // for AI_Power function : to be removed, use ABB_Power_Off in abb.c file instead !!! |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
|
681
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
38 #ifdef CONFIG_TANGO_MODEM |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
39 #include "ffs/ffs_api.h" |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
40 |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
41 SYS_UWORD8 AI_Tango_pinmux[4]; |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
42 #endif |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
43 |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 #if (CHIPSET != 12) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 * AI_EnableBit |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 * Enable ARMIO input/output bit (see CLKM module specification) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 void AI_EnableBit(int bit) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 *((volatile SYS_UWORD16 *) CLKM_IO_CNTL) |= (1<<bit); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 * AI_DisableBit |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 * Disable ARMIO input/output bit (see CLKM module specification) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 void AI_DisableBit(int bit) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 *((volatile SYS_UWORD16 *) CLKM_IO_CNTL) &= ~(1<<bit); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 #endif /* CHIPSET != 12 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 * AI_SetBit |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 * Switch-on one bit |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 void AI_SetBit(int bit) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 *((volatile SYS_UWORD16 *) ARMIO_OUT) |= (1<<bit); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 * AI_ResetBit |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 * Switch-off one bit |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 void AI_ResetBit(int bit) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 *((volatile SYS_UWORD16 *) ARMIO_OUT) &= ~(1<<bit); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 * AI_ConfigBitAsOutput |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 * Set this bit as an output |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 void AI_ConfigBitAsOutput(int bit) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) &= ~(1<<bit); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 * AI_ConfigBitAsInput |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 * Set this bit as an input |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 void AI_ConfigBitAsInput(int bit) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) |= (1<<bit); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 * AI_ReadBit |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 * Read value in register |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 SYS_BOOL AI_ReadBit(int bit) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 if ((*((volatile SYS_UWORD16 *) ARMIO_IN)) & (1<<bit)) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 return (1); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 else |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 return (0); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 * AI_Power |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 * Switch-on or off the board |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 * Parameters : SYS_UWORD8 power: 1 to power-on (maintain power) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 * 0 to power-off |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 #if (OP_L1_STANDALONE == 0) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 void AI_Power(SYS_UWORD8 power) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 if (power == 0) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 ABB_Power_Off(); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 #endif |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 * AI_ResetIoConfig |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 * Reset all default IO configurations |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 void AI_ResetIoConfig(void) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 { |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
148 *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) = 0xFFFF; // all bits are inputs |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
149 #if (CHIPSET != 12) |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
150 *((volatile SYS_UWORD16 *) CLKM_IO_CNTL) = 0; // default config |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 #endif /* CHIPSET != 12 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 * AI_ClockEnable |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 * Enable ARMIO clock module |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 void AI_ClockEnable(void) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 *((volatile SYS_UWORD16 *) ARMIO_CNTL_REG) |= ARMIO_CLOCKEN; // set to 1 bit 5 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 * AI_InitIOConfig |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 * Configure all GPIOs at initialization in order to optimize the power consumption |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 * of the C-Sample : |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 * - select IOs 8,9,10,11,12 and 13 on the pins instead of MCSI and MCUEN signals. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 * - configure these IOs in output high. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 * - configure the IOs 0 (Vibrator LED) and 1 (LCD_A0) in output low. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 void AI_InitIOConfig(void) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 // reset the IOs config |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 AI_ResetIoConfig(); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 // CLKM_IO_CNTL register configuration : |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 // select IOs 6,8,9,10,11,12 and 13 on the pins instead of MCSI and MCUEN signals. |
|
83
cff89030b634
armio.c: drive some more unused pins as outputs
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
183 AI_EnableBit(0); /* FreeCalypso addition */ |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 AI_EnableBit(2); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 AI_EnableBit(4); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
187 #ifdef CONFIG_TARGET_PIRELLI |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
188 AI_EnableBit(1); |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
189 AI_EnableBit(3); |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
190 #endif |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
191 |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 /* Bits 5,6,7,8 are used to output I/O 9,10,11,12 or MCSI pins */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 /* If Bluetooth, IO should be disabled, outputting MCSI used for Bluetooth voice */ |
|
242
a6360ee05c47
armio.c: enable MCSI pin multiplexing on FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
194 /* |
|
a6360ee05c47
armio.c: enable MCSI pin multiplexing on FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
195 * FreeCalypso change: we don't have BT, our new criterion is |
|
a6360ee05c47
armio.c: enable MCSI pin multiplexing on FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
196 * whether or not a given board is wired for MCSI. |
|
a6360ee05c47
armio.c: enable MCSI pin multiplexing on FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
197 */ |
|
631
597869e59805
config: introduced new CONFIG_MCSI_MODEM preprocessor symbol
Mychaela Falconia <falcon@freecalypso.org>
parents:
630
diff
changeset
|
198 #if defined(CONFIG_MCSI_MODEM) || defined(CONFIG_TARGET_PIRELLI) |
|
81
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
199 AI_DisableBit(5); |
|
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
200 AI_DisableBit(6); |
|
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
201 AI_DisableBit(7); |
|
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
202 AI_DisableBit(8); |
|
82
e3768114db59
armio.c: 2nd cleaning: removed some (CHIPSET != 12) noise
Mychaela Falconia <falcon@freecalypso.org>
parents:
81
diff
changeset
|
203 #else |
|
81
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
204 AI_EnableBit(5); |
|
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
205 AI_EnableBit(6); |
|
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
206 AI_EnableBit(7); |
|
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
207 AI_EnableBit(8); |
|
8e5096429fd3
armio.c: first cleaning step
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
208 #endif |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 AI_EnableBit(9); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 // ARMIO_OUT register configuration : |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 // set IOs 8,9,10,11,12 and 13 as high |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 // set IOs 0 to 7 as low |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
215 |
|
534
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
216 #ifdef CONFIG_TARGET_C11X |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
217 /* C11x GPIO configuration mimics what the original fw sets */ |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
218 |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
219 /* GPIO out all zeros */ |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
220 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x0000; |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
221 |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
222 /* setting of GPIOs as outputs: register setting from the original fw */ |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
223 *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) = 0x2209; |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
224 |
|
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
225 #elif defined(CONFIG_TARGET_C139) |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
226 /* C139 GPIO configuration mimics what the original fw sets */ |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
227 |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
228 /* GPIO out all zeros - the LCD backlight is OFF */ |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
229 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x0000; |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
230 |
|
534
6c96725718c3
armio.c: C11x GPIO setup properly separated from C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
533
diff
changeset
|
231 /* setting of GPIOs as outputs: register setting from the original fw */ |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
232 *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) = 0x2A09; |
|
533
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
233 |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
234 #elif defined(CONFIG_TARGET_C155) |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
235 /* C155 GPIO config based on the available schematics */ |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
236 |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
237 /* GPIO out all zeros - the LCD backlight is OFF */ |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
238 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x0000; |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
239 |
|
533
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
240 AI_ConfigBitAsOutput(1); /* LCD backlight control */ |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
241 AI_ConfigBitAsOutput(2); /* headset jack switch */ |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
242 AI_ConfigBitAsOutput(3); /* LCDA0 (?) */ |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
243 AI_ConfigBitAsOutput(8); /* MUSIC_A0 */ |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
244 AI_ConfigBitAsOutput(12); /* MUSIC_ON */ |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
245 |
|
588
f2e752052db5
beginning of SE J100 target support
Mychaela Falconia <falcon@freecalypso.org>
parents:
534
diff
changeset
|
246 #elif defined(CONFIG_TARGET_J100) |
|
589
9b81b68e8e64
armio.c: SE J100 GPIO config changed to new knowledge from disassembly
Mychaela Falconia <falcon@freecalypso.org>
parents:
588
diff
changeset
|
247 /* |
|
9b81b68e8e64
armio.c: SE J100 GPIO config changed to new knowledge from disassembly
Mychaela Falconia <falcon@freecalypso.org>
parents:
588
diff
changeset
|
248 * GPIO config on this target is based on the disassembly of |
|
9b81b68e8e64
armio.c: SE J100 GPIO config changed to new knowledge from disassembly
Mychaela Falconia <falcon@freecalypso.org>
parents:
588
diff
changeset
|
249 * Init_Target() and AI_InitIOConfig() functions in the official fw. |
|
9b81b68e8e64
armio.c: SE J100 GPIO config changed to new knowledge from disassembly
Mychaela Falconia <falcon@freecalypso.org>
parents:
588
diff
changeset
|
250 */ |
|
588
f2e752052db5
beginning of SE J100 target support
Mychaela Falconia <falcon@freecalypso.org>
parents:
534
diff
changeset
|
251 |
|
f2e752052db5
beginning of SE J100 target support
Mychaela Falconia <falcon@freecalypso.org>
parents:
534
diff
changeset
|
252 /* GPIO out all zeros - the LCD backlight is OFF */ |
|
f2e752052db5
beginning of SE J100 target support
Mychaela Falconia <falcon@freecalypso.org>
parents:
534
diff
changeset
|
253 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x0000; |
|
f2e752052db5
beginning of SE J100 target support
Mychaela Falconia <falcon@freecalypso.org>
parents:
534
diff
changeset
|
254 |
|
589
9b81b68e8e64
armio.c: SE J100 GPIO config changed to new knowledge from disassembly
Mychaela Falconia <falcon@freecalypso.org>
parents:
588
diff
changeset
|
255 /* setting of GPIOs as outputs: register setting from the original fw */ |
|
9b81b68e8e64
armio.c: SE J100 GPIO config changed to new knowledge from disassembly
Mychaela Falconia <falcon@freecalypso.org>
parents:
588
diff
changeset
|
256 *((volatile SYS_UWORD16 *) ARMIO_IO_CNTL) = 0x2A59; |
|
588
f2e752052db5
beginning of SE J100 target support
Mychaela Falconia <falcon@freecalypso.org>
parents:
534
diff
changeset
|
257 |
|
533
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
258 #elif defined(CONFIG_TARGET_PIRELLI) |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
259 |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
260 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x0000; |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
261 |
|
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
262 AI_ConfigBitAsOutput(1); |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
263 AI_ConfigBitAsOutput(4); |
|
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
264 AI_ConfigBitAsOutput(7); |
|
533
09afc37e8069
armio.c: added support for C155 target
Mychaela Falconia <falcon@freecalypso.org>
parents:
532
diff
changeset
|
265 |
|
84
42d766231c46
armio.c: support for C139 and Pirelli targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
83
diff
changeset
|
266 #else /* classic TI/Openmoko/FreeCalypso targets */ |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 // set IOs 1 and 8 to 13 as high |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 // set IOs 0 and 2 to 7 as low |
|
409
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
269 // On D-Sample GPIO 1 must be set to high to enable the audio amplifier, |
|
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
270 // but on Openmoko's modem it is the interrupt to the AP. |
|
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
271 // On the FCDEV3B it also controls the audio amplifier. |
|
610
0cbe7438f974
armio.c: GPIO config for GTM900 and long-standing GPIO 1 fix
Mychaela Falconia <falcon@freecalypso.org>
parents:
602
diff
changeset
|
272 // On the GTM900 GPIOs 0 and 1 are RI and DSR outputs, respectively. |
|
0cbe7438f974
armio.c: GPIO config for GTM900 and long-standing GPIO 1 fix
Mychaela Falconia <falcon@freecalypso.org>
parents:
602
diff
changeset
|
273 // For targets other than GTM900, we enable the audio amplifier |
|
0cbe7438f974
armio.c: GPIO config for GTM900 and long-standing GPIO 1 fix
Mychaela Falconia <falcon@freecalypso.org>
parents:
602
diff
changeset
|
274 // if we are in an MMI!=0 build - for ACI builds use the AT@SPKR command. |
|
0cbe7438f974
armio.c: GPIO config for GTM900 and long-standing GPIO 1 fix
Mychaela Falconia <falcon@freecalypso.org>
parents:
602
diff
changeset
|
275 #ifdef CONFIG_TARGET_GTM900 |
|
680
ee3ac8c617cb
armio.c: set GPIO2 output high initially
Mychaela Falconia <falcon@freecalypso.org>
parents:
677
diff
changeset
|
276 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x3F05; |
|
632
d968a3216ba0
new tangomdm build target
Mychaela Falconia <falcon@freecalypso.org>
parents:
631
diff
changeset
|
277 #elif (MMI != 0) || defined(CONFIG_GPIO1_HIGH) |
|
680
ee3ac8c617cb
armio.c: set GPIO2 output high initially
Mychaela Falconia <falcon@freecalypso.org>
parents:
677
diff
changeset
|
278 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x3F06; |
|
610
0cbe7438f974
armio.c: GPIO config for GTM900 and long-standing GPIO 1 fix
Mychaela Falconia <falcon@freecalypso.org>
parents:
602
diff
changeset
|
279 #else |
|
680
ee3ac8c617cb
armio.c: set GPIO2 output high initially
Mychaela Falconia <falcon@freecalypso.org>
parents:
677
diff
changeset
|
280 *((volatile SYS_UWORD16 *) ARMIO_OUT) = 0x3F04; |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 #endif |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 // ARMIO_CNTL_REG register configuration : |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 // set IOs 1,2,5,7,9,14 and 15 as ouputs. |
|
677
91d9f8506420
GPIO046 dummy outputs on FCDEV3B, GTA0x and Tango
Mychaela Falconia <falcon@freecalypso.org>
parents:
637
diff
changeset
|
285 // all others are FreeCalypso additions |
|
91d9f8506420
GPIO046 dummy outputs on FCDEV3B, GTA0x and Tango
Mychaela Falconia <falcon@freecalypso.org>
parents:
637
diff
changeset
|
286 #if defined(CONFIG_GPIO046_OUTPUTS) || defined(CONFIG_TARGET_GTM900) |
|
532
5c780d080afc
armio.c GPIO directions for classic targets: more explicit
Mychaela Falconia <falcon@freecalypso.org>
parents:
409
diff
changeset
|
287 AI_ConfigBitAsOutput(0); |
|
409
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
288 #endif |
|
681
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
289 #ifndef CONFIG_TANGO_MODEM /* we do dynamic config on Tango instead */ |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
290 AI_ConfigBitAsOutput(1); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
291 #ifndef CONFIG_TARGET_LEONARDO /* GPIO 2 is an input on Leonardo! */ |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
292 AI_ConfigBitAsOutput(2); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
293 #endif |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
294 #ifdef CONFIG_GPIO3_OUTPUT |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
295 AI_ConfigBitAsOutput(3); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
296 #endif |
|
285
504c9dcbffb2
GTA0x target: GPIOs 3, 10, 11 and 12 are unconnected, so drive them as outputs
Mychaela Falconia <falcon@freecalypso.org>
parents:
242
diff
changeset
|
297 #endif |
|
677
91d9f8506420
GPIO046 dummy outputs on FCDEV3B, GTA0x and Tango
Mychaela Falconia <falcon@freecalypso.org>
parents:
637
diff
changeset
|
298 #ifdef CONFIG_GPIO046_OUTPUTS |
|
532
5c780d080afc
armio.c GPIO directions for classic targets: more explicit
Mychaela Falconia <falcon@freecalypso.org>
parents:
409
diff
changeset
|
299 AI_ConfigBitAsOutput(4); |
|
409
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
300 #endif |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 AI_ConfigBitAsOutput(5); |
|
677
91d9f8506420
GPIO046 dummy outputs on FCDEV3B, GTA0x and Tango
Mychaela Falconia <falcon@freecalypso.org>
parents:
637
diff
changeset
|
302 #ifdef CONFIG_GPIO046_OUTPUTS |
|
532
5c780d080afc
armio.c GPIO directions for classic targets: more explicit
Mychaela Falconia <falcon@freecalypso.org>
parents:
409
diff
changeset
|
303 AI_ConfigBitAsOutput(6); |
|
409
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
304 #endif |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 AI_ConfigBitAsOutput(7); |
|
629
3231dd9b38c1
armio.c: make GPIOs 8 & 13 outputs driving 1 on all "classic" targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
610
diff
changeset
|
306 #if 1 /* FreeCalypso addition for all targets */ |
|
532
5c780d080afc
armio.c GPIO directions for classic targets: more explicit
Mychaela Falconia <falcon@freecalypso.org>
parents:
409
diff
changeset
|
307 AI_ConfigBitAsOutput(8); |
|
409
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
308 #endif |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 AI_ConfigBitAsOutput(9); |
|
637
31d2824683cb
armio.c & targets/gtamodem.h: GPIO3 and MCSI dummy outputs generalized
Mychaela Falconia <falcon@freecalypso.org>
parents:
632
diff
changeset
|
310 #ifdef CONFIG_MCSI_UNUSED |
|
285
504c9dcbffb2
GTA0x target: GPIOs 3, 10, 11 and 12 are unconnected, so drive them as outputs
Mychaela Falconia <falcon@freecalypso.org>
parents:
242
diff
changeset
|
311 AI_ConfigBitAsOutput(10); |
|
504c9dcbffb2
GTA0x target: GPIOs 3, 10, 11 and 12 are unconnected, so drive them as outputs
Mychaela Falconia <falcon@freecalypso.org>
parents:
242
diff
changeset
|
312 AI_ConfigBitAsOutput(11); |
|
504c9dcbffb2
GTA0x target: GPIOs 3, 10, 11 and 12 are unconnected, so drive them as outputs
Mychaela Falconia <falcon@freecalypso.org>
parents:
242
diff
changeset
|
313 AI_ConfigBitAsOutput(12); |
|
504c9dcbffb2
GTA0x target: GPIOs 3, 10, 11 and 12 are unconnected, so drive them as outputs
Mychaela Falconia <falcon@freecalypso.org>
parents:
242
diff
changeset
|
314 #endif |
|
629
3231dd9b38c1
armio.c: make GPIOs 8 & 13 outputs driving 1 on all "classic" targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
610
diff
changeset
|
315 #if 1 /* FreeCalypso addition for all targets */ |
|
532
5c780d080afc
armio.c GPIO directions for classic targets: more explicit
Mychaela Falconia <falcon@freecalypso.org>
parents:
409
diff
changeset
|
316 AI_ConfigBitAsOutput(13); |
|
409
6c3f68021c53
armio.c: GPIO directions restored to TI's original on the D-Sample
Mychaela Falconia <falcon@freecalypso.org>
parents:
377
diff
changeset
|
317 #endif |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 AI_ConfigBitAsOutput(14); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 AI_ConfigBitAsOutput(15); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 #endif |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 |
|
681
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
323 #ifdef CONFIG_TANGO_MODEM |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
324 void AI_Init_Tango_pinmux(void) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
325 { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
326 ffs_file_read("/etc/tango-pinmux", AI_Tango_pinmux, 4); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
327 /* apply this config */ |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
328 if (AI_Tango_pinmux[0] & 0x80) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
329 if (AI_Tango_pinmux[0] & 1) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
330 AI_SetBit(1); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
331 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
332 AI_ResetBit(1); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
333 AI_ConfigBitAsOutput(1); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
334 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
335 /* GPIO2 config */ |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
336 if (AI_Tango_pinmux[1] & 0x02) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
337 if (AI_Tango_pinmux[1] & 0x01) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
338 AI_SetBit(2); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
339 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
340 AI_ResetBit(2); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
341 AI_ConfigBitAsOutput(2); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
342 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
343 /* GPIO3 config */ |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
344 if (AI_Tango_pinmux[1] & 0x20) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
345 if (AI_Tango_pinmux[1] & 0x10) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
346 AI_SetBit(3); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
347 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
348 AI_ResetBit(3); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
349 AI_ConfigBitAsOutput(3); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
350 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
351 /* RESET_OUT/IO7 config */ |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
352 if (AI_Tango_pinmux[2] & 0x08) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
353 AI_EnableBit(3); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
354 if (AI_Tango_pinmux[2] & 0x02) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
355 if (AI_Tango_pinmux[2] & 0x01) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
356 AI_SetBit(7); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
357 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
358 AI_ResetBit(7); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
359 } else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
360 AI_ConfigBitAsInput(7); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
361 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
362 /* MCSI/GPIO config */ |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
363 if (AI_Tango_pinmux[2] & 0x80) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
364 if (AI_Tango_pinmux[3] & 0x10) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
365 if (AI_Tango_pinmux[3] & 0x01) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
366 AI_SetBit(9); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
367 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
368 AI_ResetBit(9); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
369 } else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
370 AI_ConfigBitAsInput(9); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
371 AI_EnableBit(5); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
372 AI_EnableBit(6); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
373 AI_EnableBit(7); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
374 AI_EnableBit(8); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
375 if (AI_Tango_pinmux[3] & 0x20) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
376 if (AI_Tango_pinmux[3] & 0x02) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
377 AI_SetBit(10); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
378 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
379 AI_ResetBit(10); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
380 AI_ConfigBitAsOutput(10); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
381 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
382 if (AI_Tango_pinmux[3] & 0x40) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
383 if (AI_Tango_pinmux[3] & 0x04) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
384 AI_SetBit(11); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
385 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
386 AI_ResetBit(11); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
387 AI_ConfigBitAsOutput(11); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
388 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
389 if (AI_Tango_pinmux[3] & 0x80) { |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
390 if (AI_Tango_pinmux[3] & 0x08) |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
391 AI_SetBit(12); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
392 else |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
393 AI_ResetBit(12); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
394 AI_ConfigBitAsOutput(12); |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
395 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
396 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
397 } |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
398 #endif |
|
140a0d24a64c
Tango pinmux implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
680
diff
changeset
|
399 |
|
0
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401 * AI_SelectIOForIT |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403 * Select which IO will be used to generate an interrupt. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 * 'Edge' specifies if interrup must be detected on falling or rising edge. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406 * Warning: parameters are not checked. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409 void AI_SelectIOForIT (SYS_UWORD16 Pin, SYS_UWORD16 Edge) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 #if (CHIPSET == 12) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 * Update INTERRUPT_LEVEL_REG with Edge configuration on Pin selection |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415 GPIO_INTERRUPT_LEVEL_REG = (Edge & 0x0001) << Pin; |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418 * Update INTERRUPT_MASK_REG to enable interrupt generation on Pin selection |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 GPIO_INTERRUPT_MASK_REG = 1 << Pin; |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421 #else |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423 * Bit SET_GPIO_EVENT_MODE (bit 0) is set to enable the GPIO event mode. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 *((volatile SYS_UWORD16 *) ARMIO_GPIO_EVENT_MODE) = (Pin << 1) + (Edge << 5) + 1; |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427 #endif |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 #if (CHIPSET != 12) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432 * AI_CheckITSource |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
433 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
434 * Check if the interrupt specified by 'Source' is active or not. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
435 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
436 * Output: 0: IT is not active |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
437 * 1: IT is active |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
438 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
439 * Warning: parameters are not checked. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
440 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
441 * Warning: If the keypad and GPIO interrupts may occur the GPIO interrupt |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
442 * must be checked first because the GPIO status bit is reset when |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
443 * the register is read. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
444 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
445 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
446 int AI_CheckITSource (SYS_UWORD16 Source) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
447 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
448 return (*((volatile SYS_UWORD16 *) ARMIO_KBD_GPIO_INT) & Source ? 1 : 0); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
449 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
450 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
451 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
452 * AI_UnmaskIT |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
453 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
454 * Unmask the IT specified by 'Source' (keyboard or GPIO). |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
455 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
456 * Warning: parameters are not checked. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
457 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
458 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
459 void AI_UnmaskIT (SYS_UWORD16 Source) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
460 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
461 *((volatile SYS_UWORD16 *) ARMIO_KBD_GPIO_MASKIT) &= ~Source; |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
462 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
463 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
464 /* |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
465 * AI_MaskIT |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
466 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
467 * Mask the IT specified by 'Source' (keyboard or GPIO). |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
468 * |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
469 * Warning: parameters are not checked. |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
470 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
471 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
472 void AI_MaskIT (SYS_UWORD16 Source) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
473 { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
474 *((volatile SYS_UWORD16 *) ARMIO_KBD_GPIO_MASKIT) |= Source; |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
475 } |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
476 #endif /* CHIPSET != 12 */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
477 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
478 #if (CHIPSET == 12) |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
479 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
480 void AI_MaskIT(SYS_UWORD16 d_io_number) { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
481 GPIO_INTERRUPT_MASK_REG |= (1 << d_io_number); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
482 } /* f_gpio_mask_it() */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
483 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
484 void AI_UnmaskIT(SYS_UWORD16 d_io_number) { |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
485 GPIO_INTERRUPT_MASK_REG &= ~(1 << d_io_number); |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
486 } /* f_gpio_unmask_it() */ |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
487 |
|
945cf7f506b2
src/cs: chipsetsw import from tcs211-fcmodem
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
488 #endif |
