1How to enable early printk
2
3Early printk can only be enabled if debug=y. You may want to enable it if
4you are debbuging code that executes before the console is initialized.
5
6Note that selecting this option will limit Xen to a single UART definition.
7Attempting to boot Xen image on a different platform *will not work*, so this
8option should not be enable for Xens that are intended to be portable.
9
10CONFIG_EARLY_PRINTK=<INC>,<BASE_ADDRESS>,<OTHER_OPTIONS>
11
12<INC> and <BASE_ADDRESS> are mandatory arguments:
13
14  - <INC> is the name of the driver, see xen/arch/arm/arm{32,64}/debug-*.inc
15    (where <INC> corresponds to the wildcarded *).
16  - <BASE_ADDRESS> is the base physical address of the UART to use
17
18<OTHER_OPTIONS> varies depending on <INC>:
19
20  - 8250,<BASE_ADDRESS>,<REG_SHIFT>
21    - <REG_SHIFT> is, optionally, the left-shift to apply to the
22      register offsets within the uart.
23  - pl011,<BASE_ADDRESS>,<BAUD_RATE>
24    - <BAUD_RATE> is, optionally a baud rate which should be used to
25      configure the UART at start of day.
26
27      If <BAUD_RATE> is not given then the code will not try to
28      initialize the UART, so that bootloader or firmware settings can
29     be used for maximum compatibility.
30  - For all other uarts there are no additional options.
31
32As a convenience it is also possible to select from a list of
33predefined configurations using CONFIG_EARLY_PRINTK=mach where mach is
34the name of the machine:
35
36  - brcm: printk with 8250 on Broadcom 7445D0 boards with A15 processors.
37  - dra7: printk with 8250 on DRA7 platform
38  - exynos5250: printk with the second UART
39  - fastmodel: printk on ARM Fastmodel software emulators
40  - hikey960: printk with pl011 with Hikey 960
41  - juno: printk with pl011 on Juno platform
42  - lager: printk with SCIF0 on Renesas R-Car H2 processors
43  - midway: printk with the pl011 on Calxeda Midway processors
44  - omap5432: printk with UART3 on TI OMAP5432 processors
45  - rcar3: printk with SCIF2 on Renesas R-Car Gen3 processors
46  - seattle: printk with pl011 for AMD Seattle processor
47  - sun6i: printk with 8250 on Allwinner A31 processors
48  - sun7i: printk with 8250 on Allwinner A20 processors
49  - thunderx: printk with pl011 for Cavium ThunderX processor
50  - vexpress: printk with pl011 for versatile express
51  - xgene-mcdivitt: printk with 820 on Xgene mcdivitt platform
52  - xgene-storm: printk with 820 on Xgene storm platform
53  - zynqmp: printk with Cadence UART for Xilinx ZynqMP SoCs
54
55These settings are is hardcoded in xen/arch/arm/Rules.mk,
56see there when adding support for new machines.
57
58By default early printk is disabled.
59