Re: SRAM
If it's a "persistent" SRAM with a battery, try look at it: http://pramfs.sourceforge.net Regards, Marco Thomas Johnson ha scritto: > We have a new PPC based board which includes some SRAM (actually > Everspin MRAM). > > I can't work out the best way to mount this device or what filing system > to run on it, any advice ? > > Thanks > > TJ > > > > > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: How can I make flash writeable?
You have to compile it with the dtc compiler and load it with the uboot bootm command, indeed, (at least with a recent uboot version) it has three parameters: kernel, dtb (the name of dts compiled) and initrd. If you want you can store the dtb in flash. Regards, Mark Bishop ha scritto: > > > Ok, so bear with me. I've read booting-without-of.txt in the > Documentation/powerpc directory and I modified a .dts file but now what? > > I use ltib or u-boot to load that into the device or do I roll a kernel > with that file and flash the device with it? > > Apologies for the less than technical questions. > > Quoting Marco Stornelli <[EMAIL PROTECTED]>: > >> Hi Mark, >> >>> How can I tell which devices are mapped to /proc/mtd devices? >> >> If I well understand the question, you'd like to change the partitions >> layout (?), so you should check out the dts file to see the flash >> layout, then you can specify there the partitions and change the >> dimensions, if they are read-only...and so on. >> >> Regards, >> >> Mark Bishop ha scritto: >>> I am using the MPC8313E-RDB and I am having some problems using the >>> flash that comes on the board. Let me preface this by saying that I >>> haven't worked in the embedded linux arena in about 10 years so I am >>> trying to catch up with all the new toys. >>> >>> This board uses uBoot and it currently has 128M of DDR2, 8M flash and >>> 32M NAND Flash. I have a few questions: >>> >>> How can I tell which memory device it uses to boot out of? >>> How can I tell which devices are mapped to /proc/mtd devices? >>> >>> >>> I want to create a writeable flash partition, is there a FAQ out there I >>> could look at. >>> >>> All of this is after a few days of using Google to try and glean some >>> data from the internet. And the books don't get here from Amazon until >>> Monday. >>> >>> I would appreciate any help. Even a RTFM - if you could point me to >>> TFM, it would greatly help. >>> ___ >>> Linuxppc-embedded mailing list >>> Linuxppc-embedded@ozlabs.org >>> https://ozlabs.org/mailman/listinfo/linuxppc-embedded >>> >> >> -- >> Marco Stornelli >> Embedded Software Engineer >> CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni >> http://www.coritel.it >> >> [EMAIL PROTECTED] >> +39 06 72582838 >> >> > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Cache control
Hi Robert, Robert Woodworth ha scritto: > I have a Virtex4 VF60 device with 256MB DDR2. > > I have told the Linux kernel that the device has only 128MB and its > working fine. How? Have you used the mem kernel option? There is an HDL module that is populating the next 16MB > with sensor data (0x0800 - 0x0900) I mapped the area into my > driver via `ioremap()` and also via `mmap / remap_pfn_range()` It works > fine. > > I know that PPC cache regions work in 128MB blocks. I assume that the > kernel bootup is turning on cache in the first 128, because it thinks > that its the full RAM range, and not cached in the next 128MB. > > I know that if I declare the area cached, and invalidate the region > before I read it, the reads should be much faster than if it's not cached. > > > How can I control if the area is cached? and then invalidate it when new > data arrives? If you use the ioremap, it provides non-cacheable guarded mappings, indeed it calls __ioremap with _PAGE_NO_CACHE and _PAGE_GUARDED flags. You can try to call directly __ioremap with the proper flags. > > Is there a PPC/Linux API call to declare the region cached and > invalidate regions before read? > Yes, of course. You can see the arch/powerpc/include/asm/cacheflush.h file to view the API to manage the cache. > > > > > Rob. > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: How can I make flash writeable?
Hi Mark, > How can I tell which devices are mapped to /proc/mtd devices? If I well understand the question, you'd like to change the partitions layout (?), so you should check out the dts file to see the flash layout, then you can specify there the partitions and change the dimensions, if they are read-only...and so on. Regards, Mark Bishop ha scritto: > I am using the MPC8313E-RDB and I am having some problems using the > flash that comes on the board. Let me preface this by saying that I > haven't worked in the embedded linux arena in about 10 years so I am > trying to catch up with all the new toys. > > This board uses uBoot and it currently has 128M of DDR2, 8M flash and > 32M NAND Flash. I have a few questions: > > How can I tell which memory device it uses to boot out of? > How can I tell which devices are mapped to /proc/mtd devices? > > > I want to create a writeable flash partition, is there a FAQ out there I > could look at. > > All of this is after a few days of using Google to try and glean some > data from the internet. And the books don't get here from Amazon until > Monday. > > I would appreciate any help. Even a RTFM - if you could point me to > TFM, it would greatly help. > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Network driver on ppc 405EX
Have you already enabled the device? You can enable it with pci_enable_device. Then you can call the pci_request_region and then the ioremap. In addition, you can check the pci configuration with the command lspci. You can found an example on Linux Device Drivers. Regards. Abg Abg ha scritto: > Hi, > Hope this is the correct list for driver related queries for ppc boards > > I was porting a network driver for a ppc 405EX based embedded system (kilauea > config). > The module builds fine and loads and I see the probe routine get called > correctly. > However when I try remapping the BAR0 address from the PCI config space, the > ioremap fails. > A little debugging showed that the address passed to ioremap was zero. > I pass the address to the ioremap via pci_resource_start(pdev, 0) where pdev > is a type struct pci_dev *. > > I dumped the contents of the pdev and saw that the vendor-id, device id etc > were correct, however the BAR0 address seemed to be all zeroes. > > The question that I had was > 1. Is there any kernel config that needs to be done for PCI devices to be > able to remap the BAR0 addresses. > 2. Any other kernel parameter that needs to be tweaked? > > Thanks, > Abg > > > > > > > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: spinlock problem
Caner Altinbasak ha scritto: > If I do not compile with soft lockup debug option checked, I do not see the > debug messages but system freezes. > > It is the same in both case, it just freezes after these messages. Soft lock > debug option only shows me call trace, instruction dump when soft lock up > happens. > > There is a strange thing in call trace. I tried to follow the code, but call > trace is meaningless, most of those functions are not calling the one in > next stack. It seems just like an recursive function creating a buffer > overflow. I think they are the interrupt nested paths. But I think, the main reason is, handle_IRQ_event function does > not handle the IRQ, so it just enters the IRQ over and over? Any ideas? Am I > wrong? Can you suggest me a path to follow? > What about the function cw_pic_unmask_irq_183? Have you looked at it? > > 2008/9/17 Marco Stornelli <[EMAIL PROTECTED]> > >> Oops, I meant soft lockup... >> >> Marco Stornelli ha scritto: >>> But does the test work? Maybe the kernel is configured with softlook >>> check (see the kernel menu under kernel hacking), try to disable it and >>> recompile. However there's something strange... >>> >>> Caner Altinbasak ha scritto: >>>> Hi! >>>> I am using a Curtiss Wright DY4-183 board with PPC7447 CPU. I've a pci >>>> graphics card with a M9 GPU on it. There is a transparent bridge between >> the >>>> GPU and my PCI bus. My problem a trouble with radeon_dri driver. I want >> to >>>> run a miniglx application to see how the graphics performance is but I >> am >>>> having the following error. I think there is a problem with unhandled >>>> interrupts! Have an idea? >>>> >>>> -bash-3.2# ./sample_server & >>>> [1] 1082 >>>> -bash-3.2# [miniglx] probed chipset 0x4c66 >>>> got MMIOAddress 0x1801e000 offset 67108864 >>>> shared virtual width is 1024 >>>> [drm] added 8192 byte SAREA at 0x61036000 >>>> [drm] mapped SAREA 0x61036000 to 0x18026000, size 8192 >>>> [drm] framebuffer handle = 0x8000 >>>> [drm] register handle = 0x7000 >>>> [pci] 8192 kB allocated with handle 0x62187000 >>>> [pci] ring handle = 0x62187000 >>>> [pci] ring read ptr handle = 0x62288000 >>>> [pci] vertex/indirect buffers handle = 0x62289000 >>>> [pci] GART texture map handle = 0x62489000 >>>> Using 8 MB AGP aperture >>>> Using 1 MB for the ring buffhStart = 1040, hEnd = 1136, hTotal = 1312 >>>> vStart = 769, vEnd = 772, vTotal = 800 >>>> h_total_disp = 0x7f00a3hsync_strt_wid = 0x8c040d >>>> v_total_disp = 0x2ff031f vsync_strt_wid = 0x830300 >>>> pixclock = 12699 >>>> freq = 7874 >>>> freq = 7874, PLL min = 12000, PLL max = 35000 >>>> ref_div = 5, ref_clk = 2700, output_freq = 15748 >>>> ref_div = 5, ref_clk = 2700, output_freq = 15748 >>>> post div = 0x1 >>>> fb_div = 0x1d >>>> ppll_div_3 = 0x1001d >>>> er >>>> Using 2 MB for BUG: soft lockup detected on CPU#0! >>>> NIP: 40042044 LR: 40042140 CTR: 400185B4 >>>> REGS: 5e25bbb0 TRAP: 0901 Not tainted (2.6.16.13.CWCEC.K) >>>> MSR: 9032 CR: 2490C142 XER: 2000 >>>> TASK = 40aa78b0[1082] 'sample_server' THREAD: 5e25a000 >>>> NIP [40042044] handle_IRQ_event+0x34/0xb8 >>>> LR [40042140] __do_IRQ+0x78/0x1a0 >>>> Call Trace: >>>> [5E25BC60] [400188A8] cw_pic_unmask_irq_183+0x118/0x138 (unreliable) >>>> [5E25BC80] [40042140] __do_IRQ+0x78/0x1a0 >>>> [5E25BCB0] [4000B1E4] do_IRQ+0x44/0x88 >>>> [5E25BCD0] [40004F1C] ret_from_except+0x0/0x14 >>>> [5E25BD90] [40049DDC] __alloc_pages+0x70/0x2a4 >>>> [5E25BDA0] [40042074] handle_IRQ_event+0x64/0xb8 >>>> [5E25BDC0] [40042140] __do_IRQ+0x78/0x1a0 >>>> [5E25BDF0] [4000B1E4] do_IRQ+0x44/0x88 >>>> [5E25BE10] [40004F1C] ret_from_except+0x0/0x14 >>>> [5E25BED0] [400244CC] __do_softirq+0x50/0x120 >>>> [5E25BF00] [40024614] do_softirq+0x78/0x80 >>>> [5E25BF10] [4002478C] irq_exit+0x60/0x78 >>>> [5E25BF20] [4000B1E8] do_IRQ+0x48/0x88 >>>> [5E25BF40] [40004F1C] ret_from_except+0x0/0x14 >>>> Instruction dump: >>>> 9421ffe0 bf61000c 7cbf2b78 7c7b1b78 7c9d2378 90010024 80050004 74092000 >>>> 40820010 7ca6 60008000 7c000124 <3bc0> 3b800000 4810 >> 83ff0014 &
Re: spinlock problem
Oops, I meant soft lockup... Marco Stornelli ha scritto: > But does the test work? Maybe the kernel is configured with softlook > check (see the kernel menu under kernel hacking), try to disable it and > recompile. However there's something strange... > > Caner Altinbasak ha scritto: >> Hi! >> I am using a Curtiss Wright DY4-183 board with PPC7447 CPU. I've a pci >> graphics card with a M9 GPU on it. There is a transparent bridge between the >> GPU and my PCI bus. My problem a trouble with radeon_dri driver. I want to >> run a miniglx application to see how the graphics performance is but I am >> having the following error. I think there is a problem with unhandled >> interrupts! Have an idea? >> >> -bash-3.2# ./sample_server & >> [1] 1082 >> -bash-3.2# [miniglx] probed chipset 0x4c66 >> got MMIOAddress 0x1801e000 offset 67108864 >> shared virtual width is 1024 >> [drm] added 8192 byte SAREA at 0x61036000 >> [drm] mapped SAREA 0x61036000 to 0x18026000, size 8192 >> [drm] framebuffer handle = 0x8000 >> [drm] register handle = 0x7000 >> [pci] 8192 kB allocated with handle 0x62187000 >> [pci] ring handle = 0x62187000 >> [pci] ring read ptr handle = 0x62288000 >> [pci] vertex/indirect buffers handle = 0x62289000 >> [pci] GART texture map handle = 0x62489000 >> Using 8 MB AGP aperture >> Using 1 MB for the ring buffhStart = 1040, hEnd = 1136, hTotal = 1312 >> vStart = 769, vEnd = 772, vTotal = 800 >> h_total_disp = 0x7f00a3hsync_strt_wid = 0x8c040d >> v_total_disp = 0x2ff031f vsync_strt_wid = 0x830300 >> pixclock = 12699 >> freq = 7874 >> freq = 7874, PLL min = 12000, PLL max = 35000 >> ref_div = 5, ref_clk = 2700, output_freq = 15748 >> ref_div = 5, ref_clk = 2700, output_freq = 15748 >> post div = 0x1 >> fb_div = 0x1d >> ppll_div_3 = 0x1001d >> er >> Using 2 MB for BUG: soft lockup detected on CPU#0! >> NIP: 40042044 LR: 40042140 CTR: 400185B4 >> REGS: 5e25bbb0 TRAP: 0901 Not tainted (2.6.16.13.CWCEC.K) >> MSR: 9032 CR: 2490C142 XER: 2000 >> TASK = 40aa78b0[1082] 'sample_server' THREAD: 5e25a000 >> NIP [40042044] handle_IRQ_event+0x34/0xb8 >> LR [40042140] __do_IRQ+0x78/0x1a0 >> Call Trace: >> [5E25BC60] [400188A8] cw_pic_unmask_irq_183+0x118/0x138 (unreliable) >> [5E25BC80] [40042140] __do_IRQ+0x78/0x1a0 >> [5E25BCB0] [4000B1E4] do_IRQ+0x44/0x88 >> [5E25BCD0] [40004F1C] ret_from_except+0x0/0x14 >> [5E25BD90] [40049DDC] __alloc_pages+0x70/0x2a4 >> [5E25BDA0] [40042074] handle_IRQ_event+0x64/0xb8 >> [5E25BDC0] [40042140] __do_IRQ+0x78/0x1a0 >> [5E25BDF0] [4000B1E4] do_IRQ+0x44/0x88 >> [5E25BE10] [40004F1C] ret_from_except+0x0/0x14 >> [5E25BED0] [400244CC] __do_softirq+0x50/0x120 >> [5E25BF00] [40024614] do_softirq+0x78/0x80 >> [5E25BF10] [4002478C] irq_exit+0x60/0x78 >> [5E25BF20] [4000B1E8] do_IRQ+0x48/0x88 >> [5E25BF40] [40004F1C] ret_from_except+0x0/0x14 >> Instruction dump: >> 9421ffe0 bf61000c 7cbf2b78 7c7b1b78 7c9d2378 90010024 80050004 74092000 >> 40820010 7ca6 60008000 7c000124 <3bc0> 3b80 4810 83ff0014 >> vertex/indirect buffers >> Using 1 MB for AGP textures >> Will use back buffer at offset 0x30 >> Will use depth buffer at offset 0x60 >> Will use 56320 kb for textures at offset 0x90 >> [drm] Added 32 65536 byte vertex/indirect buffers >> [drm] dma control initialized, using IRQ 16 >> [drm] Initialized kernel gart heap manager, 5111808 >> color tiling disabled >> page flipping disabled >> [miniglx] Setting mode: visible 1024x768 virtual 1024x768x32 >> [miniglx] Readback mode: visible 1024x768 virtual 1024x768x32 >> RADEONEngineRestore >> >> >> >> >> >> ___ >> Linuxppc-embedded mailing list >> Linuxppc-embedded@ozlabs.org >> https://ozlabs.org/mailman/listinfo/linuxppc-embedded > -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: spinlock problem
But does the test work? Maybe the kernel is configured with softlook check (see the kernel menu under kernel hacking), try to disable it and recompile. However there's something strange... Caner Altinbasak ha scritto: > Hi! > I am using a Curtiss Wright DY4-183 board with PPC7447 CPU. I've a pci > graphics card with a M9 GPU on it. There is a transparent bridge between the > GPU and my PCI bus. My problem a trouble with radeon_dri driver. I want to > run a miniglx application to see how the graphics performance is but I am > having the following error. I think there is a problem with unhandled > interrupts! Have an idea? > > -bash-3.2# ./sample_server & > [1] 1082 > -bash-3.2# [miniglx] probed chipset 0x4c66 > got MMIOAddress 0x1801e000 offset 67108864 > shared virtual width is 1024 > [drm] added 8192 byte SAREA at 0x61036000 > [drm] mapped SAREA 0x61036000 to 0x18026000, size 8192 > [drm] framebuffer handle = 0x8000 > [drm] register handle = 0x7000 > [pci] 8192 kB allocated with handle 0x62187000 > [pci] ring handle = 0x62187000 > [pci] ring read ptr handle = 0x62288000 > [pci] vertex/indirect buffers handle = 0x62289000 > [pci] GART texture map handle = 0x62489000 > Using 8 MB AGP aperture > Using 1 MB for the ring buffhStart = 1040, hEnd = 1136, hTotal = 1312 > vStart = 769, vEnd = 772, vTotal = 800 > h_total_disp = 0x7f00a3hsync_strt_wid = 0x8c040d > v_total_disp = 0x2ff031f vsync_strt_wid = 0x830300 > pixclock = 12699 > freq = 7874 > freq = 7874, PLL min = 12000, PLL max = 35000 > ref_div = 5, ref_clk = 2700, output_freq = 15748 > ref_div = 5, ref_clk = 2700, output_freq = 15748 > post div = 0x1 > fb_div = 0x1d > ppll_div_3 = 0x1001d > er > Using 2 MB for BUG: soft lockup detected on CPU#0! > NIP: 40042044 LR: 40042140 CTR: 400185B4 > REGS: 5e25bbb0 TRAP: 0901 Not tainted (2.6.16.13.CWCEC.K) > MSR: 9032 CR: 2490C142 XER: 2000 > TASK = 40aa78b0[1082] 'sample_server' THREAD: 5e25a000 > NIP [40042044] handle_IRQ_event+0x34/0xb8 > LR [40042140] __do_IRQ+0x78/0x1a0 > Call Trace: > [5E25BC60] [400188A8] cw_pic_unmask_irq_183+0x118/0x138 (unreliable) > [5E25BC80] [40042140] __do_IRQ+0x78/0x1a0 > [5E25BCB0] [4000B1E4] do_IRQ+0x44/0x88 > [5E25BCD0] [40004F1C] ret_from_except+0x0/0x14 > [5E25BD90] [40049DDC] __alloc_pages+0x70/0x2a4 > [5E25BDA0] [40042074] handle_IRQ_event+0x64/0xb8 > [5E25BDC0] [40042140] __do_IRQ+0x78/0x1a0 > [5E25BDF0] [4000B1E4] do_IRQ+0x44/0x88 > [5E25BE10] [40004F1C] ret_from_except+0x0/0x14 > [5E25BED0] [400244CC] __do_softirq+0x50/0x120 > [5E25BF00] [40024614] do_softirq+0x78/0x80 > [5E25BF10] [4002478C] irq_exit+0x60/0x78 > [5E25BF20] [4000B1E8] do_IRQ+0x48/0x88 > [5E25BF40] [40004F1C] ret_from_except+0x0/0x14 > Instruction dump: > 9421ffe0 bf61000c 7cbf2b78 7c7b1b78 7c9d2378 90010024 80050004 74092000 > 40820010 7ca6 60008000 7c000124 <3bc0> 3b80 4810 83ff0014 > vertex/indirect buffers > Using 1 MB for AGP textures > Will use back buffer at offset 0x30 > Will use depth buffer at offset 0x60 > Will use 56320 kb for textures at offset 0x90 > [drm] Added 32 65536 byte vertex/indirect buffers > [drm] dma control initialized, using IRQ 16 > [drm] Initialized kernel gart heap manager, 5111808 > color tiling disabled > page flipping disabled > [miniglx] Setting mode: visible 1024x768 virtual 1024x768x32 > [miniglx] Readback mode: visible 1024x768 virtual 1024x768x32 > RADEONEngineRestore > > > > ---- > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: module compilation linux
Try ARCH=powerpc (lowercase). Regards. VenkataKrishna ha scritto: > > > I compiled modules in ELDK 4.0 installed in Linux. I got the configure > error in show in the below. How to solve that. What are configure values > should need compile MPC8260 freescale device driver in linux. > > > > [EMAIL PROTECTED] linux-2.6-denx]# make ARCH=PowerPC CROSS_COMPILE=ppc_82xx- > modules > > :0: error: -m64 not supported in this configuration > > :0: error: -m64 not supported in this configuration > > /opt/eldk/usr/src/linux-2.6-denx/scripts/gcc-version.sh: line 31: printf: #: > invalid number/opt/eldk/usr/src/linux-2.6-denx/scripts/gcc-version.sh: line > 31: printf: #: invalid number/bin/sh: line 1: [: too many arguments > > scripts/kconfig/conf -s arch/powerpc/Kconfig > > * > > * Restart config... > > * > > * > > * Linux Kernel Configuration > > * > > 64-bit kernel (PPC64) [N/y/?] (NEW) > > > > > > With Regards > > > > Venkatakrishna Pari > > > > > > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: U-Boot 1.3.0 with Linux 2.6.25-11 on MPC8641D - Machine checkexception
> Oops: Machine check, sig: 7 [#1] > TAURUS > NIP: c0297f4c LR: c0297f44 CTR: c00115d0 > REGS: df821e60 TRAP: 0200 Not tainted (2.6.25.11) > MSR: 00149030 CR: 2422 XER: > TASK = df805410[1] 'swapper' THREAD: df82 > GPR00: c0297f44 df821f10 df805410 0042 0001 0001 > 0002 > GPR08: 0036 c0333fe4 6b61 c036 4428 f7fbfffc 0fffac00 > > GPR16: 0080 007fff00 df821f78 c02d c033 c033 > 0fff5464 > GPR24: c033 c02d e1056000 df841218 df841218 > e1056004 > NIP [c0297f4c] 0xc0297f4c > LR [c0297f44] 0xc0297f44 > Call Trace: > [df821f10] [c0297f44] 0xc0297f44 (unreliable) > [df821f40] [c01617dc] pci_fixup_device+0xec/0x140 > [df821f60] [c0295ae0] 0xc0295ae0 > [df821f70] [c030c198] kernel_init+0x9c/0x290 > [df821ff0] [c0010a6c] kernel_thread+0x44/0x60 > Instruction dump: > > > ---[ end trace 97996e90be8a1237 ]--- > Kernel panic - not syncing: Attempted to kill init! > Rebooting in 180 seconds.. > > where resource start = 0x8000 is the physical address of the USB > controller, base = 0xe1056000 is the virtual address. > > Does anyone know this kind of problem and can give me a hint. > > Kind Regards, > Joachim > > > > > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Modules and inserting into kernel
You can build the modules with "make modules" and install them with "make modules_install". After that, you can load your module with modprobe or insmod command. Regards. VenkataKrishna ha scritto: > > > I installed ELDK kit and I compiled kernel uImage in linux. Now I want to > build and compile device driver your target under MPC8260. How can I do this > and inserting you module in Linux. > > > > Thanks & Regards > > Venkatakrishna Pari > > > > > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: initramfs too large?
Hi Dave, no if well remeber for 2.6.18 it's "ramdisk_size" (before this option had a name slightly different) but you can check it out in the kernel documentation (in the documentation folder of your kernel). Another thing: you should check out that the kernel, the initram disk and the dtb are loaded in ram from your bootloader without overlapping, maybe you've changed the dimensions and something is overlapped. Regards. Dave Littell ha scritto: Marco Stornelli wrote: Hi Dave, if I well understood you've done a "manual" operation very ugly. You can adjust the default settings in the kernel menu under device drivers/block devices and set the number of ramdisk device and the default size. You can use even the kernel command line option "ramdisk_size" to tell to the kernel the size of the ramdisk size you are using. Regards. Hi Marco, Thanks for the reply. I believe the ramdisk settings are OK, but I'll post them later to confirm. I did try changing those settings, but that didn't help. Is the kernel command-line option "ramdisk_size" or "ramdisk-size" for 2.6.18? Thanks, Dave Dave Littell ha scritto: Hi all, I believe my initramfs has grown beyond some limit, but I'm at a loss to know how to correct it. We recognized that we would have to allow a larger initramfs than the defaults provided, so I modified the following (on a 2.6.18 kernel): 1. .../arch/powerpc/boot/wrapper: A "-Ttext=0x100" was added to the ld args. 2. .../arch/powerpc/boot/zImage.lds.S: The ALIGN() directive was changed to use 16 instead of 4. I thought I was finished and everything seemed to be working well with an initramfs CPIO archive size of approx. 9 MB. However, we just had another size increase (to a CPIO archive size of approx. 12 MB) and now I'm rewarded with this at boot: ## Booting image at 0800 ... Image Name: Linux-2.6.18_pro500-440epx_eval Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size:7113720 Bytes = 6.8 MB Load Address: 0100 Entry Point: 01000410 Verifying Checksum ... OK Uncompressing Kernel Image ... OK CPU clock-frequency <- 0x27bc86ae (667MHz) CPU timebase-frequency <- 0x27bc86ae (667MHz) /plb: clock-frequency <- 9ef21ab (167MHz) /plb/opb: clock-frequency <- 4f790d5 (83MHz) /plb/opb/ebc: clock-frequency <- 34fb5e3 (56MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) Memory <- <0x0 0x0 0x1000> (256MB) ENET0: local-mac-address <- 00:80:3f:0d:80:0d ENET1: local-mac-address <- 79:60:04:ea:d9:a1 zImage starting: loaded at 0x0100 (sp: 0x0ff182e8) Allocating 0x904dc0 bytes for kernel ... gunzipping (0x <- 0x0100d000:0x01912c90)...done 0x8de100 bytes Linux/PowerPC load: console=ttyS0,115200 console=ttyMTD3 Finalizing device tree... flat tree at 0x191f3a0 Here it sits, forever. I poked around a bit with the JTAG and found (in one instance) that probe_machine() (from setup_common.c) was taking a DataTLBError exception because it appears the machine descriptors are scrubbed to 0. I added some debug code to setup_common.c, but on the next attempted boot the JTAG showed that DataTLBError exceptions in identify_cpu() (cputable.c). If I reduce the size of initramfs back to it's original size the system runs just fine. So, I'm guessing the larger initramfs is somehow stomping on something, but have no idea how to proceed to resolve this. Thanks very much, Dave ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded _______ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Not probing devices on PowerPC MPC8247 and kernel 2.6.26
Hi Chris, probably there's some mismatch between the device (for example some information in dts) and the driver. The match function scan for a driver for those devices but the values compared don't match the values of the drivers. Regards. Chris Skepper ha scritto: Hi All, I have an MPC8247 based board. I can get the SMC1 console working, but the other SCCx serial ports and the FCC1 ethernet doesn't work. It appears that a part of the problem is that the probe methods are not called. The "match" table stuff all looks fine and the serial ports and ethernet are defined in the .dts file. The module init function is called, but the probe methods are not reached. It seems driver_register gets called, so why doesn't something call probe? Is there likely to be some problem with the bus setup? Cheers, Chris. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: initramfs too large?
Hi Dave, if I well understood you've done a "manual" operation very ugly. You can adjust the default settings in the kernel menu under device drivers/block devices and set the number of ramdisk device and the default size. You can use even the kernel command line option "ramdisk_size" to tell to the kernel the size of the ramdisk size you are using. Regards. Dave Littell ha scritto: Hi all, I believe my initramfs has grown beyond some limit, but I'm at a loss to know how to correct it. We recognized that we would have to allow a larger initramfs than the defaults provided, so I modified the following (on a 2.6.18 kernel): 1. .../arch/powerpc/boot/wrapper: A "-Ttext=0x100" was added to the ld args. 2. .../arch/powerpc/boot/zImage.lds.S: The ALIGN() directive was changed to use 16 instead of 4. I thought I was finished and everything seemed to be working well with an initramfs CPIO archive size of approx. 9 MB. However, we just had another size increase (to a CPIO archive size of approx. 12 MB) and now I'm rewarded with this at boot: ## Booting image at 0800 ... Image Name: Linux-2.6.18_pro500-440epx_eval Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size:7113720 Bytes = 6.8 MB Load Address: 0100 Entry Point: 01000410 Verifying Checksum ... OK Uncompressing Kernel Image ... OK CPU clock-frequency <- 0x27bc86ae (667MHz) CPU timebase-frequency <- 0x27bc86ae (667MHz) /plb: clock-frequency <- 9ef21ab (167MHz) /plb/opb: clock-frequency <- 4f790d5 (83MHz) /plb/opb/ebc: clock-frequency <- 34fb5e3 (56MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) /plb/opb/[EMAIL PROTECTED]: clock-frequency <- a8c000 (11MHz) Memory <- <0x0 0x0 0x1000> (256MB) ENET0: local-mac-address <- 00:80:3f:0d:80:0d ENET1: local-mac-address <- 79:60:04:ea:d9:a1 zImage starting: loaded at 0x0100 (sp: 0x0ff182e8) Allocating 0x904dc0 bytes for kernel ... gunzipping (0x <- 0x0100d000:0x01912c90)...done 0x8de100 bytes Linux/PowerPC load: console=ttyS0,115200 console=ttyMTD3 Finalizing device tree... flat tree at 0x191f3a0 Here it sits, forever. I poked around a bit with the JTAG and found (in one instance) that probe_machine() (from setup_common.c) was taking a DataTLBError exception because it appears the machine descriptors are scrubbed to 0. I added some debug code to setup_common.c, but on the next attempted boot the JTAG showed that DataTLBError exceptions in identify_cpu() (cputable.c). If I reduce the size of initramfs back to it's original size the system runs just fine. So, I'm guessing the larger initramfs is somehow stomping on something, but have no idea how to proceed to resolve this. Thanks very much, Dave ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: ELDK 4.0
It's obvious. You mustn't edit but the name of your board. If the name of your board is "foo" then you can edit make foo_defconfig (however the config file has to be in the ELDK :-) ). Regards. VenkataKrishna ha scritto: Hi ; I am saying thanks for your suggest me. But make _defconfig I can't understand this. Can u send me any source code and makefile regarding this. When I uses this I getting " make *** no rule to make target files." Thanks Venkatakrishna. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: need help with GPIO
Hi, try to understand why the driver doesn't find the device reading the gpio.c and of_get_gpio(). Maybe the device has been registered as a platform device and, instead, the driver calls some function for a specific device. Regards. Laxmikant Rashinkar ha scritto: Hi Marco, thanks for your feedback. I tried out your suggestion of using an offset address instead of an absolute address in the dts, but that did not help. I am still getting the error: LK_DEBUG: gpio.c : of_get_gpio : /localbus/[EMAIL PROTECTED],0: gpio controller /[EMAIL PROTECTED]/[EMAIL PROTECTED]: is not registered thanks LK - Original Message From: Marco Stornelli <[EMAIL PROTECTED]> To: Laxmikant Rashinkar <[EMAIL PROTECTED]> Cc: linuxppc-embedded@ozlabs.org Sent: Monday, September 1, 2008 11:39:05 PM Subject: Re: need help with GPIO Laxmikant Rashinkar ha scritto: Hi, I have a MPC8347 based embedded PC running Linux 2.6.27. I am trying to access a NAND device connected to the LBC and UPM. The Ready/Busy* pin of the NAND device is connected to the built in GPIO-1 on pin 4 (input). When I try to access the NAND device, the function of_get_gpio() from drivers/of/gpio.c gets called, and it reports that my GPIO is not registered. Here are the actual debug messages: LK_DEBUG: gpio.c : of_get_gpio : name=upm type= index=0 LK_DEBUG: gpio.c : of_get_gpio : got property LK_DEBUG: gpio.c : of_get_gpio : nr_cell=3 LK_DEBUG: gpio.c : of_get_gpio : gc.name=gpio-controller gc.type= gc->Data=0x0 LK_DEBUG: gpio.c : of_get_gpio : /localbus/[EMAIL PROTECTED],0: gpio controller /[EMAIL PROTECTED]/[EMAIL PROTECTED]: is not registered When I check in /proc/device-tree/[EMAIL PROTECTED]/, I find that entries are present for both GPIOs are present. Here are debug registration messages, indicating that gpio registered successfully: # LK_DEBUG: of_plat_dev_create : NAME=soc8349 # LK_DEBUG: of_plat_dev_create : NAME=wdt # LK_DEBUG: of_plat_dev_create : NAME=i2c # LK_DEBUG: of_plat_dev_create : NAME=i2c # LK_DEBUG: of_plat_dev_create : NAME=spi # LK_DEBUG: of_plat_dev_create : NAME=dma # LK_DEBUG: of_plat_dev_create : NAME=usb # LK_DEBUG: of_plat_dev_create : NAME=usb # LK_DEBUG: of_plat_dev_create : NAME=mdio # LK_DEBUG: of_plat_dev_create : NAME=ethernet # LK_DEBUG: of_plat_dev_create : NAME=ethernet # LK_DEBUG: of_plat_dev_create : NAME=serial # LK_DEBUG: of_plat_dev_create : NAME=serial # LK_DEBUG: of_plat_dev_create : NAME=crypto # LK_DEBUG: of_plat_dev_create : NAME=pic # LK_DEBUG: of_plat_dev_create : NAME=gpio-controller # LK_DEBUG: of_plat_dev_create : NAME=gpio-controller # LK_DEBUG: of_plat_dev_create : NAME=localbus # LK_DEBUG: of_plat_dev_create : NAME=upm Most probably something is wrong in my device tree (listed below). Can someone please point me in the right direction? thanks a lot for your help. LK - /* * MPC8349E MDS Device Tree Source * * Copyright 2005, 2006 Freescale Semiconductor Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ /dts-v1/; / { model = "MPC8349EMDS"; compatible = "MPC8349EMDS", "MPC834xMDS", "MPC83xxMDS"; #address-cells = <1>; #size-cells = <1>; aliases { ethernet0 = &enet0; ethernet1 = &enet1; serial0 = &serial0; serial1 = &serial1; pci0 = &pci0; pci1 = &pci1; }; cpus { #address-cells = <1>; #size-cells = <0>; PowerPC,[EMAIL PROTECTED] { device_type = "cpu"; reg = <0x0>; d-cache-line-size = <32>; i-cache-line-size = <32>; d-cache-size = <32768>; i-cache-size = <32768>; timebase-frequency = <0>; // from bootloader bus-frequency = <0>;// from bootloader clock-frequency = <0>; // from bootloader }; }; memory { device_type = "memory"; reg = <0x 0x1000>; // 256MB at 0 }; [EMAIL PROTECTED] { device_type = "board-control"; reg = <0xe240 0x8000>; }; [EMAIL PROTECTED] { #address-cells = <1>; #size-cells = &
Re: How work ELDK4.0 in linux
VenkataKrishna ha scritto: I installed ELDK 4.0 in linux host system. Now I want to develop linux BSP for my target Board (MPC8260) free scale. Any one suggest me How to works and sequence of compiling linux BSP. Thanks and Regard's Venkatakrishna. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded You can have a detailed description here http://www.denx.de/wiki/DULG/ELDK. Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: need help with GPIO
/* IDSEL 0x15 */ 0xa800 0x0 0x0 0x1 &ipic 20 0x8 0xa800 0x0 0x0 0x2 &ipic 21 0x8 0xa800 0x0 0x0 0x3 &ipic 22 0x8 0xa800 0x0 0x0 0x4 &ipic 23 0x8 /* IDSEL 0x16 */ 0xb000 0x0 0x0 0x1 &ipic 23 0x8 0xb000 0x0 0x0 0x2 &ipic 20 0x8 0xb000 0x0 0x0 0x3 &ipic 21 0x8 0xb000 0x0 0x0 0x4 &ipic 22 0x8 /* IDSEL 0x17 */ 0xb800 0x0 0x0 0x1 &ipic 22 0x8 0xb800 0x0 0x0 0x2 &ipic 23 0x8 0xb800 0x0 0x0 0x3 &ipic 20 0x8 0xb800 0x0 0x0 0x4 &ipic 21 0x8 /* IDSEL 0x18 */ 0xc000 0x0 0x0 0x1 &ipic 21 0x8 0xc000 0x0 0x0 0x2 &ipic 22 0x8 0xc000 0x0 0x0 0x3 &ipic 23 0x8 0xc000 0x0 0x0 0x4 &ipic 20 0x8>; interrupt-parent = <&ipic>; interrupts = <67 0x8>; bus-range = <0 0>; ranges = <0x0200 0x0 0xb000 0xb000 0x0 0x1000 0x4200 0x0 0xa000 0xa000 0x0 0x1000 0x0100 0x0 0x 0xe210 0x0 0x0010>; clock-frequency = <>; #interrupt-cells = <1>; #size-cells = <2>; #address-cells = <3>; reg = <0xe0008600 0x100>; compatible = "fsl,mpc8349-pci"; device_type = "pci"; }; chosen { linux,stdout-path = &serial0; }; }; ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Re : kernel 2.6.26 & gcc 4.0.0
Maybe the problem is in the ppc tree. Since 2.6.27 ppc will be removed, perhaps, for your board the code isn't really tested in that tree. Check out if your board is under powerpc tree. However strange errors, it seems a lack of a semicolon or something like this. Fabien Oriede ha scritto: No, I did not modify this file. - Message d'origine De : Marco Stornelli <[EMAIL PROTECTED]> À : Fabien Oriede <[EMAIL PROTECTED]> Cc : linuxppc-embedded@ozlabs.org Envoyé le : Jeudi, 7 Août 2008, 11h59mn 19s Objet : Re: kernel 2.6.26 & gcc 4.0.0 Fabien Oriede ha scritto: Hello all, I'm trying to put a cramfs image on my custom board, and for this, I have followed this topic : http://www.denx.de/wiki/view/DULG/RootFileSystemOnACramfsFileSystem Now I have my cramfs image, but I have seen that I need to download my cramfs image in a mtdblock and for that, I need to set some MTD options in the kernel. (http://www.denx.de/wiki/view/DULG/FlashFilesystemsMTD) But when I make the command "make uImage", I have this problem : [EMAIL PROTECTED] linux-2.6.26]# make uImage CHKinclude/linux/version.h CHKinclude/linux/utsrelease.h CALLscripts/checksyscalls.sh CHKinclude/linux/compile.h CALLarch/powerpc/kernel/systbl_chk.sh CC arch/ppc/syslib/m8xx_setup.o arch/ppc/syslib/m8xx_setup.c:68: error: array type has incomplete element type arch/ppc/syslib/m8xx_setup.c:70: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:70: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:71: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:71: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:72: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:72: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:73: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:73: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:73: error: 'MTD_WRITEABLE' undeclared here (not in a function) arch/ppc/syslib/m8xx_setup.c:75: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:75: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:76: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:76: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c: In function 'm8xx_show_percpuinfo': arch/ppc/syslib/m8xx_setup.c:312: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'long unsigned int' arch/ppc/syslib/m8xx_setup.c:312: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'long unsigned int' arch/ppc/syslib/m8xx_setup.c: In function 'platform_init': arch/ppc/syslib/m8xx_setup.c:451: warning: assignment from incompatible pointer type make[1]: *** [arch/ppc/syslib/m8xx_setup.o] Erreur 1 make: *** [arch/ppc/syslib] Erreur 2 [EMAIL PROTECTED] linux-2.6.26]# powerpc-linux-gcc --version powerpc-linux-gcc (GCC) 4.0.0 (DENX ELDK 4.1 4.0.0) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE It seems that this is a problem with the version 4 of the gcc, and I would like to know if I need to change for an old version of gcc ? like 3.0. Or may be a patch exists to bring down this problem ? Thanks in advance. Regards, Fabien. _ Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Have you modified that file? -------- ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: kernel 2.6.26 & gcc 4.0.0
Fabien Oriede ha scritto: Hello all, I'm trying to put a cramfs image on my custom board, and for this, I have followed this topic : http://www.denx.de/wiki/view/DULG/RootFileSystemOnACramfsFileSystem Now I have my cramfs image, but I have seen that I need to download my cramfs image in a mtdblock and for that, I need to set some MTD options in the kernel. (http://www.denx.de/wiki/view/DULG/FlashFilesystemsMTD) But when I make the command "make uImage", I have this problem : [EMAIL PROTECTED] linux-2.6.26]# make uImage CHK include/linux/version.h CHK include/linux/utsrelease.h CALLscripts/checksyscalls.sh CHK include/linux/compile.h CALLarch/powerpc/kernel/systbl_chk.sh CC arch/ppc/syslib/m8xx_setup.o arch/ppc/syslib/m8xx_setup.c:68: error: array type has incomplete element type arch/ppc/syslib/m8xx_setup.c:70: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:70: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:71: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:71: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:72: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:72: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:73: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:73: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:73: error: 'MTD_WRITEABLE' undeclared here (not in a function) arch/ppc/syslib/m8xx_setup.c:75: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:75: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c:76: error: field name not in record or union initializer arch/ppc/syslib/m8xx_setup.c:76: error: (near initialization for 'mpc8xxads_partitions') arch/ppc/syslib/m8xx_setup.c: In function 'm8xx_show_percpuinfo': arch/ppc/syslib/m8xx_setup.c:312: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'long unsigned int' arch/ppc/syslib/m8xx_setup.c:312: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'long unsigned int' arch/ppc/syslib/m8xx_setup.c: In function 'platform_init': arch/ppc/syslib/m8xx_setup.c:451: warning: assignment from incompatible pointer type make[1]: *** [arch/ppc/syslib/m8xx_setup.o] Erreur 1 make: *** [arch/ppc/syslib] Erreur 2 [EMAIL PROTECTED] linux-2.6.26]# powerpc-linux-gcc --version powerpc-linux-gcc (GCC) 4.0.0 (DENX ELDK 4.1 4.0.0) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE It seems that this is a problem with the version 4 of the gcc, and I would like to know if I need to change for an old version of gcc ? like 3.0. Or may be a patch exists to bring down this problem ? Thanks in advance. Regards, Fabien. _ Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Have you modified that file? -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Run Linux Kernel 2.6.26 with u-boot 1.1.2 - problem
Zhivko Yordanov ha scritto: Hi all, I have a PowerPC embedded board with CPU 7448 and Chipset Marvell 64560. Till now, on board runs U-boot 1.1.2 and Linux kernel 2.6.12, with patches from Marvell. I ported the Marvell patch to Linux 2.6.26, but I can't start it. Now I'm searching for the problem. Is this possible with old u-boot (1.1.2) to start new versions of Linux kernel, or I need to port u-boot too? Best regards, Zhivko Yordanov ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Have you wrote the dts file? I suggest you to change Uboot, 1.1.2 is pretty old and if I remember correctly it doesn't support the dts, so you should build a cuImage with the dts embedded in the kernel. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Quick question about dts
M. Warner Losh ha scritto: I have a .dts file that works with 2.6.18 (MV Pro 5.0). I encode it directly into the kernel image. However, when I try to use it with my 2.6.23, 2.6.24 or 2.6.25 kernel trees, it doesn't work at all. In the MV Pro 5.0 kernel, I hacked the startup sequence to store a pointer to this blob in r3 so that it is moved in. I've done something similar in -current (for reasons that are too complicated to really explain well, we can't do this via the normal boot loader mechanisms). The dtc complains that the interrupt-controller property is obsolete on the chosen device. Does any documentation exist for how dts has evolved? I'd like to forward port what I have without examining the .dts files from both versions and guessing... Warner ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Check out the kernel documentation booting-without-of.txt of your version. Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: suffisant space for U-Boot, Linux and an initrd image ? (4MB SDRAM)
Fabien Oriede ha scritto: Hi all, I would like to know if this is possible to port U-Boot, Linux and an initrd image on a board with 4MB of SDRAM ? When Linux try to boot, there is this line on the terminal : "Memory : 2036k available (1036k kernel code, 256k data, 80k init, 0k highmem)" So I have 2036k memory available for my initrd image but I don't know if this is suffisant. Thanks in advance. Regards, Fabien. _ Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Only 4MB of sdram? As far as I know the smallest device with Linux is picotux with 8MB of ram and 2MB of flash. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Kexec on arch powerpc, device trees
Simon Kagstrom ha scritto: Hi! I'm looking a bit at adding kexec support for our mpc8347-based board running a 2.6.21 kernel. Since the board isn't a "PPC_MULTIPLATFORM" one, I did a quick patch to the Kconfig file to allow enabling Kexec for our own board. The patch below then adds the kexec machine callbacks for our board, and this is enough to build. I ran into two problems though: First, /proc/iomem did not contain any "System RAM", so the kexec userspace tool ended up without any usable memory regions and fails because of that. I thought this would be handled by the device tree support, where we have a node for the memory: memory { device_type = "memory"; reg = < 2000>; }; but apparently it isn't. Anyway, the add_ram_region_iomem() function adds a "System RAM" region for all "memory" nodes in the device tree. However, even after this kexec still fails: bash-3.1# /kexec -l /vmlinux Invalid memory segment 0xc000 - 0xc0304fff this time because the "System RAM" is really 0x-0x2000. If I use the --gamecube=1 option, kexec will load the kernel, but when trying to start it the board will just crash: bash-3.1# /kexec -e -d [ 1579.005719] Starting new kernel So some questions: Is the --gamecube=1 option really meant to be used without a gamecube and should the first version really fail? Is the "System RAM" usage correct? Are there any similar freescale-based boards which have kexec support? // Simon Index: linux-2.6.21-standard/arch/powerpc/platforms/83xx/cmxb.c === --- linux-2.6.21-standard.orig/arch/powerpc/platforms/83xx/cmxb.c +++ linux-2.6.21-standard/arch/powerpc/platforms/83xx/cmxb.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -35,6 +36,7 @@ #include #include #include +#include #include "mpc83xx.h" #include "cmxb.h" @@ -44,6 +46,31 @@ unsigned long isa_io_base = 0; unsigned long isa_mem_base = 0; #endif + +static void add_ram_region_iomem(void) +{ + struct device_node *np; + struct resource *res; + struct resource of_resource; + + for (np = NULL; (np = of_find_node_by_type(np, "memory")) != NULL;) { +if (of_address_to_resource(np, 0, &of_resource)) { +printk(KERN_ERR "Could not convert memory node to resource\n"); +of_node_put(np); +return; +} + res = alloc_bootmem(sizeof(struct resource)); + + res->name = "System RAM"; + res->start = of_resource.start; + res->end = of_resource.end; + res->flags = of_resource.flags; + request_resource(&iomem_resource, res); +of_node_put(np); + } +} + + /* * * Setup the architecture @@ -62,6 +89,7 @@ static void __init cmxb_setup_arch(void) ppc_md.pci_exclude_device = mpc83xx_exclude_device; #endif +add_ram_region_iomem(); } static void __init cmxb_init_IRQ(void) @@ -100,4 +128,9 @@ define_machine(cmxb) { .time_init = mpc83xx_time_init, .calibrate_decr = generic_calibrate_decr, .progress = udbg_progress, +#ifdef CONFIG_KEXEC + .machine_kexec = default_machine_kexec, + .machine_kexec_prepare = default_machine_kexec_prepare, + .machine_crash_shutdown = default_machine_crash_shutdown, +#endif }; ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Hi mate, I think currently there's support for the kexec on 85xx. Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Kernel is Hanging for page size 16KB.
Naresh Bhat ha scritto: Hi Guys, I have a board MIPS Malta and Linux 2.6.10 is running on that. By default 4KB page size will be allocated in the kernel (I mean to say I saw it when I do the "make menuconfig". Problem is: When I changed the page size to 16KB it will hang after mounting the file system. I am using the NFS for booting the board. Can anybody help me on this issue... ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded This is not a MIPS a mailing list. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: how to allocate 9MB of memory in kernel ?
On Tuesday 22 July 2008, Misbah khan wrote: I am getting kernel panic while trying these as suggested by you ,the following points will elaborate my concern :- i am allocating memory using vmalloc and remaping to the SDRAM area as :- buf_area = vmalloc(sizeof(circularbuffer_S)); if(!buf_area) { printk(KERN_ALERT"vmalloc failed \n"); return -1; } buf_area = (circularbuffer_S *)ioremap(770,90); if(!buf_area) { printk(KERN_ALERT"ioremap failed \n"); return -1; } Misbah I suggest you, before to write in a Linux mailing list, to read Understanding the Linux kernel, Linux device drivers, Understanding the Linux virtual memory manager and so on, to study them very well, to think well about your problem and then ask for help in a mailing list. Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: how to allocate 9MB of memory in kernel ?
ur main memory. Memory is alrady directly accessible in the kernel after allocating with get_free_pages, kmalloc or vmalloc. No need to play with __iomem pointers for this. Arnd <>< ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: No filesystem could mount root
mahendra varman ha scritto: There are no messages from the kernel that it's trying NFS. You can check the boot arguments you are passing to the kernel. The boot arguments are passed correctly only. setenv bootargs console=ttyS0,57600 root=/dev/nfs nfsroot=192.168.0.6:/root/FILESYSTEM/target/target-minimal ip=192.168.0.200:192.168.0.6:192.168.0.1:255.255.255.0::eth0 still Iam getting the above said error Any clue?? ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Sometimes ago I had the same problem, I don't exactly remember the problem, but it was related to the NFS server configuration. Check it out. Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: how to allocate 9MB of memory in kernel ?
Misbah khan ha scritto: This i am not very sure with :- Can we allocate 9MB using vmalloc and assure it to be low memory and not highmem ? Why do you need only low memory? And why do you need to allocate memory? If I understood correctly you need only to "ioremap" a chunk of memory. can we ioremap 9 MB SDRAM to kernel virtual ? Yep. can we use vmalloc and do mmap to that allocated memory ,if the pages are not continues then is it going to concern mapping to user space ? The "contiguous" problem is related only to DMA operations. ---Misbah <>< Arnd Bergmann wrote: On Thursday 17 July 2008, Misbah khan wrote: I need to allocate 9 MB of memory in to the kernel space which i need to mmap for the application to access. I need to know what could be the best possible way of doing the same. If you don't need the memory to be physically contiguous, you can use vmalloc to get the memory, but then you need to use remap_vmalloc_range for mapping the memory into a user address space. Arnd <>< ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: increase lowmem value for ppc
Ruksen INANIR ha scritto: Thanks for your comments. I tried the highmem option but one of the device drivers does not support highmem, so it did not work. Strangeyou can try to look at it, it could be only some GFP flag. the only choice for me is to increase the lowmem to 1520 MB. the maximum lowmem value i reached succesfully is 1503 MB. but any value more than 1503 results kernel not able to load kernel modules. Mmmmhave you tried a stress test? It sounds like a bit strange that the kernel works well with this mapping but without other modification. Upgrading to a 2.6.x kernel may solve the problem, but it needs a lot of effort. Does 2.6.x kernel support 2G physical memory? It's the same. Some architecture have 36-bit addressing, but I don't know if the latest kernel has the support for this feature for powerpc. Marco Stornelli wrote: Ruksen INANIR ha scritto: Is there any side effects of changing the address splitting? Yes, in this way the application address space is smaller than normal. Some big applications (for example same dbms) might not work. Usually with 2G/2G most of the applications work well. What should i change for 2G/2G splitting? should i shift the kernel start? Thanks Yes in advanced options of the kernel menu, but sometimes it's not easy. Sometimes ago I had to do the same thing but I have to change the kernel code because some operations were hard-coded. Be careful because it's not an easy operation. However I'd suggest you to use the highmem, the memory performance are worse than direct memory mapping, but usually it's not a problem because the overhead is low. Marco Stornelli wrote: Marco Stornelli ha scritto: Ruksen INANIR ha scritto: Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem . The ppc card has 2G on board memory. 2.4.22 kernel is used. Thanks ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance. Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: increase lowmem value for ppc
Ruksen INANIR ha scritto: Is there any side effects of changing the address splitting? Yes, in this way the application address space is smaller than normal. Some big applications (for example same dbms) might not work. Usually with 2G/2G most of the applications work well. What should i change for 2G/2G splitting? should i shift the kernel start? Thanks Yes in advanced options of the kernel menu, but sometimes it's not easy. Sometimes ago I had to do the same thing but I have to change the kernel code because some operations were hard-coded. Be careful because it's not an easy operation. However I'd suggest you to use the highmem, the memory performance are worse than direct memory mapping, but usually it's not a problem because the overhead is low. Marco Stornelli wrote: Marco Stornelli ha scritto: Ruksen INANIR ha scritto: Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem . The ppc card has 2G on board memory. 2.4.22 kernel is used. Thanks ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance. Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: increase lowmem value for ppc
Marco Stornelli ha scritto: Ruksen INANIR ha scritto: Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem . The ppc card has 2G on board memory. 2.4.22 kernel is used. Thanks ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance. Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: increase lowmem value for ppc
Ruksen INANIR ha scritto: Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem . The ppc card has 2G on board memory. 2.4.22 kernel is used. Thanks ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: how to allocate 9MB of memory in kernel ?
Misbah khan ha scritto: You can use the mem option to tell to the kernel that you've got less ram you really have. I really didnt got the point you made. Can you please elaborate it for my understanding. If you've got 128MB of ram you can use the mem option to tell to the kernel the it can use only (128 - 9) MB of ram, after that you can use that chunk of ram, however I think it's not the case if your goal is to use a sdram as you said in the previous message. However you can read Linux device drivers chapter 8 i dont need to allocate large memory at the boot time also vmalloc and kmalloc i cant use as it can allocate free page up to 128kb, hence if you could suggest me a better technique i would really appriciate . The problem about 128KB is only for kmalloc. If I understood correctly you need only to remap the 9MB of your sdram. ---Misbah <>< Marco Stornelli wrote: Misbah khan ha scritto: Hi all, I need to allocate 9 MB of memory in to the kernel space which i need to mmap for the application to access. I need to know what could be the best possible way of doing the same. Please share your experience in this regard . Thank you in advance Misbah <>< You can use the mem option to tell to the kernel that you've got less ram you really have. However you can read Linux device drivers chapter 8 "Obtaining Large Buffers" :). Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: how to allocate 9MB of memory in kernel ?
Misbah khan ha scritto: Hi all, I need to allocate 9 MB of memory in to the kernel space which i need to mmap for the application to access. I need to know what could be the best possible way of doing the same. Please share your experience in this regard . Thank you in advance Misbah <>< You can use the mem option to tell to the kernel that you've got less ram you really have. However you can read Linux device drivers chapter 8 "Obtaining Large Buffers" :). Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: NAND Flash, Localbus and UPM
Alemao ha scritto: Hi all, Im trying to use a NAND flash (NAND512W3A, from ST) in MPC8360 localbus, with UPM. My board is based on the mpc8360erdk. I also have a NOR flash connected in the localbus. But I have some doubts in how to put this information at the DTS file. Im doing this way: [EMAIL PROTECTED] { . . . }; [EMAIL PROTECTED] { compatible = "fsl,mpc8360-localbus"; #address-cells = <2>; #size-cells = <1>; reg = ; ranges = <0 0 ff80 100 // nor flash, 16 MB 1 0 6000 400>; // nand flash, 64 MB (512 Mb) [EMAIL PROTECTED],0 { compatible = "amd,s29glxxx", "cfi-flash"; reg = <0 0 4>; bank-width = <2>; device-width = <1>; }; [EMAIL PROTECTED],0 { compatible = "stmicro,NAND512W3A", "fsl,upm-nand"; reg = <1 0 400>; //reg = <1 0 1>; width = <1>; upm = "A"; upm-addr-offset = <16>; upm-cmd-offset = <8>; gpios = <4 18>; gpio-parent = <&qe_pio>; wait-pattern; wait-write; }; }; Maybe it'd be better: NOR: [EMAIL PROTECTED],0 { compatible = "amd,s29glxxx", "cfi-flash"; reg = <0 0 4>; bank-width = <2>; device-width = <1>; }; NAND: [EMAIL PROTECTED],0 { compatible = "stmicro,NAND512W3A", fsl,upm-nand"; reg = <1 0 400>; //reg = <1 0 1>; width = <1>; upm = "A"; upm-addr-offset = <16>; upm-cmd-offset = <8>; gpios = <4 18>; In range information: ranges = <0 0 ff80 100 // nor flash, 16 MB 1 0 6000 400>; // nand flash, 64 MB (512 Mb) i dont know what ff80 and 6000 means, They are the physical addresses. You have to write the addresses according to your memory map. i got those values from some posts in the mail-list. I also searched the datasheet and didnt find anything about those values. The size values, 100 and 400, im using the memory density. Is this correct? Cause i read some posts that the nand size was very small, like 32K, seems that its something like the block size of nand. Ok the last value is the size. In reg information: reg = <0 0 100>;// nor-flash reg = <1 0 400>;// nand-flash Dont know if its correct. The third argument i used the size, but the second i dont know what value use. Ok, right. The second value is simply an offset. In other post by Anton, i saw something like these: [EMAIL PROTECTED],0 { flash { ... }; }; Should i use it? No I think it's not needed, however, follow the instruction of booting-without-of.txt. In this guide you can find all the nodes you can use. I must confess, im really confuse about all this stuffs. I read linux/Documentation/powerpc/booting-without-of.txt but didnt clarify so much. Cheers, -- Alemao ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: mpc744x, Marvell mv6446x kernel guidance please
Stephen Horton ha scritto: Hello folks, In a current work project, I have inherited a compactPCI board that has an mpc7447/7448 powerpc processor as well as a Marvell system controller, model mv64462 (stripped down mv64460). The board has a somewhat working Gentoo Linux port running on it from long ago and a company far far away (kernel version 2.6.9 built using arch/ppc). To prepare for an upcoming deployment, I would like to bring the OS up-to-date on this board with a newer kernel (targeting Gentoo 2008), but I am unsure of the approach to take. I am a software developer, but normally do not work on kernel porting / board integration. I have researched the arch/ppc to arch/powerpc migration, but I'm a bit intimidated by the 'new' device tree symantics and other changes to the stream. Here are some questions: 1. Is it possible with the 2.6.24 (Gentoo 2008) kernel to still use arch/ppc for this platform architecture? I've tried to get this to compile, but am having trouble with files from arch/powerpc getting pulled in; then I read some comments (from I believe this forum) that indicated that arch/ppc is not longer supposed to compile 2. Does anyone have example code for this platform architecture? Any freebees I could use for creating my device tree? 3. Any advice of any kind? Regards, Stephen ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded > 1. Is it possible with the 2.6.24 (Gentoo 2008) kernel to still use > arch/ppc for this platform architecture? I've tried to get this to > compile, but am having trouble with files from arch/powerpc getting > pulled in; then I read some comments (from I believe this forum) that > indicated that arch/ppc is not longer supposed to compile Good idea, I suggest you to use arch/powerpc, arch/ppc won't be supported in the future and this folder there won't be anymore! > 2. Does anyone have example code for this platform architecture? > Any freebees I could use for creating my device tree? I suggest you to use, as starting point, a dts file for a board similar to your board, I don't know if your board is somehow derived from one evaluation board. > 3. Any advice of any kind? First of all read the kernel documentation about dts in the powerpc folder. You can find in that documentation even some reference to the open-firmware standard (IEEE 1275). Last suggestions, I wouldn't use Gentoo Linux but a specific embedded distribution, for example ELDK. Regards, -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Booting ML405 (Kernel panic - not syncing: No init found)
neeraj garg ha scritto: Hi, I am trying to boot ML405 with Linux source code downloaded from http://www.git.xilinx.com . My cross compiler tool chain version is gcc-3.4.1, glibc-2.3.2 and binutils-2.15. I have also downloaded RAMDISK from same url (http://www.git.xilinx.com). When I download zImage.initrd.elf using XMD everything goes fine, untill RAMDISK is uncompressed, I get following messages : loaded at: 0040 008E519C board data at: 008E3120 008E319C relocated to: 00404074 004040F0 zimage at: 00404E65 00517841 initrd at: 00518000 008E2B4A avail ram: 008E6000 0200 //there is restriction to use 32 MB of memory some of the initial messages, and then [0.00] Zone PFN ranges: [0.00] DMA 0 -> 8192 [0.00] Normal 8192 -> 8192 [0.00] Movable zone start PFN for each node [0.00] early_node_map[1] active PFN ranges [0.00] 0:0 -> 8192 [0.00] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [0.00] Kernel command line: console=ttyUL0,19200 ip=off root=/dev/ram rw init=/sbin/init [0.00] Xilinx INTC #0 at 0x1E00 mapped to 0xFDFFF000 [0.00] PID hash table entries: 128 (order: 7, 512 bytes) [0.000116] Console: colour dummy device 80x25 [0.000285] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [0.000506] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [0.004931] Memory: 26168k available (1740k kernel code, 576k data, 104k init, 0k highmem) [0.096364] Mount-cache hash table entries: 512 few more messages, and then [2.218059] RAMDISK: Compressed image found at block 0 [3.708864] VFS: Mounted root (ext2 filesystem). [3.716225] Freeing unused kernel memory [3.736691] Failed to execute /sbin/init. Attempting defaults... [3.748073] Kernel panic - not syncing: No init found. Try passing init= option to kernel. [3.772040] Rebooting in 180 seconds..[ 183.487314] Signal: 8 [ 183.487322] Code: 0 [ 183.487329] Addr: c0010540 [ 183.488000] Oops: Exception in kernel mode, sig: 8 [#1] [ 183.488000] NIP: c0010540 LR: 00029030 CTR: c0246cec [ 183.488000] REGS: c1c17dd0 TRAP: 2007e90 Not tainted (2.6.25-xlnx) [ 183.488000] MSR: <> CR: c022e764 XER: c024c0e8 [ 183.488000] TASK = c1c14850[1] 'init' THREAD: c1c16000 [ 183.488000] GPR00: c024 c0246cec c024 c0246cec [ 183.488000] GPR08: c025 0002bf20 c022e764 c025 c1c17e80 c0018e44 c1c14850 [ 183.488000] GPR16: 002a b8a199a2 002a b87fa729 c000bc58 b8a199a2 b873dc16 002a [ 183.488000] GPR24: b87fa729 c0018e44 c022e764 00b4 c1c17e70 00029030 [ 183.488000] NIP [c0010540] cpu_clock+0x44/0x6c [ 183.488000] LR [00029030] 0x29030 [ 183.488000] Call Trace: [ 183.488000] [c1c17ca0] [c0008ad8] show_stack+0x58/0x180 (unreliable) [ 183.488000] [c1c17cd0] [c0008dec] show_regs+0x1e0/0x2cc [ 183.488000] [c1c17d00] [c00031d0] die+0x6c/0x88 [ 183.488000] [c1c17d20] [c000323c] _exception+0x50/0xe0 [ 183.488000] [c1c17dc0] [c0002d90] ret_from_except_full+0x0/0x4c [ 183.488000] Instruction dump: [ 183.488000] 3880 7c000124 [ 183.488000] 4bfffef1 7d234b78 [ 183.488000] Kernel panic - not syncing: Attempted to kill init! --I was doubtful about busybox version used in RAMDISK provided at git site. So I compiled my own busybox-1.10.3 with my cross compiler tool chain still I am facing the same problem. Can anybody guide me. The problem is that the kernel can't find the init program. Check out it, does it exist? You can use init= kernel option to specify a new position other than the default one, if it's in a specific folder. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: RAMDISK: ran out of compressed data
Siva Prasad ha scritto: Hi, The same ramdisk works fine for 2.6.15 kernel. We are just upgrading to a new version, and would like to get that ramdisk to work on the new one as well. Can you please elaborate on what you mean by compression format. Mine currently use the standard .gz extension/compression. Thanks Siva Siva Prasad ha scritto: Hi, I am getting the following error when I tried to boot with ramdisk. Any specific reason or clue why this is happening? RAMDISK: Compressed image found at block 0 RAMDISK: ran out of compressed data invalid compressed format (err=1) I am running into this on 8641D runing 2.6.24-rc6 kernel. My .config around block area are... CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=49152 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 Thanks Siva I think it's not a kernel problem but a problem related with the compression method instead. Check out how you are compressing the ramdisk. Yes, I meant a problem about gzip or bzip2, but if it works with 2.6.15I don't what is the problem. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: flash driver
liran raz ha scritto: I've set in *.dts: [EMAIL PROTECTED] { compatible = "fsl,mpc8272-localbus", "fsl,pq2-localbus"; #address-cells = <2>; #size-cells = <1>; reg = ; ==> from here "mine" ranges = <0 0 fc00 0400>; [EMAIL PROTECTED],0 { compatible = "cfi-flash"; reg = <0 0 400>; bank-width = <4>; device-width = <2>; }; I still see this message: of-flash: probe of fc00.flash failed with error -16 (when I try to read from /dev/mtd0 (major 90 minor 0) it seems to read the flash content, write - fails). Liran. On Tue, Jul 8, 2008 at 2:04 PM, liran raz <[EMAIL PROTECTED]> wrote: On Tue, Jul 8, 2008 at 2:34 AM, Marco Stornelli < [EMAIL PROTECTED]> wrote: liran raz ha scritto: hi, I'm trying to setup the kernel's (linux-2.6.24) flash driver. Our flash is combined of 2 chips of S29GLN (spanion) 2 X 16 bits data chips connected to 32 bits data bus. This flash is compatible with the AMD CFI. I've configured the kernel to: 1. Detect flash chips by common flash interface (CFI) probe. 2. Support for AMD/Fujitsu flash chips (The flash starts at absolute address 0xfc00 & size is 0x400) When the kernel starts I see the messages attached below, which I think indicate that something might be wrong with the detection of the flsah. 1. Is this correct ? - something is wrong with the flash detection? 2. Which device I need to use in order to read/write to the flash? (I don't see any /flash device under /dev/ only: /dev/mtd0 .. /dev/mtd3 & /dev/mtdblock0 .. /dev/mtdblock3) Debug messages (DEBUG_CFI is defined): physmap platform flash device: 0400 at fc00 Number of erase regions: 1 Primary Vendor Command Set: 0002 (AMD/Fujitsu Standard) Primary Algorithm Table at 0040 Alternative Vendor Command Set: (None) No Alternate Algorithm Table Vcc Minimum: 2.7 V Vcc Maximum: 3.6 V No Vpp line Typical byte/word write timeout: 128 \us Maximum byte/word write timeout: 1024 \us Typical full buffer write timeout: 128 \us Maximum full buffer write timeout: 4096 \us Typical block erase timeout: 1024 ms Maximum block erase timeout: 16384 ms Chip erase not supported Device size: 0x200 bytes (32 MiB) Flash Device Interface description: 0x0002 - supports x8 and x16 via BYTE# with asynchronous interface Max. bytes in buffer write: 0x20 Number of Erase Block Regions: 1 Erase Region #0: BlockSize 0x2 bytes, 256 blocks physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank Amd/Fujitsu Extended Query Table at 0x0040 physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. of-flash: probe of fc00.flash failed with error -16 Thanks, Liran. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded of-flash: probe of fc00.flash failed with error -16 You have to write some code in dts file like the phys address and other stuff. The other messages could be normal, don't worry. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 First of all, check out the error -16 to see what exactly happens, in addition, check out the chip select configuration and the kernel configuration, for example you have to select "Flash device in physical memory map based on OF description". -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Freescale SEC driver with cryptoloop on MPC8567e
mike zheng ha scritto: Hello, Any one know how can I integrate the Freescale's SEC driver with cryptoloop in Kernel2.4 on MPC8567e? Or which version of kernel shall I take if it is already there? Thanks for your help, Mike ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded You can see http://ocf-linux.sourceforge.net/ and check out what kernel version you need. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: RAMDISK: ran out of compressed data
Siva Prasad ha scritto: Hi, I am getting the following error when I tried to boot with ramdisk. Any specific reason or clue why this is happening? RAMDISK: Compressed image found at block 0 RAMDISK: ran out of compressed data invalid compressed format (err=1) I am running into this on 8641D runing 2.6.24-rc6 kernel. My .config around block area are... CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=49152 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 Thanks Siva ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded I think it's not a kernel problem but a problem related with the compression method instead. Check out how you are compressing the ramdisk. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: flash driver
liran raz ha scritto: hi, I'm trying to setup the kernel's (linux-2.6.24) flash driver. Our flash is combined of 2 chips of S29GLN (spanion) 2 X 16 bits data chips connected to 32 bits data bus. This flash is compatible with the AMD CFI. I've configured the kernel to: 1. Detect flash chips by common flash interface (CFI) probe. 2. Support for AMD/Fujitsu flash chips (The flash starts at absolute address 0xfc00 & size is 0x400) When the kernel starts I see the messages attached below, which I think indicate that something might be wrong with the detection of the flsah. 1. Is this correct ? - something is wrong with the flash detection? 2. Which device I need to use in order to read/write to the flash? (I don't see any /flash device under /dev/ only: /dev/mtd0 .. /dev/mtd3 & /dev/mtdblock0 .. /dev/mtdblock3) Debug messages (DEBUG_CFI is defined): physmap platform flash device: 0400 at fc00 Number of erase regions: 1 Primary Vendor Command Set: 0002 (AMD/Fujitsu Standard) Primary Algorithm Table at 0040 Alternative Vendor Command Set: (None) No Alternate Algorithm Table Vcc Minimum: 2.7 V Vcc Maximum: 3.6 V No Vpp line Typical byte/word write timeout: 128 \us Maximum byte/word write timeout: 1024 \us Typical full buffer write timeout: 128 \us Maximum full buffer write timeout: 4096 \us Typical block erase timeout: 1024 ms Maximum block erase timeout: 16384 ms Chip erase not supported Device size: 0x200 bytes (32 MiB) Flash Device Interface description: 0x0002 - supports x8 and x16 via BYTE# with asynchronous interface Max. bytes in buffer write: 0x20 Number of Erase Block Regions: 1 Erase Region #0: BlockSize 0x2 bytes, 256 blocks physmap-flash.0: Found 2 x16 devices at 0x0 in 32-bit bank Amd/Fujitsu Extended Query Table at 0x0040 physmap-flash.0: CFI does not contain boot bank location. Assuming top. number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. of-flash: probe of fc00.flash failed with error -16 Thanks, Liran. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded >of-flash: probe of fc00.flash failed with error -16 You have to write some code in dts file like the phys address and other stuff. The other messages could be normal, don't worry. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: mpc8313erdb
Nidhi Dua ha scritto: We are using the board MPC8313ERDB and we are facing problems regarding u-boot environment variables(the environment variables displayed after giving 'printenv' command at u-boot prompt). We are following the steps stated as below: 1. =>printenv output is: bootargs=root=/dev/mtdblock2 rootfstype=jffs2 rw console=ttyS0,115200 bootcmd=bootm fe10 - fe70 filesize=1a4a05 fileaddr=20 ipaddr=192.168.1.101 serverip=192.168.1.57 stdin=serial stdout=serial stderr=serial ethact=TSEC0 Here ethact is TSEC0 by default. 2. =>setenv ethact TSEC1 3. =>saveenv output: Saving Environment to Flash... Un-Protected 1 sectors Erasing Flash... . done Erased 1 sectors Writing to Flash... done Protected 1 sectors Here we have set the ethact variable to TSEC1 and saved it. Now it is showing that this value of ethact is burnt in flash. But after the board is reset, 4. =>printenv ileaddr=20 ipaddr=192.168.1.101 serverip=192.168.1.57 stdin=serial stdout=serial stderr=serial ethact=TSEC0 Here again the value of ethact is changed to TSEC0. we have following questions: question 1: We want to know the reason why it(ethact variable) changes to TSEC0 everytime with a reset. question2: After we have set ethact to TSEC1 and saved it(=>saveenv) and tried to ping the Host from u-boot prompt it is working (displaying: 'host alive'). But when we are trying to ping Target board from the host it is showing: PING 192.168.1.101 (192.168.1.101) 56(84) bytes of data. From 192.168.1.57 icmp_seq=2 Destination Host Unreachable From 192.168.1.57 icmp_seq=3 Destination Host Unreachable --- 192.168.1.101 ping statistics --- 12 packets transmitted, 0 received, +9 errors, 100% packet loss, time 11002ms , pipe 3 Why is it happening so? question 3: After we have set 'ethact' to TSEC1, the kernel is loaded, and we have logged -in, when we try to ping the Host from target it says '100% packet lost'. also we are unable to ping target from the host. Why is it happening so? Awaiting a prompt reply Regards Nidhi Dua ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded You have to set ethprime=TSEC1 because ethact isn't saved, but surely you can find more information in the U-Boot mailing list. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D Msi
Kumar Gala ha scritto: On Jun 16, 2008, at 10:16 AM, Marco Stornelli wrote: Hi, I've got a device connected with Pci-express to an mpc8641d_hpcn evaluation board (rev. 2.0) and I'm using the latest kernel. This device use MSI to generate an interrupt, but it seems possible that the only MSI that can be triggered through the standard PCI Express is interrupt 0. Is there a way to solve it? Some workaround or something like it? what exactly do you mean by using the latest kernel? The powerpc-next tree or 2.6.26? - k kernel 2.6.25.7, but I think it isn't a kernel problem but an hardware problem instead, so I wondered if there's a patch for that problem. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
MPC8641D Msi
Hi, I've got a device connected with Pci-express to an mpc8641d_hpcn evaluation board (rev. 2.0) and I'm using the latest kernel. This device use MSI to generate an interrupt, but it seems possible that the only MSI that can be triggered through the standard PCI Express is interrupt 0. Is there a way to solve it? Some workaround or something like it? Thanks. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: PCI Express error on MPC8641D-HPCN
Reinhard Weiss ha scritto: Hi, I try to get 2.6.25.6 running on Freescale's MPC8641D-HPCN (Processor is revision 1), but somehow the PCI express controller setup fails: PCI: Probing PCI hardware PCI: :00:00.0: class b20 doesn't match header type 01. Ignoring class. PCI: 0001:02:00.0: class b20 doesn't match header type 01. Ignoring class. PCI: Closing bogus Apple Firmware region 1 on bus 0x03 PCI: Closing bogus Apple Firmware region 2 on bus 0x03 PCI: Cannot allocate resource region 0 of device :01:1d.0, will remap PCI: Cannot allocate resource region 1 of device :01:1d.1, will remap PCI: Failed to allocate I/O resource #0:[EMAIL PROTECTED] for :01:1d.0 PCI: Failed to allocate I/O resource #1:[EMAIL PROTECTED] for :01:1d.1 PCI: not setting up bridge :00:00.0 for bus 1 PCI: Enabling device :00:00.0 (0106 -> 0107) PCI: not setting up bridge 0001:02:00.0 for bus 3 PCI: Enabling device 0001:02:00.0 (0106 -> 0107) - PCIe worked with 2.6.20.7 on this board, but unfortunately SMP support was not ready then. - on MPC8610-HPCD, PCIe works with 2.6.25.6, so I wonder what could be the difference. Any ideas? Best regards, Reinhard ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded I'm working with this board and I'm beginning to doubt that the pci express works well. You can see my problems in my previous posts in this mailing list sometimes ago. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Concern regarding Booting up of linux board ...
Misbah khan ha scritto: Misbah khan wrote: Hi all .. we are using IMX-31 (ARM Core) processor with Linux 2.6 and redboot as boot loader with jffs2 for NAND flash and facing the concerned problem :- The board is booting fine but it sometimes takes 21 sec to boot and sometimes takes 31 sec to boot which is a concern for us actually it takes usually 21 sec and 31 sec sometimes If we remove the power after booting and again insert the power supply It gives the following warning message related to jffs2 JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x011dec00: read 0x2464ba56, calculated 0x474915f8. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x0112be00: read 0x149efa32, calculated 0x8f32b0eb. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x0112ba00: read 0xdcfafeb2, calculated 0xb86eb888. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x013e8600: read 0x20bed1fc, calculated 0xe9509808. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x013e9200: read 0x6e4f40bd, calculated 0x28248aa4. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x013e8e00: read 0x6e4f40bd, calculated 0x59eaeede. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x011df000: read 0x6e4f40bd, calculated 0xbf916037. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x011dde00: read 0x6e4f40bd, calculated 0x946d0599. JFFS2 notice: (878) check_node_data: wrong data CRC in data node at 0x011dc800: read 0x6e4f40bd, calculated 0x1e890eaa. JFFS2 notice: (759) check_node_data: wrong data CRC in data node at 0x008c0200: read 0xd3ad877b, calculated 0xf4f0b5f9. JFFS2 notice: (759) check_node_data: wrong data CRC in data node at 0x0097b800: read 0x8d0623a1, calculated 0xefce6ce7. JFFS2 notice: (759) check_node_data: wrong data CRC in data node at 0x00965200: read 0x8d0623a1, calculated 0x92a2a227. Having never experienced this before i do believe that this could be the jffs2 related concern hence just thinking of using YAFFS to increase the booting effeciency ... I would remain thankful if any of you could share your experience or thaught regarding this ... Thank you Misbah <>< Thank you for your reply This is not related to ARM processor specific rather its a generic problem related to booting of Board Hence need for your help ... Misbah <>< Ok but for this mailing list a generic problem related to booting of a board is off-topic. You can certainly find a mailing list about JFFS2. -- Marco Stornelli Embedded Software Engineer CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni http://www.coritel.it [EMAIL PROTECTED] +39 06 72582838 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: linux powerpc and device trees
- Reyneke ha scritto: Hi All, I am busy with a platform move from the arch/ppc to arch/powerpc tree of the linux kernel. Being relatively new to device trees, I'm trying to ensure I have all the steps covered. The platform is very similar to the AMCC Sequioa (440EPx) and that board has been used as reference for the code changes required. Kernel version is 2.6.25, using u-boot 1.2.0 (CONFIG_OF_xxx enabled, debug output on). My understanding of the whole powerpc branch boot process is as follows: 1. Add platform to arch/powerpc/platforms/4xx 2. Create a .dts in arch/powerpc/boot/dts 3. Setup .config and compile uImage 4. Compile device tree blob using dtc 5. As test, tftp uImage, RootFS, and deviceblob to system memory 6. Use u-boot's bootm command to boot kernel Every seems OK, until you get to the boot part. The boot hangs: Verifying Checksum ... OK Booting using flat device tree at 0x300 ## initrd at 0x0240 ... 0x027FEDF7 (len=8383928=0x7FEDB8) Loading Ramdisk to 0f332000, end 0fb30db8 ... OK ## Transferring control to Linux (at address ) ... Using various diagnostics like BDI, ft_dump_blob etc I can see that u-boot does what I expect it to do, and the device tree blob looks valid. Tracing into the kernel init all looks fine until you hit MMU_init - at this point it looks like the total memory is calculated as 0. Evaluating the .dts file the following lines are immediately suspect: memory { device_type = "memory"; reg = ; /* Filled in by zImage */ }; This is where I am unclear as to how to prepare the device tree. Is step (4) correct since I'm using uImage? Where is the memory information suppose to come from? Previously U-boot passes this kind of data to the kernel via bd_t - how does it work now using device trees? Cheers Jan _ http://clk.atdmt.com/UKM/go/msnnkmgl001007ukm/direct/01/ ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Some information aren't statically filled in the dts but they are added dynamicly by U-Boot. This stuff has to be done in proper U-Boot functions. I suggest you to check these functions comparing them even with other boards. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Booting Linux from an ACE File
mojtaba ha scritto: Dear all, Could you please explain what happens exactly when Linux is booting from a compact flash? To my few knowledge, the Linux compressed image will be copied somewhere in memory, will be uncompressed and the control will jump to the beginning address of the Linux kernel. Is there any boot loader that copies the Linux compressed image to the memory? Where in memory does it put the Linux kernel? For example, if I have 2 DDRs in my hardware, in which of them it will be put the kernel? Can I set the kernel location in memory manually? Might be an stupid question but: Is it possible for the kernel to be half in BRAMS and half in DDR? Regards, Moji ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded > Is there any boot loader that copies the Linux compressed image to the > memory? Yes there are several boot-loader for example U-Boot. > Where in memory does it put the Linux kernel? For example, if I have 2 DDRs in my hardware, in which of them it will be put the kernel? The kernel usually is copied at the start of the memory, so if you have mapped the address 0x in the first bank, here will be copied it. > Can I set the kernel location in memory manually? Yes but usually it's not needed and you have to be carefully to modify it. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Compiling applications using cross compiler packs libc
Ramkumar J ha scritto: Hi All, I am trying to execute a compiled simple stand-alone application ( TestApp_Memory.c compiled with gcc 4.1.0 cross compiler for ppc [ I have installed this through crosstool on a Linux PC ] ) on the ML403 Board instead of using the compiler-set provided by XPS. I tried many options ( like --static to gcc) to make the object file little as produced by the XPS Compiler Set. I find that when static is provided, the glibc is also packed up as a part of application though I never make any calls to the glibc libraries. If I dont provide the --static, the gcc produces a code assuming the library as shared and hence I get an interp section. Is there any way to produce the code with only the application and NOT the glibc ( As XPS compilers does). Am I missing out something. Is there any specific flags. I find even nodefaultlib does not work. For Eg: This is another example I tried int main() { int a = 5; int b = 10; int c = 15; c = a + b; c += 12; return 0; } With --static compilation, size is about 500K for the above code though the useful content is too less. objdump reveals unneccessary calls to the libc. Any suggestions would be helpful. Thanks and Regards, Ramkumar ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded You shouldn't use --static but -Os to have a "little" program. With static you include all the libraries in your application therefore you have a bigger application. In addition libc are basic libraries so you have to use it. If you have size problems you can use uclibc. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Running a section of code from internal memory
Sanal Kumar V K ha scritto: Hi All, I am porting a GW/router application to embedded Linux for a product based on SoC; following is the version information: kernel: 2.6.10 uClibc: 0.9.27 gcc: 3.4.3 binutils: 2.15.94.0.2.2 A small part of the code needs to run from the on-chip "L2 scratch" for getting optimum performance. I would really appreciate if some could give me some pointers regarding the following questions: 1. Is #pragma section supported by gcc. The compiler prints this warning "ignoring #pragma section" and the pragma is ignored indicating that it is not supported. Is there any way I can get the pragma working for gcc or any alternative? 2. Is there any patch available to modify the kernel thread creation so as to place the stack and tcb in the user configured addresses for kernel threads (similar to taskInit() in VxWorks)? Thanks in advance, Sanal ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded I think at application level you can use the #pragma directive but I'm sure that you can't use this directive at kernel level. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express problem
> > On Mar 25, 2008, at 8:03 AM, Marco Stornelli wrote: >> Kumar Gala ha scritto: >>> On Mar 25, 2008, at 3:02 AM, Marco Stornelli wrote: >>>> Hi, >>>> >>>> do you remember my problem with the pci-express? I have an >>>> mpc8641d_hpcn (rev. 2.0) board connected via pci-express with the >>>> Xilinx ML555 evaluation board. I'm using the 2.6.24 kernel. I'm >>>> observing this strange behavior: >>>> >>>> 1) I turn on the board and I stop the U-boot >>>> 2) I load the FPGA microcode >>>> 3) I start the system >>>> 4) I load the driver module and I read a version register in the >>>> FPGA >>>> 5) The system crashes with a "machine check exception: transfer >>>> error ack signal" >>>> 6) reboot >>>> 7) same procedure (without load the FPGA again) >>>> 8) now I can read the registers! >>>> >>>> If I repeat the procedure again it doesn't work anymore. I think >>>> it's a problem with pci-express controller. Have you got any >>>> suggestions? >>>> >>>> Thanks. >>> Where are you loading the FPGA microcode (linux, u-boot)? Also, is >>> the FPGA the only device connected over PCIe? >>> - k >> I load the FPGA with JTAG and with a Xilinx program without a >> specific linux driver or u-boot. Yes, it is the only device >> connected over PCIe. > > The issue may be related to the PCIe link training. Are you able to > access the FPGA in u-boot? Can you try reseting the PCIe controller > after you've loaded up the FPGA (see u-boot code in drivers/pci/ > fsl_pci_init.c and look for CONFIG_FSL_PCIE_RESET) > > - k > Ok I can try but I'm using the U-Boot 1.3.0 provided by Freescale with the board, so I have to change the firmware, updating the U-Boot to the version 1.3.2 to use CONFIG_FSL_PCIE_RESET. However, I've had the same idea, but I check (with a warning) this case in the kernel function fsl_check_pcie_link() (where the kernel check the value of LTSSM) but I've never seen the warning during the start-up. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express problem
Kumar Gala ha scritto: On Mar 25, 2008, at 3:02 AM, Marco Stornelli wrote: Hi, do you remember my problem with the pci-express? I have an mpc8641d_hpcn (rev. 2.0) board connected via pci-express with the Xilinx ML555 evaluation board. I'm using the 2.6.24 kernel. I'm observing this strange behavior: 1) I turn on the board and I stop the U-boot 2) I load the FPGA microcode 3) I start the system 4) I load the driver module and I read a version register in the FPGA 5) The system crashes with a "machine check exception: transfer error ack signal" 6) reboot 7) same procedure (without load the FPGA again) 8) now I can read the registers! If I repeat the procedure again it doesn't work anymore. I think it's a problem with pci-express controller. Have you got any suggestions? Thanks. Where are you loading the FPGA microcode (linux, u-boot)? Also, is the FPGA the only device connected over PCIe? - k I load the FPGA with JTAG and with a Xilinx program without a specific linux driver or u-boot. Yes, it is the only device connected over PCIe. \Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
MPC8641D PCI-Express problem
Hi, do you remember my problem with the pci-express? I have an mpc8641d_hpcn (rev. 2.0) board connected via pci-express with the Xilinx ML555 evaluation board. I'm using the 2.6.24 kernel. I'm observing this strange behavior: 1) I turn on the board and I stop the U-boot 2) I load the FPGA microcode 3) I start the system 4) I load the driver module and I read a version register in the FPGA 5) The system crashes with a "machine check exception: transfer error ack signal" 6) reboot 7) same procedure (without load the FPGA again) 8) now I can read the registers! If I repeat the procedure again it doesn't work anymore. I think it's a problem with pci-express controller. Have you got any suggestions? Thanks. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
MPC8641D PCI-Express error
Hi, I have some news about my problem. When the system makes the boot (kernel 2.6.24) I see these messages: ... PCI: Probing PCI hardware PCI: :00:00.0: class b20 doesn't match header type 01. Ignoring class. PCI: Transparent bridge - :00:00.0 PCI: Transparent bridge - :01:00.0 PCI: 0001:03:00.0: class b20 doesn't match header type 01. Ignoring class. PCI: Transparent bridge - 0001:03:00.0 PCI: Cannot allocate resource region 0 of device :02:1f.0 PCI: Cannot allocate resource region 1 of device :02:1f.0 PCI: Cannot allocate resource region 2 of device :02:1f.0 PCI: Cannot allocate resource region 3 of device :02:1f.0 PCI: Cannot allocate resource region 4 of device :02:1f.0 PCI: Cannot allocate resource region 0 of device :02:1f.1 PCI: Cannot allocate resource region 1 of device :02:1f.1 PCI: Cannot allocate resource region 2 of device :02:1f.1 PCI: Cannot allocate resource region 3 of device :02:1f.1 PCI: Cannot allocate resource region 4 of device :02:1f.1 PCI: Cannot allocate resource region 0 of device 0001:04:00.0 PCI: Cannot allocate resource region 1 of device 0001:04:00.0 PCI: Error while updating region :02:1f.1/0 (1419 != 1411) PCI: Error while updating region :02:1f.1/2 (1439 != 1431) PCI: Error while updating region :02:1f.1/3 (1435 != 1431) .. where the device 0001:04:00.0 is my ML555 Virtex5 evaluation board. The lspci output is: :02:1f.0 Class 0101: Unknown device 10b9:5229 (rev c8) (prog-if 8f [Master SecP SecO PriP PriO]) Subsystem: Unknown device 10b9:5229 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express error
Jon Loeliger ha scritto: > Marco Stornelli wrote: >> When I try to read some register from my FPGA (virtex5) I have this bus >> error: > > > Hmmm OK, so if we've eliminated PCI-E as a source > for this issue, it really must be in the Virtex support > somewhere then. Unfortunately, I know nothing about those, > and am not going to be much direct help there. > > Sorry. > > jdl > > >> Machine check in kernel mode. >> Caused by (from SRR1=149030): Transfer error ack signal >> Oops: Machine check, sig: 7 [#1] >> PREEMPT SMP NR_CPUS=2 >> Modules linked in: virtex5 >> LTT NESTING LEVEL : 0 >> NIP: F108019C LR: F1080198 CTR: 0001 >> REGS: c044dd60 TRAP: 0200 Not tainted (2.6.18-mpc8641d_hpcn) >> MSR: 00149030 CR: 22000222 XER: >> TASK = c20e9990[568] 'insmod' THREAD: c044c000 CPU: 0 >> GPR00: F1080198 C044DE10 C20E9990 002E 8000 8000 >> 2EA3 >> GPR08: C20E9990 C04C0220 C044C000 22000222 1001956C >> >> GPR16: >> >> GPR24: 3000EAA0 7FD6FDC0 C045FCC0 F107E594 F10A >> C2036000 >> NIP [F108019C] virtex5_probe+0x130/0x1c4 [virtex5] >> LR [F1080198] virtex5_probe+0x12c/0x1c4 [virtex5] >> Call Trace: >> [C044DE10] [F1080198] virtex5_probe+0x12c/0x1c4 [virtex5] (unreliable) >> [C044DE30] [C01D2A58] pci_device_probe+0x84/0xbc >> [C044DE50] [C0213754] driver_probe_device+0x60/0x118 >> [C044DE70] [C0213890] __driver_attach+0x84/0x88 >> [C044DE90] [C02130F4] bus_for_each_dev+0x58/0x94 >> [C044DEC0] [C02135D4] driver_attach+0x24/0x34 >> [C044DED0] [C0212AC8] bus_add_driver+0x88/0x164 >> [C044DEF0] [C021397C] driver_register+0x70/0xb8 >> [C044DF00] [C01D284C] __pci_register_driver+0x64/0x98 >> [C044DF10] [F1080030] init_module+0x30/0x6c [virtex5] >> [C044DF20] [C004CBFC] sys_init_module+0xc8/0x25c >> [C044DF40] [C0011358] ret_from_syscall+0x0/0x38 >> --- Exception: c00 at 0xff6de0c >> LR = 0x1de4 >> Instruction dump: >> 40820060 3c60f108 3863cea0 48000311 807f0238 3c81 48000395 7c7d1b78 >> 3c60f108 3863ced4 480002f5 809d <3c60f108> 3863cf04 480002e5 3c60f108 > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > I tried to use 2.6.24 but I have the same error. It looks like this problem happens when I try to read something in my ML555 board (Virtex5 evaluation board), but if try to write everything works fine. I tried to change the settings about inbound/outbound PCI-E windows but I have the same problem. Have you got any suggestions? Thanks. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express error
Jon Loeliger ha scritto: > Timur Tabi wrote: >> Marco Stornelli wrote: >> >>> No, it didn't. I have the same problem even with the 2.6.18 plus the >>> 2.6.24 PCI-Express code. I performed this action because I can't change >>> kernel version but I can modify it. >> >> Please try 2.6.24 (or even better, 2.6.25-rc2). You may have done >> something wrong in back-porting the code to 2.6.18. There's no reason >> why you can't at least try the latest version of the code for testing >> purposes, even if you can't use it in production. >> > > Also, once you back-ported it and all the DTS changes, and all > the fsl_soc.c changes needed and , and, and otherwise made it > look _like_, 2.6.24 but still called it 2.6.18, after all that, > can you remind us what was the error or failure mode that you saw? > > jdl > > When I try to read some register from my FPGA (virtex5) I have this bus error: Machine check in kernel mode. Caused by (from SRR1=149030): Transfer error ack signal Oops: Machine check, sig: 7 [#1] PREEMPT SMP NR_CPUS=2 Modules linked in: virtex5 LTT NESTING LEVEL : 0 NIP: F108019C LR: F1080198 CTR: 0001 REGS: c044dd60 TRAP: 0200 Not tainted (2.6.18-mpc8641d_hpcn) MSR: 00149030 CR: 22000222 XER: TASK = c20e9990[568] 'insmod' THREAD: c044c000 CPU: 0 GPR00: F1080198 C044DE10 C20E9990 002E 8000 8000 2EA3 GPR08: C20E9990 C04C0220 C044C000 22000222 1001956C GPR16: GPR24: 3000EAA0 7FD6FDC0 C045FCC0 F107E594 F10A C2036000 NIP [F108019C] virtex5_probe+0x130/0x1c4 [virtex5] LR [F1080198] virtex5_probe+0x12c/0x1c4 [virtex5] Call Trace: [C044DE10] [F1080198] virtex5_probe+0x12c/0x1c4 [virtex5] (unreliable) [C044DE30] [C01D2A58] pci_device_probe+0x84/0xbc [C044DE50] [C0213754] driver_probe_device+0x60/0x118 [C044DE70] [C0213890] __driver_attach+0x84/0x88 [C044DE90] [C02130F4] bus_for_each_dev+0x58/0x94 [C044DEC0] [C02135D4] driver_attach+0x24/0x34 [C044DED0] [C0212AC8] bus_add_driver+0x88/0x164 [C044DEF0] [C021397C] driver_register+0x70/0xb8 [C044DF00] [C01D284C] __pci_register_driver+0x64/0x98 [C044DF10] [F1080030] init_module+0x30/0x6c [virtex5] [C044DF20] [C004CBFC] sys_init_module+0xc8/0x25c [C044DF40] [C0011358] ret_from_syscall+0x0/0x38 --- Exception: c00 at 0xff6de0c LR = 0x1de4 Instruction dump: 40820060 3c60f108 3863cea0 48000311 807f0238 3c81 48000395 7c7d1b78 3c60f108 3863ced4 480002f5 809d <3c60f108> 3863cf04 480002e5 3c60f108 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express error
Kumar Gala ha scritto: > > On Feb 20, 2008, at 10:13 AM, Marco Stornelli wrote: > >> Kumar Gala wrote: >>>> Marco Stornelli wrote: >>>> >>>>> No, but I can try to backport the PCI-E code from 2.6.24 to 2.6.18 >>>>> if it could help. What do you think about it? Do you think this >>>>> problem could be not present in 2.6.24? >>>>> I have no idea there, honestly. Sorry. >> >>> As Jon said, try 2.6.24 and see if it has an issue, if so we can look >>> at helping. if not, you know you need to back port the fixes. >> >>> - k >> >> I've "backported" the PCI-Express code from 2.6.24 to 2.6.18, but it >> still doesn't work, I have the same problem (sigh), could you give me >> any suggestions? > > did 2.6.24 work for you or not? > > - k > No, it didn't. I have the same problem even with the 2.6.18 plus the 2.6.24 PCI-Express code. I performed this action because I can't change kernel version but I can modify it. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express error
Kumar Gala wrote: >> Marco Stornelli wrote: >> >>> No, but I can try to backport the PCI-E code from 2.6.24 to 2.6.18 >>> if it could help. What do you think about it? Do you think this >>> problem could be not present in 2.6.24? >>> I have no idea there, honestly. Sorry. >As Jon said, try 2.6.24 and see if it has an issue, if so we can look >at helping. if not, you know you need to back port the fixes. >- k I've "backported" the PCI-Express code from 2.6.24 to 2.6.18, but it still doesn't work, I have the same problem (sigh), could you give me any suggestions? Thanks. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express error
Jon Loeliger ha scritto: > Marco Stornelli wrote: >> >> Board: MPC8641D HPCN >> SoC: MPC8641D rev. 2 > > OK, this is good. > >> Kernel: 2.6.18 > > And this is really old. Any chance of up-rev'ing > that to something modern like 2.6.24? You may find > that your PCI-E issues are Just Fixed there. Dunno. > > HTH, > jdl > No, but I can try to backport the PCI-E code from 2.6.24 to 2.6.18 if it could help. What do you think about it? Do you think this problem could be not present in 2.6.24? ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: MPC8641D PCI-Express error
Jon Loeliger ha scritto: > Marco Stornelli wrote: >> Hi, >> >> I'm working with the Freescale evaluation board MPC8641DHPCN and the >> VIRTEX5 evaluation board ML555 connected with the PCI-Express. When I >> try to read some register I have this problem: >> >> Machine check in kernel mode. > > > Any chance you can tell us what rev anything is? > SoC, Board, Kernel? > > Significant improvement went into the 2.6.24 kernel > development effort for many FSL PCI/PCI-E parts. > > Thanks, > jdl > Board: MPC8641D HPCN SoC: MPC8641D rev. 2 Kernel: 2.6.18 Thanks. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
MPC8641D PCI-Express error
Hi, I'm working with the Freescale evaluation board MPC8641DHPCN and the VIRTEX5 evaluation board ML555 connected with the PCI-Express. When I try to read some register I have this problem: Machine check in kernel mode. Caused by (from SRR1=149030): Transfer error ack signal Oops: Machine check, sig: 7 [#1] PREEMPT SMP NR_CPUS=2 Modules linked in: virtex5 LTT NESTING LEVEL : 0 NIP: F108019C LR: F1080198 CTR: 0001 REGS: c044dd60 TRAP: 0200 Tainted: GF (2.6.18-mpc8641d_hpcn) MSR: 00149030 CR: 22000222 XER: TASK = c20e9990[568] 'insmod' THREAD: c044c000 CPU: 0 GPR00: F1080198 C044DE10 C20E9990 002E 8000 8000 2EA3 GPR08: C20E9990 C04C0220 C044C000 22000222 1001956C GPR16: GPR24: 3000EAA0 7FD6FDC0 C045FCC0 F107E594 F10A C2036000 NIP [F108019C] virtex5_probe+0x130/0x1c4 [virtex5] LR [F1080198] virtex5_probe+0x12c/0x1c4 [virtex5] Call Trace: [C044DE10] [F1080198] virtex5_probe+0x12c/0x1c4 [virtex5] (unreliable) [C044DE30] [C01D2A58] pci_device_probe+0x84/0xbc [C044DE50] [C0213754] driver_probe_device+0x60/0x118 [C044DE70] [C0213890] __driver_attach+0x84/0x88 [C044DE90] [C02130F4] bus_for_each_dev+0x58/0x94 [C044DEC0] [C02135D4] driver_attach+0x24/0x34 [C044DED0] [C0212AC8] bus_add_driver+0x88/0x164 [C044DEF0] [C021397C] driver_register+0x70/0xb8 [C044DF00] [C01D284C] __pci_register_driver+0x64/0x98 [C044DF10] [F1080030] init_module+0x30/0x6c [virtex5] [C044DF20] [C004CBFC] sys_init_module+0xc8/0x25c [C044DF40] [C0011358] ret_from_syscall+0x0/0x38 --- Exception: c00 at 0xff6de0c LR = 0x1de4 Instruction dump: 40820060 3c60f108 3863cea0 48000311 807f0238 3c81 48000395 7c7d1b78 3c60f108 3863ced4 480002f5 809d <3c60f108> 3863cf04 480002e5 3c60f108 Have you got any suggestions? Thanks. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: populate_rootfs fail
jay_chen ha scritto: > Hello all: > > I am using mpc8548, kernel 2.6.14.5, and uboot as boot loader. > When I upgrade ram from 512MB to 2G, my kernel can't boot anymore. > (I pass mem=2048M to kernel in uboot now) > > It always dies in exec sys_write( ) in populate_rootfs( ). > I did more tests about this and I found that sys_write( ) could write only > about 4MB in 2G ram case. > (My initrd is about 19MB, initrd_start : 0xCE7C7000, initrd_end : > 0xCFAAF289, initrd_end - initrd_start : 0x012E8289 ==> about 19MB) > Could anybody give me some hints? > Is this issue related to the location of "/initrd.image"? Could I control > it? > Is there any size limit in ppc arch about ramdisk/initrd? > > Thanks for help. > > Jay... > > void __init populate_rootfs(void) > { > char *err; >... > #ifdef CONFIG_BLK_DEV_INITRD > if (initrd_start) { > ... > printk("it isn't (%s); looks like an initrd\n", err); > fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 700); > if (fd >= 0) { > sys_write(fd, (char *)initrd_start, > initrd_end - initrd_start); > sys_close(fd); > free_initrd(); > } > } > #endif > } > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > I think can be a problem with the u-boot initrd_high option. Have you been enabled the highmem support to use 2G of ram, right? You can try to set this option to 0x3000. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Writing drivers for external IP cores
A. Nolson ha scritto: > Hi , > > I am going to start developing some IP cores for my virtex fx12 (ML403) > and I need to control them through my embedded Linux ( it is already > working in the ppc405 ). I am a bit lost and I need some references for > developing drivers. In principle, I will start with something like a > GPIO. I think an example like a driver for controlling the push buttons > of my Ml403 will be enough. An example IP core for that will also be > also very helpful. > > Any suggestion? > > Thanks in advance > > /A > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > A good book to write device drivers is "Linux device drivers" 3rd edition, it's free and you can download it freely from Internet ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Leds
Simon Kagstrom ha scritto: > Hi Marco, > > On Fri, 08 Feb 2008 11:02:16 +0100 > Marco Stornelli <[EMAIL PROTECTED]> wrote: > >> how can specify a led device in a dts file? These leds are connected >> with gpio to the microprocessor. I can't find anything like a led node >> in the dts files of the other boards. Have you got any suggestions? > > Although I'm not sure if it's the "standard" way, we just added a > "home-made" node like this: > > [EMAIL PROTECTED] { > device_type = "leds"; > compatible = "reset-leds"; > reg = ; > }; > > and then just get the info in the probe function for the led driver > we placed in drivers/leds/: > > /* Get device info from OF tree */ > np = of_find_compatible_node(NULL, "leds", "reset-leds"); > if (!np) { > dev_err(&pdev->dev, "Could not find device tree node for > reset-leds\n"); > goto error_classdev; > } > > if (of_address_to_resource(np, 0, &res)) { > dev_err(&pdev->dev, "Could not convert reset-leds device tree > address\n"); > of_node_put(np); > goto error_classdev; > } > ... > > At least this was all the information we needed from the device tree. > > // Simon > Thanks. In this case where have you added the device registration? In the probe function? Have you registered the driver with of_register_platform_driver()? ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Leds
Hi all, how can specify a led device in a dts file? These leds are connected with gpio to the microprocessor. I can't find anything like a led node in the dts files of the other boards. Have you got any suggestions? Regards, Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Kernel entry point
Hi, where is the main kernel entry point (the first function/instruction) for the powerpc arch called by uboot? In kernel 2.6.10 there was the head_fsl_booke.S (I'm using a booke processor) that it called the start_kernel function, and now? Thanks. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: External Interrupt
Sergei Shtylyov ha scritto: > Marco Stornelli wrote: > >>>> I used the linux kernel 2.6.10 with a processor MPC8548E. I wrote a >>>> driver for a device connected with the local bus. This device has an >>>> external interrupt. In the local bus driver I have used the macro >>>> MPC85xx_IRQ_EXT to get the interrupt number and pass it to the >>>> driver and after that register the ISR. Now with a kernel 2.6.21 this >>>> macro isn't available because in the header file irq.h there is the >>>> option CONFIG_PPC_MERGE that disable those options. I think this >>>> problem is related to the migration of ppc code towards powerpc. I >>>> know that now there is the new device tree source file where I can add >>>> a device and its interrupt number but I think in this file I should >>>> describe only the platform device, and this device is not a platform >>>> device. > >>> How comes that it's not platform device if it hangs off the local bus? > >> In SoC system generally the platform device are (more or less) the >> microprocessor controller like i2c, pci, local bus itself and so on. > > That's SoC devices but the notion of the platform device is not limited > to > SoC device only, rather to all the on-board devices. > >> I think is like if you consider a PCI board a platform device only because >> it hangs off the PCI link. > > No. PCI devices are detectable/configurable by kernel -- even if they are > on-board chips, they can be found by PCI bus scan (and finally presented as > the device nodes as well), while local bus devices (most probably) not. An > example (that comes to mind) of a device hanging off the local bus and yet > described by the device tree are the flash chips. Yes you are right. The local bus is like i2c, but I've never seen a device connected with i2c and described with a sub-node of i2c node in the dts file, however I think it's only philosophy, the most important thing is that there is a way to get the irq number :) Thanks for your response. Regards. Marco > > WBR, Sergei > > ___ > Linuxppc-embedded mailing list > Linuxppc-embedded@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: External Interrupt
Sergei Shtylyov ha scritto: > Marco Stornelli wrote: >> Hi, >> >> I used the linux kernel 2.6.10 with a processor MPC8548E. I wrote a >> driver for a device connected with the local bus. This device has an >> external interrupt. In the local bus driver I have used the macro >> MPC85xx_IRQ_EXT to get the interrupt number and pass it to the >> driver and after that register the ISR. Now with a kernel 2.6.21 this >> macro isn't available because in the header file irq.h there is the >> option CONFIG_PPC_MERGE that disable those options. I think this >> problem is related to the migration of ppc code towards powerpc. I >> know that now there is the new device tree source file where I can add >> a device and its interrupt number but I think in this file I should >> describe only the platform device, and this device is not a platform >> device. > >How comes that it's not platform device if it hangs off the local bus? In SoC system generally the platform device are (more or less) the microprocessor controller like i2c, pci, local bus itself and so on. I think is like if you consider a PCI board a platform device only because it hangs off the PCI link. > >> Then, how can I get now this value? Is there some function to >> call? How can I perform this operation? > >Probably irq_alloc_virt()... > ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
External Interrupt
Hi, I used the linux kernel 2.6.10 with a processor MPC8548E. I wrote a driver for a device connected with the local bus. This device has an external interrupt. In the local bus driver I have used the macro MPC85xx_IRQ_EXT to get the interrupt number and pass it to the driver and after that register the ISR. Now with a kernel 2.6.21 this macro isn't available because in the header file irq.h there is the option CONFIG_PPC_MERGE that disable those options. I think this problem is related to the migration of ppc code towards powerpc. I know that now there is the new device tree source file where I can add a device and its interrupt number but I think in this file I should describe only the platform device, and this device is not a platform device. Then, how can I get now this value? Is there some function to call? How can I perform this operation? Thanks in advance. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Kexec on powerpc
Hi all, I'm using the latest kernel and I need the kexec support for 85xx processor. When I use the menuconfig with ARCH=ppc and the 85xx and e500 support, I have the kexec support, but when I use ARCH=powerpc I haven't it, but I'm selecting the same processor!! Is it a bug in kconfig? Somebody can explain to me why? Thanks in advance. Marco ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded