I tried to use the dwg_otg driver from arm instead of the DWC2 driver but that didnt compile- I tried to fix it, but i havent had enough knowledge about fqi and stuff. So i tried to dig in the DWC2 driver.
Code: Select all
Pi_3 64_bit 3f980000.usb # cat usb1/bMaxPower
0mA
This is related to the dmesg msg;
Code: Select all
[ 0.187217] 3f980000.usb supply vusb_d not found, using dummy regulator
[ 0.187246] 3f980000.usb supply vusb_a not found, using dummy regulator
[ 0.365674] dwc2 3f980000.usb: new USB bus registered, assigned bus number 1
greping through the sources showed me, that it wants in the device tree a "vusb_a" and "vusb_d" regulators.
Code: Select all
georg@hammerhead ~/intern/Dokumente/Entwicklung/rpi3/src/linux-2.6 $ grep -riHn "not found, using dummy regulator" drivers/*
drivers/regulator/core.c:1572: pr_warn("%s supply %s not found, using dummy regulator\n",
Code: Select all
/*
* Assume that a regulator is physically present and enabled
* even if it isn't hooked up and just provide a dummy.
*/
if (have_full_constraints() && allow_dummy) {
pr_warn("%s supply %s not found, using dummy regulator\n",
devname, id);
rdev = dummy_regulator_rdev;
get_device(&rdev->dev);
goto found;
/* Don't log an error when called from regulator_get_optional() */
} else if (!have_full_constraints() || exclusive) {
dev_warn(dev, "dummy supplies not allowed\n");
}
Now the big question: On what gpio is it? I tried to grep through the 32bit pi kernel but it uses the dwg_otg driver. This driver seems not to contain the word "regulator"
Some exampleshow it should look like
Code: Select all
georg@hammerhead ~/intern/Dokumente/Entwicklung/rpi3/src/linux-2.6 $ grep -riHn vusb_d arch/*
arch/arm/boot/dts/exynos4210-universal_c210.dts:284: vusb_d-supply = <&ldo3_reg>;
arch/arm/boot/dts/exynos3250-rinato.dts:160: vusb_d-supply = <&ldo15_reg>;
arch/arm/boot/dts/s5pv210-aquila.dts:357: vusb_d-supply = <&ldo8_reg>;
arch/arm/boot/dts/exynos4412-trats2.dts:475: vusb_d-supply = <&ldo15_reg>;
arch/arm/boot/dts/exynos4210-trats.dts:263: vusb_d-supply = <&vusb_reg>;
arch/arm/boot/dts/s5pv210-goni.dts:335: vusb_d-supply = <&ldo8_reg>;
arch/arm/boot/dts/exynos3250-monk.dts:169: vusb_d-supply = <&ldo15_reg>;
arch/arm/boot/dts/exynos4412-odroid-common.dtsi:194: vusb_d-supply = <&ldo15_reg>;
arch/arm/boot/dts/bcm28155-ap.dts:77: vusb_d-supply = <&usbldo_reg>;
georg@hammerhead ~/intern/Dokumente/Entwicklung/rpi3/src/linux-2.6 $ grep -riHn vusb_a arch/*
arch/arm/boot/dts/exynos4210-universal_c210.dts:285: vusb_a-supply = <&ldo8_reg>;
arch/arm/boot/dts/exynos3250-rinato.dts:161: vusb_a-supply = <&ldo12_reg>;
arch/arm/boot/dts/s5pv210-aquila.dts:356: vusb_a-supply = <&ldo3_reg>;
arch/arm/boot/dts/exynos4412-trats2.dts:476: vusb_a-supply = <&ldo12_reg>;
arch/arm/boot/dts/exynos4210-trats.dts:264: vusb_a-supply = <&vusbdac_reg>;
arch/arm/boot/dts/s5pv210-goni.dts:334: vusb_a-supply = <&ldo3_reg>;
arch/arm/boot/dts/exynos3250-monk.dts:170: vusb_a-supply = <&ldo12_reg>;
arch/arm/boot/dts/exynos4412-odroid-common.dtsi:195: vusb_a-supply = <&ldo12_reg>;
arch/arm/boot/dts/bcm28155-ap.dts:78: vusb_a-supply = <&iosr1_reg>;
The dwg_otc driver ... No clue about it
Code: Select all
georg@hammerhead ~/Dokumente/Entwicklung/rpi3/src/linux-pi/drivers/usb/host $ grep -riHn regulator dwc_*
georg@hammerhead ~/Dokumente/Entwicklung/rpi3/src/linux-pi/drivers/usb/host $ grep -riHn vusb dwc_*
georg@hammerhead ~/Dokumente/Entwicklung/rpi3/src/linux-pi/drivers/usb/host $
Is there a electrical diagram available from the Raspberry Pi 3B?
This are the devices which are on this bus:
Code: Select all
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Some other boards which had a similar issue. They fixed it wit the DTS
http://www.alteraforum.com/forum/archiv ... 50295.html