xref: /openbmc/linux/drivers/net/wireless/realtek/rtl818x/rtl8187/leds.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2f1d2b4d3SLarry Finger /*
3f1d2b4d3SLarry Finger  * Definitions for RTL8187 leds
4f1d2b4d3SLarry Finger  *
5f1d2b4d3SLarry Finger  * Copyright 2009 Larry Finger <Larry.Finger@lwfinger.net>
6f1d2b4d3SLarry Finger  *
7f1d2b4d3SLarry Finger  * Based on the LED handling in the r8187 driver, which is:
8f1d2b4d3SLarry Finger  * Copyright (c) Realtek Semiconductor Corp. All rights reserved.
9f1d2b4d3SLarry Finger  */
10f1d2b4d3SLarry Finger 
11f1d2b4d3SLarry Finger #ifndef RTL8187_LED_H
12f1d2b4d3SLarry Finger #define RTL8187_LED_H
13f1d2b4d3SLarry Finger 
14f1d2b4d3SLarry Finger #ifdef CONFIG_RTL8187_LEDS
15f1d2b4d3SLarry Finger 
16f1d2b4d3SLarry Finger #define RTL8187_LED_MAX_NAME_LEN	21
17f1d2b4d3SLarry Finger 
18f1d2b4d3SLarry Finger #include <linux/leds.h>
19f1d2b4d3SLarry Finger #include <linux/types.h>
20f1d2b4d3SLarry Finger 
21f1d2b4d3SLarry Finger enum {
22f1d2b4d3SLarry Finger 	LED_PIN_LED0,
23f1d2b4d3SLarry Finger 	LED_PIN_LED1,
24f1d2b4d3SLarry Finger 	LED_PIN_GPIO0,
25f1d2b4d3SLarry Finger 	LED_PIN_HW
26f1d2b4d3SLarry Finger };
27f1d2b4d3SLarry Finger 
28f1d2b4d3SLarry Finger enum {
29f1d2b4d3SLarry Finger 	EEPROM_CID_RSVD0 = 0x00,
30f1d2b4d3SLarry Finger 	EEPROM_CID_RSVD1 = 0xFF,
31f1d2b4d3SLarry Finger 	EEPROM_CID_ALPHA0 = 0x01,
32f1d2b4d3SLarry Finger 	EEPROM_CID_SERCOMM_PS = 0x02,
33f1d2b4d3SLarry Finger 	EEPROM_CID_HW = 0x03,
34f1d2b4d3SLarry Finger 	EEPROM_CID_TOSHIBA = 0x04,
35f1d2b4d3SLarry Finger 	EEPROM_CID_QMI = 0x07,
36f1d2b4d3SLarry Finger 	EEPROM_CID_DELL = 0x08
37f1d2b4d3SLarry Finger };
38f1d2b4d3SLarry Finger 
39f1d2b4d3SLarry Finger struct rtl8187_led {
40f1d2b4d3SLarry Finger 	struct ieee80211_hw *dev;
41f1d2b4d3SLarry Finger 	/* The LED class device */
42f1d2b4d3SLarry Finger 	struct led_classdev led_dev;
43f1d2b4d3SLarry Finger 	/* The pin/method used to control the led */
44f1d2b4d3SLarry Finger 	u8 ledpin;
45f1d2b4d3SLarry Finger 	/* The unique name string for this LED device. */
46f1d2b4d3SLarry Finger 	char name[RTL8187_LED_MAX_NAME_LEN + 1];
47f1d2b4d3SLarry Finger 	/* If the LED is radio or tx/rx */
48f1d2b4d3SLarry Finger 	bool is_radio;
49f1d2b4d3SLarry Finger };
50f1d2b4d3SLarry Finger 
51f1d2b4d3SLarry Finger void rtl8187_leds_init(struct ieee80211_hw *dev, u16 code);
52f1d2b4d3SLarry Finger void rtl8187_leds_exit(struct ieee80211_hw *dev);
53f1d2b4d3SLarry Finger 
54f1d2b4d3SLarry Finger #endif /* def CONFIG_RTL8187_LEDS */
55f1d2b4d3SLarry Finger 
56f1d2b4d3SLarry Finger #endif /* RTL8187_LED_H */
57