On Tuesday, January 28, 2014 at 04:06:12 PM, Stefano Babic wrote:
> Hi Marek,
> 
> On 24/01/2014 16:25, Marek Vasut wrote:
> > Add a callback so that a board can implement it's own specific routine to
> > toggle the port's nRESET line.
> > 
> > Signed-off-by: Marek Vasut <ma...@denx.de>
> > Cc: Stefano Babic <sba...@denx.de>
> > ---
> > 
> >  drivers/pci/pcie_imx.c | 12 +++++++++---
> >  1 file changed, 9 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/pci/pcie_imx.c b/drivers/pci/pcie_imx.c
> > index 0a74867..b554075 100644
> > --- a/drivers/pci/pcie_imx.c
> > +++ b/drivers/pci/pcie_imx.c
> > @@ -450,6 +450,13 @@ static int imx6_pcie_init_phy(void)
> > 
> >     return 0;
> >  
> >  }
> > 
> > +__weak int imx6_pcie_toggle_reset(void)
> > +{
> > +   /* This function ought to be overridden ! */
> > +   puts("WARNING: Make sure the PCIe nRESET line is connected!\n");
> > +   return 0;
> > +}
> > +
> 
> Just to know: I assume that the nRESET is implemented with a GPIO.

Yes, that's how it is on all designs I saw thus far (but see below).

> I am
> expecting then in the board files a diffusion of imx6_pcie_toggle_reset,
> where the oinly difference is the number of GPIO.

The problem is, there are boards with no nRESET connected to the slot. These 
boards are broken, thus will print the warning message.

> What about to define the GPIO in the board configuration file instead of
> defininig the function as __weak ?

I am hell-bent on printing the warning message there btw.. Such broken designs 
should be caught early on.

> Something like
> 
> imx6_pcie_toggle_reset(int nReset)
> {
> ..
> }
> 
> static int imx6_pcie_deassert_core_reset(void)
> {
> 
> ...
>       imx6_pcie_toggle_reset(CONFIG_IMX6_PCIE_RESET);
> 
> }
> 
> Best regards,
> Stefano Babic

Best regards,
Marek Vasut
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to