|
Bog BOS: hardware: PC Card (PCMCIA, CardBus, Card Express) |
Последнее изменение файла: 2008.07.06
Скопировано с www.bog.pp.ru: 2024.11.21
PC Card (PCMCIA, CardBus, Card Express).
PCMCIA (Personal Computer Memory Card International Association) - первоначальный стандарт на карты с дополнительной памятью, вставляемые в специальный слот ноутбука. Использовался модифицированная шина ISA: 16 бит, 8MHz. В дальнейшем название было сокращено до PC Card. В отличие от оригинальной шины ISA реализован механизм автоматического распределния ресурсов. Информация о требуемых ресурсах содержится в CIS (card information structure).
CardBus по физическим размерам соответсвует PCMCIA, но поддерживает интерфейс PCI: 32 бита, 33 MHz. Мост между шинами PCI и CardBus - это отдельное устройство PCI со своими ресурсами и своим драйвером:
02:04.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller Subsystem: Wistron Corp. Unknown device 3005 Flags: bus master, medium devsel, latency 168, IRQ 10 Memory at e0204000 (32-bit, non-prefetchable) [size=4K] Bus: primary=02, secondary=03, subordinate=03, sec-latency=176 Memory window 0: 40000000-43fff000 (prefetchable) Memory window 1: 4c000000-4ffff000 I/O window 0: 00003400-000034ff I/O window 1: 00003800-000038ff 16-bit legacy interface ports at 0001 Kernel driver in use: yenta_cardbus 02:04.1 CardBus bridge: Texas Instruments PCI7420 CardBus Controller Subsystem: Wistron Corp. Unknown device 3005 Flags: bus master, medium devsel, latency 168, IRQ 10 Memory at e0206000 (32-bit, non-prefetchable) [size=4K] Bus: primary=02, secondary=04, subordinate=07, sec-latency=176 Memory window 0: 44000000-47fff000 (prefetchable) Memory window 1: 50000000-53fff000 I/O window 0: 00003c00-00003cff I/O window 1: 00001400-000014ff 16-bit legacy interface ports at 0001 Kernel driver in use: yenta_cardbus
Выпускаются переходники CardBus-PCI и CardBus-miniPCI. Кстати, mini-PCI - это тоже мост:
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=02, subordinate=07, sec-latency=32 I/O behind bridge: 00003000-00003fff Memory behind bridge: e0200000-e02fffff Prefetchable memory behind bridge: 40000000-47ffffff
При вставке карты в слот демон cardmgr/pcmcia получает извещение об этом, запрашивает тип карты и, используя файл /etc/pcmcia/config, загружает необходимые модули ядра. Файл /etc/pcmcia/config.opts содержит список ресурсов, доступных подсистеме PC Card (не включает ресурсы моста и ресурсы 32-юитной шины, которые распределяются средствами драйвера PCI). cardmgr выделяет требуемые ресурсы из общего пула и назначает их карте, извещая её об этом с помощью драйвера моста (yenta_socket) и аппаратуры моста.
Пакет pcmciautils содержит набор программ для работы с PC Card:
Socket 0: no card Socket 1: 3.3V 32-bit PC Card
Socket 0 Bridge: [yenta_cardbus] (bus ID: 0000:02:04.0) Socket 1 Bridge: [yenta_cardbus] (bus ID: 0000:02:04.1)
|
Bog BOS: hardware: PC Card (PCMCIA, CardBus, Card Express) |