From 683334b1c319590b7815c56520f47b6d4fdfbccd Mon Sep 17 00:00:00 2001 From: Brandon Perez Date: Mon, 20 Jul 2015 18:58:28 -0400 Subject: [PATCH 5/6] This commit modifies the UART device tree entry to allow the serial device to be statically mapped, even in a configuration where the kernel pseudo-dynmically maps IRQs. In general, the hypervisor will need exclusive ownership of the serial interrupt. Since the hypervisor will generally be unaware of the crossbar, the mapping of the serial device should be static. This is reflected in the "default-mapping" property of the serial device, which tells the hypervisor which IRQ line it will be mapped to by the bootloader. Also, the kernel must take care not to override this mapping, or else the serial communication will stop working. Thus, the serial device's IRQ is also added to the "irq-skip" list in the "crossbar_mpu" device, so that the pseudo-dynamic mapping of interrupts skips the serial device's interrupt line. --- arch/arm/boot/dts/dra7.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index 22c720d..4692bb5 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi @@ -386,6 +386,7 @@ reg = <0x4806a000 0x100>; interrupts = ; interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; + default-mapping = ; ti,hwmods = "uart1"; clock-frequency = <48000000>; status = "disabled"; @@ -1631,7 +1632,7 @@ ti,max-crossbar-sources = ; ti,reg-size = <2>; ti,irqs-reserved = <0 1 2 3 5 6 131 132>; - ti,irqs-skip = <10 133 139 140>; + ti,irqs-skip = <10 72 133 139 140>; ti,irqs-safe-map = <0>; }; -- 1.7.9.5