Skip to content

Commit

Permalink
ARM: tegra: fix DEBUG_LL combined with LPAE
Browse files Browse the repository at this point in the history
The DEBUG_LL UART address is mapped as an MMU section, hence, the
virtual address must be section-aligned. Sections are 1MB without LPAE
and 2MB with LPAE. Tegra's virtual address was only aligned to 1MB, and
hence the mapping was set up incorrectly with LPAE enabled, thus causing
a hang early during boot. Fix this by picking a different virtual address
that is aligned to 2MB.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
  • Loading branch information
Stephen Warren committed Dec 4, 2013
1 parent cdcb5a0 commit 354935a
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions arch/arm/include/debug/tegra.S
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@
#define TEGRA_APB_MISC_GP_HIDREV (TEGRA_APB_MISC_BASE + 0x804)

/*
* Must be 1MB-aligned since a 1MB mapping is used early on.
* Must be section-aligned since a section mapping is used early on.
* Must not overlap with regions in mach-tegra/io.c:tegra_io_desc[].
*/
#define UART_VIRTUAL_BASE 0xfe100000
#define UART_VIRTUAL_BASE 0xfe800000

#define checkuart(rp, rv, lhu, bit, uart) \
/* Load address of CLK_RST register */ \
Expand Down

0 comments on commit 354935a

Please sign in to comment.