1230557Sjimharris/*-
2230557Sjimharris * This file is provided under a dual BSD/GPLv2 license.  When using or
3230557Sjimharris * redistributing this file, you may do so under either license.
4230557Sjimharris *
5230557Sjimharris * GPL LICENSE SUMMARY
6230557Sjimharris *
7230557Sjimharris * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
8230557Sjimharris *
9230557Sjimharris * This program is free software; you can redistribute it and/or modify
10230557Sjimharris * it under the terms of version 2 of the GNU General Public License as
11230557Sjimharris * published by the Free Software Foundation.
12230557Sjimharris *
13230557Sjimharris * This program is distributed in the hope that it will be useful, but
14230557Sjimharris * WITHOUT ANY WARRANTY; without even the implied warranty of
15230557Sjimharris * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16230557Sjimharris * General Public License for more details.
17230557Sjimharris *
18230557Sjimharris * You should have received a copy of the GNU General Public License
19230557Sjimharris * along with this program; if not, write to the Free Software
20230557Sjimharris * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21230557Sjimharris * The full GNU General Public License is included in this distribution
22230557Sjimharris * in the file called LICENSE.GPL.
23230557Sjimharris *
24230557Sjimharris * BSD LICENSE
25230557Sjimharris *
26230557Sjimharris * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
27230557Sjimharris * All rights reserved.
28230557Sjimharris *
29230557Sjimharris * Redistribution and use in source and binary forms, with or without
30230557Sjimharris * modification, are permitted provided that the following conditions
31230557Sjimharris * are met:
32230557Sjimharris *
33230557Sjimharris *   * Redistributions of source code must retain the above copyright
34230557Sjimharris *     notice, this list of conditions and the following disclaimer.
35230557Sjimharris *   * Redistributions in binary form must reproduce the above copyright
36230557Sjimharris *     notice, this list of conditions and the following disclaimer in
37230557Sjimharris *     the documentation and/or other materials provided with the
38230557Sjimharris *     distribution.
39230557Sjimharris *
40230557Sjimharris * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
41230557Sjimharris * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
42230557Sjimharris * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
43230557Sjimharris * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
44230557Sjimharris * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45230557Sjimharris * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
46230557Sjimharris * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
47230557Sjimharris * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
48230557Sjimharris * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
49230557Sjimharris * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
50230557Sjimharris * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
51230557Sjimharris *
52230557Sjimharris * $FreeBSD$
53230557Sjimharris */
54230557Sjimharris#ifndef _SCIC_PHY_H_
55230557Sjimharris#define _SCIC_PHY_H_
56230557Sjimharris
57230557Sjimharris/**
58230557Sjimharris * @file
59230557Sjimharris *
60230557Sjimharris * @brief This file contains all of the interface methods that can be called
61230557Sjimharris *        by an SCIC user on a phy (SAS or SATA) object.
62230557Sjimharris */
63230557Sjimharris
64230557Sjimharris#ifdef __cplusplus
65230557Sjimharrisextern "C" {
66230557Sjimharris#endif // __cplusplus
67230557Sjimharris
68230557Sjimharris#include <dev/isci/scil/sci_types.h>
69230557Sjimharris#include <dev/isci/scil/sci_status.h>
70230557Sjimharris
71230557Sjimharris#include <dev/isci/scil/intel_sata.h>
72230557Sjimharris#include <dev/isci/scil/intel_sas.h>
73230557Sjimharris
74230557Sjimharris
75230557Sjimharris/**
76230557Sjimharris * @struct SCIC_PHY_PROPERTIES
77230557Sjimharris * @brief This structure defines the properties common to all phys
78230557Sjimharris *        that can be retrieved.
79230557Sjimharris */
80230557Sjimharristypedef struct SCIC_PHY_PROPERTIES
81230557Sjimharris{
82230557Sjimharris   /**
83230557Sjimharris    * This field specifies the port that currently contains the
84230557Sjimharris    * supplied phy.  This field may be set to SCI_INVALID_HANDLE
85230557Sjimharris    * if the phy is not currently contained in a port.
86230557Sjimharris    */
87230557Sjimharris   SCI_PORT_HANDLE_T  owning_port;
88230557Sjimharris
89230557Sjimharris   /**
90230557Sjimharris    * This field specifies the maximum link rate for which this phy
91230557Sjimharris    * will negotiate.
92230557Sjimharris    */
93230557Sjimharris   SCI_SAS_LINK_RATE max_link_rate;
94230557Sjimharris
95230557Sjimharris   /**
96230557Sjimharris    * This field specifies the link rate at which the phy is
97230557Sjimharris    * currently operating.
98230557Sjimharris    */
99230557Sjimharris   SCI_SAS_LINK_RATE  negotiated_link_rate;
100230557Sjimharris
101230557Sjimharris   /**
102230557Sjimharris    * This field indicates the identify address frame that will be
103230557Sjimharris    * transmitted to the connected phy.
104230557Sjimharris    */
105230557Sjimharris   SCI_SAS_IDENTIFY_ADDRESS_FRAME_T transmit_iaf;
106230557Sjimharris
107230557Sjimharris   /**
108230557Sjimharris    * This field specifies the index of the phy in relation to other
109230557Sjimharris    * phys within the controller.  This index is zero relative.
110230557Sjimharris    */
111230557Sjimharris   U8 index;
112230557Sjimharris
113230557Sjimharris} SCIC_PHY_PROPERTIES_T;
114230557Sjimharris
115230557Sjimharris/**
116230557Sjimharris * @struct SCIC_SAS_PHY_PROPERTIES
117230557Sjimharris * @brief This structure defines the properties, specific to a
118230557Sjimharris *        SAS phy, that can be retrieved.
119230557Sjimharris */
120230557Sjimharristypedef struct SCIC_SAS_PHY_PROPERTIES
121230557Sjimharris{
122230557Sjimharris   /**
123230557Sjimharris    * This field delineates the Identify Address Frame received
124230557Sjimharris    * from the remote end point.
125230557Sjimharris    */
126230557Sjimharris   SCI_SAS_IDENTIFY_ADDRESS_FRAME_T received_iaf;
127230557Sjimharris
128230557Sjimharris   /**
129230557Sjimharris    * This field delineates the Phy capabilities structure received
130230557Sjimharris    * from the remote end point.
131230557Sjimharris    */
132230557Sjimharris   SAS_CAPABILITIES_T received_capabilities;
133230557Sjimharris
134230557Sjimharris} SCIC_SAS_PHY_PROPERTIES_T;
135230557Sjimharris
136230557Sjimharris/**
137230557Sjimharris * @struct SCIC_SATA_PHY_PROPERTIES
138230557Sjimharris * @brief This structure defines the properties, specific to a
139230557Sjimharris *        SATA phy, that can be retrieved.
140230557Sjimharris */
141230557Sjimharristypedef struct SCIC_SATA_PHY_PROPERTIES
142230557Sjimharris{
143230557Sjimharris   /**
144230557Sjimharris    * This field delineates the signature FIS received from the
145230557Sjimharris    * attached target.
146230557Sjimharris    */
147230557Sjimharris   SATA_FIS_REG_D2H_T signature_fis;
148230557Sjimharris
149230557Sjimharris   /**
150230557Sjimharris    * This field specifies to the user if a port selector is connected
151230557Sjimharris    * on the specified phy.
152230557Sjimharris    */
153230557Sjimharris   BOOL is_port_selector_present;
154230557Sjimharris
155230557Sjimharris} SCIC_SATA_PHY_PROPERTIES_T;
156230557Sjimharris
157230557Sjimharris/**
158230557Sjimharris * @enum  SCIC_PHY_COUNTER_ID
159230557Sjimharris * @brief This enumeration depicts the various pieces of optional
160230557Sjimharris *        information that can be retrieved for a specific phy.
161230557Sjimharris */
162230557Sjimharristypedef enum SCIC_PHY_COUNTER_ID
163230557Sjimharris{
164230557Sjimharris   /**
165230557Sjimharris    * This PHY information field tracks the number of frames received.
166230557Sjimharris    */
167230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_FRAME,
168230557Sjimharris
169230557Sjimharris   /**
170230557Sjimharris    * This PHY information field tracks the number of frames transmitted.
171230557Sjimharris    */
172230557Sjimharris   SCIC_PHY_COUNTER_TRANSMITTED_FRAME,
173230557Sjimharris
174230557Sjimharris   /**
175230557Sjimharris    * This PHY information field tracks the number of DWORDs received.
176230557Sjimharris    */
177230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_FRAME_DWORD,
178230557Sjimharris
179230557Sjimharris   /**
180230557Sjimharris    * This PHY information field tracks the number of DWORDs transmitted.
181230557Sjimharris    */
182230557Sjimharris   SCIC_PHY_COUNTER_TRANSMITTED_FRAME_DWORD,
183230557Sjimharris
184230557Sjimharris   /**
185230557Sjimharris    * This PHY information field tracks the number of times DWORD
186230557Sjimharris    * synchronization was lost.
187230557Sjimharris    */
188230557Sjimharris   SCIC_PHY_COUNTER_LOSS_OF_SYNC_ERROR,
189230557Sjimharris
190230557Sjimharris   /**
191230557Sjimharris    * This PHY information field tracks the number of received DWORDs with
192230557Sjimharris    * running disparity errors.
193230557Sjimharris    */
194230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_DISPARITY_ERROR,
195230557Sjimharris
196230557Sjimharris   /**
197230557Sjimharris    * This PHY information field tracks the number of received frames with a
198230557Sjimharris    * CRC error (not including short or truncated frames).
199230557Sjimharris    */
200230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_FRAME_CRC_ERROR,
201230557Sjimharris
202230557Sjimharris   /**
203230557Sjimharris    * This PHY information field tracks the number of DONE (ACK/NAK TIMEOUT)
204230557Sjimharris    * primitives received.
205230557Sjimharris    */
206230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_DONE_ACK_NAK_TIMEOUT,
207230557Sjimharris
208230557Sjimharris   /**
209230557Sjimharris    * This PHY information field tracks the number of DONE (ACK/NAK TIMEOUT)
210230557Sjimharris    * primitives transmitted.
211230557Sjimharris    */
212230557Sjimharris   SCIC_PHY_COUNTER_TRANSMITTED_DONE_ACK_NAK_TIMEOUT,
213230557Sjimharris
214230557Sjimharris   /**
215230557Sjimharris    * This PHY information field tracks the number of times the inactivity
216230557Sjimharris    * timer for connections on the phy has been utilized.
217230557Sjimharris    */
218230557Sjimharris   SCIC_PHY_COUNTER_INACTIVITY_TIMER_EXPIRED,
219230557Sjimharris
220230557Sjimharris   /**
221230557Sjimharris    * This PHY information field tracks the number of DONE (CREDIT TIMEOUT)
222230557Sjimharris    * primitives received.
223230557Sjimharris    */
224230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_DONE_CREDIT_TIMEOUT,
225230557Sjimharris
226230557Sjimharris   /**
227230557Sjimharris    * This PHY information field tracks the number of DONE (CREDIT TIMEOUT)
228230557Sjimharris    * primitives transmitted.
229230557Sjimharris    */
230230557Sjimharris   SCIC_PHY_COUNTER_TRANSMITTED_DONE_CREDIT_TIMEOUT,
231230557Sjimharris
232230557Sjimharris   /**
233230557Sjimharris    * This PHY information field tracks the number of CREDIT BLOCKED
234230557Sjimharris    * primitives received.
235230557Sjimharris    * @note Depending on remote device implementation, credit blocks
236230557Sjimharris    *       may occur regularly.
237230557Sjimharris    */
238230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_CREDIT_BLOCKED,
239230557Sjimharris
240230557Sjimharris   /**
241230557Sjimharris    * This PHY information field contains the number of short frames
242230557Sjimharris    * received.  A short frame is simply a frame smaller then what is
243230557Sjimharris    * allowed by either the SAS or SATA specification.
244230557Sjimharris    */
245230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_SHORT_FRAME,
246230557Sjimharris
247230557Sjimharris   /**
248230557Sjimharris    * This PHY information field contains the number of frames received after
249230557Sjimharris    * credit has been exhausted.
250230557Sjimharris    */
251230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_FRAME_WITHOUT_CREDIT,
252230557Sjimharris
253230557Sjimharris   /**
254230557Sjimharris    * This PHY information field contains the number of frames received after
255230557Sjimharris    * a DONE has been received.
256230557Sjimharris    */
257230557Sjimharris   SCIC_PHY_COUNTER_RECEIVED_FRAME_AFTER_DONE,
258230557Sjimharris
259230557Sjimharris   /**
260230557Sjimharris    * This PHY information field contains the number of times the phy
261230557Sjimharris    * failed to achieve DWORD synchronization during speed negotiation.
262230557Sjimharris    */
263230557Sjimharris   SCIC_PHY_COUNTER_SN_DWORD_SYNC_ERROR
264230557Sjimharris} SCIC_PHY_COUNTER_ID_T;
265230557Sjimharris
266230557Sjimharris/**
267230557Sjimharris * @brief This method will enable the user to retrieve information
268230557Sjimharris *        common to all phys, such as: the negotiated link rate,
269230557Sjimharris *        the phy id, etc.
270230557Sjimharris *
271230557Sjimharris * @param[in]  phy This parameter specifies the phy for which to retrieve
272230557Sjimharris *             the properties.
273230557Sjimharris * @param[out] properties This parameter specifies the properties
274230557Sjimharris *             structure into which to copy the requested information.
275230557Sjimharris *
276230557Sjimharris * @return Indicate if the user specified a valid phy.
277230557Sjimharris * @retval SCI_SUCCESS This value is returned if the specified phy was valid.
278230557Sjimharris * @retval SCI_FAILURE_INVALID_PHY This value is returned if the specified phy
279230557Sjimharris *         is not valid.  When this value is returned, no data is copied to the
280230557Sjimharris *         properties output parameter.
281230557Sjimharris */
282230557SjimharrisSCI_STATUS scic_phy_get_properties(
283230557Sjimharris   SCI_PHY_HANDLE_T        phy,
284230557Sjimharris   SCIC_PHY_PROPERTIES_T * properties
285230557Sjimharris);
286230557Sjimharris
287230557Sjimharris/**
288230557Sjimharris * @brief This method will enable the user to retrieve information
289230557Sjimharris *        specific to a SAS phy, such as: the received identify
290230557Sjimharris *        address frame, received phy capabilities, etc.
291230557Sjimharris *
292230557Sjimharris * @param[in]  phy this parameter specifies the phy for which to
293230557Sjimharris *             retrieve properties.
294230557Sjimharris * @param[out] properties This parameter specifies the properties
295230557Sjimharris *             structure into which to copy the requested information.
296230557Sjimharris *
297230557Sjimharris * @return This method returns an indication as to whether the SAS
298230557Sjimharris *         phy properties were successfully retrieved.
299230557Sjimharris * @retval SCI_SUCCESS This value is returned if the SAS properties
300230557Sjimharris *         are successfully retrieved.
301230557Sjimharris * @retval SCI_FAILURE This value is returned if the SAS properties
302230557Sjimharris *         are not successfully retrieved (e.g. It's not a SAS Phy).
303230557Sjimharris */
304230557SjimharrisSCI_STATUS scic_sas_phy_get_properties(
305230557Sjimharris   SCI_PHY_HANDLE_T            phy,
306230557Sjimharris   SCIC_SAS_PHY_PROPERTIES_T * properties
307230557Sjimharris);
308230557Sjimharris
309230557Sjimharris/**
310230557Sjimharris * @brief This method will enable the user to retrieve information
311230557Sjimharris *        specific to a SATA phy, such as: the recieved signature
312230557Sjimharris *        FIS, if a port selector is present, etc.
313230557Sjimharris *
314230557Sjimharris * @param[in]  phy this parameter specifies the phy for which to
315230557Sjimharris *             retrieve properties.
316230557Sjimharris * @param[out] properties This parameter specifies the properties
317230557Sjimharris *             structure into which to copy the requested information.
318230557Sjimharris *
319230557Sjimharris * @return This method returns an indication as to whether the SATA
320230557Sjimharris *         phy properties were successfully retrieved.
321230557Sjimharris * @retval SCI_SUCCESS This value is returned if the SATA properties
322230557Sjimharris *         are successfully retrieved.
323230557Sjimharris * @retval SCI_FAILURE This value is returned if the SATA properties
324230557Sjimharris *         are not successfully retrieved (e.g. It's not a SATA Phy).
325230557Sjimharris */
326230557SjimharrisSCI_STATUS scic_sata_phy_get_properties(
327230557Sjimharris   SCI_PHY_HANDLE_T             phy,
328230557Sjimharris   SCIC_SATA_PHY_PROPERTIES_T * properties
329230557Sjimharris);
330230557Sjimharris
331230557Sjimharris/**
332230557Sjimharris * @brief This method allows the SCIC user to instruct the SCIC
333230557Sjimharris *        implementation to send the SATA port selection signal.
334230557Sjimharris *
335230557Sjimharris * @param[in]  phy this parameter specifies the phy for which to send
336230557Sjimharris *             the port selection signal.
337230557Sjimharris *
338230557Sjimharris * @return An indication of whether the port selection signal was
339230557Sjimharris *         successfully executed.
340230557Sjimharris * @retval SCI_SUCCESS This value is returned if the port selection signal
341230557Sjimharris *         was successfully transmitted.
342230557Sjimharris */
343230557SjimharrisSCI_STATUS scic_sata_phy_send_port_selection_signal(
344230557Sjimharris   SCI_PHY_HANDLE_T  phy
345230557Sjimharris);
346230557Sjimharris
347230557Sjimharris/**
348230557Sjimharris * @brief This method requests the SCI implementation to begin tracking
349230557Sjimharris *        information specified by the supplied parameters.
350230557Sjimharris *
351230557Sjimharris * @param[in]  phy this parameter specifies the phy for which to enable
352230557Sjimharris *             the information type.
353230557Sjimharris * @param[in]  counter_id this parameter specifies the information
354230557Sjimharris *             type to be enabled.
355230557Sjimharris *
356230557Sjimharris * @return Indicate if enablement of the information type was successful.
357230557Sjimharris * @retval SCI_SUCCESS This value is returned if the information type was
358230557Sjimharris *         successfully enabled.
359230557Sjimharris * @retval SCI_FAILURE_UNSUPPORTED_INFORMATION_FIELD This value is returned
360230557Sjimharris *         if the supplied information type is not supported.
361230557Sjimharris */
362230557SjimharrisSCI_STATUS scic_phy_enable_counter(
363230557Sjimharris   SCI_PHY_HANDLE_T       phy,
364230557Sjimharris   SCIC_PHY_COUNTER_ID_T  counter_id
365230557Sjimharris);
366230557Sjimharris
367230557Sjimharris/**
368230557Sjimharris * @brief This method requests the SCI implementation to stop tracking
369230557Sjimharris *        information specified by the supplied parameters.
370230557Sjimharris *
371230557Sjimharris * @param[in]  phy this parameter specifies the phy for which to disable
372230557Sjimharris *             the information type.
373230557Sjimharris * @param[in]  counter_id this parameter specifies the information
374230557Sjimharris *             type to be disabled.
375230557Sjimharris *
376230557Sjimharris * @return Indicate if disablement of the information type was successful.
377230557Sjimharris * @retval SCI_SUCCESS This value is returned if the information type was
378230557Sjimharris *         successfully disabled.
379230557Sjimharris * @retval SCI_FAILURE_UNSUPPORTED_INFORMATION_FIELD This value is returned
380230557Sjimharris *         if the supplied information type is not supported.
381230557Sjimharris */
382230557SjimharrisSCI_STATUS scic_phy_disable_counter(
383230557Sjimharris   SCI_PHY_HANDLE_T       phy,
384230557Sjimharris   SCIC_PHY_COUNTER_ID_T  counter_id
385230557Sjimharris);
386230557Sjimharris
387230557Sjimharris/**
388230557Sjimharris * @brief This method requests the SCI implementation to retrieve
389230557Sjimharris *        tracking information specified by the supplied parameters.
390230557Sjimharris *
391230557Sjimharris * @param[in]  phy this parameter specifies the phy for which to retrieve
392230557Sjimharris *             the information type.
393230557Sjimharris * @param[in]  counter_id this parameter specifies the information
394230557Sjimharris *             type to be retrieved.
395230557Sjimharris * @param[out] data this parameter is a 32-bit pointer to a location
396230557Sjimharris *             where the data being retrieved is to be placed.
397230557Sjimharris *
398230557Sjimharris * @return Indicate if retrieval of the information type was successful.
399230557Sjimharris * @retval SCI_SUCCESS This value is returned if the information type was
400230557Sjimharris *         successfully retrieved.
401230557Sjimharris * @retval SCI_FAILURE_UNSUPPORTED_INFORMATION_FIELD This value is returned
402230557Sjimharris *         if the supplied information type is not supported.
403230557Sjimharris */
404230557SjimharrisSCI_STATUS scic_phy_get_counter(
405230557Sjimharris   SCI_PHY_HANDLE_T        phy,
406230557Sjimharris   SCIC_PHY_COUNTER_ID_T   counter_id,
407230557Sjimharris   U32                   * data
408230557Sjimharris);
409230557Sjimharris
410230557Sjimharris/**
411230557Sjimharris * @brief This method requests the SCI implementation to clear (reset)
412230557Sjimharris *        tracking information specified by the supplied parameters.
413230557Sjimharris *
414230557Sjimharris * @param[in]  phy this parameter specifies the phy for which to clear
415230557Sjimharris *             the information type.
416230557Sjimharris * @param[in]  counter_id this parameter specifies the information
417230557Sjimharris *             type to be cleared.
418230557Sjimharris *
419230557Sjimharris * @return Indicate if clearing of the information type was successful.
420230557Sjimharris * @retval SCI_SUCCESS This value is returned if the information type was
421230557Sjimharris *         successfully cleared.
422230557Sjimharris * @retval SCI_FAILURE_UNSUPPORTED_INFORMATION_FIELD This value is returned
423230557Sjimharris *         if the supplied information type is not supported.
424230557Sjimharris */
425230557SjimharrisSCI_STATUS scic_phy_clear_counter(
426230557Sjimharris   SCI_PHY_HANDLE_T       phy,
427230557Sjimharris   SCIC_PHY_COUNTER_ID_T  counter_id
428230557Sjimharris);
429230557Sjimharris
430230557Sjimharris/**
431230557Sjimharris * @brief This method will attempt to stop the phy object.
432230557Sjimharris *
433230557Sjimharris * @param[in] this_phy
434230557Sjimharris *
435230557Sjimharris * @return SCI_STATUS
436230557Sjimharris * @retval SCI_SUCCESS if the phy is going to stop
437230557Sjimharris *         SCI_INVALID_STATE if the phy is not in a valid state
438230557Sjimharris *         to stop
439230557Sjimharris */
440230557SjimharrisSCI_STATUS scic_phy_stop(
441230557Sjimharris   SCI_PHY_HANDLE_T       phy
442230557Sjimharris);
443230557Sjimharris
444230557Sjimharris/**
445230557Sjimharris * @brief This method will attempt to start the phy object. This
446230557Sjimharris *        request is only valid when the phy is in the stopped
447230557Sjimharris *        state
448230557Sjimharris *
449230557Sjimharris * @param[in] this_phy
450230557Sjimharris *
451230557Sjimharris * @return SCI_STATUS
452230557Sjimharris */
453230557SjimharrisSCI_STATUS scic_phy_start(
454230557Sjimharris   SCI_PHY_HANDLE_T       phy
455230557Sjimharris);
456230557Sjimharris
457230557Sjimharris#ifdef __cplusplus
458230557Sjimharris}
459230557Sjimharris#endif // __cplusplus
460230557Sjimharris
461230557Sjimharris#endif // _SCIC_PHY_H_
462230557Sjimharris
463