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> |
||
|---|---|---|
| .. | ||
| arch | ||
| console | ||
| cpu | ||
| device | ||
| drivers | ||
| ec | ||
| include | ||
| lib | ||
| mainboard | ||
| northbridge | ||
| soc | ||
| southbridge | ||
| superio | ||
| vendorcode | ||
| Kconfig | ||