aboutsummaryrefslogtreecommitdiffstats
path: root/docs/misc/arm
Commit message (Collapse)AuthorAgeFilesLines
* ARM: parse separate DT properties for different commandlinesAndre Przywara2013-09-171-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we use the chosen/bootargs property as the Xen commandline and rely on xen,dom0-bootargs for Dom0. However this brings issues with bootloaders, which usually build bootargs by bootscripts for a Linux kernel - and not for the entirely different Xen hypervisor. Introduce a new possible device tree property "xen,xen-bootargs" explicitly for the Xen hypervisor and make the selection of which to use more fine grained: - If xen,xen-bootargs is present, it will be used for Xen. - If xen,dom0-bootargs is present, it will be used for Dom0. - If xen,xen-bootargs is _not_ present, but xen,dom0-bootargs is, bootargs will be used for Xen. Like the current situation. - If no Xen specific properties are present, bootargs is for Dom0. - If xen,xen-bootargs is present, but xen,dom0-bootargs is missing, bootargs will be used for Dom0. The aim is to allow common bootscripts to boot both Xen and native Linux with the same device tree blob. If needed, one could hard-code the Xen commandline into the DTB, leaving bootargs for Dom0 to be set by the (non Xen-aware) bootloader. I will send out a appropriate u-boot patch, which writes the content of the "xen_bootargs" environment variable into the xen,xen-bootargs dtb property. Signed-off-by: Andre Przywara <andre.przywara@linaro.org> Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* xen: arm: describe Xen boot protocol requirementsIan Campbell2013-09-131-0/+30
| | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
* xen/arm: add 8250 compatible UART support for early_printkChen Baozi2013-08-221-0/+3
| | | | | | | Both OMAP5 and sun6i/sun7i SoCs share this UART driver for early_printk. Signed-off-by: Chen Baozi <baozich@gmail.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* arm/early-printk: add Calxeda Midway UART supportAndre Przywara2013-05-301-0/+1
| | | | | | | | | | | | | With the help of the previous patches add a stanza to xen/arch/arm/Rules.mk to specify the UART configuration of the Calxeda Midway machine. The information has been taken from the Linux kernel's .dts file. This can be enabled by adding "CONFIG_EARLY_PRINTK=midway" to Config.mk. Signed-off-by: Andre Przywara <andre.przywara@calxeda.com> Reviewed-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* arm/early-printk: add support for ARM FastmodelAndre Przywara2013-05-301-0/+1
| | | | | | | | | | | Though the ARM Fastmodel software emulator mimics a Versatile Express board, the boot process is different compared to the real hardware, so the early printk differs slightly. Create a new early-printk target to model this correctly. Signed-off-by: Andre Przywara <andre.przywara@calxeda.com> Reviewed-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* arm/early-printk: move UART base address to Rules.mkAndre Przywara2013-05-301-1/+1
| | | | | | | | | | | | The UART memory mapped base address is currently hardcoded in the early-printk UART driver, which denies the driver to be used by two machines with a different mapping. Move this definition out to xen/arch/arm/Rules.mk, allowing easier user access and later sharing of the driver. Signed-off-by: Andre Przywara <andre.przywara@calxeda.com> Reviewed-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* arm/early-printk: allow skipping of UART initAndre Przywara2013-05-301-0/+4
| | | | | | | | | | | | | While it seems obvious to initialize the UART before using it, chances are that some firmware code or the bootloader already did this. So it may actually be a good idea to skip the initialization, in fact this fixes early printk on my TC2 Versatile Express. So provide an option in xen/arch/arm/Rules.mk to only initialize the UART when needed. Signed-off-by: Andre Przywara <andre.przywara@calxeda.com> Reviewed-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* arm/early-printk: calculate baud rate divisor from user provided valueAndre Przywara2013-05-301-0/+3
| | | | | | | | | | | For early-printk the used baud rate was hardcoded in the code, using precalculated divisor values. Let the calculation of these values be done by the preprocessor and use a human readable value in xen/arch/arm/Rules.mk to drive this. Signed-off-by: Andre Przywara <andre.przywara@calxeda.com> Reviewed-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* xen/arm: Add Exynos 4210 UART support for early printkAnthony PERARD2013-05-131-0/+1
| | | | | | Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* xen/arm: Don't use pl011 UART by default for early printkJulien Grall2013-05-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | Add CONFIG_EARLY_PRINTK options in configs/arm{32,64}.mk to let the user to choose if he wants to have early output, ie before the console is initialized. This code is specific for each UART. When CONFIG_EARLY_PRINTK is enabled, Xen will only be able to run on a board with this UART. If a developper wants to add support for a new UART, he must implement the following assembly macro/define: - EALY_UART_BASE_ADDRESS: variable which contains the physical base address for the UART - early_uart_init: initialize the UART - early_uart_ready: check and wait until the UART can transmit a new character - early_uart_transmit: transmit a character For more details about the parameters of each function, see arm{32,64}/debug-pl011.inc comments. Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* xen: arm: parse modules from DT during early boot.Ian Campbell2013-03-131-0/+25
The bootloader should populate /chosen/modules/module@<N>/ for each module it wishes to pass to the hypervisor. The content of these nodes is described in docs/misc/arm/device-tree/booting.txt Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>