FreeCalypso > hg > freecalypso-docs
annotate Tango-pinmux @ 72:2ac10b2cde4f
DUART28-PPD-surprise article written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 19 Jul 2021 05:01:15 +0000 |
parents | bf7a0c2b2b50 |
children |
rev | line source |
---|---|
70
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 FreeCalypso Tango is a Calypso core module with the special quality of having |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 many Calypso signals brought out on the user interface connector. Out of the |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 great many Calypso signals that are brought out, the following 8 pins are |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 subject to functional multiplexing concerns: |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 GPIO1 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 GPIO2 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 GPIO3 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 RESET_OUT/GPIO7 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 MCSI_TXD/GPIO9 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 MCSI_RXD/GPIO10 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 MCSI_CLK/GPIO11 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 MCSI_FSYNCH/GPIO12 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 All 8 are capable of functioning as GPIOs, meaning that a Tango-based custom |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 application board designer can use them for whatever purpose they like, but |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 some of them can also be configured as dedicated Calypso peripheral pins, |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 particularly MCSI. Others (GPIO1-3) have software-defined conventional |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 functions based on long-standing tradition. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 The special complication that arises for our firmware with regard to these GPIO |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 and multifunction pins is that it is not our place as the firmware vendor to |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 dictate to our potential customers how they should wire these pins on their |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 boards. Instead an FC Tango customer should be able to wire up their board as |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 their application calls for, subject to constraints imposed by hardware (not by |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 firmware!), and our standard fw needs to work with every reasonable possibility |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 for user wiring of our GPIO and multifunction pins. The following practical |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 cases need to be addressed: |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 * If a customer chooses to use any of our GPIOs as an input, feeding some |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 external output to it, there needs to be a way to tell our fw to leave that GPIO |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 as an input and not switch it to an output. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 * Conversely, if a given GPIO or multifunction pin is unused or not needed in a |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 given application, the app board designer should have the freedom to either tie |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 it off or leave it unconnected. If some of our GPIO or multifunction pins are |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 left unconnected, this fact needs to be communicated to our fw so it can |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 configure them as dummy outputs, preventing floating inputs. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 * Some applications will use MCSI, while others won't. If a given application |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 does not use MCSI, the 4 pins (or any subset of them) can be used as GPIOs, |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 either inputs or outputs, or the unused pins may be left unconnected. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 * GPIO3 is traditionally defined (by conventions going back to TI) as DTR input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 - but not every application will have a sensible DTR signal to feed to this pin. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 If there is no DTR signal in a given application, the app board designer should |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 be able to either use GPIO3 for some unrelated purpose, or leave it unconnected. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 * GPIO2 is similarly defined as DCD output by the same traditional conventions. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 Because it is an output from Calypso, it can be simply ignored and left |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 unconnected if it is not needed - but a user should also be able to use the GPIO |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 for unrelated purposes. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 * There exist several historical conventional functions for GPIO1 output: |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 loudspeaker control (D-Sample, Leonardo, FCDEV3B), Openmoko's application |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 processor wake-up signal, or RI modem control output. We allow any of these |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 options, plus other arbitrary uses. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 FreeCalypso solution |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 ==================== |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 Our solution for firmware build target tangomdm (standard shipping fw for Tango |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 modems) is that our fw will look on boot for a file in FFS named |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 /etc/tango-pinmux; it will be a binary file of 4 bytes, defining pin |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 multiplexing configuration as follows: |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 Byte 0: GPIO1 config |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 The following values are defined: |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 0x00: GPIO1 is left as an input from power-up |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 0x80: GPIO1 is switched to an output, initial value 0 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 0x81: GPIO1 is switched to an output, initial value 1 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 0x82: GPIO1 is wake-up output per Openmoko GTA01/02 convention |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 0x83: GPIO1 is RI output |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 Byte 1: GPIO2 and GPIO3 config |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 Bit 7: if 1, GPIO3 is DTR input, other bits in this nibble ignored |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 if 0, GPIO3 is a "generic" GPIO (undefined function) per bits 5 and 4 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 Bit 5: if 1, GPIO3 is an output, otherwise it's an input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 Bit 4: initial output value if GPIO3 is an output |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 Bit 3: if 1, GPIO2 is DCD output, other bits in this nibble ignored |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 if 0, GPIO2 is a "generic" GPIO (undefined function) per bits 1 and 0 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 Bit 1: if 1, GPIO2 is an output, otherwise it's an input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 Bit 0: initial output value if GPIO2 is a generic (not DCD) output |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 Byte 2: Peripheral pin mux config |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 Bit 7: if 0, MCSI pins retain their default power-up functions |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 if 1, MCSI pins are switched to being GPIOs |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 Bit 3: if 0, RESET_OUT pin retains its default power-up function |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 if 1, RESET_OUT pin is switched to being GPIO7 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 Bit 1: if 1, GPIO7 is an output, otherwise it's an input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 bit 0: initial output value of GPIO7 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 Byte 3: I/O config of MCSI pins turned into GPIOs |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 This byte will be considered only if Byte 2 Bit 7 is set to 1, and will be |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 ignored otherwise. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 Bit 7: GPIO12 direction: 1 means output, 0 means input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 Bit 6: GPIO11 direction: 1 means output, 0 means input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 Bit 5: GPIO10 direction: 1 means output, 0 means input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 Bit 4: GPIO9 direction: 1 means output, 0 means input |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 Bit 3: GPIO12 initial output value |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 Bit 2: GPIO11 initial output value |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 Bit 1: GPIO10 initial output value |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 Bit 0: GPIO9 initial output value |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 If the /etc/tango-pinmux file is missing, the effect will be the same as if all |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 four bytes are equal to zero: GPIO1-3 will be functionally-undefined inputs, |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 RESET_OUT/GPIO7 will be left as RESET_OUT from power-up, and all 4 MCSI pins |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 will be likewise left in their power-up default MCSI function. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 Any GPIO that is configured as an input can be read with AT+IOR, and any GPIO |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 that is configured as a generic (not built-in function) output can be set with |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 AT+IOW. |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 |
71
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
123 Programming /etc/tango-pinmux |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
124 ============================= |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
125 |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
126 To program the pinmux config file on a Tango module running any of our official |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
127 FreeCalypso firmware versions, you will need to use FC host tools. Connect to |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
128 the RVTMUX debug trace and control interface (second UART) via rvinterf and |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
129 execute the following command in fc-fsio: |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
130 |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
131 fwrite /etc/tango-pinmux hex "xx xx xx xx" |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
132 |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
133 Replace xx placeholders inside the double quotes with the 4 hex bytes to be |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
134 programmed; the double quotes are required. |
bf7a0c2b2b50
Tango-pinmux: add programming instructions
Mychaela Falconia <falcon@freecalypso.org>
parents:
70
diff
changeset
|
135 |
70
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 Other GPIO pins |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 =============== |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 Calypso pins GPIO0, TSPDI/GPIO4, BCLKX/GPIO6, MCUEN1/GPIO8 and MCUEN2/GPIO13 |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 are not brought out externally on Tango modules, thus they don't need to be |
3365d51773c5
Tango-pinmux: brought over from FC Magnetite repository
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 considered. Our fw configures them as dummy outputs to prevent floating inputs. |