Can confirm: USB port does not even supply power.
@chunkeey, looks to me like another regulator wrongly initialized "active low" in the dts:
usbpwr: usb-regulator {
compatible = "regulator-fixed";
regulator-name = "Power USB Core";
gpios = <&GPIO1 2 GPIO_ACTIVE_LOW>;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
I tried to decompile/change/recompile the dtb with the following regulator section:
usb-regulator {
compatible = "regulator-fixed";
regulator-name = "Power USB Core";
gpios = <0xc 0x2 0x0>;
regulator-min-microvolt = <0x4c4b40>;
regulator-max-microvolt = <0x4c4b40>;
regulator-boot-on;
regulator-always-on;
enable-active-high;
phandle = <0xf>;
};
(0x0 is the hex value for GPIO_ACTIVE_HIGH ... regulator-boot-on, regulator-always-on, enable-active-high I grabbed from your recent commit.)
With that change, the USB port is powered again, but dwc2 then fails when I plug something in, e.g. a USB stick:
[ 36.483848] dwc2 4bff80000.usbotg: dwc2_restore_global_registers: no global registers to restore
[ 36.492616] dwc2 4bff80000.usbotg: dwc2_exit_partial_power_down: failed to restore registers
[ 36.501019] dwc2 4bff80000.usbotg: exit partial_power_down failed
[ 36.517452] dwc2 4bff80000.usbotg: HC died; cleaning up
Another test with a Wifi dongle shows a kernel warning irq 36: nobody cared
followed by a stack trace and Disabling IRQ #36
.
The same happens if I remove the regulator section altogether, so I think there's another problem somewhere, one I am not able to diagnose and fix.