blob: b70b9094fb7cd2a314dabef5597a8d31fdf939b2 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef LED_H
3#define LED_H
4
5#define LED7 0x80 /* top (or furthest right) LED */
6#define LED6 0x40
7#define LED5 0x20
8#define LED4 0x10
9#define LED3 0x08
10#define LED2 0x04
11#define LED1 0x02
12#define LED0 0x01 /* bottom (or furthest left) LED */
13
14#define LED_LAN_RCV LED0 /* for LAN receive activity */
15#define LED_LAN_TX LED1 /* for LAN transmit activity */
16#define LED_DISK_IO LED2 /* for disk activity */
17#define LED_HEARTBEAT LED3 /* heartbeat */
18
19/* values for pdc_chassis_lcd_info_ret_block.model: */
20#define DISPLAY_MODEL_LCD 0 /* KittyHawk LED or LCD */
21#define DISPLAY_MODEL_NONE 1 /* no LED or LCD */
22#define DISPLAY_MODEL_LASI 2 /* LASI style 8 bit LED */
23#define DISPLAY_MODEL_OLD_ASP 0x7F /* faked: ASP style 8 x 1 bit LED (only very old ASP versions) */
24
25#define LED_CMD_REG_NONE 0 /* NULL == no addr for the cmd register */
26
27/* register_led_driver() */
28int __init register_led_driver(int model, unsigned long cmd_reg, unsigned long data_reg);
29
30/* registers the LED regions for procfs */
31void __init register_led_regions(void);
32
33#ifdef CONFIG_CHASSIS_LCD_LED
34/* writes a string to the LCD display (if possible on this h/w) */
35int lcd_print(const char *str);
36#else
37#define lcd_print(str)
38#endif
39
40/* main LED initialization function (uses PDC) */
41int __init led_init(void);
42
43#endif /* LED_H */