Re: Graphic Card on Freescale MPC837x-rdb
On Tue, 2008-06-24 at 12:32 -0500, Kumar Gala wrote: > On Jun 24, 2008, at 12:17 PM, Bizhan Gholikhamseh (bgholikh) wrote: > > > HI all, > > Has anyone tried using a Graphic card on Freescale MPC837x-rdb > > board? If so I appreciate any hints and information that I can use. > > Nope, but you'll most likely need some form of x86 emulation for the > video bios init. Yup. There's something in u-boot, though I don't know how well it works with newer cards. if it's based on x86emu tho, it might be worth looking at backporting some of the recent fixes/additions (such as bswap and rtdsc instructions support) to it. Once you get the card bootstrapped... I've been working lately with Dave Airlie to get the X radeon driver work on powerpc (ie endian fixes) on r5xx and r6xx cards. It should already work with older cards. The new cards use some "interesting" interface to various tables & pseudo-code scripts in the cards ROM (called AtomBios) and the code for that, contributed by ATI, has serious endian bugs which I'm working on fixing as we speak. For nvidia, you can use the free "nv" driver which provides some level of 2D acceleration and mode setting but no more. Or you may want to try the reverse engineered "nouveau" drivers whose level of features might or might not suit you depending on what you need and what card model you have. There's some work on getting recent XGI cards (such has XP 10) to work as well, though there are still issues with the driver. It mostly depends on what features you need. If you can get ATI to sell you an "embedded" chip using one of their old families (r1xx/2xx or even 3xx) it's likely to just work provided you can bootstrap it. Finally, in the ATI case (and to some extend nVidia but I don't know how well that works), the card can also be bootstrapped without an x86 BIOS emulation using some of those "scripts" in the ROM. This should be working with the ATI AtomBios (r5xx/6xx) once I'm done with it, and we have some code for older ATI BIOSes too but I haven't tried it and so it might well not work (it's more tricky for various reasons). This code can fairly easily be pulled out of the X server if you want your firmware to be able to bootstrap the cards earlier. I have no info about other card vendors. Cheers, Ben. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
RE: Linux on Virtex board with ARCH=powerpc
> -Original Message- > From: [EMAIL PROTECTED] [mailto:linuxppc-embedded- > [EMAIL PROTECTED] On Behalf Of Peter Mendham > Sent: Tuesday, June 24, 2008 12:21 PM > To: John Linn > Cc: linuxppc-embedded@ozlabs.org > Subject: Re: Linux on Virtex board with ARCH=powerpc > > Hi John, > > Thanks for your reply, that's really helpful. I'm actually using the > mainline kernel, rather than the one from the xilinx git tree, but your > information has really moved me on. My first problem was that the > Xilinx utility (from the git tree) for device tree dts generation didn't > insert a "linux,stdout-path" node under "chosen". I spotted that the > ml403 example had this, so after adding it I got early console > messages. Everything now grinds to a halt after I get the message "flat > tree at 0x40ad60" which is just before it calls the kernel, so I assume > it's that call that is killing it. I have "console=ttyUL0" for my > uartlite, so I should be getting messages, shouldn't I? Do you know > where the next execution point is? Maybe I could find out where it's > getting stuck. It's time to look at __log_buf, most likely. > I haven't managed to generate an ACE file, I'm just loading the kernel > image from xmd ATM, genace won't play ball for me, it complains about > -board user not being valid, it won't even run on the examples copied > directly from the user manual. Anyway, I think genace is a bit OT, and > I can manage with xmd for now. This is fixed in EDK 10.1 SP2, I believe. > > Thanks, > -- Peter > > John Linn wrote: > > Hi Peter, > > > > I'm not up on what can be done with the simple image you refer to in 1. > > I'm sure I should be, but there's a lot to learn. > > > > With regards to 2, the elf image, zImage (without the elf extension), is > > located in arch/powerpc/boot. > > > > You can make a SystemACE file from that elf image just as you did in > > arch/ppc. We have a default device tree file, ml405.dts, in the > > arch/powerpc/boot/dts directory for our ml405 board. The kernel > > configuration has a config, DEVICE_TREE, that specifies the name of the > > device tree file. I normally compile the device tree into the kernel > > which is the default build, make ARCH=powerpc zImage. That image does > > not require a boot loader. > > > > I inserted the text below from a document that I have about building the > > arch/ppc and arch/powerpc kernels. > > > > Hope that helps, > > John > > > > > > Notation > > > > The phrase "" is used throughput the text and means that > > one or the other, "ppc" or "powerpc" is to be typed depending on the > > architecture you are building. > > > > Commands that are used in a bash shell are preceded by ">". > > > > Getting Ready To Build the Kernel > > > > This assumes you installed the ELDK tools and assumes you'll be using a > > bash shell. > > > > > >> bash > >> export CROSS_COMPILE=ppc_4xx- > >> > > > > Setting Up the Kernel Tree > > > > If you have previously built this kernel for another architecture, ppc > > or powerpc, then the tree needs to be setup correctly for the new > > architecture. Assuming you have not previously built it, this does not > > need to be done. > > > > > >> make ARCH= mrproper > >> > > > > Configuring the Kernel > > > > The kernel should be configured to run on the ML405 or ML507 board from > > Xilinx. > > > > > >> make ARCH= ml405_defconfig > >> > > > > or > > > > > >> make ARCH= ml507_defconfig > >> > > > > Building the Kernel > > > > The following command will build the Linux kernel assuming you are in > > the root directory of the kernel. The root directory of the kernel from > > the Xilinx Git tree is linux-2.6-xlnx. An elf file, zImage.elf, is > > created in the arch/ppc/boot/images directory for ppc architecture. An > > elf file, zImage, is created in the the arch/powerpc/boot directory for > > the powerpc architecture. > > > > > >> make ARCH= zImage > >> > > > > Building the Kernel With Ramdisk > > > > A ram disk image, a file named *.gz, must be placed into the > > arch/ppc/boot/images or arch/powerpc/boot directory, depending on the > > architecture, prior to building the kernel. > > > > > >> make ARCH= zImage.initrd > >> > > > > An elf file, zImage.initrd.elf, is created in arch/ppc/boot/images > > directory for the ppc architecture. An elf file file, zImage.initrd, is > > created in arch/powerpc/boot directory for the powerpc architecture. > > > > Generating An Ace File > > > > The elf file generated for the kernel and the bit stream can be combined > > to create an ACE file for compact flash. The following assumes a bash > > shell where XMD is accessible and a xilinx probe attached to the board > > for which you are generating an ace file. > > > > > >> xmd -tcl genace.tcl -jprog -target ppc_hw -hw -elf >> > > file name> -board -ace > > > > -Original Message- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On > > Behalf Of Peter Mendham > > Sent: Tuesday, June 24, 2008 3:02 AM > > To: li
RE: Linux on Virtex board with ARCH=powerpc
Sounds like the bootstrap loader has loaded the kernel and passed off execution to it, but there's no console working on the kernel. You can confirm that since you have a probe as you can dump the __log_buf by getting the address of it using objdump on the elf image. It's a pain to convert to readable form, but can help to see that things are indeed running. Stop the processor, then do the memory read command, mrd, in xmd. For the console to work with UART Lite, CONFIG_OF must be on in the kernel configuration, I would check that. The file, arch/powerpc/boot/virtex.c, has the startup code for the virtex specific processing. It checks to make sure there is compatible hardware based on the device tree. If your device tree doesn't match that hardware you could have a problem. I have not found the powerup of the kernel to be very informative if the device tree is wrong. I pasted in our ML405 device tree below to allow you to compare to it. Hope that helps, John /* * (C) Copyright 2007 Michal Simek * * Michal SIMEK <[EMAIL PROTECTED]> * * 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. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * CAUTION: This file is automatically generated by libgen. * Version: Xilinx EDK 10.1.1 EDK_K_SP1.1 */ / { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,virtex"; model = "testing"; DDR_SDRAM: [EMAIL PROTECTED] { device_type = "memory"; reg = < 0 800 >; } ; chosen { bootargs = "console=ttyS0 ip=on root=/dev/ram"; linux,stdout-path = "/[EMAIL PROTECTED]/[EMAIL PROTECTED]"; } ; cpus { #address-cells = <1>; #cpus = <1>; #size-cells = <0>; ppc405_0: [EMAIL PROTECTED] { clock-frequency = <11e1a300>; compatible = "PowerPC,405", "ibm,ppc405"; d-cache-line-size = <20>; d-cache-size = <4000>; device_type = "cpu"; i-cache-line-size = <20>; i-cache-size = <4000>; model = "PowerPC,405"; reg = <0>; timebase-frequency = <11e1a300>; xlnx,apu-control = ; xlnx,apu-udi-1 = ; xlnx,apu-udi-2 = ; xlnx,apu-udi-3 = ; xlnx,apu-udi-4 = ; xlnx,apu-udi-5 = ; xlnx,apu-udi-6 = ; xlnx,apu-udi-7 = ; xlnx,apu-udi-8 = ; xlnx,deterministic-mult = <0>; xlnx,disable-operand-forwarding = <1>; xlnx,fastest-plb-clock = "DPLB0"; xlnx,generate-plb-timespecs = <1>; xlnx,mmu-enable = <1>; xlnx,pvr-high = <0>; xlnx,pvr-low = <0>; } ; } ; plb: [EMAIL PROTECTED] { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,plb-v46-1.02.a"; ranges ; IIC_EEPROM: [EMAIL PROTECTED] { compatible = "xlnx,xps-iic-2.00.a"; interrupt-parent = <&xps_intc_0>; interrupts = < 4 2 >; reg = < 8160 1 >; xlnx,clk-freq = <5f5e100>; xlnx,family = "virtex4"; xlnx,gpo-width = <1>; xlnx,iic-freq = <186a0>; xlnx,scl-inertial-delay = <0>; xlnx,sda-inertial-delay = <0>; xlnx,ten-bit-adr = <0>; } ; LEDs_4Bit: [EMAIL PROTECTED] { compatible = "xlnx,xps-gpio-1.00.a"; interrupt-parent = <&xps_intc_0>; interrupts = < 5 2 >; reg = < 8140 1 >; xlnx,all-inputs = <0>; xlnx,all-inputs-2 = <0>; xlnx,dout-default = <0>;
Re: Linux on Virtex board with ARCH=powerpc
Hi John, Thanks for your reply, that's really helpful. I'm actually using the mainline kernel, rather than the one from the xilinx git tree, but your information has really moved me on. My first problem was that the Xilinx utility (from the git tree) for device tree dts generation didn't insert a "linux,stdout-path" node under "chosen". I spotted that the ml403 example had this, so after adding it I got early console messages. Everything now grinds to a halt after I get the message "flat tree at 0x40ad60" which is just before it calls the kernel, so I assume it's that call that is killing it. I have "console=ttyUL0" for my uartlite, so I should be getting messages, shouldn't I? Do you know where the next execution point is? Maybe I could find out where it's getting stuck. I haven't managed to generate an ACE file, I'm just loading the kernel image from xmd ATM, genace won't play ball for me, it complains about -board user not being valid, it won't even run on the examples copied directly from the user manual. Anyway, I think genace is a bit OT, and I can manage with xmd for now. Thanks, -- Peter John Linn wrote: Hi Peter, I'm not up on what can be done with the simple image you refer to in 1. I'm sure I should be, but there's a lot to learn. With regards to 2, the elf image, zImage (without the elf extension), is located in arch/powerpc/boot. You can make a SystemACE file from that elf image just as you did in arch/ppc. We have a default device tree file, ml405.dts, in the arch/powerpc/boot/dts directory for our ml405 board. The kernel configuration has a config, DEVICE_TREE, that specifies the name of the device tree file. I normally compile the device tree into the kernel which is the default build, make ARCH=powerpc zImage. That image does not require a boot loader. I inserted the text below from a document that I have about building the arch/ppc and arch/powerpc kernels. Hope that helps, John Notation The phrase "" is used throughput the text and means that one or the other, "ppc" or "powerpc" is to be typed depending on the architecture you are building. Commands that are used in a bash shell are preceded by ">". Getting Ready To Build the Kernel This assumes you installed the ELDK tools and assumes you'll be using a bash shell. bash export CROSS_COMPILE=ppc_4xx- Setting Up the Kernel Tree If you have previously built this kernel for another architecture, ppc or powerpc, then the tree needs to be setup correctly for the new architecture. Assuming you have not previously built it, this does not need to be done. make ARCH= mrproper Configuring the Kernel The kernel should be configured to run on the ML405 or ML507 board from Xilinx. make ARCH= ml405_defconfig or make ARCH= ml507_defconfig Building the Kernel The following command will build the Linux kernel assuming you are in the root directory of the kernel. The root directory of the kernel from the Xilinx Git tree is linux-2.6-xlnx. An elf file, zImage.elf, is created in the arch/ppc/boot/images directory for ppc architecture. An elf file, zImage, is created in the the arch/powerpc/boot directory for the powerpc architecture. make ARCH= zImage Building the Kernel With Ramdisk A ram disk image, a file named *.gz, must be placed into the arch/ppc/boot/images or arch/powerpc/boot directory, depending on the architecture, prior to building the kernel. make ARCH= zImage.initrd An elf file, zImage.initrd.elf, is created in arch/ppc/boot/images directory for the ppc architecture. An elf file file, zImage.initrd, is created in arch/powerpc/boot directory for the powerpc architecture. Generating An Ace File The elf file generated for the kernel and the bit stream can be combined to create an ACE file for compact flash. The following assumes a bash shell where XMD is accessible and a xilinx probe attached to the board for which you are generating an ace file. xmd -tcl genace.tcl -jprog -target ppc_hw -hw -elf file name> -board -ace -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Mendham Sent: Tuesday, June 24, 2008 3:02 AM To: linuxppc-embedded@ozlabs.org Subject: Linux on Virtex board with ARCH=powerpc Dear all, I'm trying to boot a 2.6.26-rc6 kernel on a custom Virtex 4 board. I have used the Xilinx utility to generate a device tree and now want to generate an image for throwing onto CF for use with a SystemACE (just like on the the ML3/4xx boards). I don't want to use a bootloader (I don't really need one). I saw something on this list about simpleImage, "simple" sounded good to me so I thought I'd try that (or did I misinterpret what this is for?). I also don't want the image to be too big, I always used to use a zImage under ARCH=ppc. So, two questions, which hopefully are easy ones: 1. I did what Grant said in a post to this list about simpleIm
Re: Graphic Card on Freescale MPC837x-rdb
On Jun 24, 2008, at 12:17 PM, Bizhan Gholikhamseh (bgholikh) wrote: HI all, Has anyone tried using a Graphic card on Freescale MPC837x-rdb board? If so I appreciate any hints and information that I can use. Nope, but you'll most likely need some form of x86 emulation for the video bios init. - k ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Graphic Card on Freescale MPC837x-rdb
HI all, Has anyone tried using a Graphic card on Freescale MPC837x-rdb board? If so I appreciate any hints and information that I can use. Many thanks in advance, Bizhan ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Migrating from 2.6.11 to 2.6.23 breaks pci-e with LSI 1068 SAS chip
All, I'm new to this mailing list, but have not had any luck finding information on this issue. Please be kind if I break the forum rules on my first post. We recently tried to upgrade our Freescale CDS 8548 look-alike module (code name ATCA1000) from the 2.6.11 based BSP to the 2.6.23 based BSP. The upgrade went fairly smoothly, until we tried using SOME pci-e devices (some work fine, some don't show up to lspci). LSI pci-e controllers no longer show up at all! We see the ixgbe (intel 10G), SiliconImage SATA controller but do not see LSI devices (Specifically 1068 SAS, FC949-E fibrechannel). We're guessing it's a resource issue behind the bridge, because the LSI devices try to allocate 1 - 3M behind the bridge, but we can't find the bug, or where we would debug such an issue. The devices seem to "train" correctly, because we have an LED on the pci-e switch (PLX 8 port pci-e switch), and it's ON indicating pci-e link between the bridge and the 1068 device). We're totally at a loss as to why this always worked on the 2.6.11 kernel but doesn't work on 2.6.23. Using lspci, the LSI adapters do not show up in the list at all, as though they are not plugged into the system. Is there something that needs to be done with respect to PCI-E devices that is new in the 2.6.23 based BSP that did not need to be done in the 2.6.11 based kit? For example, are pci resources allocated by a different piece of code, that may have some issue allocating resources for the LSI adapters? I currently do not have access to a pci-e analyzer. Thanks for any help, Vince Asbridge ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
RE: Linux on Virtex board with ARCH=powerpc
Hi Peter, I'm not up on what can be done with the simple image you refer to in 1. I'm sure I should be, but there's a lot to learn. With regards to 2, the elf image, zImage (without the elf extension), is located in arch/powerpc/boot. You can make a SystemACE file from that elf image just as you did in arch/ppc. We have a default device tree file, ml405.dts, in the arch/powerpc/boot/dts directory for our ml405 board. The kernel configuration has a config, DEVICE_TREE, that specifies the name of the device tree file. I normally compile the device tree into the kernel which is the default build, make ARCH=powerpc zImage. That image does not require a boot loader. I inserted the text below from a document that I have about building the arch/ppc and arch/powerpc kernels. Hope that helps, John Notation The phrase "" is used throughput the text and means that one or the other, "ppc" or "powerpc" is to be typed depending on the architecture you are building. Commands that are used in a bash shell are preceded by ">". Getting Ready To Build the Kernel This assumes you installed the ELDK tools and assumes you'll be using a bash shell. >bash >export CROSS_COMPILE=ppc_4xx- Setting Up the Kernel Tree If you have previously built this kernel for another architecture, ppc or powerpc, then the tree needs to be setup correctly for the new architecture. Assuming you have not previously built it, this does not need to be done. >make ARCH= mrproper Configuring the Kernel The kernel should be configured to run on the ML405 or ML507 board from Xilinx. >make ARCH= ml405_defconfig or >make ARCH= ml507_defconfig Building the Kernel The following command will build the Linux kernel assuming you are in the root directory of the kernel. The root directory of the kernel from the Xilinx Git tree is linux-2.6-xlnx. An elf file, zImage.elf, is created in the arch/ppc/boot/images directory for ppc architecture. An elf file, zImage, is created in the the arch/powerpc/boot directory for the powerpc architecture. >make ARCH= zImage Building the Kernel With Ramdisk A ram disk image, a file named *.gz, must be placed into the arch/ppc/boot/images or arch/powerpc/boot directory, depending on the architecture, prior to building the kernel. >make ARCH= zImage.initrd An elf file, zImage.initrd.elf, is created in arch/ppc/boot/images directory for the ppc architecture. An elf file file, zImage.initrd, is created in arch/powerpc/boot directory for the powerpc architecture. Generating An Ace File The elf file generated for the kernel and the bit stream can be combined to create an ACE file for compact flash. The following assumes a bash shell where XMD is accessible and a xilinx probe attached to the board for which you are generating an ace file. >xmd -tcl genace.tcl -jprog -target ppc_hw -hw -elf -board -ace -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Mendham Sent: Tuesday, June 24, 2008 3:02 AM To: linuxppc-embedded@ozlabs.org Subject: Linux on Virtex board with ARCH=powerpc Dear all, I'm trying to boot a 2.6.26-rc6 kernel on a custom Virtex 4 board. I have used the Xilinx utility to generate a device tree and now want to generate an image for throwing onto CF for use with a SystemACE (just like on the the ML3/4xx boards). I don't want to use a bootloader (I don't really need one). I saw something on this list about simpleImage, "simple" sounded good to me so I thought I'd try that (or did I misinterpret what this is for?). I also don't want the image to be too big, I always used to use a zImage under ARCH=ppc. So, two questions, which hopefully are easy ones: 1. I did what Grant said in a post to this list about simpleImage, and dumped my dts into arch/powerpc/boot/dts and I called it system.dts (for now). I then tried to do make simpleImage.system which ran right through to final link then moaned about a missing simpleboot-system. Where is this supposed to come from? What am I doing wrong? I naively tried copying simpleboot.o to simpleboot-system.o and the error went away. Hmm. 2. I need an ELF to give to my SystemACE file generator. This used to pop up in arch/ppc/boot/images and be called zImage.elf, which made sense to me. What's the deal now with powerpc? What should I be using? Finally, can anyone give me a heads-up on any gotchas with what I'm trying to do. As you can tell, I don't entirely know what I'm doing, so any pointers would be gratefully received. Thanks, -- Peter The University of Dundee is a Scottish Registered Charity, No. SC015096. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under appli
Linux on Virtex board with ARCH=powerpc
Dear all, I'm trying to boot a 2.6.26-rc6 kernel on a custom Virtex 4 board. I have used the Xilinx utility to generate a device tree and now want to generate an image for throwing onto CF for use with a SystemACE (just like on the the ML3/4xx boards). I don't want to use a bootloader (I don't really need one). I saw something on this list about simpleImage, "simple" sounded good to me so I thought I'd try that (or did I misinterpret what this is for?). I also don't want the image to be too big, I always used to use a zImage under ARCH=ppc. So, two questions, which hopefully are easy ones: 1. I did what Grant said in a post to this list about simpleImage, and dumped my dts into arch/powerpc/boot/dts and I called it system.dts (for now). I then tried to do make simpleImage.system which ran right through to final link then moaned about a missing simpleboot-system. Where is this supposed to come from? What am I doing wrong? I naively tried copying simpleboot.o to simpleboot-system.o and the error went away. Hmm. 2. I need an ELF to give to my SystemACE file generator. This used to pop up in arch/ppc/boot/images and be called zImage.elf, which made sense to me. What's the deal now with powerpc? What should I be using? Finally, can anyone give me a heads-up on any gotchas with what I'm trying to do. As you can tell, I don't entirely know what I'm doing, so any pointers would be gratefully received. Thanks, -- Peter The University of Dundee is a Scottish Registered Charity, No. SC015096. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded