cardbus_cis.h revision 69359
1235288Sadrian/* 2235288Sadrian * Copyright (c) 2000,2001 Jonathan Chen. 3235288Sadrian * All rights reserved. 4235288Sadrian * 5235288Sadrian * Redistribution and use in source and binary forms, with or without 6235288Sadrian * modification, are permitted provided that the following conditions 7235288Sadrian * are met: 8235288Sadrian * 1. Redistributions of source code must retain the above copyright 9235288Sadrian * notice, this list of conditions, and the following disclaimer, 10235288Sadrian * without modification, immediately at the beginning of the file. 11235288Sadrian * 2. Redistributions in binary form must reproduce the above copyright 12235288Sadrian * notice, this list of conditions and the following disclaimer in 13235288Sadrian * the documentation and/or other materials provided with the 14235288Sadrian * distribution. 15235288Sadrian * 16235288Sadrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17235288Sadrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18235288Sadrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19235288Sadrian * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR 20235288Sadrian * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21235288Sadrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22235288Sadrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23235288Sadrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24235288Sadrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25235288Sadrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26235288Sadrian * SUCH DAMAGE. 27235288Sadrian * 28235288Sadrian * $FreeBSD: head/sys/dev/cardbus/cardbus_cis.h 69359 2000-11-29 16:08:01Z jon $ 29235288Sadrian */ 30235288Sadrian 31235288Sadrian/* 32235288Sadrian * Cardbus CIS definitions 33235288Sadrian */ 34235288Sadrian 35235288Sadrianint cardbus_do_cis(device_t dev, device_t child); 36235288Sadrian 37235288Sadrian#define MAXTUPLESIZE 0x400 38235288Sadrian 39235288Sadrian/* CIS TUPLES */ 40235288Sadrian 41235288Sadrian#define CISTPL_NULL 0x00 42235288Sadrian#define CISTPL_DEVICE 0x01 43235288Sadrian#define CISTPL_LONG_LINK_CB 0x02 44235288Sadrian#define CISTPL_INDIRECT 0x03 45235288Sadrian#define CISTPL_CONFIG_CB 0x04 46235288Sadrian#define CISTPL_CFTABLE_ENTRY_CB 0x05 47235288Sadrian#define CISTPL_LONGLINK_MFC 0x06 48235288Sadrian#define CISTPL_BAR 0x07 49235288Sadrian#define CISTPL_PWR_MGMNT 0x08 50235288Sadrian#define CISTPL_EXTDEVICE 0x09 51235288Sadrian#define CISTPL_CHECKSUM 0x10 52235288Sadrian#define CISTPL_LONGLINK_A 0x11 53235288Sadrian#define CISTPL_LONGLINK_C 0x12 54235288Sadrian#define CISTPL_LINKTARGET 0x13 55235288Sadrian#define CISTPL_NO_LINK 0x14 56235288Sadrian#define CISTPL_VERS_1 0x15 57235288Sadrian#define CISTPL_ALTSTR 0x16 58235288Sadrian#define CISTPL_DEVICE_A 0x17 59235288Sadrian#define CISTPL_JEDEC_C 0x18 60235288Sadrian#define CISTPL_JEDEC_A 0x19 61253572Sloos#define CISTPL_CONFIG 0x1A 62235288Sadrian#define CISTPL_CFTABLE_ENTRY 0x1B 63235323Sadrian#define CISTPL_DEVICE_OC 0x1C 64235288Sadrian#define CISTPL_DEVICE_OA 0x1D 65235288Sadrian#define CISTPL_DEVICE_GEO 0x1E 66235288Sadrian#define CISTPL_DEVICE_GEO_A 0x1F 67256582Sadrian#define CISTPL_MANFID 0x20 68235288Sadrian#define CISTPL_FUNCID 0x21 69235288Sadrian#define CISTPL_FUNCE 0x22 70235288Sadrian#define CISTPL_SWIL 0x23 71235288Sadrian#define CISTPL_VERS_2 0x40 72235288Sadrian#define CISTPL_FORMAT 0x41 73235288Sadrian#define CISTPL_GEOMETRY 0x42 74235288Sadrian#define CISTPL_BYTEORDER 0x43 75235288Sadrian#define CISTPL_DATE 0x44 76235288Sadrian#define CISTPL_BATTERY 0x45 77235288Sadrian#define CISTPL_ORG 0x46 78235288Sadrian#define CISTPL_CUSTOMSTART 0x80 79235288Sadrian#define CISTPL_END 0xFF 80235288Sadrian 81235288Sadrian/* BAR */ 82235288Sadrian#define TPL_BAR_REG_ASI_MASK 0x07 83235288Sadrian#define TPL_BAR_REG_AS 0x08 84235288Sadrian 85235288Sadrian/* CISTPL_FUNC */ 86235288Sadrian#define TPL_FUNC_MF 0 /* multi function tuple */ 87235288Sadrian#define TPL_FUNC_MEM 1 /* memory */ 88235288Sadrian#define TPL_FUNC_SERIAL 2 /* serial, including modem and fax */ 89235288Sadrian#define TPL_FUNC_PARALLEL 3 /* parallel, including printer and SCSI */ 90235288Sadrian#define TPL_FUNC_DISK 4 /* Disk */ 91235288Sadrian#define TPL_FUNC_VIDEO 5 /* Video Adaptor */ 92235323Sadrian#define TPL_FUNC_LAN 6 /* LAN Adaptor */ 93235323Sadrian#define TPL_FUNC_AIMS 7 /* Auto Inclement Mass Strages */ 94235323Sadrian 95235323Sadrian/* TPL_FUNC_LAN */ 96235323Sadrian#define TPL_FUNCE_LAN_TECH 1 /* technology */ 97256582Sadrian#define TPL_FUNCE_LAN_SPEED 2 /* speed */ 98241577Sray#define TPL_FUNCE_LAN_MEDIA 2 /* which media do you use? */ 99235323Sadrian#define TPL_FUNCE_LAN_NID 4 /* node id (address) */ 100235323Sadrian#define TPL_FUNCE_LAN_CONN 5 /* connector type (shape) */ 101235323Sadrian