UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer edu30692
Observer
4,080 Views
Registered: ‎11-25-2016

Fatal exception in interrupt zcu102 GPIO PL Interrupt Petalinux

Hi,

  I am using Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit and I am newbie for using this board. I'm following this link to generate an interrupt using GPIO switches and turn off a led. The drivers works correctly and the led is heartbeating, when i check /proc/interrupts i get:

           CPU0       CPU1       CPU2       CPU3       
  1:          0          0          0          0     GICv2  29 Edge      arch_timer
  2:       1322       1433       1565        879     GICv2  30 Edge      arch_timer
 13:          0          0          0          0     GICv2 156 Level     zynqmp-dma
 14:          0          0          0          0     GICv2 157 Level     zynqmp-dma
 15:          0          0          0          0     GICv2 158 Level     zynqmp-dma
 16:          0          0          0          0     GICv2 159 Level     zynqmp-dma
 17:          0          0          0          0     GICv2 160 Level     zynqmp-dma
 18:          0          0          0          0     GICv2 161 Level     zynqmp-dma
 19:          0          0          0          0     GICv2 162 Level     zynqmp-dma
 20:          0          0          0          0     GICv2 163 Level     zynqmp-dma
 21:          0          0          0          0     GICv2 164 Level     Mali_GP_MMU, Mali_GP, Mali_PP0_MMU, Mali_PP0, Mali_PP1_MMU, Mali_PP1
 31:          0          0          0          0     GICv2  95 Level     eth0, eth0
207:        294          0          0          0     GICv2  49 Level     cdns-i2c
208:         40          0          0          0     GICv2  50 Level     cdns-i2c
209:          0          0          0          0     GICv2 150 Level     nwl_pcie:misc
210:          0          0          0          0     GICv2 148 Level     nwl_pcie:intx
211:          0          0          0          0     GICv2 147 Level     nwl_pcie:msi
212:          0          0          0          0     GICv2 146 Level     nwl_pcie:msi
213:          7          0          0          0     GICv2  47 Level     ff0f0000.spi
214:          0          0          0          0     GICv2  58 Level     ffa60000.rtc
215:          0          0          0          0     GICv2  59 Level     ffa60000.rtc
216:          0          0          0          0     GICv2 165 Level     fd0c0000.ahci
217:         93          0          0          0     GICv2  81 Level     mmc0
218:          0          0          0          0     GICv2 187 Level     arm-smmu global fault
219:         69          0          0          0     GICv2  53 Level     xuartps
223:          0          0          0          0     GICv2 154 Level     fd4c0000.dma
224:          0          0          0          0     xgpio   0 Edge      sw14
233:          0          0          0          0     GICv2  97 Level     xhci-hcd:usb1
IPI0:       987       1038        770       1561       Rescheduling interrupts
IPI1:        69         38         74         55       Function call interrupts
IPI2:         0          0          0          0       CPU stop interrupts
IPI3:         0          0          0          0       Timer broadcast interrupts
IPI4:         0          0          0          0       IRQ work interrupts

but when i switch on cpu stops and i get this error:

 

 

