Platform Notes: The hme FastEthernet Device Driver

Setting Driver Parameters for PCI-Bus hme Interfaces Using hme.conf

To Configure Driver Parameters With PCI-bus Based Systems
  1. Obtain the hardware path name for the device in the device tree. Typically this path name and the associated instance number will be present in the /etc/path_to_inst file. For example, on a Sun Ultra 30 UPA/PCI system in which one SunSwift-PCI card is plugged in, the /etc/path_to_inst file will have the following two entries (in addition to entries for other devices):

    Obtain the hardware path name for the device in the device tree. Typically this path name and the associated instance number will be present in the /etc/path_to_inst file. For example, on a Sun Ultra 30 UPA/PCI system in which one SunSwift-PCI card is plugged in, the /etc/path_to_inst file will have the following two entries (in addition to entries for other devices):


    "/pci@1f,4000/network@1,1" 0 "hme" 
    "/pci@1f,4000/pci@4/SUNW,hme@0,1" 1 "hme"

    • The first entry corresponds to the hme device on the motherboard. The second entry corresponds to the hme device on the SunSwift-PCI card.

    • In the previous lines:

      • The first part within the double quotes specifies the hardware node name in the device tree.

      • The second number is the instance number.

      • The last part in double quotes is the driver name.

    • In the device path name, the last component after the last / character and before the @ character is the device name.

    • The path name before the last component is the parent name.

    • The comma-separated numbers after the @ character at the end represent the device and function numbers, which are together referred to as unit-address.

    To identify a PCI device unambiguously in the hme.conf file, use the name, parent name, and the unit-address for the device. Refer to the pci(4) man page for more information about the PCI device specification.

    In the first line of the previous example:

    • Name = network

    • Parent = /pci@1f,4000

    • Unit-address = 1,1

    In the second line in the previous example:

    • Name = SUNW,hme

    • Parent = /pci@1f,4000/pci@4

    • Unit-address = 0,1

  2. Set the ipg1 and ipg2 parameters for the above two devices in the /kernel/drv/hme.conf file:


name = "SUNW,hme" parent = "/pci@1f,4000" unit-address = "1,1" ipg1=10 ipg2=5; 
name = "SUNW,hme" parent = "/pci@1f,4000/pci@4" unit-address = "0,1" ipg1=20 ipg2=10;

Note that for the motherboard device, the SUNW,hme device is used even though the path name uses the name network. The SUNW,hme device name is the value of the compatible property for this device.