Re: [U-Boot] Question about PCIe configuration

2010-10-08 Thread Carlos Roberto Moratelli
Em Qui, 2010-10-07 às 09:33 -0500, Swarthout Edward L-SWARTHOU escreveu:
> The LTSSM value of 8 indicates the problem.  See:
> 
> "Table 18-111. PEX_LTSSM_STAT Status Codes"
>  8 - "Polling compliance"
> 
> This shows the 8536 is fine and detects the device's receivers on the
> bus, but the device has not responded with a correct training
> sequence.
> 
> There are many potential causes for the device not responding:
> 1. device powered on?
> 2. have correct clocks?
> 3. if an fpga, is it loaded?
> 4. is it out of reset?

I am considering a hardware design issue too, the hardware team is
working on that.

> 
> What is the device?  Can you query it with a jtag probe?
> 
> > PCIE1 on bus 01 - 01
> > 
> > I was expecting to find a peripherical on PCIE1 bus. I have a
> switch 
> > chip connected to Serdes 1 lane A.
> 
> I see.  What switch?  Is it on a card or directly on the board?
> Can you probe reset,  power, and clocks?

A broadcom switch. It is directly on the board. 

I tried to probe SD1_PLL_TPD (PLL test point Digital, pin V28 on MPC8536
E), there is no signal there. What Should I observe in this pin? I was
expecting to observe the internal serdes clock signal. 

Thanks

Carlos R. Moratelli





___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Question about PCIe configuration

2010-10-07 Thread Swarthout Edward L-SWARTHOU
From: Carlos Roberto Moratelli 
> 
> Rigth! I just enabled CONFIG_PCIE1 flag and the PCIE1 bus is detected.
> Now I have this new log:
> 
> 
> PCIE1 connected to Slot1 as Root Complex (base address ffe0a000) 
> Outbound memory range: f800:1 PCICSRBAR @ 0xf7f0 R0 
> bus_start: 0 phys_start: 0 size: 800 PCI reg:0 
> 000c1000:f8000800 0001 0210def0 PCI reg:1 
> 000fffc1:0001 00010001 0210def0 PCI reg:2 
> 000fffe0:f7f00010 0101 0210def0 PCI reg:3 
> :0800 01080001 0210def0

> PCIE link error.  Skipping scan.LTSSM=0x08

The LTSSM value of 8 indicates the problem.  See:

"Table 18-111. PEX_LTSSM_STAT Status Codes"
 8 - "Polling compliance"

This shows the 8536 is fine and detects the device's receivers on the
bus, but the device has not responded with a correct training sequence.

There are many potential causes for the device not responding:
1. device powered on?
2. have correct clocks?
3. if an fpga, is it loaded?
4. is it out of reset?

What is the device?  Can you query it with a jtag probe?

> PCIE1 on bus 01 - 01
> 
> I was expecting to find a peripherical on PCIE1 bus. I have a switch 
> chip connected to Serdes 1 lane A.

I see.  What switch?  Is it on a card or directly on the board?
Can you probe reset,  power, and clocks?

> pci_init_board: devdisr=40900, sdrs2_io_sel=7, io_sel=7  Serdes2 
> disalbed
> 
> How you can see, serdes 1 is enabled and working with pcie1 
> (io_sel=7). It appears that something is not correctly configured, but

> I have no idea about what.

This is all correct.

> > > 
> > > PCIE2: disabled
> > > 
> > > PCI: 32 bit, 66 MHz, sync, host, arbiter (base
> > ...
> > >Scanning PCI bus 00
> > > PCIE1 on bus 00 - 00
> > 
> > This is a code bug, it really should say is PCI1 and not PCIE1.
> 
> Yes! That was a bit confused.
> 
> 
> I will appreciate some tip to deal with that issue.

You can read the ltssm register from the prompt and on a working link
you will see 16:

=> pci d 1.0 404 1
0404: 0016

-Ed

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Question about PCIe configuration

2010-10-07 Thread Carlos Roberto Moratelli
Em Qui, 2010-10-07 às 00:39 -0500, Swarthout Edward L-SWARTHOU escreveu:
> From: Carlos Roberto Moratelli
> > 
> > I am trying to map a PCIe peripherical on my MPC8536 custom board.
> > The peripherical is on PCIe1 port. 
> 
> Is this still an issue?
> 
> >pci_init_board: devdisr=40900, sdrs2_io_sel=7, io_sel=7
> > Serdes2 disalbed
> 
> That is fine.
> 
> > PCIE3: disabled
> > 
> > PCIE1: disabled
> 
> This is the problem.  Check:
> 
>   pcie_configured = is_serdes_configured(PCIE1);
>   if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE))
> 
> in your board file.

Rigth! I just enabled CONFIG_PCIE1 flag and the PCIE1 bus is detected.
Now I have this new log:


PCIE1 connected to Slot1 as Root Complex (base address ffe0a000)
Outbound memory range: f800:1
PCICSRBAR @ 0xf7f0
R0 bus_start: 0 phys_start: 0 size: 800
PCI reg:0 000c1000:f8000800 0001 0210def0
PCI reg:1 000fffc1:0001 00010001 0210def0
PCI reg:2 000fffe0:f7f00010 0101 0210def0
PCI reg:3 :0800 01080001 0210def0
PCIE link error.  Skipping scan.LTSSM=0x08
PCIE1 on bus 01 - 01

I was expecting to find a peripherical on PCIE1 bus. I have a switch
chip connected to Serdes 1 lane A. 

