Como posso acessar os pinos do GPIO do CentOS 6.4?

3

Eu tenho um computador de placa única com 8 pinos GPIO que gostaria de acessar do espaço do usuário na minha instalação do CentOS 6.4. Eu vejo os pinos GPIO mencionados na saída 'dmesg', mas o diretório / sys / class / gpio não existe. Existe um driver especial que eu preciso ou meu kernel não é novo o suficiente (2.6.32-358.el6.i686)? O modelo SBC é o Advantech PCM-9389, caso isso seja importante.

GPIO mencionado no dmesg:

    pci 0000:00:1f.0: quirk: [io  0x0800-0x087f] claimed by ICH6 ACPI/GPIO/TCO
    pci 0000:00:1f.0: quirk: [io  0x0500-0x053f] claimed by ICH6 GPIO
    
por KyleL 28.06.2013 / 15:39

1 resposta

1

Você realmente precisa carregar o módulo de driver GPIO correto para o seu hardware. Você também pode precisar carregá-lo manualmente (nomeando-o em / etc / modules) se ele não for carregado automaticamente (alguns não porque não são "plug-and-play").

A falta de módulos GPIO carregados no seu kernel em execução é a razão pela qual você não tem um diretório /sys/class/gpio .

Das mensagens de inicialização citadas, o módulo correto provavelmente é gpio_ich . Mas somente os testes dirão com certeza.

Eu uso o módulo gpio_ich , portanto, para fins de comparação, aqui estão alguns detalhes do meu sistema. Eu não testei meus pinos do GPIO, mas meu sistema está definitivamente mais perto de funcionar do que o seu, então isso deve aproximá-lo.

$ modinfo gpio_ich
ERROR: Module gpio_ich not found.

Isso porque meu gpio_ich está estaticamente ligado ao meu kernel, para uma inicialização um pouco mais rápida. Eu recomendo que você o construa como um módulo, caso em que o comando acima será bem-sucedido (diferentemente do meu caso) e mostrará os parâmetros do módulo, se houver algum.

$ ls -l /sys/class/gpio/
total 0
--w------- 1 root root 4096 Jul 14 16:12 export
lrwxrwxrwx 1 root root    0 Jul 14 16:12 gpiochip195 -> ../../devices/pci0000:00/0000:00:1f.0/gpio_ich/gpio/gpiochip195
--w------- 1 root root 4096 Jul 14 16:12 unexport

$ dmesg|fgrep -i gpio
gpio_ich: GPIO from 195 to 255 on gpio_ich
lpc_ich: Resource conflict(s) found affecting gpio_ich
it87: VID is disabled (pins used for GPIO)

A primeira mensagem é o módulo inicializando. A falta disso é um show-stopper. Eu não sei se o Resource conflict(s) indicado na segunda linha é um problema ou não (eu suspeito que eles são devido à reutilização de pinos declarados na terceira linha, então não são um problema).

Boa sorte!

    
por 14.07.2013 / 15:04