summaryrefslogtreecommitdiffstats
path: root/libc/kernel/arch-arm/asm/arch/board.h
blob: a7a4c669ab50f8eccff9e56e5ac6ee1c37f69b24 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef _OMAP_BOARD_H
#define _OMAP_BOARD_H

#include <linux/types.h>

#include <asm/arch/gpio-switch.h>

#define OMAP_TAG_CLOCK 0x4f01
#define OMAP_TAG_MMC 0x4f02
#define OMAP_TAG_SERIAL_CONSOLE 0x4f03
#define OMAP_TAG_USB 0x4f04
#define OMAP_TAG_LCD 0x4f05
#define OMAP_TAG_GPIO_SWITCH 0x4f06
#define OMAP_TAG_UART 0x4f07
#define OMAP_TAG_FBMEM 0x4f08
#define OMAP_TAG_STI_CONSOLE 0x4f09
#define OMAP_TAG_CAMERA_SENSOR 0x4f0a
#define OMAP_TAG_BT 0x4f0b

#define OMAP_TAG_BOOT_REASON 0x4f80
#define OMAP_TAG_FLASH_PART 0x4f81
#define OMAP_TAG_VERSION_STR 0x4f82

struct omap_clock_config {

 u8 system_clock_type;
};

struct omap_mmc_conf {
 unsigned enabled:1;

 unsigned nomux:1;

 unsigned cover:1;

 unsigned wire4:1;
 s16 power_pin;
 s16 switch_pin;
 s16 wp_pin;
};

struct omap_mmc_config {
 struct omap_mmc_conf mmc[2];
};

struct omap_serial_console_config {
 u8 console_uart;
 u32 console_speed;
};

struct omap_sti_console_config {
 unsigned enable:1;
 u8 channel;
};

struct omap_camera_sensor_config {
 u16 reset_gpio;
 int (*power_on)(void * data);
 int (*power_off)(void * data);
};

struct omap_usb_config {

 unsigned register_host:1;
 unsigned register_dev:1;
 u8 otg;

 u8 hmc_mode;

 u8 rwc;

 u8 pins[3];
};

struct omap_lcd_config {
 char panel_name[16];
 char ctrl_name[16];
 s16 nreset_gpio;
 u8 data_lines;
};

struct device;
struct fb_info;
struct omap_backlight_config {
 int default_intensity;
 int (*set_power)(struct device *dev, int state);
 int (*check_fb)(struct fb_info *fb);
};

struct omap_fbmem_config {
 u32 start;
 u32 size;
};

struct omap_pwm_led_platform_data {
 const char *name;
 int intensity_timer;
 int blink_timer;
 void (*set_power)(struct omap_pwm_led_platform_data *self, int on_off);
};

struct omap_gpio_switch_config {
 char name[12];
 u16 gpio;
 int flags:4;
 int type:4;
 int key_code:24;
};

struct omap_uart_config {

 unsigned int enabled_uarts;
};

struct omap_flash_part_config {
 char part_table[0];
};

struct omap_boot_reason_config {
 char reason_str[12];
};

struct omap_version_config {
 char component[12];
 char version[12];
};

struct omap_board_config_entry {
 u16 tag;
 u16 len;
 u8 data[0];
};

struct omap_board_config_kernel {
 u16 tag;
 const void *data;
};

struct omap_bluetooth_config {
 u8 chip_type;
 u8 bt_uart;
 u8 bd_addr[6];
 u8 bt_sysclk;
 int bt_wakeup_gpio;
 int host_wakeup_gpio;
 int reset_gpio;
};

#define omap_get_config(tag, type)   ((const type *) __omap_get_config((tag), sizeof(type), 0))
#define omap_get_nr_config(tag, type, nr)   ((const type *) __omap_get_config((tag), sizeof(type), (nr)))

#endif