annotate Tango-pinmux @ 105:72a272083f46 default tip

Linux-DTR-RTS-flaw: link to new fc-linux-patch repository
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 11 Dec 2023 19:02:01 +0000
parents bf7a0c2b2b50
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.