xref: /openbmc/linux/Documentation/pcmcia/driver.rst (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
1*3bdab16cSMauro Carvalho Chehab=============
2*3bdab16cSMauro Carvalho ChehabPCMCIA Driver
3*3bdab16cSMauro Carvalho Chehab=============
4*3bdab16cSMauro Carvalho Chehab
5*3bdab16cSMauro Carvalho Chehabsysfs
6*3bdab16cSMauro Carvalho Chehab-----
7*3bdab16cSMauro Carvalho Chehab
8*3bdab16cSMauro Carvalho ChehabNew PCMCIA IDs may be added to a device driver pcmcia_device_id table at
9*3bdab16cSMauro Carvalho Chehabruntime as shown below::
10*3bdab16cSMauro Carvalho Chehab
11*3bdab16cSMauro Carvalho Chehab  echo "match_flags manf_id card_id func_id function device_no \
12*3bdab16cSMauro Carvalho Chehab  prod_id_hash[0] prod_id_hash[1] prod_id_hash[2] prod_id_hash[3]" > \
13*3bdab16cSMauro Carvalho Chehab  /sys/bus/pcmcia/drivers/{driver}/new_id
14*3bdab16cSMauro Carvalho Chehab
15*3bdab16cSMauro Carvalho ChehabAll fields are passed in as hexadecimal values (no leading 0x).
16*3bdab16cSMauro Carvalho ChehabThe meaning is described in the PCMCIA specification, the match_flags is
17*3bdab16cSMauro Carvalho Chehaba bitwise or-ed combination from PCMCIA_DEV_ID_MATCH_* constants
18*3bdab16cSMauro Carvalho Chehabdefined in include/linux/mod_devicetable.h.
19*3bdab16cSMauro Carvalho Chehab
20*3bdab16cSMauro Carvalho ChehabOnce added, the driver probe routine will be invoked for any unclaimed
21*3bdab16cSMauro Carvalho ChehabPCMCIA device listed in its (newly updated) pcmcia_device_id list.
22*3bdab16cSMauro Carvalho Chehab
23*3bdab16cSMauro Carvalho ChehabA common use-case is to add a new device according to the manufacturer ID
24*3bdab16cSMauro Carvalho Chehaband the card ID (form the manf_id and card_id file in the device tree).
25*3bdab16cSMauro Carvalho ChehabFor this, just use::
26*3bdab16cSMauro Carvalho Chehab
27*3bdab16cSMauro Carvalho Chehab  echo "0x3 manf_id card_id 0 0 0 0 0 0 0" > \
28*3bdab16cSMauro Carvalho Chehab    /sys/bus/pcmcia/drivers/{driver}/new_id
29*3bdab16cSMauro Carvalho Chehab
30*3bdab16cSMauro Carvalho Chehabafter loading the driver.
31