USB2.0 電源供應器的 GPIO 接腳預設為低電位。

USB2.0 電源供應器的 GPIO 接腳預設為低電位。

第一次發文。所以先感謝您的支持。我正在使用 IMX6 板,運行 Linux 核心、u-boot 和從 yocto 生成的 rootfs。我使用了其中一張核心圖像。 core-image-minimal-dev 用於建立內核映像。我將 usbutils 添加到 core-image-minimal-dev 配方中作為 image_install 。

對於我的裝置樹,我有以下 USB 調節器

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;
                };

&usbh1 {
        vbus-supply = <&reg_usb_h1_vbus>;
        dr_mode="peripheral";
        status = "okay";
};

因此,當我啟動並訪問表面上的終端時,它工作正常。但是,我需要將 gpio6_IO15 引腳操作為高電平。因為這個引腳負責為我的 USB2.0 連接埠供電。

當我嘗試跑步時

echo 175 > /sys/class/gpio/export

我收到一條錯誤訊息,指出設備或資源正忙。

所以我檢查了一下它的用途。

cat /sys/kernel/debug/gpio

看來透過將上述內容新增到 dts,我已將資源分配給核心。理想情況下,我想使用 GPIO 引腳作為要連接到 USB 連接埠的裝置的一種開機和關機功能。然而,現在我真的很希望能夠接通電源。

奇怪的是,即使我將 DTS 設定為高電平有效,它也會將引腳驅動為低電平。有誰知道哪些改變可以解決我的情況。

答案1

因此,我能夠找到我正在使用的電路板的原理圖,並注意到 5v 電源預設為關閉。因此,雖然我需要 gpio 引腳來切換 USB2.0 設備,但 5v 電源阻止我打開設備。

這樣電源問題就解決了。我將再次發布另一個問題來控制 usb2.0 的 GPIO 引腳。

我不能只使用 5v,因為 5v 為多個設備供電,我不需要/不想同時啟動這些設備。

相關內容