~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mips/include/asm/sibyte/sb1250_smbus.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 /*  *********************************************************************
  3     *  SB1250 Board Support Package
  4     *
  5     *  SMBUS Constants                          File: sb1250_smbus.h
  6     *
  7     *  This module contains constants and macros useful for
  8     *  manipulating the SB1250's SMbus devices.
  9     *
 10     *  SB1250 specification level:  10/21/02
 11     *  BCM1280 specification level:  11/24/03
 12     *
 13     *********************************************************************
 14     *
 15     *  Copyright 2000,2001,2002,2003
 16     *  Broadcom Corporation. All rights reserved.
 17     *
 18     ********************************************************************* */
 19 
 20 
 21 #ifndef _SB1250_SMBUS_H
 22 #define _SB1250_SMBUS_H
 23 
 24 #include <asm/sibyte/sb1250_defs.h>
 25 
 26 /*
 27  * SMBus Clock Frequency Register (Table 14-2)
 28  */
 29 
 30 #define S_SMB_FREQ_DIV              0
 31 #define M_SMB_FREQ_DIV              _SB_MAKEMASK(13, S_SMB_FREQ_DIV)
 32 #define V_SMB_FREQ_DIV(x)           _SB_MAKEVALUE(x, S_SMB_FREQ_DIV)
 33 
 34 #define K_SMB_FREQ_400KHZ           0x1F
 35 #define K_SMB_FREQ_100KHZ           0x7D
 36 #define K_SMB_FREQ_10KHZ            1250
 37 
 38 #define S_SMB_CMD                   0
 39 #define M_SMB_CMD                   _SB_MAKEMASK(8, S_SMB_CMD)
 40 #define V_SMB_CMD(x)                _SB_MAKEVALUE(x, S_SMB_CMD)
 41 
 42 /*
 43  * SMBus control register (Table 14-4)
 44  */
 45 
 46 #define M_SMB_ERR_INTR              _SB_MAKEMASK1(0)
 47 #define M_SMB_FINISH_INTR           _SB_MAKEMASK1(1)
 48 
 49 #define S_SMB_DATA_OUT              4
 50 #define M_SMB_DATA_OUT              _SB_MAKEMASK1(S_SMB_DATA_OUT)
 51 #define V_SMB_DATA_OUT(x)           _SB_MAKEVALUE(x, S_SMB_DATA_OUT)
 52 
 53 #define M_SMB_DATA_DIR              _SB_MAKEMASK1(5)
 54 #define M_SMB_DATA_DIR_OUTPUT       M_SMB_DATA_DIR
 55 #define M_SMB_CLK_OUT               _SB_MAKEMASK1(6)
 56 #define M_SMB_DIRECT_ENABLE         _SB_MAKEMASK1(7)
 57 
 58 /*
 59  * SMBus status registers (Table 14-5)
 60  */
 61 
 62 #define M_SMB_BUSY                  _SB_MAKEMASK1(0)
 63 #define M_SMB_ERROR                 _SB_MAKEMASK1(1)
 64 #define M_SMB_ERROR_TYPE            _SB_MAKEMASK1(2)
 65 
 66 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 67 #define S_SMB_SCL_IN                5
 68 #define M_SMB_SCL_IN                _SB_MAKEMASK1(S_SMB_SCL_IN)
 69 #define V_SMB_SCL_IN(x)             _SB_MAKEVALUE(x, S_SMB_SCL_IN)
 70 #define G_SMB_SCL_IN(x)             _SB_GETVALUE(x, S_SMB_SCL_IN, M_SMB_SCL_IN)
 71 #endif /* 1250 PASS3 || 112x PASS1 || 1480 */
 72 
 73 #define S_SMB_REF                   6
 74 #define M_SMB_REF                   _SB_MAKEMASK1(S_SMB_REF)
 75 #define V_SMB_REF(x)                _SB_MAKEVALUE(x, S_SMB_REF)
 76 #define G_SMB_REF(x)                _SB_GETVALUE(x, S_SMB_REF, M_SMB_REF)
 77 
 78 #define S_SMB_DATA_IN               7
 79 #define M_SMB_DATA_IN               _SB_MAKEMASK1(S_SMB_DATA_IN)
 80 #define V_SMB_DATA_IN(x)            _SB_MAKEVALUE(x, S_SMB_DATA_IN)
 81 #define G_SMB_DATA_IN(x)            _SB_GETVALUE(x, S_SMB_DATA_IN, M_SMB_DATA_IN)
 82 
 83 /*
 84  * SMBus Start/Command registers (Table 14-9)
 85  */
 86 
 87 #define S_SMB_ADDR                  0
 88 #define M_SMB_ADDR                  _SB_MAKEMASK(7, S_SMB_ADDR)
 89 #define V_SMB_ADDR(x)               _SB_MAKEVALUE(x, S_SMB_ADDR)
 90 #define G_SMB_ADDR(x)               _SB_GETVALUE(x, S_SMB_ADDR, M_SMB_ADDR)
 91 
 92 #define M_SMB_QDATA                 _SB_MAKEMASK1(7)
 93 
 94 #define S_SMB_TT                    8
 95 #define M_SMB_TT                    _SB_MAKEMASK(3, S_SMB_TT)
 96 #define V_SMB_TT(x)                 _SB_MAKEVALUE(x, S_SMB_TT)
 97 #define G_SMB_TT(x)                 _SB_GETVALUE(x, S_SMB_TT, M_SMB_TT)
 98 
 99 #define K_SMB_TT_WR1BYTE            0
