Configurando uma placa serial PCIe que não parece possuir portas de E / S

1

Estou tentando atribuir uma placa serial Brainboxes PX-246 PCI Express a um dispositivo / dev / ttyS .. usando o comando setserial , mas esta placa não parece ter um endereço de porta de E / S (somente memória endereços).

lspci -v fornece o seguinte:

05:00.0 Serial controller: Brain Boxes Device 4016 (rev 02) (prog-if 06 [16950])
        Subsystem: Brain Boxes Device 4016
        Flags: fast devsel, IRQ 18
        Memory at f7600000 (32-bit, non-prefetchable) [size=16K]
        Memory at f7400000 (32-bit, non-prefetchable) [size=2M]
        Memory at f7200000 (32-bit, non-prefetchable) [size=2M]
        Capabilities: [40] Power Management version 3
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [b0] MSI-X: Enable- Count=16 Masked-
        Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-01-50
        Capabilities: [110] Power Budgeting <?>

É possível atribuir um endereço de memória a um dispositivo serial em vez de uma porta de E / S?

No momento, estou testando o cartão no Ubuntu 16.04, mas eventualmente ele será usado em um sistema Fedora.

Qualquer ajuda seria muito apreciada!

    
por Joshua Chadney 29.11.2017 / 19:28

1 resposta

1

A folha de dados do OXPCIe952 é, e. aqui , diz na página 3 que o chip pode ser ativado em vários modos, dependendo do hardware cintas de 5 pinos.

A UART está disponível no modo legado (com endereços de E / S) e no modo nativo (memória mapeada, com as 3 BARs mostradas na sua pergunta). Se você não tiver outras funções (dispositivos PCI como 05:00.1 , 05:00.2 etc.), isso significa que sua placa está habilitada para uma UART nativa, 5ª linha no gráfico da página 3. Ela também explica o que as BARs são usados para (se você estiver interessado) na página 13. Como eu imaginei, a primeira BAR é E / S mapeada na memória para a UART.

O arquivo 8250_pci.c de fato contém IDs PCI para UARTs legados e nativos com este chip, então, sim, a primeira coisa que eu tento é adicionar seus IDs PCI a este arquivo, recompilar e ver se funciona.

    
por 30.11.2017 / 14:09