1 1.3 kiyohara /* $NetBSD: fwphyreg.h,v 1.3 2010/03/29 03:05:28 kiyohara Exp $ */ 2 1.1 kiyohara /*- 3 1.1 kiyohara * Copyright (C) 2003 4 1.1 kiyohara * Hidetoshi Shimokawa. All rights reserved. 5 1.3 kiyohara * 6 1.1 kiyohara * Redistribution and use in source and binary forms, with or without 7 1.1 kiyohara * modification, are permitted provided that the following conditions 8 1.1 kiyohara * are met: 9 1.1 kiyohara * 1. Redistributions of source code must retain the above copyright 10 1.1 kiyohara * notice, this list of conditions and the following disclaimer. 11 1.1 kiyohara * 2. Redistributions in binary form must reproduce the above copyright 12 1.1 kiyohara * notice, this list of conditions and the following disclaimer in the 13 1.1 kiyohara * documentation and/or other materials provided with the distribution. 14 1.1 kiyohara * 3. All advertising materials mentioning features or use of this software 15 1.1 kiyohara * must display the following acknowledgement: 16 1.1 kiyohara * 17 1.1 kiyohara * This product includes software developed by Hidetoshi Shimokawa. 18 1.1 kiyohara * 19 1.1 kiyohara * 4. Neither the name of the author nor the names of its contributors 20 1.1 kiyohara * may be used to endorse or promote products derived from this software 21 1.1 kiyohara * without specific prior written permission. 22 1.3 kiyohara * 23 1.1 kiyohara * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 24 1.1 kiyohara * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25 1.1 kiyohara * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26 1.1 kiyohara * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 27 1.1 kiyohara * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 1.1 kiyohara * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 1.1 kiyohara * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 1.1 kiyohara * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 1.1 kiyohara * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 1.1 kiyohara * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 1.1 kiyohara * SUCH DAMAGE. 34 1.3 kiyohara * 35 1.3 kiyohara * $FreeBSD: src/sys/dev/firewire/fwphyreg.h,v 1.4 2009/02/12 03:05:42 sbruno Exp $ 36 1.1 kiyohara */ 37 1.1 kiyohara 38 1.3 kiyohara #ifndef _FWPHYREG_H_ 39 1.3 kiyohara #define _FWPHYREG_H_ 40 1.3 kiyohara 41 1.3 kiyohara /* 42 1.3 kiyohara * IEEE 1394a 43 1.3 kiyohara * Figure 5B - 1 44 1.3 kiyohara */ 45 1.1 kiyohara struct phyreg_base { 46 1.1 kiyohara #if BYTE_ORDER == BIG_ENDIAN 47 1.1 kiyohara uint8_t phy_id:6, 48 1.1 kiyohara r:1, 49 1.1 kiyohara cps:1; 50 1.1 kiyohara uint8_t rhb:1, 51 1.1 kiyohara ibr:1, 52 1.1 kiyohara gap_count:6; 53 1.1 kiyohara uint8_t extended:3, 54 1.1 kiyohara num_ports:5; 55 1.1 kiyohara uint8_t phy_speed:3, 56 1.1 kiyohara :1, 57 1.1 kiyohara delay:4; 58 1.1 kiyohara uint8_t lctrl:1, 59 1.1 kiyohara c:1, 60 1.1 kiyohara jitter:3, 61 1.1 kiyohara pwr_class:3; 62 1.1 kiyohara uint8_t wdie:1, 63 1.1 kiyohara isbr:1, 64 1.1 kiyohara ctoi:1, 65 1.1 kiyohara cpsi:1, 66 1.1 kiyohara stoi:1, 67 1.1 kiyohara pei:1, 68 1.1 kiyohara eaa:1, 69 1.1 kiyohara emc:1; 70 1.1 kiyohara uint8_t legacy_spd:3, 71 1.1 kiyohara blink:1, 72 1.1 kiyohara bridge:2, 73 1.1 kiyohara :2; 74 1.1 kiyohara uint8_t page_select:3, 75 1.1 kiyohara :1, 76 1.1 kiyohara port_select:4; 77 1.1 kiyohara #else 78 1.1 kiyohara uint8_t cps:1, 79 1.1 kiyohara r:1, 80 1.1 kiyohara phy_id:6; 81 1.1 kiyohara uint8_t gap_count:6, 82 1.1 kiyohara ibr:1, 83 1.1 kiyohara rhb:1; 84 1.1 kiyohara uint8_t num_ports:5, 85 1.1 kiyohara extended:3; 86 1.1 kiyohara uint8_t delay:4, 87 1.1 kiyohara :1, 88 1.1 kiyohara phy_speed:3; 89 1.1 kiyohara uint8_t pwr_class:3, 90 1.1 kiyohara jitter:3, 91 1.1 kiyohara c:1, 92 1.1 kiyohara lctrl:1; 93 1.1 kiyohara uint8_t emc:1, 94 1.1 kiyohara eaa:1, 95 1.1 kiyohara pei:1, 96 1.1 kiyohara stoi:1, 97 1.1 kiyohara cpsi:1, 98 1.1 kiyohara ctoi:1, 99 1.1 kiyohara isbr:1, 100 1.1 kiyohara wdie:1; 101 1.1 kiyohara uint8_t :2, 102 1.1 kiyohara bridge:2, 103 1.1 kiyohara blink:1, 104 1.1 kiyohara legacy_spd:3; 105 1.1 kiyohara uint8_t port_select:4, 106 1.1 kiyohara :1, 107 1.1 kiyohara page_select:3; 108 1.1 kiyohara #endif 109 1.1 kiyohara }; 110 1.1 kiyohara 111 1.3 kiyohara /* 112 1.3 kiyohara * IEEE 1394a 113 1.3 kiyohara * Figure 5B - 2 114 1.3 kiyohara */ 115 1.1 kiyohara struct phyreg_page0 { 116 1.1 kiyohara #if BYTE_ORDER == BIG_ENDIAN 117 1.1 kiyohara uint8_t astat:2, 118 1.1 kiyohara bstat:2, 119 1.1 kiyohara ch:1, 120 1.1 kiyohara con:1, 121 1.1 kiyohara rxok:1, 122 1.1 kiyohara dis:1; 123 1.1 kiyohara uint8_t negotiated_speed:3, 124 1.1 kiyohara pie:1, 125 1.1 kiyohara fault:1, 126 1.1 kiyohara stanby_fault:1, 127 1.1 kiyohara disscrm:1, 128 1.1 kiyohara b_only:1; 129 1.1 kiyohara uint8_t dc_connected:1, 130 1.1 kiyohara max_port_speed:3, 131 1.1 kiyohara lpp:1, 132 1.1 kiyohara cable_speed:3; 133 1.1 kiyohara uint8_t connection_unreliable:1, 134 1.1 kiyohara :3, 135 1.1 kiyohara beta_mode:1, 136 1.1 kiyohara :3; 137 1.1 kiyohara uint8_t port_error; 138 1.1 kiyohara uint8_t :5, 139 1.1 kiyohara loop_disable:1, 140 1.1 kiyohara in_standby:1, 141 1.1 kiyohara hard_disable:1; 142 1.1 kiyohara uint8_t :8; 143 1.1 kiyohara uint8_t :8; 144 1.1 kiyohara #else 145 1.1 kiyohara uint8_t dis:1, 146 1.1 kiyohara rxok:1, 147 1.1 kiyohara con:1, 148 1.1 kiyohara ch:1, 149 1.1 kiyohara bstat:2, 150 1.1 kiyohara astat:2; 151 1.1 kiyohara uint8_t b_only:1, 152 1.1 kiyohara disscrm:1, 153 1.1 kiyohara stanby_fault:1, 154 1.1 kiyohara fault:1, 155 1.1 kiyohara pie:1, 156 1.1 kiyohara negotiated_speed:3; 157 1.1 kiyohara uint8_t cable_speed:3, 158 1.1 kiyohara lpp:1, 159 1.1 kiyohara max_port_speed:3, 160 1.1 kiyohara dc_connected:1; 161 1.1 kiyohara uint8_t :3, 162 1.1 kiyohara beta_mode:1, 163 1.1 kiyohara :3, 164 1.1 kiyohara connection_unreliable:1; 165 1.1 kiyohara uint8_t port_error; 166 1.1 kiyohara uint8_t hard_disable:1, 167 1.1 kiyohara in_standby:1, 168 1.1 kiyohara loop_disable:1, 169 1.1 kiyohara :5; 170 1.1 kiyohara uint8_t :8; 171 1.1 kiyohara uint8_t :8; 172 1.1 kiyohara #endif 173 1.1 kiyohara }; 174 1.1 kiyohara 175 1.3 kiyohara /* 176 1.3 kiyohara * IEEE 1394a 177 1.3 kiyohara * Figure 5B - 3 178 1.3 kiyohara */ 179 1.1 kiyohara struct phyreg_page1 { 180 1.1 kiyohara uint8_t compliance; 181 1.1 kiyohara uint8_t :8; 182 1.1 kiyohara uint8_t vendor_id[3]; 183 1.1 kiyohara uint8_t product_id[3]; 184 1.1 kiyohara }; 185 1.3 kiyohara 186 1.3 kiyohara #endif /* _FWPHYREG_H_ */ 187