Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.16 107 lines 2.4 kB view raw
1/* 2 * Support for Raidsonic NAS-4220-B 3 * 4 * Copyright (C) 2009 Janos Laube <janos.dev@gmail.com> 5 * 6 * based on rut1xx.c 7 * Copyright (C) 2008 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 */ 14 15#include <linux/kernel.h> 16#include <linux/init.h> 17#include <linux/platform_device.h> 18#include <linux/leds.h> 19#include <linux/input.h> 20#include <linux/gpio_keys.h> 21#include <linux/mdio-gpio.h> 22#include <linux/io.h> 23 24#include <asm/setup.h> 25#include <asm/mach-types.h> 26#include <asm/mach/arch.h> 27#include <asm/mach/time.h> 28 29#include <mach/hardware.h> 30#include <mach/global_reg.h> 31 32#include "common.h" 33 34static struct gpio_led ib4220b_leds[] = { 35 { 36 .name = "nas4220b:orange:hdd", 37 .default_trigger = "none", 38 .gpio = 60, 39 }, 40 { 41 .name = "nas4220b:green:os", 42 .default_trigger = "heartbeat", 43 .gpio = 62, 44 }, 45}; 46 47static struct gpio_led_platform_data ib4220b_leds_data = { 48 .num_leds = ARRAY_SIZE(ib4220b_leds), 49 .leds = ib4220b_leds, 50}; 51 52static struct platform_device ib4220b_led_device = { 53 .name = "leds-gpio", 54 .id = -1, 55 .dev = { 56 .platform_data = &ib4220b_leds_data, 57 }, 58}; 59 60static struct gpio_keys_button ib4220b_keys[] = { 61 { 62 .code = KEY_SETUP, 63 .gpio = 61, 64 .active_low = 1, 65 .desc = "Backup Button", 66 .type = EV_KEY, 67 }, 68 { 69 .code = KEY_RESTART, 70 .gpio = 63, 71 .active_low = 1, 72 .desc = "Softreset Button", 73 .type = EV_KEY, 74 }, 75}; 76 77static struct gpio_keys_platform_data ib4220b_keys_data = { 78 .buttons = ib4220b_keys, 79 .nbuttons = ARRAY_SIZE(ib4220b_keys), 80}; 81 82static struct platform_device ib4220b_key_device = { 83 .name = "gpio-keys", 84 .id = -1, 85 .dev = { 86 .platform_data = &ib4220b_keys_data, 87 }, 88}; 89 90static void __init ib4220b_init(void) 91{ 92 gemini_gpio_init(); 93 platform_register_uart(); 94 platform_register_pflash(SZ_16M, NULL, 0); 95 platform_device_register(&ib4220b_led_device); 96 platform_device_register(&ib4220b_key_device); 97 platform_register_rtc(); 98} 99 100MACHINE_START(NAS4220B, "Raidsonic NAS IB-4220-B") 101 .atag_offset = 0x100, 102 .map_io = gemini_map_io, 103 .init_irq = gemini_init_irq, 104 .init_time = gemini_timer_init, 105 .init_machine = ib4220b_init, 106 .restart = gemini_restart, 107MACHINE_END