cardbus man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

cardbus(4)			 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 parame‐
       ters  are  represented  in  the	form  of  name-value pairs that can be
       retrieved using the DDI property	 interfaces.  See  ddi_prop_lookup(9F)
       for details.

       The CardBus bus properties of CardBus devices are derived from PCI con‐
       figuration space. Therefore, driver configuration files are not	neces‐
       sary for these devices.

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

       The CardBus nexus driver recognizes the following properties:

       reg	     An arbitrary length array where each element of the array
		     consists of a 5-tuple of 32-bit values. Each  array  ele‐
		     ment  describes  a logically 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 con‐
		     tains the following information:

		     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.

		     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 logically inde‐
		     pendent functions, each with its own independent  set  of
		     configuration  registers.	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	function.  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  property  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 ddi_regs_map_setup(9F). The index into the array is
		     passed as the rnumber argument of ddi_regs_map_setup(9F).

		     At a  high-level  interrupt  context,  you	 can  use  the
		     ddi_get*  and  ddi_put* 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 DDI 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 configu‐
       ration information supplied by a CardBus device.	 This  change  can  be
       achieved by writing a driver configuration file that describes a proto‐
       type device node specification  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 binding 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.

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

       DD[,F]

       where DD is the device number and F is  the  function  number.  If  the
       function number is 0, only DD 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 identi‐
       fies  the driver and the parent property to identify the particular bus
       the card is plugged into. This example uses the parent's full path name
       to  identify  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.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Architecture		     │SPARC, x86		   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       driver.conf(4),	       attributes(5),	     ddi_intr_add_handler(9F),
       ddi_prop_lookup(9F), ddi_regs_map_setup(9F)

       IEEE 1275 PCI Bus Binding

SunOS 5.10			 25 June 2007			    cardbus(4)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net