2 * Copyright (C) 2013 Realtek Semiconductor Corp.
5 * Unless you and Realtek execute a separate written software license
6 * agreement governing use of this software, this software is licensed
7 * to you under the terms of the GNU General Public License version 2,
8 * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
11 * $Date: 2017-03-08 15:13:58 +0800 (¶g¤T, 08 ¤T¤ë 2017) $
13 * Purpose : RTL8367C switch high-level API for RTL8367C
14 * Feature : LED related functions
18 #ifndef _RTL8367C_ASICDRV_LED_H_
19 #define _RTL8367C_ASICDRV_LED_H_
21 #include <rtl8367c_asicdrv.h>
23 #define RTL8367C_LEDGROUPNO 3
24 #define RTL8367C_LEDGROUPMASK 0x7
25 #define RTL8367C_LED_FORCE_MODE_BASE RTL8367C_REG_CPU_FORCE_LED0_CFG0
26 #define RTL8367C_LED_FORCE_CTRL RTL8367C_REG_CPU_FORCE_LED_CFG
37 enum RTL8367C_LEDSERACT
{
51 enum RTL8367C_LEDCONF
{
72 enum RTL8367C_LEDBLINKRATE
{
85 enum RTL8367C_LEDFORCEMODE
{
87 LEDFORCEMODE_NORMAL
=0,
94 enum RTL8367C_LEDFORCERATE
{
104 enum RTL8367C_LEDMODE
106 RTL8367C_LED_MODE_0
= 0,
110 RTL8367C_LED_MODE_END
113 extern ret_t
rtl8367c_setAsicLedIndicateInfoConfig(rtk_uint32 ledno
, rtk_uint32 config
);
114 extern ret_t
rtl8367c_getAsicLedIndicateInfoConfig(rtk_uint32 ledno
, rtk_uint32
* pConfig
);
115 extern ret_t
rtl8367c_setAsicForceLed(rtk_uint32 port
, rtk_uint32 group
, rtk_uint32 mode
);
116 extern ret_t
rtl8367c_getAsicForceLed(rtk_uint32 port
, rtk_uint32 group
, rtk_uint32
* pMode
);
117 extern ret_t
rtl8367c_setAsicForceGroupLed(rtk_uint32 groupmask
, rtk_uint32 mode
);
118 extern ret_t
rtl8367c_getAsicForceGroupLed(rtk_uint32
* groupmask
, rtk_uint32
* pMode
);
119 extern ret_t
rtl8367c_setAsicLedBlinkRate(rtk_uint32 blinkRate
);
120 extern ret_t
rtl8367c_getAsicLedBlinkRate(rtk_uint32
* pBlinkRate
);
121 extern ret_t
rtl8367c_setAsicLedForceBlinkRate(rtk_uint32 blinkRate
);
122 extern ret_t
rtl8367c_getAsicLedForceBlinkRate(rtk_uint32
* pBlinkRate
);
123 extern ret_t
rtl8367c_setAsicLedGroupMode(rtk_uint32 mode
);
124 extern ret_t
rtl8367c_getAsicLedGroupMode(rtk_uint32
* pMode
);
125 extern ret_t
rtl8367c_setAsicLedGroupEnable(rtk_uint32 group
, rtk_uint32 portmask
);
126 extern ret_t
rtl8367c_getAsicLedGroupEnable(rtk_uint32 group
, rtk_uint32
*portmask
);
127 extern ret_t
rtl8367c_setAsicLedOperationMode(rtk_uint32 mode
);
128 extern ret_t
rtl8367c_getAsicLedOperationMode(rtk_uint32
*mode
);
129 extern ret_t
rtl8367c_setAsicLedSerialModeConfig(rtk_uint32 active
, rtk_uint32 serimode
);
130 extern ret_t
rtl8367c_getAsicLedSerialModeConfig(rtk_uint32
*active
, rtk_uint32
*serimode
);
131 extern ret_t
rtl8367c_setAsicLedOutputEnable(rtk_uint32 enabled
);
132 extern ret_t
rtl8367c_getAsicLedOutputEnable(rtk_uint32
*ptr_enabled
);
133 extern ret_t
rtl8367c_setAsicLedSerialOutput(rtk_uint32 output
, rtk_uint32 pmask
);
134 extern ret_t
rtl8367c_getAsicLedSerialOutput(rtk_uint32
*pOutput
, rtk_uint32
*pPmask
);
137 #endif /*#ifndef _RTL8367C_ASICDRV_LED_H_*/