I/O 포트가 없는 것으로 보이는 PCIe 직렬 카드 설정

I/O 포트가 없는 것으로 보이는 PCIe 직렬 카드 설정

명령을 사용하여 Brainboxes PX-246 PCI Express 직렬 카드를 /dev/ttyS.. 장치에 할당하려고 하는데 setserial이 카드에 I/O 포트 주소가 없는 것 같습니다(메모리 주소만 있음).

lspci -v다음을 제공합니다:

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 <?>

I/O 포트 대신 직렬 장치에 메모리 주소를 할당할 수 있습니까?

현재 Ubuntu 16.04에서 카드를 테스트하고 있지만 결국에는 Fedora 시스템에서 사용될 예정입니다.

어떤 도움이라도 주시면 감사하겠습니다!

답변1

OXPCIe952의 데이터시트는 다음과 같습니다.여기, 3페이지에는 5핀의 하드웨어 연결에 따라 칩이 여러 모드에서 활성화될 수 있다고 나와 있습니다.

UART는 레거시 모드(I/O 주소 포함)와 기본 모드(질문에 표시된 3개의 BAR로 메모리 매핑됨)에서 사용할 수 있습니다. 다른 기능(예 05:00.1: PCI 장치 등)이 없는 경우 05:00.2이는 3페이지 차트의 5번째 줄인 하나의 기본 UART에 대해 카드가 활성화되어 있음을 의미합니다. 또한 BAR이 사용되는 용도에 대해 설명합니다. 추측한 대로 첫 번째 BAR은 UART에 대한 메모리 매핑 I/O입니다.

파일에는 8250_pci.c실제로 이 칩이 포함된 레거시 UART와 기본 UART에 대한 PCI ID가 포함되어 있습니다. 따라서 가장 먼저 시도할 것은 이 파일에 PCI ID를 추가하고 다시 컴파일한 후 작동하는지 확인하는 것입니다.

관련 정보