Lines Matching +full:- +full:uart
1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Copyright (C) 2011-2012 NVIDIA CORPORATION. All Rights Reserved.
12 * Portions based on mach-omap2's debug-macro.S
13 * Copyright (C) 1994-1999 Russell King
40 * Must be section-aligned since a section mapping is used early on.
41 * Must not overlap with regions in mach-tegra/io.c:tegra_io_desc[].
45 #define checkuart(rp, rv, lhu, bit, uart) \ argument
50 /* Test UART's reset bit */ \
52 /* If set, can't use UART; jump to save no UART */ \
58 /* Test UART's clock enable bit */ \
60 /* If clear, can't use UART; jump to save no UART */ \
62 /* Passed all tests, load address of UART registers */ \
63 ldr rp, =TEGRA_UART##uart##_BASE ; \
64 /* Jump to save UART address */ \
85 cmp \rv, #2 @ 2 and 3 mean DCC, UART
89 11: lsr \rv, \rp, #15 @ 17:15 are UART ID
91 cmp \rv, #0 @ UART 0?
93 cmp \rv, #1 @ UART 1?
95 cmp \rv, #2 @ UART 2?
97 cmp \rv, #3 @ UART 3?
99 cmp \rv, #4 @ UART 4?
106 /* Check UART A validity */
112 /* Check UART B validity */
118 /* Check UART C validity */
124 /* Check UART D validity */
130 /* Check UART E validity */
135 /* No valid UART found */
139 /* Record whichever UART we chose */
141 cmp \rp, #0 @ Valid UART address?
157 * In the kernel proper, this data is located in arch/arm/mach-tegra/tegra.c.
159 * want a single copy of the data. In particular, the UART probing code above
163 * to re-run the probing again later.
171 /* Debug UART initialization required */
173 /* Debug UART physical address */
175 /* Debug UART virtual address */
182 /* Load previously selected UART address */
188 * Code below is swiped from <asm/hardware/debug-8250.S>, but add an extra
189 * check to make sure that the UART address is actually valid.