tegra124: Mux some unused pins away from UARTA, and pull up the serial RX line.
On nyan boards, the hardware flow control pins for the UART aren't used or connected to anything, but the reset pinmux settings still have them routed out some of the SOC pins. That can break input over the serial console if the pin is pulled in the wrong direction. Also, if the RX line isn't connected to anything, ie if no servo is connected, then we don't want it to float around and potentially draw power through the input pin buffering logic. We add a pull up to it so it will go somewhere in particular if otherwise unattached. This is generally not a great place to put pinmux configuration because it's specific to a particular board but this is shared by everything with a tegra124 in it. It's a good idea to have serial output as soon as possible, though, and the other serial related pinmux settings were probably put here before we really understood the complexities and flexibility of the tegra pinmux. We might want to factor out this part of the serial console config and delegate it to a hook in the mainboard specific code, or just wait until we call bootblock_mainboard_init. BUG=chrome-os-partner:24138 TEST=Built and booted on a peppy based nyan. Before this change serial input was ignored. After this change, serial input was accepted by both the firmware and the kernel. BRANCH=None Change-Id: Ie5428500aa525a600eb1ff4a81b5cc2805d5cc92 Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: https://chromium-review.googlesource.com/177637 Reviewed-by: Tom Warren <twarren@nvidia.com> Reviewed-by: Julius Werner <jwerner@chromium.org> Commit-Queue: Gabe Black <gabeblack@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org>
This commit is contained in:
parent
d7ddcf262a
commit
bd533cc109
1 changed files with 8 additions and 0 deletions
|
|
@ -38,7 +38,15 @@ void main(void)
|
|||
// Serial in, tristate_on.
|
||||
pinmux_set_config(PINMUX_KB_ROW10_INDEX, PINMUX_KB_ROW10_FUNC_UA3 |
|
||||
PINMUX_TRISTATE |
|
||||
PINMUX_PULL_UP |
|
||||
PINMUX_INPUT_ENABLE);
|
||||
// Mux some pins away from uart A.
|
||||
pinmux_set_config(PINMUX_UART2_CTS_N_INDEX,
|
||||
PINMUX_UART2_CTS_N_FUNC_UB3 |
|
||||
PINMUX_TRISTATE |
|
||||
PINMUX_INPUT_ENABLE);
|
||||
pinmux_set_config(PINMUX_UART2_RTS_N_INDEX,
|
||||
PINMUX_UART2_RTS_N_FUNC_UB3);
|
||||
|
||||
if (CONFIG_BOOTBLOCK_CONSOLE) {
|
||||
console_init();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue