summaryrefslogtreecommitdiff
path: root/baseboard/dedede/cbi_fw_config.h
blob: c9782522fa4fc1bb0f5d73b60abccc81a4b04f80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/* Copyright 2020 The Chromium OS Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef _DEDEDE_CBI_FW_CONFIG__H_
#define _DEDEDE_CBI_FW_CONFIG__H_

/****************************************************************************
 * Dedede CBI FW Configuration
 */

/*
 * Daughter Board (Bits 0-3)
 */
enum fw_config_db {
	DB_NONE,
	DB_2C,
	DB_1C_LTE,
	DB_1A_HDMI,
	DB_1C_1A,
	DB_LTE_HDMI,
	DB_1C_1A_LTE,
	DB_1C,
	DB_1A_HDMI_LTE,
};
#define FW_CONFIG_DB_OFFSET			0
#define FW_CONFIG_DB_MASK			GENMASK(3, 0)

/*
 * Keyboard backlight (1 bit)
 */
enum fw_config_kblight_type {
	KB_BL_ABSENT = 0,
	KB_BL_PRESENT = 1,
};
#define FW_CONFIG_KB_BL_OFFSET			8
#define FW_CONFIG_KB_BL_MASK			GENMASK(8, 8)

/*
 * Keyboard numeric pad (1 bit)
 */
enum fw_config_numeric_pad_type {
	NUMERIC_PAD_ABSENT = 0,
	NUMERIC_PAD_PRESENT = 1,
};
#define FW_CONFIG_KB_NUMPAD_OFFSET		9
#define FW_CONFIG_KB_NUMPAD_MASK		GENMASK(9, 9)

/*
 * Tablet Mode (1 bit)
 */
enum fw_config_tablet_mode_type {
	TABLET_MODE_ABSENT = 0,
	TABLET_MODE_PRESENT = 1,
};
#define FW_CONFIG_TABLET_MODE_OFFSET		10
#define FW_CONFIG_TABLET_MODE_MASK		GENMASK(10, 10)

#define FW_CONFIG_KB_LAYOUT_OFFSET		12
#define FW_CONFIG_KB_LAYOUT_MASK		GENMASK(13, 12)

/*
 * Hdmi (1 bit)
 */
enum fw_config_hdmi_type {
	HDMI_ABSENT = 0,
	HDMI_PRESENT = 1,
};
#define FW_CONFIG_HDMI_OFFSET			17
#define FW_CONFIG_HDMI_MASK			GENMASK(17, 17)

enum fw_config_db get_cbi_fw_config_db(void);
enum fw_config_kblight_type get_cbi_fw_config_kblight(void);
enum fw_config_tablet_mode_type get_cbi_fw_config_tablet_mode(void);
enum fw_config_numeric_pad_type get_cbi_fw_config_numeric_pad(void);
enum fw_config_hdmi_type get_cbi_fw_config_hdmi(void);

int get_cbi_fw_config_keyboard(void);

#endif /* _DEDEDE_CBI_FW_CONFIG__H_ */