From e1c4bac4a1a72da465584b001c03374106f9f3df Mon Sep 17 00:00:00 2001 From: Brandon Perez Date: Mon, 20 Jul 2015 19:08:16 -0400 Subject: [PATCH 6/6] This commit fixes a conflict in Xen with the IRQ numbers. Since the UART device defaults to SPI line 72, we added in the default-mapping property into its device tree entry to inform Xen of its true interrupt number. However, another device, omap3_dwc_1, has one of its interrupts on crossbar line 72. Thus, Xen interrupts this as a conflict between two IRQs, leading to an aborted boot. To fix this issue, we changed the interrupt parent of omap3_dwc_1 to the crossbar_mpu device, and updated that device tree node to be a proper interrupt controller. --- arch/arm/boot/dts/dra7.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index 4692bb5..e0fd64e 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi @@ -1516,6 +1516,7 @@ ti,hwmods = "usb_otg_ss1"; reg = <0x48880000 0x10000>; interrupts = ; + interrupt-parent = <&crossbar_mpu>; #address-cells = <1>; #size-cells = <1>; utmi-mode = <2>; @@ -1529,6 +1530,7 @@ interrupt-names = "peripheral", "host", "otg"; + interrupt-parent = <&crossbar_mpu>; phys = <&usb2_phy1>, <&usb3_phy1>; phy-names = "usb2-phy", "usb3-phy"; tx-fifo-resize; @@ -1627,6 +1629,8 @@ crossbar_mpu: crossbar@4a020000 { compatible = "ti,irq-crossbar"; + interrupt-controller; + #interrupt-cells = <3>; reg = <0x4a002a48 0x130>; ti,max-irqs = <160>; ti,max-crossbar-sources = ; -- 1.7.9.5