public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Felix Radensky <felix@embedded-sol.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Problem with transparent PCI-PCI bridge on Canyonlands
Date: Wed, 13 Jan 2010 13:12:08 +0200	[thread overview]
Message-ID: <4B4DAA88.3090704@embedded-sol.com> (raw)
In-Reply-To: <4B337BFF.9020203@embedded-sol.com>

Hi, Max

Felix Radensky wrote:
> Hi, Max
>
> java33 at inwind.it wrote:
>   
>> Hello,
>>
>> I've encountered the same problem and found a solution.
>> In 
>> drivers/pci/pci_indirect.c, add the following code block at line 79:
>>
>> #elif 
>> defined(CONFIG_460EX)
>> #define INDIRECT_PCI_OP(rw, size, type, op, mask)			 \
>>
>> static int								 \
>> indirect_##rw##_config_##size(struct pci_controller *hose,	
>> 	 \
>> 			      pci_dev_t dev, int offset, type val)	 \
>> {									 \
>> 	u32 b, d,f;		
>> 					 \
>> 	b = PCI_BUS(dev); d = PCI_DEV(dev); f = PCI_FUNC(dev);		 \
>> 	b = b - 
>> hose->first_busno;					 \
>> 	dev = PCI_BDF(b, d, f);						 \
>> 	if (PCI_BUS(dev) > 
>> 0)                                            \
>> 		out_le32(hose->cfg_addr, dev 
>> | (offset & 0xfc) | 0x00000001); \
>> 	
>> else                                                             \
>> 		out_le32
>> (hose->cfg_addr, dev | (offset & 0xfc) | 0x00000000); \
>> 	cfg_##rw(val, hose-
>>   
>>     
>>> cfg_data + (offset & mask), type, op);	 \
>>>     
>>>       
>> 	return 0;							 \
>> }
>> #else
>>
>> Hope 
>> this helps
>>
>> Ciao
>>
>> Max Tretene, ACube Systems Srl
>>   
>>     
> Thanks for help. Your fix indeed helps to avoid infinite loop I had.
> u-boot still hangs for me, now at different place:
>
> U-Boot 2009.11 (Dec 24 2009 - 16:12:11)
>
> CPU:   AMCC PowerPC 460EX Rev. A at 600 MHz (PLB=200 OPB=100 EBC=100)
>        Security/Kasumi support
>        Bootstrap Option H - Boot ROM Location I2C (Addr 0x52)
>        Internal PCI arbiter enabled
>        32 kB I-Cache 32 kB D-Cache
> Board: Canyonlands - AMCC PPC460EX Evaluation Board, 2*PCIe, Rev. 14
> I2C:   ready
> DRAM:  512 MB (ECC not enabled, 400 MHz, CL3)
> FLASH: 64 MB
> NAND:  256 MiB
> PCI:   Bus Dev VenId DevId Class Int
> PCI Autoconfig: Bus Memory region: [0x80000000-0x8fffffff],
>                 Physical Memory [80000000-8fffffffx]
> PCI Autoconfig: Bus I/O region: [0x0-0xffff],
>                 Physical Memory: [d8000000-d800ffff]
> PCI Scan: Found Bus 0, Device 6, Function 0
> PCI Autoconfig: Found P2P bridge, device 6
>
> The hang is at
>
> pci_hose_read_config_byte(hose, dev, PCI_HEADER_TYPE, &header_type);
>
> invoked from pci_hose_scan_bus().
>
> Any ideas ?
>
> Thanks a lot.
>
> Felix.
>   
It appears that PLX evaluation board I was using on Canyonlands was 
broken. On the
custom board based on 460EX and the same PLX your fix helps to avoid 
infinite loop
in bridge detection. U-boot detects both PLX and device behind it.

It would be great if you could submit your fix for mainline inclusion.

Thanks a lot for your help, much appreciated !

Felix.

  reply	other threads:[~2010-01-13 11:12 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-24 12:08 [U-Boot] Problem with transparent PCI-PCI bridge on Canyonlands java33 at inwind.it
2009-12-24 14:34 ` Felix Radensky
2010-01-13 11:12   ` Felix Radensky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-12-09 18:02 Felix Radensky
2009-12-09 20:49 ` Wolfgang Denk
2009-12-09 22:10   ` Felix Radensky
2009-12-09 22:21     ` Felix Radensky
2009-12-09 23:01       ` Wolfgang Denk
2009-12-09 23:15         ` Felix Radensky
2009-12-09 23:16 ` Feng Kan
2009-12-10 22:01   ` Felix Radensky
2009-12-15  7:30     ` Felix Radensky
2009-12-15  9:10       ` Stefan Roese
2009-12-15 12:42         ` Felix Radensky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B4DAA88.3090704@embedded-sol.com \
    --to=felix@embedded-sol.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox