[PATCH 2/2] arm64: a37xx: pci: Assert PERST# signal when unloading driver

Stefan Roese sr at denx.de
Thu Aug 20 09:48:17 CEST 2020


On 20.08.20 09:43, Pali Rohár wrote:
> On Thursday 20 August 2020 07:05:58 Stefan Roese wrote:
>> On 19.08.20 15:57, Pali Rohár wrote:
>>> This change ensures that PCIe card is put into reset state when U-Boot
>>> stops using it.
>>>
>>> DM_FLAG_OS_PREPARE ensures that U-Boot executes driver's remove callback
>>> prior booting Linux kernel.
>>>
>>> Linux kernel pci-aardvark driver needs to reset PCIe card via PERST# signal
>>> prior initializing it. If it does not issue reset then some PCIe cards
>>> (specially Compex WiFi cards) are not detected at all.
>>>
>>> Putting PCIe card into reset state prior booting Linux kernel would ensure
>>> that card would be properly reset at time when Linux kernel starts
>>> initializing pci-aardvark driver.
>>>
>>> Signed-off-by: Pali Rohár <pali at kernel.org>
>>> ---
>>>    drivers/pci/pci-aardvark.c | 27 +++++++++++++++++++++------
>>>    1 file changed, 21 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c
>>> index 5b3f23c184..8996be5309 100644
>>> --- a/drivers/pci/pci-aardvark.c
>>> +++ b/drivers/pci/pci-aardvark.c
>>> @@ -148,6 +148,9 @@ struct pcie_advk {
>>>    	void           *base;
>>>    	int            first_busno;
>>>    	struct udevice *dev;
>>> +#if CONFIG_IS_ENABLED(DM_GPIO)
>>> +	struct gpio_desc reset_gpio;
>>> +#endif
>>>    };
>>
>> Adding more #ifdef's is not recommended. Can't you "depend" this driver
>> on DM_GPIO in Kconfig instead? Are there any used that don't support
>> DM_GPIO right now?
> 
> I'm not sure if this dependency is what people want. CCing Simon.
> 
> In past Simon created commit bcee8d6764f9215f16b393a35581000178633254
> where described that want to build SPL without GPIO uclass support.

Is this PCI driver ever built into SPL?

Thanks,
Stefan


More information about the U-Boot mailing list