Pin GPIO cho mặc định nguồn USB2.0 ở mức thấp.


1

lần đầu tiên đăng bài. Vì vậy, cảm ơn bạn đã hỗ trợ trước. Tôi đang làm việc với bảng IMX6, chạy kernel linux, u-boot và rootfs được tạo từ yocto. Tôi đã sử dụng một trong những hình ảnh cốt lõi. core-image-Minimal-dev để xây dựng hình ảnh kernel. Tôi đã thêm vào usbutils dưới dạng image_install trong công thức core-image-Minimal-dev.

đối với cây thiết bị của tôi, tôi có những điều sau đây cho bộ điều chỉnh 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";
};

Vì vậy, khi tôi bật nguồn và có quyền truy cập vào thiết bị đầu cuối trên bề mặt, nó hoạt động tốt. Tuy nhiên, tôi cần thao tác pin gpio6_IO15 lên cao. Vì pin này chịu trách nhiệm cấp nguồn cho cổng USB2.0 của tôi.

khi tôi cố chạy

echo 175 > /sys/class/gpio/export

tôi nhận được một thông báo lỗi rằng thiết bị hoặc tài nguyên đang bận.

Vì vậy, tôi đã chạy một kiểm tra để xem nó đang được sử dụng bởi cái gì.

cat /sys/kernel/debug/gpio

có vẻ như bằng cách thêm phần trên vào dts, tôi đã phân bổ tài nguyên cho kernel. Lý tưởng nhất là tôi muốn sử dụng pin gpio như một loại tắt nguồn cho thiết bị sẽ được kết nối với cổng usb. Tuy nhiên, bây giờ tôi chỉ thực sự muốn có được sức mạnh trên.

Điều kỳ lạ là mặc dù DTS của tôi được thiết lập ở mức cao, nhưng nó lại khiến pin thấp. Có ai có cái nhìn sâu sắc về những thay đổi có thể giải quyết tình huống của tôi.


Tôi không biết ý nghĩa của mã của bạn đối với "điều chỉnh @ 1" là gì, nhưng việc đặt min và max cho chính xác cùng một giá trị ít nhất là phi vật lý, không có bộ điều chỉnh nào có thể hoàn hảo như vậy. Bạn có chắc chắn rằng mã của bạn tạo ra bất kỳ thực thi có ý nghĩa và không vô nghĩa?
Ale..chenski

Vì vậy, mã mà tôi đã đăng là một phần của bộ điều chỉnh cây thiết bị. Đây là thiết lập dựa trên bảng tham chiếu, bảng sabrea, với các đặc điểm tương tự của bảng tôi đang sử dụng. Vì vậy, tôi giả sử rằng vì nó đang chạy trên bảng tham chiếu với các cài đặt này nên sẽ ổn về mức tối thiểu / tối đa. Những thay đổi tôi đã thực hiện từ bảng tham chiếu liên quan đến pin gpio đang được sử dụng.
Michael

Câu trả lời:


0

Vì vậy, tôi đã có thể theo dõi sơ đồ cho bảng tôi đang sử dụng và nhận thấy rằng nguồn 5v đã bị tắt theo mặc định. Vì vậy, trong khi tôi cần pin gpio cho thiết bị USB2.0 có sẵn để chuyển đổi, thì nguồn cung cấp 5v là thứ khiến tôi không bật nguồn cho thiết bị.

Vì vậy, vấn đề quyền lực đã được giải quyết. Tôi sẽ gửi một câu hỏi khác vào lúc khác để lấy lại quyền kiểm soát pin gpio cho usb2.0.

Tôi không thể chỉ sử dụng 5v vì 5v cấp nguồn cho nhiều thiết bị mà tôi không cần / muốn kích hoạt cùng một lúc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.