|
@@ -194,3 +194,149 @@ static uint32_t crag6410_keymap[] = {
|
|
KEY(1, 2, KEY_LEFT),
|
|
KEY(1, 2, KEY_LEFT),
|
|
KEY(1, 3, KEY_UP),
|
|
KEY(1, 3, KEY_UP),
|
|
KEY(1, 4, KEY_RIGHT),
|
|
KEY(1, 4, KEY_RIGHT),
|
|
|
|
+ KEY(1, 5, KEY_CAMERA),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct matrix_keymap_data crag6410_keymap_data = {
|
|
|
|
+ .keymap = crag6410_keymap,
|
|
|
|
+ .keymap_size = ARRAY_SIZE(crag6410_keymap),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct samsung_keypad_platdata crag6410_keypad_data = {
|
|
|
|
+ .keymap_data = &crag6410_keymap_data,
|
|
|
|
+ .rows = 2,
|
|
|
|
+ .cols = 6,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct gpio_keys_button crag6410_gpio_keys[] = {
|
|
|
|
+ [0] = {
|
|
|
|
+ .code = KEY_SUSPEND,
|
|
|
|
+ .gpio = S3C64XX_GPL(10), /* EINT 18 */
|
|
|
|
+ .type = EV_KEY,
|
|
|
|
+ .wakeup = 1,
|
|
|
|
+ .active_low = 1,
|
|
|
|
+ },
|
|
|
|
+ [1] = {
|
|
|
|
+ .code = SW_FRONT_PROXIMITY,
|
|
|
|
+ .gpio = S3C64XX_GPN(11), /* EINT 11 */
|
|
|
|
+ .type = EV_SW,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct gpio_keys_platform_data crag6410_gpio_keydata = {
|
|
|
|
+ .buttons = crag6410_gpio_keys,
|
|
|
|
+ .nbuttons = ARRAY_SIZE(crag6410_gpio_keys),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device crag6410_gpio_keydev = {
|
|
|
|
+ .name = "gpio-keys",
|
|
|
|
+ .id = 0,
|
|
|
|
+ .dev.platform_data = &crag6410_gpio_keydata,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource crag6410_dm9k_resource[] = {
|
|
|
|
+ [0] = DEFINE_RES_MEM(S3C64XX_PA_XM0CSN5, 2),
|
|
|
|
+ [1] = DEFINE_RES_MEM(S3C64XX_PA_XM0CSN5 + (1 << 8), 2),
|
|
|
|
+ [2] = DEFINE_RES_NAMED(S3C_EINT(17), 1, NULL, IORESOURCE_IRQ \
|
|
|
|
+ | IORESOURCE_IRQ_HIGHLEVEL),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct dm9000_plat_data mini6410_dm9k_pdata = {
|
|
|
|
+ .flags = DM9000_PLATF_16BITONLY,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device crag6410_dm9k_device = {
|
|
|
|
+ .name = "dm9000",
|
|
|
|
+ .id = -1,
|
|
|
|
+ .num_resources = ARRAY_SIZE(crag6410_dm9k_resource),
|
|
|
|
+ .resource = crag6410_dm9k_resource,
|
|
|
|
+ .dev.platform_data = &mini6410_dm9k_pdata,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct resource crag6410_mmgpio_resource[] = {
|
|
|
|
+ [0] = DEFINE_RES_MEM_NAMED(S3C64XX_PA_XM0CSN4, 1, "dat"),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device crag6410_mmgpio = {
|
|
|
|
+ .name = "basic-mmio-gpio",
|
|
|
|
+ .id = -1,
|
|
|
|
+ .resource = crag6410_mmgpio_resource,
|
|
|
|
+ .num_resources = ARRAY_SIZE(crag6410_mmgpio_resource),
|
|
|
|
+ .dev.platform_data = &(struct bgpio_pdata) {
|
|
|
|
+ .base = MMGPIO_GPIO_BASE,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device speyside_device = {
|
|
|
|
+ .name = "speyside",
|
|
|
|
+ .id = -1,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device lowland_device = {
|
|
|
|
+ .name = "lowland",
|
|
|
|
+ .id = -1,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device tobermory_device = {
|
|
|
|
+ .name = "tobermory",
|
|
|
|
+ .id = -1,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device littlemill_device = {
|
|
|
|
+ .name = "littlemill",
|
|
|
|
+ .id = -1,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device bells_wm2200_device = {
|
|
|
|
+ .name = "bells",
|
|
|
|
+ .id = 0,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device bells_wm5102_device = {
|
|
|
|
+ .name = "bells",
|
|
|
|
+ .id = 1,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device bells_wm5110_device = {
|
|
|
|
+ .name = "bells",
|
|
|
|
+ .id = 2,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct regulator_consumer_supply wallvdd_consumers[] = {
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDD", "1-001a"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDD1", "1-001a"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDD2", "1-001a"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDL", "1-001a"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDR", "1-001a"),
|
|
|
|
+
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDL", "spi0.1"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDR", "spi0.1"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDL", "wm5102-codec"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDR", "wm5102-codec"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDL", "wm5110-codec"),
|
|
|
|
+ REGULATOR_SUPPLY("SPKVDDR", "wm5110-codec"),
|
|
|
|
+
|
|
|
|
+ REGULATOR_SUPPLY("DC1VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("DC2VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("DC3VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO1VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO2VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO4VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO5VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO6VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO7VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO8VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO9VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO10VDD", "0-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO11VDD", "0-0034"),
|
|
|
|
+
|
|
|
|
+ REGULATOR_SUPPLY("DC1VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("DC2VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("DC3VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO1VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO2VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO4VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO5VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO6VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO7VDD", "1-0034"),
|
|
|
|
+ REGULATOR_SUPPLY("LDO8VDD", "1-0034"),
|