On 03.01.2023 16:34, Marek Vasut wrote: > On 1/3/23 13:11, sergiu.m...@microchip.com wrote: >> On 03.01.2023 01:26, Marek Vasut wrote: >>> On 12/23/22 13:34, Sergiu Moga wrote: >>> >>> [...] >>> >>>> diff --git a/drivers/usb/host/ohci-at91.c >>>> b/drivers/usb/host/ohci-at91.c >>>> index 9b955c1bd6..9ae55c6e5d 100644 >>>> --- a/drivers/usb/host/ohci-at91.c >>>> +++ b/drivers/usb/host/ohci-at91.c >>>> @@ -5,6 +5,9 @@ >>>> */ >>>> >>>> #include <common.h> >>>> + >>>> +#if !(CONFIG_IS_ENABLED(DM_USB)) >>>> + >>>> #include <asm/arch/clk.h> >>>> >>>> int usb_cpu_init(void) >>>> @@ -62,3 +65,183 @@ int usb_cpu_init_fail(void) >>>> { >>>> return usb_cpu_stop(); >>>> } >>> >>> Would it be possible to just remove the non-DM functionality ? >>> >> >> Unfortunately, the other older boards would not build and work anymore >> if I were to remove this. > > Any chance they can be converted to DM ? >
Not at the moment, no. >>>> +#elif CONFIG_IS_ENABLED(DM_GPIO) >>> >>> I think you want plain '#else' here, and then make the driver select >>> DM_GPIO in case DM_USB is enabled in Kconfig entry. >>> >>>> +#include <clk.h> >>>> +#include <dm.h> >>>> +#include <asm/gpio.h> >>>> +#include <usb.h> >>>> +#include "ohci.h" >>>> + >>>> +#define AT91_MAX_USBH_PORTS 3 >>>> >>>> +#define at91_for_each_port(index) \ >>>> + for ((index) = 0; (index) < AT91_MAX_USBH_PORTS; >>>> (index)++) >>>> + >>>> +struct at91_usbh_data { >>>> + enum usb_init_type init_type; >>>> + struct gpio_desc vbus_pin[AT91_MAX_USBH_PORTS]; >>> >>> drivers/usb/host/ehci-generic.c: ret = >>> device_get_supply_regulator(dev, "vbus-supply", >>> >>> I wonder if we can instead use regulator for vbus-supply here too ? >>> >> >> I would rather keep the same DT properties as those in Linux and have >> them be in concordance with our USB DT binding, which specifies the >> atmel,vbus-gpio property and no vbus-supply. > > Oh well, so yes, we're stuck with this GPIO stuff. > > [...] Unfortunately yes...