[PATCH 4/4] usb: ohci-at91: Add USB PHY functionality
Marek Vasut
marex at denx.de
Tue Jan 3 15:38:21 CET 2023
On 1/3/23 14:02, Sergiu.Moga at microchip.com wrote:
> On 03.01.2023 01:33, Marek Vasut wrote:
>> On 12/23/22 13:34, Sergiu Moga wrote:
>>> Add the ability to enable/disable whatever USB PHY's are
>>> passed to the AT91 OHCI driver through DT.
>>>
>>> Signed-off-by: Sergiu Moga <sergiu.moga at microchip.com>
>>> Tested-by: Mihai Sain <mihai.sain at microchip.com>
>>> ---
>>> drivers/usb/host/ohci-at91.c | 31 +++++++++++++++++++++++++++++++
>>> 1 file changed, 31 insertions(+)
>>>
>>> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
>>> index 5cf8f283e5..217f31b402 100644
>>> --- a/drivers/usb/host/ohci-at91.c
>>> +++ b/drivers/usb/host/ohci-at91.c
>>> @@ -74,6 +74,10 @@ int usb_cpu_init_fail(void)
>>> #include <usb.h>
>>> #include "ohci.h"
>>>
>>> +#if CONFIG_IS_ENABLED(PHY_MICROCHIP_SAMA7_USB)
>>> +#include <generic-phy.h>
>>> +#endif
>>> +
>>> #define AT91_MAX_USBH_PORTS 3
>>>
>>> #define at91_for_each_port(index) \
>>> @@ -91,6 +95,10 @@ struct ohci_at91_priv {
>>> struct clk *fclk;
>>> struct clk *hclk;
>>> bool clocked;
>>> +
>>> +#if CONFIG_IS_ENABLED(PHY_MICROCHIP_SAMA7_USB)
>>> + struct phy phy[AT91_MAX_USBH_PORTS];
>>> +#endif
>>> };
>>>
>>> static void at91_start_clock(struct ohci_at91_priv *ohci_at91)
>>> @@ -98,6 +106,13 @@ static void at91_start_clock(struct ohci_at91_priv
>>> *ohci_at91)
>>> if (ohci_at91->clocked)
>>> return;
>>>
>>> +#if CONFIG_IS_ENABLED(PHY_MICROCHIP_SAMA7_USB)
>>
>> Use plain:
>>
>> if (CONFIG_IS_ENABLED(...)) { ... }
>>
>> instead of the #if ... , the compiler would optimize the code out
>> correctly.
>>
>
>
> The build system complains that the generic_phy_* methods are not
> present and, if possible, I would like not to have to enable the PHY
> related CONFIGs on the boards that do not need it only to avoid these
> warnings.
Do include <generic-phy.h> . If CONFIG_PHY is not set, then those
generic_phy_*() functions become empty inline functions, where are
optimized out by the compiler.
More information about the U-Boot
mailing list