
erster Beitrag. Vielen Dank also im Voraus für die Unterstützung. Ich arbeite mit einem IMX6-Board, auf dem ein Linux-Kernel, U-Boot und Rootfs laufen, die von Yocto generiert wurden. Ich habe eines der Kernel-Images verwendet. core-image-minimal-dev, um das Kernel-Image zu erstellen. Ich habe usbutils als image_install innerhalb des core-image-minimal-dev-Rezepts hinzugefügt.
für meinen Gerätebaum habe ich folgendes für die USB-Regler
reg_usb_h1_vbus: regulator@1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "usb_h1_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio6 15 0>;
enable-active-high;
};
Und
&usbh1 {
vbus-supply = <®_usb_h1_vbus>;
dr_mode="peripheral";
status = "okay";
};
Wenn ich also einschalte und Zugriff auf das Terminal auf der Oberfläche habe, funktioniert es einwandfrei. Allerdings muss ich den GPIO6_IO15-Pin auf High manipulieren. Denn dieser Pin ist für die Stromversorgung meines USB2.0-Ports zuständig.
wenn ich versuche zu rennen
echo 175 > /sys/class/gpio/export
ich erhalte eine Fehlermeldung, dass das Gerät oder die Ressource belegt ist.
also habe ich überprüft, wofür es verwendet wurde.
cat /sys/kernel/debug/gpio
nun, es scheint, als hätte ich durch das Hinzufügen des Obigen zum DTS die Ressource dem Kernel zugewiesen. Idealerweise würde ich den GPIO-Pin gerne als eine Art Ein-/Ausschalter für das Gerät verwenden, das an den USB-Anschluss angeschlossen wird. Im Moment möchte ich jedoch einfach nur in der Lage sein, den Strom einzuschalten.
Seltsam ist, dass der Pin nach unten geht, obwohl ich DTS auf „Aktiv hoch“ eingestellt habe. Weiß jemand, welche Änderungen mein Problem lösen könnten?
Antwort1
Ich konnte also den Schaltplan für die von mir verwendete Platine finden und bemerkte, dass die 5-V-Stromversorgung standardmäßig ausgeschaltet war. Obwohl ich also den GPIO-Pin für das USB2.0-Gerät brauche, um umschalten zu können, war es die 5-V-Stromversorgung, die mich daran hinderte, das Gerät einzuschalten.
Das Stromproblem wurde also behoben. Ich werde ein anderes Mal eine weitere Frage stellen, um die Kontrolle über den GPIO-Pin für USB 2.0 zurückzuerlangen.
Ich kann nicht einfach die 5 V verwenden, da die 5 V mehrere Geräte mit Strom versorgen, die ich nicht gleichzeitig aktivieren muss/möchte.