include/linux/mfd/adp5520.h

Source file repositories/reference/linux-study-clean/include/linux/mfd/adp5520.h

File Facts

System
Linux kernel
Corpus path
include/linux/mfd/adp5520.h
Extension
.h
Size
8506 bytes
Lines
299
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct adp5520_gpio_platform_data {
	unsigned gpio_start;
	u8 gpio_en_mask;
	u8 gpio_pullup_mask;
};

/*
 * Keypad subdevice bits and masks
 */

#define ADP5520_MAXKEYS	16

#define ADP5520_COL_C3 		(1 << 7)	/* LED2 or GPIO7 aka C3 */
#define ADP5520_COL_C2		(1 << 6)
#define ADP5520_COL_C1		(1 << 5)
#define ADP5520_COL_C0		(1 << 4)
#define ADP5520_ROW_R3		(1 << 3)	/* LED3 or GPIO3 aka R3 */
#define ADP5520_ROW_R2		(1 << 2)
#define ADP5520_ROW_R1		(1 << 1)
#define ADP5520_ROW_R0		(1 << 0)

#define ADP5520_KEY(row, col) (col + row * 4)
#define ADP5520_KEYMAPSIZE	ADP5520_MAXKEYS

struct adp5520_keys_platform_data {
	int rows_en_mask;		/* Number of rows */
	int cols_en_mask;		/* Number of columns */
	const unsigned short *keymap;	/* Pointer to keymap */
	unsigned short keymapsize;	/* Keymap size */
	unsigned repeat:1;		/* Enable key repeat */
};


/*
 * LEDs subdevice platform data
 */

#define FLAG_ID_ADP5520_LED1_ADP5501_LED0 	1	/* ADP5520 PIN ILED */
#define FLAG_ID_ADP5520_LED2_ADP5501_LED1 	2	/* ADP5520 PIN C3 */
#define FLAG_ID_ADP5520_LED3_ADP5501_LED2 	3	/* ADP5520 PIN R3 */

#define ADP5520_LED_DIS_BLINK	(0 << ADP5520_FLAG_OFFT_SHIFT)
#define ADP5520_LED_OFFT_600ms	(1 << ADP5520_FLAG_OFFT_SHIFT)
#define ADP5520_LED_OFFT_800ms	(2 << ADP5520_FLAG_OFFT_SHIFT)
#define ADP5520_LED_OFFT_1200ms	(3 << ADP5520_FLAG_OFFT_SHIFT)

#define ADP5520_LED_ONT_200ms	0
#define ADP5520_LED_ONT_600ms	1
#define ADP5520_LED_ONT_800ms	2
#define ADP5520_LED_ONT_1200ms	3

struct adp5520_leds_platform_data {
	int num_leds;
	struct led_info	*leds;
	u8 fade_in;		/* Backlight Fade-In Timer */
	u8 fade_out;		/* Backlight Fade-Out Timer */
	u8 led_on_time;
};

/*
 * Backlight subdevice platform data
 */

#define ADP5520_FADE_T_DIS	0	/* Fade Timer Disabled */
#define ADP5520_FADE_T_300ms	1	/* 0.3 Sec */
#define ADP5520_FADE_T_600ms	2
#define ADP5520_FADE_T_900ms	3
#define ADP5520_FADE_T_1200ms	4
#define ADP5520_FADE_T_1500ms	5
#define ADP5520_FADE_T_1800ms	6
#define ADP5520_FADE_T_2100ms	7
#define ADP5520_FADE_T_2400ms	8
#define ADP5520_FADE_T_2700ms	9
#define ADP5520_FADE_T_3000ms	10
#define ADP5520_FADE_T_3500ms	11
#define ADP5520_FADE_T_4000ms	12
#define ADP5520_FADE_T_4500ms	13
#define ADP5520_FADE_T_5000ms	14
#define ADP5520_FADE_T_5500ms	15	/* 5.5 Sec */

#define ADP5520_BL_LAW_LINEAR 	0
#define ADP5520_BL_LAW_SQUARE 	1
#define ADP5520_BL_LAW_CUBIC1 	2
#define ADP5520_BL_LAW_CUBIC2 	3

#define ADP5520_BL_AMBL_FILT_80ms 	0	/* Light sensor filter time */
#define ADP5520_BL_AMBL_FILT_160ms 	1
#define ADP5520_BL_AMBL_FILT_320ms 	2
#define ADP5520_BL_AMBL_FILT_640ms 	3
#define ADP5520_BL_AMBL_FILT_1280ms 	4

Annotation

Implementation Notes