первое размещение Так что спасибо заранее за поддержку. Я работаю с платой IMX6, использую ядро linux, u-boot и rootfs, сгенерированные из yocto. Я использовал одно из основных изображений. core-image-minimal-dev для создания образа ядра. Я добавил в usbutils как image_install в рецепте core-image-minimal-dev.
для моего дерева устройств у меня есть следующее для регуляторов 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, и это приводит к низкому уровню пина. Есть ли у кого-нибудь понимание того, какие изменения могут решить мою ситуацию.