100 #define K_SMB_TT_WR2BYTE            1
101 #define K_SMB_TT_WR3BYTE            2
102 #define K_SMB_TT_CMD_RD1BYTE        3
103 #define K_SMB_TT_CMD_RD2BYTE        4
104 #define K_SMB_TT_RD1BYTE            5
105 #define K_SMB_TT_QUICKCMD           6
106 #define K_SMB_TT_EEPROMREAD         7
107 
108 #define V_SMB_TT_WR1BYTE            V_SMB_TT(K_SMB_TT_WR1BYTE)
109 #define V_SMB_TT_WR2BYTE            V_SMB_TT(K_SMB_TT_WR2BYTE)
110 #define V_SMB_TT_WR3BYTE            V_SMB_TT(K_SMB_TT_WR3BYTE)
111 #define V_SMB_TT_CMD_RD1BYTE        V_SMB_TT(K_SMB_TT_CMD_RD1BYTE)
112 #define V_SMB_TT_CMD_RD2BYTE        V_SMB_TT(K_SMB_TT_CMD_RD2BYTE)
113 #define V_SMB_TT_RD1BYTE            V_SMB_TT(K_SMB_TT_RD1BYTE)
114 #define V_SMB_TT_QUICKCMD           V_SMB_TT(K_SMB_TT_QUICKCMD)
115 #define V_SMB_TT_EEPROMREAD         V_SMB_TT(K_SMB_TT_EEPROMREAD)
116 
117 #define M_SMB_PEC                   _SB_MAKEMASK1(15)
118 
119 /*
120  * SMBus Data Register (Table 14-6) and SMBus Extra Register (Table 14-7)
121  */
122 
123 #define S_SMB_LB                    0
124 #define M_SMB_LB                    _SB_MAKEMASK(8, S_SMB_LB)
125 #define V_SMB_LB(x)                 _SB_MAKEVALUE(x, S_SMB_LB)
126 
127 #define S_SMB_MB                    8
128 #define M_SMB_MB                    _SB_MAKEMASK(8, S_SMB_MB)
129 #define V_SMB_MB(x)                 _SB_MAKEVALUE(x, S_SMB_MB)
130 
131 
132 /*
133  * SMBus Packet Error Check register (Table 14-8)
134  */
135 
136 #define S_SPEC_PEC                  0
137 #define M_SPEC_PEC                  _SB_MAKEMASK(8, S_SPEC_PEC)
138 #define V_SPEC_MB(x)                _SB_MAKEVALUE(x, S_SPEC_PEC)
139 
140 
141 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
142 
143 #define S_SMB_CMDH                  8
144 #define M_SMB_CMDH                  _SB_MAKEMASK(8, S_SMB_CMDH)
145 #define V_SMB_CMDH(x)               _SB_MAKEVALUE(x, S_SMB_CMDH)
146 
147 #define M_SMB_EXTEND                _SB_MAKEMASK1(14)
148 
149 #define S_SMB_DFMT                  8
150 #define M_SMB_DFMT                  _SB_MAKEMASK(3, S_SMB_DFMT)
151 #define V_SMB_DFMT(x)               _SB_MAKEVALUE(x, S_SMB_DFMT)
152 #define G_SMB_DFMT(x)               _SB_GETVALUE(x, S_SMB_DFMT, M_SMB_DFMT)
153 
154 #define K_SMB_DFMT_1BYTE            0
155 #define K_SMB_DFMT_2BYTE            1
156 #define K_SMB_DFMT_3BYTE            2
157 #define K_SMB_DFMT_4BYTE            3
158 #define K_SMB_DFMT_NODATA           4
159 #define K_SMB_DFMT_CMD4BYTE         5
160 #define K_SMB_DFMT_CMD5BYTE         6
161 #define K_SMB_DFMT_RESERVED         7
162 
163 #define V_SMB_DFMT_1BYTE            V_SMB_DFMT(K_SMB_DFMT_1BYTE)
164 #define V_SMB_DFMT_2BYTE            V_SMB_DFMT(K_SMB_DFMT_2BYTE)
165 #define V_SMB_DFMT_3BYTE            V_SMB_DFMT(K_SMB_DFMT_3BYTE)
166 #define V_SMB_DFMT_4BYTE            V_SMB_DFMT(K_SMB_DFMT_4BYTE)
167 #define V_SMB_DFMT_NODATA           V_SMB_DFMT(K_SMB_DFMT_NODATA)
168 #define V_SMB_DFMT_CMD4BYTE         V_SMB_DFMT(K_SMB_DFMT_CMD4BYTE)
169 #define V_SMB_DFMT_CMD5BYTE         V_SMB_DFMT(K_SMB_DFMT_CMD5BYTE)
170 #define V_SMB_DFMT_RESERVED         V_SMB_DFMT(K_SMB_DFMT_RESERVED)
171 
172 #define S_SMB_AFMT                  11
173 #define M_SMB_AFMT                  _SB_MAKEMASK(2, S_SMB_AFMT)
174 #define V_SMB_AFMT(x)               _SB_MAKEVALUE(x, S_SMB_AFMT)
175 #define G_SMB_AFMT(x)               _SB_GETVALUE(x, S_SMB_AFMT, M_SMB_AFMT)
176 
177 #define K_SMB_AFMT_NONE             0
178 #define K_SMB_AFMT_ADDR             1
179 #define K_SMB_AFMT_ADDR_CMD1BYTE    2
180 #define K_SMB_AFMT_ADDR_CMD2BYTE    3
181 
182 #define V_SMB_AFMT_NONE             V_SMB_AFMT(K_SMB_AFMT_NONE)
183 #define V_SMB_AFMT_ADDR             V_SMB_AFMT(K_SMB_AFMT_ADDR)
184 #define V_SMB_AFMT_ADDR_CMD1BYTE    V_SMB_AFMT(K_SMB_AFMT_ADDR_CMD1BYTE)
185 #define V_SMB_AFMT_ADDR_CMD2BYTE    V_SMB_AFMT(K_SMB_AFMT_ADDR_CMD2BYTE)
186 
187 #define M_SMB_DIR                   _SB_MAKEMASK1(13)
188 
189 #endif /* 1250 PASS2 || 112x PASS1 || 1480 */
190 
191 #endif
192 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php