Re: [U-Boot] random exception on ppc based board
- Original Message - From: "Thirumalai" To: ; Sent: Saturday, June 12, 2010 10:40 AM Subject: [U-Boot] random exception on ppc based board Hi, I am having a ppc based target on which linux-2.4.20 kernel is running with u-boot 1.3.4 as boot loader. The target is having MPC7410 as processor and MPC107 as system controller. Regarding memory it is having 128 MB of ram and 16 MB of Flash memory. Also the kernel is patched with RTLinux-3.2 for realtime performance. I am getting a random Program and DSI exception on the target. Normally the exeption occurs during loading of rtl_time.o. The panic message is given below. == Using /usr/rtlinux/modules/rtl_time.okernel BUG at page_alloc.c:221! Oops: Exception in kernel mode, sig: 4 NIP: C0032980 XER: LR: C0032980 SP: C7CEDBA0 REGS: c7cedaf0 TRAP: 0700Not tainted MSR: 00089032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = c7cec000[366] 'exe' Last syscall: 3 last math c7cec000 last altivec GPR00: C0032980 C7CEDBA0 C7CEC000 0020 0001 0001 1137 GPR08: 0002 CD879EC0 C7CEDAB0 CD876108 C0011934 GPR16: 0004 0001 C002A0E8 C789E840 9032 07CEDD90 C01A2C70 C01A2C70 GPR24: 0001 C016E080 C79966E0 C016E0B8 C016E0C4 Call backtrace: C0032980 C0033020 C0032C4C C0025A18 C0025B58 C0025D8C C000EF88 C0005D48 C03A8B28 C0029B28 C002A258 C003A99C C0005AFC 0FF15DBC 0FF175DC 0FF09894 10012190 100127D0 100356AC 100352A4 0FEBCF6C Oops: kernel access of bad area, sig: 11 NIP: C00326DC XER: LR: C0032588 SP: C7CED880 REGS: c7ced7d0 TRAP: 0300Not tainted MSR: 9032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: , DSISR: 4200 TASK = c7cec000[366] 'exe' Last syscall: 3 last math c7cec000 last altivec GPR00: C7CED880 C7CEC000 C7CED888 30026000 C0388250 GPR08: 8000 00155210 CD876CD4 C0032588 GPR16: 0004 0001 C002A0E8 C789E840 9032 C01A2C70 C01A2C70 C016E130 GPR24: C0233024 C0388234 3E06 7C0C C016E080 FFFE C016E0B8 C0388260 Call backtrace: C003249C C0033398 C0033B18 C00243D8 C0026234 C00246D0 C0027A70 C001326C C00187D4 C0005ED4 C0005F44 C00062B0 C0005D48 C0032980 C0033020 C0032C4C C0025A18 C0025B58 C0025D8C C000EF88 C0005D48 C03A8B28 C0029B28 C002A258 C003A99C C0005AFC 0FF15DBC 0FF175DC 0FF09894 10012190 100127D0 100356AC Illegal instruction Sometimes i am getting the following panic message. === Oops: kernel access of bad area, sig: 11 NIP: C0033360 XER: 2000 LR: C00DE9A8 SP: C016C0D0 REGS: c016c020 TRAP: 0300Tainted: P MSR: 9032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 03910018, DSISR: 4000 TASK = c016a480[0] 'swapper' Last syscall: 120 last math c505c000 last altivec GPR00: C00DE9A8 C016C0D0 C016A480 0391 C5A469DC GPR08: 0001 03910014 0043 C5A2FE20 2490C022 C0030A04 07FF0D00 GPR16: 00044008 1032 0003 0A050393 GPR24: C5A46980 C5A2F842 0040 C5A2F842 C01C C5A46980 0001 Call backtrace: 0040 C00DE9A8 C00DE9DC C00DEB28 C01163D4 C01166EC C00F4898 C00F44E4 C00F4AC8 C00F468C C00E3664 C00E3810 C00E397C C001A200 C0007620 CD876CAC C0005D40 C000744C C0007460 C0003918 C01815E0 35F0 Kernel panic: Aiee, killing interrupt handler! In interrupt handler - not syncing <0>Rebooting in 180 seconds.. ==== How to debug this??? -Thirumalai ___ U-Boot mailing list u-b...@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot Hi all, We fixed this problem. When we ran e2fsck -f ramdisk.img it shown me 0.9% non-contiguos block. So we tried to defragment the ramdisk image using e2defrag utility. After this the problem disappeared. But i don't know how an ext2 file system is getting fragmented ? Also how this particular file (rtl_time.o) is getting fragmented? Any clue? -Thirumalai ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
random exception on ppc based board
Hi, I am having a ppc based target on which linux-2.4.20 kernel is running with u-boot 1.3.4 as boot loader. The target is having MPC7410 as processor and MPC107 as system controller. Regarding memory it is having 128 MB of ram and 16 MB of Flash memory. Also the kernel is patched with RTLinux-3.2 for realtime performance. I am getting a random Program and DSI exception on the target. Normally the exeption occurs during loading of rtl_time.o. The panic message is given below. == Using /usr/rtlinux/modules/rtl_time.okernel BUG at page_alloc.c:221! Oops: Exception in kernel mode, sig: 4 NIP: C0032980 XER: LR: C0032980 SP: C7CEDBA0 REGS: c7cedaf0 TRAP: 0700Not tainted MSR: 00089032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = c7cec000[366] 'exe' Last syscall: 3 last math c7cec000 last altivec GPR00: C0032980 C7CEDBA0 C7CEC000 0020 0001 0001 1137 GPR08: 0002 CD879EC0 C7CEDAB0 CD876108 C0011934 GPR16: 0004 0001 C002A0E8 C789E840 9032 07CEDD90 C01A2C70 C01A2C70 GPR24: 0001 C016E080 C79966E0 C016E0B8 C016E0C4 Call backtrace: C0032980 C0033020 C0032C4C C0025A18 C0025B58 C0025D8C C000EF88 C0005D48 C03A8B28 C0029B28 C002A258 C003A99C C0005AFC 0FF15DBC 0FF175DC 0FF09894 10012190 100127D0 100356AC 100352A4 0FEBCF6C Oops: kernel access of bad area, sig: 11 NIP: C00326DC XER: LR: C0032588 SP: C7CED880 REGS: c7ced7d0 TRAP: 0300Not tainted MSR: 9032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: , DSISR: 4200 TASK = c7cec000[366] 'exe' Last syscall: 3 last math c7cec000 last altivec GPR00: C7CED880 C7CEC000 C7CED888 30026000 C0388250 GPR08: 8000 00155210 CD876CD4 C0032588 GPR16: 0004 0001 C002A0E8 C789E840 9032 C01A2C70 C01A2C70 C016E130 GPR24: C0233024 C0388234 3E06 7C0C C016E080 FFFE C016E0B8 C0388260 Call backtrace: C003249C C0033398 C0033B18 C00243D8 C0026234 C00246D0 C0027A70 C001326C C00187D4 C0005ED4 C0005F44 C00062B0 C0005D48 C0032980 C0033020 C0032C4C C0025A18 C0025B58 C0025D8C C000EF88 C0005D48 C03A8B28 C0029B28 C002A258 C003A99C C0005AFC 0FF15DBC 0FF175DC 0FF09894 10012190 100127D0 100356AC Illegal instruction Sometimes i am getting the following panic message. === Oops: kernel access of bad area, sig: 11 NIP: C0033360 XER: 2000 LR: C00DE9A8 SP: C016C0D0 REGS: c016c020 TRAP: 0300Tainted: P MSR: 9032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 DAR: 03910018, DSISR: 4000 TASK = c016a480[0] 'swapper' Last syscall: 120 last math c505c000 last altivec GPR00: C00DE9A8 C016C0D0 C016A480 0391 C5A469DC GPR08: 0001 03910014 0043 C5A2FE20 2490C022 C0030A04 07FF0D00 GPR16: 00044008 1032 0003 0A050393 GPR24: C5A46980 C5A2F842 0040 C5A2F842 C01C C5A46980 0001 Call backtrace: 0040 C00DE9A8 C00DE9DC C00DEB28 C01163D4 C01166EC C00F4898 C00F44E4 C00F4AC8 C00F468C C00E3664 C00E3810 C00E397C C001A200 C0007620 CD876CAC C0005D40 C000744C C0007460 C0003918 C01815E0 35F0 Kernel panic: Aiee, killing interrupt handler! In interrupt handler - not syncing <0>Rebooting in 180 seconds.. ==== How to debug this??? -Thirumalai ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
enabling PCIe on powerpc device tree
Hi, How to enable PCIe interrupt on device tree. I am using linux-2.6.30 on MPC8640D based Target board. -Thirumalai ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
8640D Erratum fixup
Hi kumar, I just want to know whether the erratum of MPC8640D has fixed on u-boot or linux ? -Thirumalai CAUTION - Disclaimer *This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, retention, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Also, email is susceptible to data corruption, interception, tampering, unauthorized amendment and viruses. We only send and receive emails on the basis that we are not liable for any such corruption, interception, tampering, amendment or viruses or any consequence thereof. *** End of Disclaimer ***DataPatterns ITS Group** ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
MPC8640D second core initialization
Hi Kumar, I am using 2009-06 u-boot for MPC8640D based custom board. I just want to know whether the second core of MPC8640D is kicked off automatically or will it required by the user to kick[like mpc85xx/mp.c]. Also if am enabling the CONFIG_MP macro and CONFIG_NUM_CPUS as 2, then the reset command of the target is not working(means board is getting hanged). I have mentioned the value of CONFIG_SYS_SCRATCH_VA as 0xf500. Also when i try to boot linux using this configuration i was getting into kernel panic. ## Current stack ends at 0x3fa91a08 ## Booting kernel from Legacy Image at 0040 ... Image Name: Linux-2.6.30-dpvpx0689 Created: 2009-12-01 4:45:09 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size:2307361 Bytes = 2.2 MB Load Address: Entry Point: Verifying Checksum ... OK ## Flattened Device Tree blob at 0400 Booting using the fdt blob at 0x400 Uncompressing Kernel Image ... OK Loading Device Tree to 007fa000, end 007ff150 ... OK ## Transferring control to Linux (at address ) ... Booting using OF flat tree... Using DPVPX0689 machine description Total memory = 1024MB; using 2048kB for hash table (at afe0) Linux version 2.6.30-dpvpx0689 (r...@localhost.localdomain) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0)) #70 SMP Tue Dec 1 10:14:07 IST 2009 Found legacy serial port 0 for /s...@f600/ser...@4500 mem=f6004500, taddr=f6004500, irq=0, clk=4, speed=0 Found legacy serial port 1 for /s...@f600/ser...@4600 mem=f6004600, taddr=f6004600, irq=0, clk=4, speed=0 CPU maps initialized for 1 thread per core (thread shift is 0) console [udbg0] enabled setup_arch: bootmem dpvpx0689_setup_arch() Found FSL PCI host bridge at 0xf6008000. Firmware bus number: 0->15 PCI host bridge /p...@f6008000 ranges: MEM 0x8000..0x9fff -> 0x8000 IO 0xf800..0xfbff -> 0x Single Board Computers from Data Patterns Ported & Developed By COTS DIVISION arch: exit Top of RAM: 0x4000, Total RAM: 0x4000 Memory hole size: 0MB Zone PFN ranges: DMA 0x -> 0x0003 Normal 0x0003 -> 0x0003 HighMem 0x0003 -> 0x0004 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x -> 0x0004 On node 0 totalpages: 262144 free_area_init_node: node 0, pgdat a047d1c0, node_mem_map a07fd000 DMA zone: 1536 pages used for memmap DMA zone: 0 pages reserved DMA zone: 195072 pages, LIFO batch:31 HighMem zone: 512 pages used for memmap HighMem zone: 65024 pages, LIFO batch:15 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096 Kernel command line: root=/dev/nfs rw nfsroot=10.5.18.3:/ppc/netfs/fc5fs/ ip=10.5.18.230:10.5.18.3:10.5.18.3:255.0.0.0:DPVPX0689:eth0:off console=ttyS0,115200 NR_IRQS:512 mpic: Setting up MPIC " MPIC " version 1.2 at f604, max 2 CPUs mpic: ISU size: 256, shift: 8, mask: ff mpic: Initializing for 256 sources PID hash table entries: 4096 (order: 12, 16384 bytes) time_init: decrementer frequency = 100.00 MHz time_init: processor frequency = 800.00 MHz clocksource: timebase mult[280] shift[22] registered clockevent: decrementer mult[1999] shift[16] cpu[0] Console: colour dummy device 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) High memory: 262140k Memory: 1031504k/1048576k available (k kernel code, 16252k reserved, 160k data, 169k bss, 200k init) Kernel virtual memory layout: * 0xfffe..0xf000 : fixmap * 0xff80..0xffc0 : highmem PTEs * 0xfe7ed000..0xff80 : early ioremap * 0xd100..0xfe7ed000 : vmalloc & ioremap Calibrating delay loop... 199.68 BogoMIPS (lpj=99840) Mount-cache hash table entries: 512 mpic: requesting IPIs ... Processor 1 found. clockevent: decrementer mult[1999] shift[16] cpu[1] Brought up 2 CPUs Unable to handle kernel paging request for data at address 0x0004 Faulting instruction address: 0xa0023e10 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=2 DPVPX0689 Modules linked in: NIP: a0023e10 LR: a0023dd0 CTR: REGS: cf841e90 TRAP: 0300 Not tainted (2.6.30-dpvpx0689) MSR: 9032 CR: 24004028 XER: 2000 DAR: 0004, DSISR: 4000 TASK = cf83f930[1] 'swapper' THREAD: cf84 CPU: 0 GPR00: cf841f40 cf83f930 cf841f50 GPR08: 0002 a10018f4 22004082 3fee6c00 3ff94000 GPR16: ffbf ffbf7bff cf83a800 a10018e8 a0491224 GPR24: a049 a04558f8 cf801f20 a1006070 a10018e8 a10018f8 NIP [a0023e10] __build_sched_domains+0x354/0x464 LR [a0023dd0] __build_sched_domains+0x314/0x464 Call Trace: [cf841f40] [a0023b98] __build_sched_domains+0xdc/0x464 (unreliable) [cf841f90] [a04326ec] sched_init_smp+0x88/0x
How to use mpic timer of mpc8640d
Hi kumar, I just want to know how to use the global timer of the MPC8640D on linux environment. I am having a Freescale HPCN evaluation board on which linux-2.6.21 kernel is running. How to use the timer. Thank you T. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Regarding FPGA based cascaded PIC
- Original Message - From: "Benjamin Herrenschmidt" To: "Thirumalai" Cc: Sent: Wednesday, November 04, 2009 11:55 AM Subject: Re: Regarding FPGA based cascaded PIC On Wed, 2009-11-04 at 10:48 +0530, Thirumalai wrote: Hi Ben, I am a having MPC8640D based board on which i am in the process of writing cascaded interrupt handler for my FPGA based PIC. I need some clarification on writing customized cascaded interrupt handler. As for as my understanding we need to use irq_alloc_host() function for allocating the irq_host for my FPGA pic and we should use irq_of_parse_and_map() function for parsing and assignment of virtual IRQ from my device tree. In my case my FPGA based PIC is giving interrupts to 3 external interrupt of MPC8640D i.e 1,2,3 . So i have written my fpga-pic node as follows on my device tree. Please post to the mailing list linuxppc-dev@lists.ozlabs.org for such questions. fpga-...@dc00 { compatible = "dp,fpga-pic"; reg = <0xdc00 0x7fff>; interrupt-controller; #interrupt-cells = <3>; interrupts = <1 1 2 1 3 1>; interrupt-parent = <&mpic>; }; 3 cells per interrupt ? that's a lot :-) What do you put in there ? mpic: p...@4 { clock-frequency = <0>; interrupt-controller; #address-cells = <0>; #interrupt-cells = <2>; reg = <0x4 0x4>; compatible = "chrp,open-pic"; device_type = "open-pic"; big-endian; }; So far it looks reasonable... The function irq_of_parse_and_map is returning VIRQ as 16,17,18 successfully. i hooked my chained interrupt handler for this VIRQ using set_irq_chained_handler function. On my user defined interrupt handler when i am searching the vector need to be returned i am getting 0 as vector. ie using the function irq_linear_revmap. So here my doubt: Even irq_alloc_host has returned a irq_host for my pic, Why my custom map funtion is not called during irq_of_parse_and_map function. Instead of my map/xlate function it is calling mpic's map/xlate function? That's where I don't follow you... So interrupts 1,2,3 in your example are outputs of the FPGA PIC connected to inputs 1,2,3 of the MPIC. Those get mapped to virq 16.17 and 18. Those are really MPIC interrupts. At some stage some interrupts -below- your FPGA PIC (whatever devices you have on the FPGA) are going to fire. it's -those- interrupts that will use map/xlate from the FPGA host when irq_of_parse_and_map() is called for them you understood correctly. Here the problem lies.Correct me if i am wrong. So you are telling that irq_of_parse_and_map() will invoke the map/xlate of my FPGA pic. Right. But this is what not happening. Instead of calling my map/xlate functions the irq_of_parse_and_map() function is invoking mpic's map/xlate function. Here is the piece of code that we are using. fpga_pic_irq_host = irq_alloc_host(pic, IRQ_HOST_MAP_LINEAR, DPVPX0659_FPGA_NUM_IRQS,&fpga_pic_host_ops, NO_IRQ); if (fpga_pic_irq_host == NULL) { printk("FPGA PIC: Unable to allocate host\n"); return; } for (i = 0; i < 3; i++) { fpga_irqs[i] = irq_of_parse_and_map(pic, i); if (fpga_irqs[i] == NO_IRQ) { printk("FPGA PIC: can't get irq %d.\n", i); continue; } printk("interrupt from device tree : %d \n",fpga_irqs[i]); set_irq_chained_handler(dpvpx0659_fpga_irqs[i],dpvpx0659_fpga_pic_cascade); } IE. When -those- fire, the FPGA emits one of the 3 interrupts, and your cascade handler gets called. It will then fetch off the FPGA PIC what interrupts happened and revmap that. Cheers, Ben. Kindly reply me soon. Regards Thirumalai Thank you Thirumalai CAUTION - Disclaimer *This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, retention, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Also, email is susceptible to data corruption, interception, tampering, unauthorized amendment and viruses. We only send and receive emails on the basis that we are not liable for any such corruption, interception, tampering, amendment or viruses or a
Regarding MPIC pluggable interrupt handler
Hi Ben, Is there any standard way to write pluggable interrupt handler for my FPGA. I have seen the reference code on 85xx/socrates_fpga_pic.c. But it is not sufficient to understand. Kindly give any reference. Thank you T. CAUTION - Disclaimer *This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, retention, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Also, email is susceptible to data corruption, interception, tampering, unauthorized amendment and viruses. We only send and receive emails on the basis that we are not liable for any such corruption, interception, tampering, amendment or viruses or any consequence thereof. *** End of Disclaimer ***DataPatterns ITS Group** ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Regarding TSI108 ethernet DMA issue
Hi all, I found that the header file(dma-mapping.h) has changed. I saw this change has happened on Linux -2.6.28 kernel onwards. earlier kernel is having COMFIT_PPC64 macro. Based on this macro the things were happened. Is there any fixes available right now or any reasons behind this changes. Regards, T. - Original Message - From: Thirumalai Pachamuthu To: linuxppc-...@ozlabs.org Sent: Thursday, August 20, 2009 9:45 AM Subject: Regarding TSI108 ethernet DMA issue Hi all, I am trying to port linux 2.6.30 for my TSI108 based custom board where i am getting the following kernel panic message. I found that it was due to dma allocation function call particularly dma_alloc_coherent() of tsi108_open function. When we see the implementation of dma_alloc_coherent. It was bit changed from the previous linux versions it seems. The implementation of dma_alloc_coherent was kept on the arch/powerpc/include/asm/dma-mapping.h file. Earlier implementation is not considering the first parameter what the tsi108 driver is passing as NULL. But the current implementation is considering this parameter and because of this the panic is coming what i believe. So kindly let me know any patches for this problem or any fixes. Regards, T. -- ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Regarding TSI108 ethernet DMA issue
Hi all, I am trying to port linux 2.6.30 for my TSI108 based custom board where i am getting the following kernel panic message. I found that it was due to dma allocation function call particularly dma_alloc_coherent() of tsi108_open function. When we see the implementation of dma_alloc_coherent. It was bit changed from the previous linux versions it seems. The implementation of dma_alloc_coherent was kept on the arch/powerpc/include/asm/dma-mapping.h file. Earlier implementation is not considering the first parameter what the tsi108 driver is passing as NULL. But the current implementation is considering this parameter and because of this the panic is coming what i believe. So kindly let me know any patches for this problem or any fixes. [ cut here ] Kernel BUG at c019074c [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] DPVME0447 NIP: c019074c LR: c019074c CTR: c014ea48 REGS: df82bd80 TRAP: 0700 Not tainted (2.6.30) MSR: 00029032 CR: 2422 XER: 2000 TASK = df82c000[1] 'swapper' THREAD: df82a000 GPR00: c019074c df82be30 df82c000 0030 13e0 c014e998 0035 GPR08: c02f2af0 c02e7bb8 13e0 c02cd8f4 2442 0002 GPR16: c02c 0ffaa41c c030 0004 GPR24: c02f c02f df821030 df821000 df821300 NIP [c019074c] tsi108_open+0x5c/0x90 LR [c019074c] tsi108_open+0x5c/0x90 Call Trace: [df82be30] [c019074c] tsi108_open+0x5c/0x90 (unreliable) [df82be50] [c01b1564] dev_open+0xac/0x11c [df82be70] [c01b1464] dev_change_flags+0x160/0x1b4 [df82be90] [c02bc5f8] ip_auto_config+0x18c/0xe5c [df82bf50] [c0003c8c] do_one_initcall+0x34/0x1a8 [df82bfd0] [c02a1848] kernel_init+0x9c/0x100 [df82bff0] [c0012064] kernel_thread+0x4c/0x68 Instruction dump: 807f003c 7fc8f378 4beb8d71 7c7d1b79 40820028 80bf003c 3c60c029 7fc6f378 386327c0 90be0028 809f0040 4be90669 <0fe0> 4800 80bf003c 3c60c029 ---[ end trace dc633a1da0ecdafb ]--- Kernel panic - not syncing: Attempted to kill init! Rebooting in 180 seconds.. Regards, T. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Regarding TSI108 ethernet DMA issue
Hi all, I am trying to port linux 2.6.30 for my TSI108 based custom board where i am getting the following kernel panic message. I found that it was due to dma allocation function call particularly dma_alloc_coherent() of tsi108_open function. When we see the implementation of dma_alloc_coherent. It was bit changed from the previous linux versions it seems. The implementation of dma_alloc_coherent was kept on the arch/powerpc/include/asm/dma-mapping.h file. Earlier implementation is not considering the first parameter what the tsi108 driver is passing as NULL. But the current implementation is considering this parameter and because of this the panic is coming what i believe. So kindly let me know any patches for this problem or any fixes. Regards, T. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Regarding 64-bit implementation of mtd driver
Hi all, In my custom board the flash memory was 64 bit data size means two 32 bit flash chips are combined together to form as 64 bit bus width. Is there any patch to use the flash memory in mtd layer on the linux-2.6 kernel. Because on kernel there is no support for 64 bit read/write on the low leve cfi driver(command set 002). Regards, T. CAUTION - Disclaimer *This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, retention, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Also, email is susceptible to data corruption, interception, tampering, unauthorized amendment and viruses. We only send and receive emails on the basis that we are not liable for any such corruption, interception, tampering, amendment or viruses or any consequence thereof. *** End of Disclaimer ***DataPatterns ITS Group** ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Fw: Regarding Device tree PCI binding on Linux-2.6.30 kernels
Hi, Is there any changes on PCI Device tree binding has happened? Because i am trying to port linux 2.6.30 to my MPC7448 based custom board. The target is getting hanged at ethernet initialization. Also i have seen on the debug message of kernel that the PCI MEM/IO resources are not getting assigned. So when searched the reason for not assigning the PCI MEM/IO spaces. I have seen the implemetation of /linux/arch/powerpc/kernel/pci-common.c/ pci_process_bridge_OF_ranges() is some what different from the old kernels. The CPU address is taken using of_translate_address() function which is in prom_parse.c. This step is not included on the previous implementations. This particular implementation causing me problem of not finding PCI MEM/IO spaces. I have taken the dts file of arch/powerpc/boot/dts/MPC7448hpc2.dts as my base dts file and started to port for my hardware. Kindly let me know any changes that i need to know. My dts file, / { model = "dpvme0447"; compatible = "mpc74xx"; #address-cells = <1>; #size-cells = <1>; aliases { ethernet0 = &enet0; ethernet1 = &enet1; serial0 = &serial0; serial1 = &serial1; }; cpus { #address-cells = <1>; #size-cells =<0>; PowerPC,7...@0 { device_type = "cpu"; reg = <0>; d-cache-line-size = <0x20>; // 32 bytes i-cache-line-size = <0x20>; // 32 bytes d-cache-size = <0x8000>;// L1, 32K bytes i-cache-size = <0x8000>;// L1, 32K bytes timebase-frequency = <0>; // 33 MHz, from uboot clock-frequency = <0>; // From U-Boot bus-frequency = <0>;// From U-Boot 32-bit; }; }; memory { device_type = "memory"; reg = <0x 0x2000// DDR2 512M at 0 >; }; tsi...@5000 { #address-cells = <1>; #size-cells = <1>; device_type = "tsi-bridge"; ranges = <0x 0x5000 0x0001>; reg = <0x5000 0x0001>; assigned-addresses = <0>; bus-frequency = <0>; i...@7000 { interrupt-parent = <&mpic>; interrupts = <0xE 0>; reg = <0x7000 0x400>; device_type = "i2c"; compatible = "tsi108-i2c"; }; MDIO: m...@6000 { device_type = "mdio"; compatible = "tsi108-mdio"; reg = <0x6000 0x50>; #address-cells = <1>; #size-cells = <0>; phy8: ethernet-...@6000 { interrupt-parent = <&mpic>; interrupts = <2 1>; reg = <8>; device_type = "ethernet-phy"; }; phy9: ethernet-...@6400 { interrupt-parent = <&mpic>; interrupts = <2 1>; reg = <9>; device_type = "ethernet-phy"; enet0: ether...@6200 { linux,network-index = <0>; #size-cells = <0>; device_type = "network"; compatible = "tsi108-ethernet"; reg = <0x6000 0x200>; address = [ 00 06 D2 00 00 01 ]; interrupts = <0x10 2>; interrupt-parent = <&mpic>; mdio-handle = <&MDIO>; phy-handle = <&phy8>; }; enet1: ether...@6600 { linux,network-index = <1>; #address-cells = <1>; #size-cells = <0>; device_type = "network"; compatible = "tsi108-ethernet"; reg = <0x6400 0x200>; address = [ 00 06 D2 00 00 02 ]; interrupts = <0x11 2>; interrupt-parent = <&mpic>; mdio-handle = <&MDIO>; phy-handle = <&phy9>; }; serial0: ser...@7808 { device_type = "serial"; compatible = "ns16550"; reg = <0x7808 0x200>; clock-frequency = <0x3f6b5a00>; interrupts = <0xc 0>;
Regarding initial PCI configuration
Hi, I need some clarification on powerpc linux-2.6.30 kernels PCI enumeration. Please correct me if i am wrong on this. I am having mpc7448 based custom board on which i am trying to port linux 2.6.30(Note : Earlier i have ported linux2.6.23 kernel for this board and its successfully booted). So i have choosen mpc7448hpc2 as my model BSP. . On this the first call to pci related thing was called. (i.e from linux/arch/powerpc/platform/mpc7448hpc2.c/setup_arch() ) which will again call my sysdev/tsi108_pci.c/setup_pci() function. At the end of this function we use to call the pci_OF_process() function for assigning MEM/IO addresses to my kernel. again this function was defined on kernel/pci-common.c function. So here the mess starts. On this function the code is getting pci_addr and pci_size from ranges property that i used to pass on my device tree. But the cpu_addr whatever used will get the translated address from prom_parse.c file. This one is always returning 0x. When we just dig into the internals i came to know that the implementation is totally different from the previos kernel means from linux-2.6.23 this change has come. Now the latest kernel is exhibiting the 64 bit PCI implementation. But the prom_parse.c code is designed in that manner i think. because whenever the of_translate_addr() function is called the function will get the parent node for getting the system bus address information which we used to have 0xc000 and size 0x1 on the device tree. This will do for all the devices but when try to use these function PCI mapping. This will create mess. I don't know how to go further. Kindly let me know any changes is required on device tree or kernel itself to get out this problem. Regards, T. CAUTION - Disclaimer *This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, retention, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Also, email is susceptible to data corruption, interception, tampering, unauthorized amendment and viruses. We only send and receive emails on the basis that we are not liable for any such corruption, interception, tampering, amendment or viruses or any consequence thereof. *** End of Disclaimer ***DataPatterns ITS Group** ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev