MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


File Formats                                           cardbus(4)



NAME
     cardbus - configuration files for cardbus device drivers

DESCRIPTION
     The CardBus bus share the same configuration parameters with
     the  PCI  bus.  CardBus  devices are self-identifying, which
     means that these devices provide configuration parameters to
     the  system that allow the system to identify the device and
     its driver. The configuration parameters are represented  in
     the form of name-value pairs that can be retrieved using the
     DI  property  interfaces.   See   ddiproplookup(9F)   for
     details.


     The CardBus bus properties of CardBus  devices  are  derived
     from  PCI  configuration space. Therefore, driver configura-
     tion files are not necessary for these devices.


     On some occasions,  drivers  for  CardBus  devices  can  use
     driver configuration files to provide driver private proper-
     ties   through   the   global   property   mechanism.    See
     driver.conf(4)  for  further  details.  Driver configuration
     files can also be used to augment or override properties for
     a specific instance of a driver.


     The CardBus nexus driver recognizes  the  following  proper-
     ties:

     reg           An arbitrary length array where  each  element
                   of  the  array consists of a 5-tuple of 32-bit
                   values. Each array element describes  a  logi-
                   cally  contiguous mappable resource on the PCI
                   bus.

                   The first three values in the 5-tuple describe
                   the  PCI address of the mappable resource. The
                   first tuple contains  the  following  informa-
                   tion:



                   Bits 0 - 7           8-bit register number
                   Bits 8 - 10          3-bit function number
                   Bits 11 - 15         5-bit device number
                   Bits 16 - 23         8-bit bus number
                   Bits 24 - 25         2-bit address space type identifier
                   Bits 31 - 28         Register number extended bits  8:11
                                        for extended config space. Zero for
                                        conventional configuration space.




SunOS 5.11          Last change: 11 July 2006                   1






File Formats                                           cardbus(4)



                   The  address  space  type  identifier  can  be
                   interpreted as follows:



                   0x0                  configuration space
                   0x1                  I/O space
                   0x2                  32-bit memory space address

                   The bus number is a unique identifying  number
                   assigned  to  each  bus within the PCI or PCIe
                   domain.

                   The device  number  is  a  unique  identifying
                   number  assigned  to each device on a PCI bus,
                   PCIe logical bus, or  CardBus  bus.  A  device
                   number is unique only within the set of device
                   numbers for a particular bus or logical bus.

                   Each CardBus device can have one to eight log-
                   ically  independent  functions,  each with its
                   own independent set  of  configuration  regis-
                   ters.  Each function on a device is assigned a
                   function number. For a device  with  only  one
                   function, the function number must be 0.

                   The register number fields select a particular
                   register   within  the  set  of  configuration
                   registers corresponding to the selected  func-
                   tion.  When  the address space type identifier
                   indicates configuration space, non-zero regis-
                   ter  number  extended bits select registers in
                   extended configuration space.

                   The second and third values in  the  reg  pro-
                   perty  5-tuple  specify  the 64-bit address of
                   the mappable resource within the PCI  or  PCIe
                   address  domain. Since the CardBus is a 32-bit
                   bus, the second 32-bit tuple is not used.  The
                   third  32-bit  tuple corresponds to the 32-bit
                   address.

                   The fourth and fifth 32-bit values in  the  5-
                   tuple  reg  property  specify  the size of the
                   mappable resource. The size is a 64-bit value.
                   Since  it's a 32-bit bus, only the fifth tuple
                   is used.

                   The driver can refer to the elements  of  this
                   array  by index, and construct kernel mappings
                   to        these        addresses         using
                   ddiregsmapsetup(9F).  The  index  into  the



SunOS 5.11          Last change: 11 July 2006                   2






File Formats                                           cardbus(4)



                   array is passed as  the  rnumber  argument  of
                   ddiregsmapsetup(9F).

                   At a high-level interrupt context, you can use
                   the  ddiget* and ddiput* family of functions
                   to  access  I/O  and  memory  space.  However,
                   access  to  configuration space is not allowed
                   when running at a high-interrupt level.


     interrupts    This property  consists  of  a  single-integer
                   element array. Valid interrupt property values
                   are 1, 2, 3, and  4.  This  value  is  derived
                   directly  from  the  contents  of the device's
                   configuration-interrupt-pin register.

                   A driver should use an index value of  0  when
                   registering its interrupt handler with the DI
                   interrupt interfaces.



     All CardBus devices support the  reg  property.  The  device
     number  and function number as derived from the reg property
     are used to construct the address part of  the  device  name
     under /devices.


     Only devices that generate interrupts support an  interrupts
     property.


     Occasionally it might be necessary to  override  or  augment
     the  configuration information supplied by a CardBus device.
     This change can be achieved by writing a  driver  configura-
     tion  file that describes a prototype device node specifica-
     tion containing the additional properties required.


     For the system to merge  the  prototype  node  specification
     into an actual device node, certain conditions must be met.

         o    First, the name property  must  be  identical.  The
              value of the name property needs to match the bind-
              ing name of the device. The  binding  name  is  the
              name  chosen  by  the  system to bind a driver to a
              device and is either an alias associated  with  the
              driver or the hardware node name of the device.

         o    Second, the parent property must identify  the  PCI
              bus or PCIe logical bus.




SunOS 5.11          Last change: 11 July 2006                   3






File Formats                                           cardbus(4)



         o    Third, the unit-address property must identify  the
              card. The format of the unit-address property is:


     D[,F]


     where D is the device number and F is the function  number.
     If the function number is 0, only D is specified.

EXAMPLES
     Example 1 Sample Configuration File


     An example configuration file called ACME,scsi-hba.conf  for
     a CardBus device driver called ACME,scsi-hba follows:


       #
       # Copyright (c) 1995, ACME SCSI Host Bus Adaptor
       # ident   "@(#)ACME,scsi-hba.conf  1.1  96/02/04"
       name="ACME,scsi-hba" parent="/pci@1,0/pci@1f,4000"
          unit-address="3" scsi-initiator-id=6;
       hba-advanced-mode="on";
       hba-dma-speed=10;




     In this example, a property scsi-initiator-id specifies  the
     SCSI  bus initiator id that the adapter should use, for just
     one particular instance of adapter installed in the machine.
     The  name property identifies the driver and the parent pro-
     perty to identify the particular bus  the  card  is  plugged
     into. This example uses the parent's full path name to iden-
     tify the bus. The unit-address property identifies the  card
     itself, with device number of 3 and function number of 0.



     Two  global  driver  properties  are  also   created:   hba-
     advanced-mode  (which  has the string value on) and hba-dma-
     speed (which has the value 10  M  bit/s).  These  properties
     apply to all device nodes of the ACME,scsi-hba.


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:






SunOS 5.11          Last change: 11 July 2006                   4






File Formats                                           cardbus(4)



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Architecture                 SPARC, x86                  
    


SEE ALSO
     driver.conf(4),   attributes(5),   ddiintraddhandler(9F),
     ddiproplookup(9F), ddiregsmapsetup(9F)


     Writing Device Drivers


     IE 1275 PCI Bus Binding







































SunOS 5.11          Last change: 11 July 2006                   5



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™