pci_init_board: devdisr=40900, sdrs2_io_sel=7, io_sel=7  Serdes2
disalbed

How you can see, serdes 1 is enabled and working with pcie1 (io_sel=7). It 
appears that something is not correctly configured, but I have no idea about 
what.

> 
> > 
> > PCIE2: disabled
> > 
> > PCI: 32 bit, 66 MHz, sync, host, arbiter (base address ffe08000)
> ...
> >Scanning PCI bus 00
> > PCIE1 on bus 00 - 00
> 
> This is a code bug, it really should say is PCI1 and not PCIE1.

Yes! That was a bit confused.

> 
> 
> > Running pci command I can see:
> > 
> > => pci
> > Scanning PCI devices on bus 0
> > BusDevFun  VendorId   DeviceId   Device Class   Sub-Class
> > _
> > 00.00.00   0x1957 0x0050 Processor   0x20
> > 
> > I don't know if I am correct, but I understand that the PCIe 
> > controller identify itself. However, the PCIe peripherical was not
> found. 
> 
> You need to figure out why "PCIE1: disabled" is occurring
> 
> -Ed Swarthout
> 

I will apreciate some tip to deal with that issue.

Thanks,

Carlos Roberto Moratelli.


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Question about PCIe configuration

2010-10-06 Thread Swarthout Edward L-SWARTHOU
From: Carlos Roberto Moratelli
> 
> I am trying to map a PCIe peripherical on my MPC8536 custom board.
> The peripherical is on PCIe1 port. 

Is this still an issue?

>pci_init_board: devdisr=40900, sdrs2_io_sel=7, io_sel=7
> Serdes2 disalbed

That is fine.

> PCIE3: disabled
> 
> PCIE1: disabled

This is the problem.  Check:

pcie_configured = is_serdes_configured(PCIE1);
if (pcie_configured && !(devdisr & MPC85xx_DEVDISR_PCIE))

in your board file.

> 
> PCIE2: disabled
> 
> PCI: 32 bit, 66 MHz, sync, host, arbiter (base address ffe08000)
...
>Scanning PCI bus 00
> PCIE1 on bus 00 - 00

This is a code bug, it really should say is PCI1 and not PCIE1.


> Running pci command I can see:
> 
> => pci
> Scanning PCI devices on bus 0
> BusDevFun  VendorId   DeviceId   Device Class   Sub-Class
> _
> 00.00.00   0x1957 0x0050 Processor   0x20
> 
> I don't know if I am correct, but I understand that the PCIe 
> controller identify itself. However, the PCIe peripherical was not
found. 

You need to figure out why "PCIE1: disabled" is occurring

-Ed Swarthout

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Question about PCIe configuration

2010-09-29 Thread Carlos Roberto Moratelli
Hi,

I am trying to map a PCIe peripherical on my MPC8536 custom board. I
already have u-boot and linux kernel running fine on this board.

The peripherical is on PCIe1 port. Compiling u-boot using debug flag I
have the following log:

   pci_init_board: devdisr=40900, sdrs2_io_sel=7, io_sel=7
Serdes2 disalbed

PCIE3: disabled

PCIE1: disabled

PCIE2: disabled


PCI: 32 bit, 66 MHz, sync, host, arbiter (base address ffe08000)
 with errors.  Clearing.  Now 0x0b200091Outbound memory range:
f000:1
PCICSRBAR @ 0xeff0
R0 bus_start: 0 phys_start: 0 size: 800
R64 bus_start: 10 phys_start: 0 size: 800
PCI reg:0 000c:f000 1000 
PCI reg:1 000fffc0: 0001 0001
PCI reg:2 000fffe0:eff0 0010 0100
PCI reg:3 : 0800 0108
PCI reg:4 :0010 0800 0108
   Scanning PCI bus 00
PCIE1 on bus 00 - 00


Running pci command I can see:

=> pci
Scanning PCI devices on bus 0
BusDevFun  VendorId   DeviceId   Device Class   Sub-Class
_
00.00.00   0x1957 0x0050 Processor   0x20

I don't know if I am correct, but I understand that the PCIe controller
identify itself. However, the PCIe peripherical was not found. 

Bellow, the default PCIe1 configuration to MPC8536DS target. Could
something in this configuration prevent the PCIe peripherical to be
found?

I have CONFIG_PHYS_64BIT enabled.

/* controller 1, Slot 1, tgtid 1, Base address a000 */
#define CONFIG_SYS_PCIE1_MEM_VIRT 0x9000
#ifdef CONFIG_PHYS_64BIT 
#define CONFIG_SYS_PCIE1_MEM_BUS 0xf800
#define CONFIG_SYS_PCIE1_MEM_PHYS 0xc1000ull
#else
#define CONFIG_SYS_PCIE1_MEM_BUS 0x9000
#define CONFIG_SYS_PCIE1_MEM_PHYS 0x9000
#endif
#define CONFIG_SYS_PCIE1_MEM_SIZE 0x0800/* 128M */
#define CONFIG_SYS_PCIE1_IO_VIRT 0xffc1
#define CONFIG_SYS_PCIE1_IO_BUS 0x
#ifdef CONFIG_PHYS_64BIT
#define CONFIG_SYS_PCIE1_IO_PHYS 0xfffc1ull
#else
#define CONFIG_SYS_PCIE1_IO_PHYS 0xffc1
#endif
#define CONFIG_SYS_PCIE1_IO_SIZE 0x0001 /* 64k */

Thank you.

Carlos R. Moratelli


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot