1 /* 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() */
28 int register_led_driver(int model, unsigned long cmd_reg, unsigned long data_reg);
29 
30 #ifdef CONFIG_CHASSIS_LCD_LED
31 /* writes a string to the LCD display (if possible on this h/w) */
32 void lcd_print(const char *str);
33 #else
34 #define lcd_print(str) do { } while (0)
35 #endif
36 
37 #endif /* LED_H */
38