Subject: Re: Platform devices on MPC8245

From: Vitaly Bordug <[email-masked]>
Date: Wed, 07 Sep 2005 20:42:38 +0400

Mark Brown wrote:
> On Wed, Aug 31, 2005 at 01:26:00PM +0100, Mark Brown wrote:
> 
> 
>>I'm having some trouble using the platform device support for the
>>MPC8245 using memory map B, set up using mpc10x_bridge_init().  When
>>that function registers the host bridge it registers addresses
>>0x80000000-0xfebfffff for the bridge but by default (with EUMB mapped to
>>MPC10X_MAPB_EUMB_BASE) the platform devices on the chip are also within
>>this address range.  The problem I'm seeing is that when
>>platform_device_register() comes to call request_resource() on the
>>devices that call fails because the addresses have already been
>>allocated to the PCI host bridge.
> 
> 
> Does anyone have any suggestions as to what I'm doing wrong with this?
> Using kernel 2.6.13 I am currently working around the issue by making
> the platform bus use insert_resource() rather than request_resource() as
> in the patch below but this really seems like the wrong solution.
> 
Yes, that's right. The proper solution (I guess) will be reconfiguration 
  in  mpc10x_bridge_init() so that memory covered by the bridge do not 
intercept anything what pdevs request. Or (less probably) there's 
something odd in pdevs descriptions - if so you need to find out what 
exactly is intercepted with the bridge area.

-- 
Sincerely,
Vitaly