root@Xilinx-ZCU102-2016_1:~# [   18.111391] Unable to handle kernel paging request at virtual address b9410a80aa13043f
[   18.119243] pgd = ffffffc87ad07000
[   18.122615] [b9410a80aa13043f] *pgd=0000000000000000, *pud=0000000000000000
[   18.129559] Internal error: Oops: 96000004 [#1] SMP
[   18.134420] Modules linked in:
[   18.137460] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.0 #78
[   18.143361] Hardware name: ZynqMP ZCU102 RevB (DT)
[   18.148136] task: ffffffc00224efc0 ti: ffffffc002240000 task.ti: ffffffc002240000
[   18.155613] PC is at xgpio_irqhandler+0x2c/0x144
[   18.160202] LR is at xgpio_irqhandler+0x1c/0x144
[   18.164801] pc : [<ffffffc0003c8ee0>] lr : [<ffffffc0003c8ed0>] pstate: 600001c5
[   18.172185] sp : ffffffc002243d00
[   18.175476] x29: ffffffc002243d00 x28: 0000000000000000 
[   18.180769] x27: 0000000000000000 x26: ffffffc0022c2000 
[   18.186063] x25: ffffffc00078acf0 x24: ffffff8000015000 
[   18.191358] x23: ffffffc0003c8eb4 x22: b9410a80aa1303f7 
[   18.196653] x21: 0000000000000000 x20: 0000000000000000 
[   18.201948] x19: ffffffc002227000 x18: 0000000000000001 
[   18.207242] x17: 0000000000000006 x16: ffffffbe1dae9f68 
[   18.212537] x15: ffffffc87b08f000 x14: 0000000000000007 
[   18.217832] x13: ffffffc87b801128 x12: 0000004000000000 
[   18.223127] x11: ffffffc002246000 x10: 00000000000006e0 
[   18.228422] x9 : ffffffc002243e70 x8 : ffffffc87b400058 
[   18.233716] x7 : ffffffc87b400d88 x6 : 0000000000000002 
[   18.239011] x5 : 00000000fffffffa x4 : ffffffc87b400d89 
[   18.244306] x3 : 0000000000000000 x2 : 0000000000000000 
[   18.249601] x1 : 0000000000000020 x0 : 0000000000000000 
[   18.254895] 
[   18.256373] Process swapper/0 (pid: 0, stack limit = 0xffffffc002240020)
[   18.263060] Stack: (0xffffffc002243d00 to 0xffffffc002244000)
[   18.268790] 3d00: ffffffc002243d50 ffffffc0000d1088 ffffffc002227000 0000000000000000
[   18.276609] 3d20: 0000000000000000 ffffffc002249040 ffffff8000014010 ffffffc0000d13cc
[   18.284421] 3d40: ffffffc002243d50 ffffffc0000d107c ffffffc002243d60 ffffffc0000d13a0
[   18.292232] 3d60: ffffffc002243da0 ffffffc000080cec ffffff800001400c ffffffc002279000
[   18.300045] 3d80: ffffffc002243de0 ffffffc0000e5ed0 ffffffc87b808000 00000079000ec410
[   18.307857] 3da0: ffffffc002243f00 ffffffc000083da8 ffffffc002240000 ffffffc002246000
[   18.315668] 3dc0: ffffffc002243f00 ffffffc000084e70 0000000060000145 ffffffc002228f40
[   18.323480] 3de0: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[   18.331292] 3e00: 0000000000000000 000000001999999a 002aad4b00000000 00000000fffeecaa
[   18.339104] 3e20: 00000000fffeecab ffffffc002243e70 00000000000006e0 ffffffc002246000
[   18.346916] 3e40: 0000004000000000 ffffffc87b801128 0000000000000007 ffffffc87b08f000
[   18.354729] 3e60: ffffffbe1dae9f68 0000000000000006 0000000000000001 ffffffc002240000
[   18.362541] 3e80: ffffffc002246000 ffffffc002246ad0 ffffffc0022259c0 ffffffc002243f20
[   18.370352] 3ea0: ffffffc002228f40 ffffffc00078acf0 ffffffc0022c2000 0000000000000000
[   18.378164] 3ec0: 0000000000000000 ffffffc002243f00 ffffffc000084e6c ffffffc002243f00
[   18.385977] 3ee0: ffffffc000084e70 0000000060000145 ffffffc00078acf0 ffffffc00077c278
[   18.393789] 3f00: ffffffc002243f10 ffffffc0000ca2e0 ffffffc002243f20 ffffffc0000ca418
[   18.401600] 3f20: ffffffc002243f90 ffffffc000779080 ffffffc0022c5000 ffffffc0022c5000
[   18.409413] 3f40: ffffffc0022c5000 ffffffc002246000 ffffffc87ffa2580 ffffffc000a6fca8
[   18.417224] 3f60: 000000000231c000 000000000231f000 ffffffc0000801d8 0000000000000000
[   18.425037] 3f80: ffffffc002243f90 ffffffc000779078 ffffffc002243fa0 ffffffc000a3d94c
[   18.432848] 3fa0: 0000000000000000 0000000000780000 0000000000000000 0000000000000e12
[   18.440660] 3fc0: 0000000004080000 0000000000000000 0000000000000000 0000000000000000
[   18.448472] 3fe0: 0000000000000000 ffffffc000a6fca8 0000000000000000 0000000000000000
[   18.456281] Call trace:
[   18.458707] [<ffffffc0003c8ee0>] xgpio_irqhandler+0x2c/0x144
[   18.464353] [<ffffffc0000d1088>] generic_handle_irq+0x24/0x38
[   18.470079] [<ffffffc0000d13a0>] __handle_domain_irq+0x60/0xac
[   18.475895] [<ffffffc000080cec>] gic_handle_irq+0x60/0xb4
[   18.481274] Exception stack(0xffffffc002243db0 to 0xffffffc002243ed0)
[   18.487699] 3da0:                                   ffffffc002240000 ffffffc002246000
[   18.495518] 3dc0: ffffffc002243f00 ffffffc000084e70 0000000060000145 ffffffc002228f40
[   18.503329] 3de0: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[   18.511142] 3e00: 0000000000000000 000000001999999a 002aad4b00000000 00000000fffeecaa
[   18.518954] 3e20: 00000000fffeecab ffffffc002243e70 00000000000006e0 ffffffc002246000
[   18.526766] 3e40: 0000004000000000 ffffffc87b801128 0000000000000007 ffffffc87b08f000
[   18.534578] 3e60: ffffffbe1dae9f68 0000000000000006 0000000000000001 ffffffc002240000
[   18.542390] 3e80: ffffffc002246000 ffffffc002246ad0 ffffffc0022259c0 ffffffc002243f20
[   18.550202] 3ea0: ffffffc002228f40 ffffffc00078acf0 ffffffc0022c2000 0000000000000000
[   18.558013] 3ec0: 0000000000000000 ffffffc002243f00
[   18.562868] [<ffffffc000083da8>] el1_irq+0x68/0xc0
[   18.567643] [<ffffffc0000ca2e0>] default_idle_call+0x1c/0x30
[   18.573284] [<ffffffc0000ca418>] cpu_startup_entry+0x124/0x1dc
[   18.579101] [<ffffffc000779080>] rest_init+0x74/0x7c
[   18.584049] [<ffffffc000a3d94c>] start_kernel+0x394/0x3a8
[   18.589427] [<0000000000780000>] 0x780000
[   18.593421] Code: b4000820 f9400800 f9400414 f9401ef6 (f94026c0) 
[   18.599503] ---[ end trace fc72e20977be1640 ]---
[   18.604096] Kernel panic - not syncing: Fatal exception in interrupt
[   18.610435] CPU3: stopping
[   18.613125] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G      D         4.4.0 #78
[   18.620241] Hardware name: ZynqMP ZCU102 RevB (DT)
[   18.625013] Call trace:
[   18.627447] [<ffffffc000087da8>] dump_backtrace+0x0/0x114
[   18.632829] [<ffffffc000087ed0>] show_stack+0x14/0x1c
[   18.637865] [<ffffffc000393cf8>] dump_stack+0x84/0xa0
[   18.642897] [<ffffffc00008d4cc>] handle_IPI+0x18c/0x1a0
[   18.648104] [<ffffffc000080d28>] gic_handle_irq+0x9c/0xb4
[   18.653486] Exception stack(0xffffffc87b8efdf0 to 0xffffffc87b8eff10)
[   18.659910] fde0:                                   ffffffc87b8ec000 ffffffc002246000
[   18.667730] fe00: ffffffc87b8eff40 ffffffc000084e70 0000000060000145 ffffffc002228f40
[   18.675541] fe20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[   18.683353] fe40: 0000000000000000 000000001999999a 000a037a00000000 00000000fffeed1b
[   18.691165] fe60: 00000000fffeed1c ffffffc87b8efeb0 00000000000006e0 0000000000000005
[   18.698977] fe80: ffffffc00078b5d4 ffffffc073ad7b80 ffffffc87b325380 ffffffc87ba30000
[   18.706789] fea0: ffffffbe1db0baa0 0000000000000006 0000000000000001 ffffffc87b8ec000
[   18.714601] fec0: ffffffc002246000 ffffffc002246ad0 ffffffc0022259c0 ffffffc87b8eff60
[   18.722413] fee0: ffffffc002228f40 ffffffc00078acf0 ffffffc0022c2000 0000000000000000
[   18.730224] ff00: 0000000000000000 ffffffc87b8eff40
[   18.735078] [<ffffffc000083da8>] el1_irq+0x68/0xc0
[   18.739853] [<ffffffc0000ca2e0>] default_idle_call+0x1c/0x30
[   18.745496] [<ffffffc0000ca418>] cpu_startup_entry+0x124/0x1dc
[   18.751310] [<ffffffc00008cfcc>] secondary_start_kernel+0x11c/0x140
[   18.757559] [<000000000008103c>] 0x8103c
[   18.761464] CPU2: stopping
[   18.764157] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G      D         4.4.0 #78
[   18.771273] Hardware name: ZynqMP ZCU102 RevB (DT)
[   18.776045] Call trace:
[   18.778479] [<ffffffc000087da8>] dump_backtrace+0x0/0x114
[   18.783861] [<ffffffc000087ed0>] show_stack+0x14/0x1c
[   18.788895] [<ffffffc000393cf8>] dump_stack+0x84/0xa0
[   18.793929] [<ffffffc00008d4cc>] handle_IPI+0x18c/0x1a0
[   18.799136] [<ffffffc000080d28>] gic_handle_irq+0x9c/0xb4
[   18.804518] Exception stack(0xffffffc87b8ebdf0 to 0xffffffc87b8ebf10)
[   18.810942] bde0:                                   ffffffc87b8e8000 ffffffc002246000
[   18.818762] be00: ffffffc87b8ebf40 ffffffc000084e70 0000000060000145 ffffffc002228f40
[   18.826573] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[   18.834385] be40: 0000000000000000 000000001999999a 000f424000000000 00000000fffeed31
[   18.842197] be60: 00000000fffeed32 ffffffc87b8ebeb0 00000000000006e0 ffffffc002246000
[   18.850009] be80: 0000004000000000 ffffffc87b801128 000000000000001c ffffffc87ac9c000
[   18.857821] bea0: ffffffbe1dadc240 0000000000000006 0000000000000001 ffffffc87b8e8000
[   18.865633] bec0: ffffffc002246000 ffffffc002246ad0 ffffffc0022259c0 ffffffc87b8ebf60
[   18.873445] bee0: ffffffc002228f40 ffffffc00078acf0 ffffffc0022c2000 0000000000000000
[   18.881256] bf00: 0000000000000000 ffffffc87b8ebf40
[   18.886110] [<ffffffc000083da8>] el1_irq+0x68/0xc0
[   18.890885] [<ffffffc0000ca2e0>] default_idle_call+0x1c/0x30
[   18.896527] [<ffffffc0000ca418>] cpu_startup_entry+0x124/0x1dc
[   18.902342] [<ffffffc00008cfcc>] secondary_start_kernel+0x11c/0x140
[   18.908591] [<000000000008103c>] 0x8103c
[   18.912496] CPU1: stopping
[   18.915188] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D         4.4.0 #78
[   18.922305] Hardware name: ZynqMP ZCU102 RevB (DT)
[   18.927077] Call trace:
[   18.929511] [<ffffffc000087da8>] dump_backtrace+0x0/0x114
[   18.934893] [<ffffffc000087ed0>] show_stack+0x14/0x1c
[   18.939927] [<ffffffc000393cf8>] dump_stack+0x84/0xa0
[   18.944961] [<ffffffc00008d4cc>] handle_IPI+0x18c/0x1a0
[   18.950168] [<ffffffc000080d28>] gic_handle_irq+0x9c/0xb4
[   18.955550] Exception stack(0xffffffc87b8e3df0 to 0xffffffc87b8e3f10)
[   18.961974] 3de0:                                   ffffffc87b8e0000 ffffffc002246000
[   18.969794] 3e00: ffffffc87b8e3f40 ffffffc000084e70 0000000060000145 ffffffc002228f40
[   18.977605] 3e20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[   18.985417] 3e40: 0000000000000000 000000001999999a 000cdfe600000000 00000000fffeed27
[   18.993229] 3e60: 00000000fffeed28 ffffffc87b8e3eb0 00000000000006e0 ffffffc002246000
[   19.001041] 3e80: 0000004000000000 ffffffc87b801128 000000000000000e ffffffc87b3de000
[   19.008853] 3ea0: ffffffbe1daf58b0 0000000000000006 0000000000000001 ffffffc87b8e0000
[   19.016665] 3ec0: ffffffc002246000 ffffffc002246ad0 ffffffc0022259c0 ffffffc87b8e3f60
[   19.024477] 3ee0: ffffffc002228f40 ffffffc00078acf0 ffffffc0022c2000 0000000000000000
[   19.032288] 3f00: 0000000000000000 ffffffc87b8e3f40
[   19.037142] [<ffffffc000083da8>] el1_irq+0x68/0xc0
[   19.041917] [<ffffffc0000ca2e0>] default_idle_call+0x1c/0x30
[   19.047559] [<ffffffc0000ca418>] cpu_startup_entry+0x124/0x1dc
[   19.053374] [<ffffffc00008cfcc>] secondary_start_kernel+0x11c/0x140
[   19.059623] [<000000000008103c>] 0x8103c
[   19.063529] ---[ end Kernel panic - not syncing: Fatal exception in interrupt

This is my pl.dtsi:

 

 

 

/ {
	amba_pl: amba_pl {
		#address-cells = <2>;
		#size-cells = <2>;
		compatible = "simple-bus";
		ranges ;		
		axi_gpio_0: gpio@80000000 {
			#gpio-cells = <2>;
			#interrupt-cells = <2>;
			compatible = "xlnx,xps-gpio-1.00.a";
			gpio-controller ;
			interrupt-controller ;
			interrupt-parent = <&gic>;
			interrupts = <0 89 1>;
			reg = <0x0 0x80000000 0x0 0x10000>;
			xlnx,all-inputs = <0x1>;
			xlnx,all-inputs-2 = <0x0>;
			xlnx,all-outputs = <0x0>;
			xlnx,all-outputs-2 = <0x0>;
			xlnx,dout-default = <0x00000000>;
			xlnx,dout-default-2 = <0x00000000>;
			xlnx,gpio-width = <0x8>;
			xlnx,gpio2-width = <0x20>;
			xlnx,interrupt-present = <0x1>;
			xlnx,is-dual = <0x0>;
			xlnx,tri-default = <0xFFFFFFFF>;
			xlnx,tri-default-2 = <0xFFFFFFFF>;
		};
		gpio-keys {
		    compatible = "gpio-keys";
		    #address-cells = <1>;
		    #size-cells = <0>;
		    autorepeat;
		    sw14 {
			label = "sw14";
			gpios = <&axi_gpio_0 0 0>;
			linux,code = <108>; /* down */
			gpio-key,wakeup;
			autorepeat;
		    };
		};
		axi_gpio_1: gpio@80010000 {
			#gpio-cells = <2>;
			compatible = "xlnx,xps-gpio-1.00.a";
			gpio-controller ;
			reg = <0x0 0x80010000 0x0 0x10000>;
			xlnx,all-inputs = <0x0>;
			xlnx,all-inputs-2 = <0x0>;
			xlnx,all-outputs = <0x1>;
			xlnx,all-outputs-2 = <0x0>;
			xlnx,dout-default = <0x00000000>;
			xlnx,dout-default-2 = <0x00000000>;
			xlnx,gpio-width = <0x8>;
			xlnx,gpio2-width = <0x20>;
			xlnx,interrupt-present = <0x0>;
			xlnx,is-dual = <0x0>;
			xlnx,tri-default = <0xFFFFFFFF>;
			xlnx,tri-default-2 = <0xFFFFFFFF>;
		};
				
		gpio-leds {
		    compatible = "gpio-leds";
		    led-ds23 {
			label = "led-ds23";
			gpios = <&axi_gpio_1 0 0>;
			default-state = "on";
			linux,default-trigger = "heartbeat";
		    };
		};
	};
};

I'm working with Vivado 2016.1 and Petalinux 2016.1 to create the bsp. Any idea??

 

Tags (4)
0 Kudos