Estou tentando atribuir uma placa serial Express PCI Brainboxes PX-246 a um dispositivo /dev/ttyS.. usando o setserial
comando, no entanto, esta placa parece não possuir um endereço de porta de E/S (apenas endereços de memória).
lspci -v
dá 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 a placa no Ubuntu 16.04, mas eventualmente ela será usada em um sistema Fedora.
Qualquer ajuda seria muito apreciada!
A folha de dados do OXPCIe952 é, por exemplo , aqui , diz na página 3 que o chip pode ser ativado em vários modos, dependendo da cinta de hardware de 5 pinos.
O UART está disponível em modo legado (com endereços de I/O) e modo nativo (memória mapeada, com os 3 BARs mostrados na sua pergunta). Se você não tiver nenhuma outra função (dispositivos PCI como
05:00.1
,05:00.2
etc.), isso significa que sua placa está habilitada para um UART nativo, 5ª linha no gráfico da página 3. Também explica para que servem as BARs (se você estão interessados) na página 13. Como imaginei, a primeira BAR é E/S mapeada em memória para o UART.O arquivo
8250_pci.c
realmente contém IDs de PCI para UARTs legados e nativos com este chip, então sim, a primeira coisa que tentaria é adicionar seus IDs de PCI a este arquivo, recompilar e ver se funciona.