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() */
28int 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) */
32void lcd_print(const char *str);
33#else
34#define lcd_print(str) do { } while (0)
35#endif
36
37#endif /* LED_H */
38