14 #include <linux/kernel.h>
22 #include <linux/i2c.h>
24 #include <linux/input.h>
47 #define H4_SMC91X_CS 1
49 #define H4_ETHR_GPIO_IRQ 92
51 #if defined(CONFIG_KEYBOARD_MATRIX) || defined(CONFIG_KEYBOARD_MATRIX_MODULE)
52 static const uint32_t board_matrix_keys[] = {
86 .
keymap = board_matrix_keys,
90 static unsigned int board_keypad_row_gpios[] = {
91 88, 89, 124, 11, 6, 96
94 static unsigned int board_keypad_col_gpios[] = {
95 90, 91, 100, 36, 12, 97, 98
100 .row_gpios = board_keypad_row_gpios,
101 .num_row_gpios =
ARRAY_SIZE(board_keypad_row_gpios),
102 .col_gpios = board_keypad_col_gpios,
103 .num_col_gpios =
ARRAY_SIZE(board_keypad_col_gpios),
107 .col_scan_delay_us = 5,
111 .
name =
"matrix-keypad",
114 .platform_data = &board_keypad_platform_data,
117 static void __init board_mkp_init(
void)
124 omap_mux_init_signal(
"sdrc_a14.gpio0",
126 omap_mux_init_signal(
"vlynq_rx0.gpio_15", 0);
127 omap_mux_init_signal(
"gpio_98", 0);
128 board_keypad_row_gpios[5] = 0;
129 board_keypad_col_gpios[2] = 15;
130 board_keypad_col_gpios[6] = 18;
133 omap_mux_init_signal(
"gpio_100", 0);
134 omap_mux_init_signal(
"gpio_98", 0);
136 omap_mux_init_signal(
"gpio_90", 0);
137 omap_mux_init_signal(
"gpio_91", 0);
138 omap_mux_init_signal(
"gpio_36", 0);
139 omap_mux_init_signal(
"mcbsp2_clkx.gpio_12", 0);
140 omap_mux_init_signal(
"gpio_97", 0);
145 static inline void board_mkp_init(
void)
153 .name =
"bootloader",
174 .name =
"filesystem",
183 .parts = h4_partitions,
187 static struct resource h4_flash_resource = {
192 .name =
"physmap-flash",
195 .platform_data = &h4_flash_data,
198 .resource = &h4_flash_resource,
211 .driver_name =
"generic_dpi_panel",
213 .phy.dpi.data_lines = 16,
214 .data = &h4_panel_data,
223 .devices = h4_dss_devices,
224 .default_device = &h4_lcd_device,
228 static u32 get_sysboot_value(
void)
241 static u32 is_gpmc_muxed(
void)
244 mux = get_sysboot_value();
245 if ((mux & 0xF) == 0xd)
253 static inline void __init h4_init_debug(
void)
256 unsigned long cs_mem_base;
257 unsigned int muxed,
rate;
258 struct clk *gpmc_fck;
263 if (IS_ERR(gpmc_fck)) {
268 clk_prepare_enable(gpmc_fck);
270 clk_disable_unprepare(gpmc_fck);
282 if (rate >= 160000000) {
288 }
else if (rate >= 130000000) {
309 omap_mux_init_gpio(92, 0);
314 clk_disable_unprepare(gpmc_fck);
318 static void __init h4_init_flash(
void)
323 printk(
"Can't request GPMC CS for flash\n");
326 h4_flash_resource.
start = base;
327 h4_flash_resource.
end = base +
SZ_64M - 1;
331 .byte_len =
SZ_1K / 8,
341 .platform_data = &m24c01,
345 .platform_data = &m24c01,
349 #ifdef CONFIG_OMAP_MUX
355 static void __init omap_h4_init(
void)
380 .atag_offset = 0x100,
386 .init_machine = omap_h4_init,