1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License, Version 1.0 only 6# (the "License"). You may not use this file except in compliance 7# with the License. 8# 9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10# or http://www.opensolaris.org/os/licensing. 11# See the License for the specific language governing permissions 12# and limitations under the License. 13# 14# When distributing Covered Code, include this CDDL HEADER in each 15# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16# If applicable, add the following below this CDDL HEADER, with the 17# fields enclosed by brackets "[]" replaced with your own identifying 18# information: Portions Copyright [yyyy] [name of copyright owner] 19# 20# CDDL HEADER END 21# 22######################################################################### 23# 24# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 25# Use is subject to license terms. 26# 27#ident "%Z%%M% %I% %E% SMI" 28# 29# Driver.conf file for the BGE driver, for 30# Broadcom 579x Gigabit Ethernet devices 31# 32# All the properties below can be set globally (i.e. for all instances 33# of BGE), or on a per-instance basis. See driver.conf(4) for details 34# of the syntax of global and per-instance properties. 35# 36# Properties specified in this file take effect when the driver is first 37# loaded, typically just after system boot. Changes to the file will 38# therefore not take effect until the next reboot, but will be permanent 39# thereafter. 40# 41# Some of the driver's parameters can also be changed using ndd(1m). 42# Changes made with ndd apply only to a specific instance (e.g. bge1). 43# They take effect immediately, but are lost if the driver is unloaded. 44# 45######################################################################### 46# 47# The autonegotiation feature can be controlled by the boolean properties 48# listed below. 49# 50# Firstly, 'adv_autoneg_cap' controls whether autonegotiation is enabled. 51# 52# If autonegotiation is turned OFF ("forced mode"), the remaining 'adv_*' 53# speed/duplex properties force selection of a specific mode, namely, 54# the first mode found to be enabled, in highest-to-lowest speed order 55# (thus, if adv_1000fdx_cap=1, all other values will be ignored; to force 56# 10/hdx mode, *all* the faster modes must be explicitly disabled). 57# 58# BEWARE - it's very easy to end up with a non-working link using forced 59# mode. There's NO validation that the link partner actually supports 60# the mode that this device has been forced into. In some cases, this 61# will prevent the link coming up; in others, the link status will show 62# 'up' (electrical connection made) but data transfer will not work at 63# all, or will work poorly (low throughput, high collision rates, etc). 64# 65# Note that many switches *require* autonegotiation in order to operate 66# at 1000Mbps or in full-duplex mode or with flow control. In other words, 67# the only combinations that are likely to work with autonegotiation off 68# are 100Mbps/half-duplex and 10Mbps/half-duplex, unless the peer has also 69# been manually forced to some other (matching) combination. 70# 71# With autonegotiation ON (the default and preferred mode), the 'adv_*' 72# properties control which capabilities are advertised to the partner. 73# The default is to advertise all the capabilities that the hardware 74# supports; thus, the properties below serve only to limit the advertised 75# capabilities to restricted subset -- it is not possible to advertise a 76# capability that the hardware does not support. 77# 78# The autonegotiation process will then automagically select the fastest 79# speed/duplex mode and greatest degree of flow control supported by both 80# partners. 81# 82# If the local device is set to autonegotiate, but the link partner can't 83# or doesn't autonegotiate, the correct speed will be determined anyway, 84# and HALF-DUPLEX mode will be selected, as mandated by the IEEE802.3 85# standard. This will yield the correct result if the partner is in fact 86# incapable of autonegotiating: it must be a half-duplex device, because 87# the only devices that don't support autonegotation are half-duplex (the 88# standard says that all full-duplex-capable devices must also support 89# autonegotiation). 90# 91# However, this choice will NOT be correct if the peer is actually capable 92# of autonegotiation and full-duplex operation, and has been manually set 93# to "forced full-duplex without autonegotiation" (a mode not recommended 94# by the IEEE standard). The link will appear to work, but the duplex 95# mismatch will result in packet loss and spurious "late collisions". In 96# such cases, the preferred solution is to enable autonegotiation by the 97# peer. Failing that, autonegotiation by the BGE device can be disabled, 98# and forced mode used to match the peer's forced settings as above. 99# 100# adv_autoneg_cap = 1; 101# adv_1000fdx_cap = 1; 102# adv_1000hdx_cap = 1; 103# adv_100T4_cap = 0; 104# adv_100fdx_cap = 1; 105# adv_100hdx_cap = 1; 106# adv_10fdx_cap = 1; 107# adv_10hdx_cap = 1; 108# adv_asym_pause_cap = 0; 109# adv_pause_cap = 1; 110# 111# All of these parameters can can also be queried and modified at run-time 112# by use of the ndd(1m) command. 113# 114######################################################################### 115# 116# OBP's device driver exports methods to set the link speed explicity, 117# which then pass the information to the Solaris driver through the 118# 'transfer-speed' property. It therefore SHOULDN'T be set here, but 119# is documented for completeness. If the 'transfer-speed' property is 120# set to 10, 100, or 1000, the link will be set to the selected speed, 121# and autonegotiation ENABLED but restricted to the specified speed. 122# The correct duplex setting will be determined by autonegotiation. 123# 124# This property, if set, overrides and alters the settings of the adv_* 125# parameters corresponding to the properties above. 126# 127# transfer-speed = 1000; 128# 129######################################################################### 130# 131# As a third alternative, the following two properties can be set to 132# force the link speed/duplex setting instead. Doing so will override 133# and alter the settings of the adv_* parameters corresponding to the 134# properties above, and take precedence over all other means of setting 135# the speed/duplex at boot time. 136# 137# Autonegotiation will be DISABLED if EITHER of these properties is set, 138# therefore BOTH properties should be set explicity if either one is. 139# 'speed' may be set to 10, 100 or 1000, while 'full-duplex' may be 0 or 1. 140# 141# See the warning above about the potential for misconfiguration when 142# autonegotiation is disabled. Defining these properties could leave your 143# system configured so that the network will not work at all after reboot, 144# requiring manual intervention and further reboots to recover! 145# 146# speed = 100; 147# full-duplex = 0; 148# 149######################################################################### 150# 151# The property below represents the list of subsystem vendor/device pairs 152# with which driver operation is supported. This list will be updated and 153# extended as new subsystems are validated ... 154# 155bge-known-subsystems = 0x108e1647, 156 0x108e1648, 157 0x108e16a7, 158 0x108e16a8, 159 0x17c20010, 160 0x17341013, 161 0x101402a6, 162 0x10f12885, 163 0x17c20020, 164 0x10b71006, 165 0x10280109, 166 0x1028865d, 167 0x0e11005a, 168 0x103c12bc; 169######################################################################### 170# 171# The properties below represents the number of receive and send ring used. 172# For BCM5705, BCM5782, etc, there are only 1 receive ring and 1 send ring. 173# Otherwise, there can be up to 16 receive rings and 4 send rings. 174# 175bge-rx-rings = 1; 176bge-tx-rings = 1; 177 178