
第一次發文。所以先感謝您的支持。我正在使用 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 = <®_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 為多個設備供電,我不需要/不想同時啟動這些設備。