O pino GPIO para o padrão de energia usb2.0 é baixo.

O pino GPIO para o padrão de energia usb2.0 é baixo.

primeira vez postando. Então, obrigado pelo apoio antecipadamente. Estou trabalhando com uma placa IMX6, executando um kernel Linux, u-boot e rootfs que foram gerados a partir do yocto. Usei uma das imagens principais. core-image-minimal-dev para construir a imagem do kernel. Eu adicionei usbutils como image_install dentro da receita core-image-minimal-dev.

para minha árvore de dispositivos, tenho o seguinte para os reguladores 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;
                };

e

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

então, quando eu ligo e tenho acesso ao terminal na superfície, ele funciona bem. Porém, preciso manipular o pino gpio6_IO15 para alto. Como este pino é responsável por alimentar minha porta usb2.0.

quando tento correr

echo 175 > /sys/class/gpio/export

recebo um erro informando que o dispositivo ou recurso está ocupado.

então fiz uma verificação para ver o que estava sendo usado.

cat /sys/kernel/debug/gpio

bem, parece que adicionando o acima ao dts, aloquei o recurso para o kernel. Idealmente, eu gostaria de usar o pino gpio como uma espécie de desligamento para o dispositivo que será conectado à porta USB. No entanto, por enquanto, eu realmente gostaria de poder ligá-lo.

O que é estranho é que mesmo que eu tenha o DTS configurado para ativo alto, ele está deixando o pino baixo. Alguém tem alguma ideia de quais mudanças poderiam resolver minha situação.

Responder1

Consegui rastrear o esquema da placa que estou usando e percebi que a fonte de alimentação de 5 V estava desligada por padrão. Portanto, embora eu precise do pino gpio para que o dispositivo USB 2.0 esteja disponível para alternância, a fonte de 5 V foi o que me impediu de ligar o dispositivo.

Portanto, a questão da energia foi resolvida. Vou postar outra pergunta em outro momento para recuperar o controle do pino gpio para usb2.0.

Não posso simplesmente usar o 5v porque o 5v alimenta vários dispositivos, que não preciso/quero que sejam ativados ao mesmo tempo.

informação relacionada