Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[deliverable/linux.git] / arch / xtensa / platforms / s6105 / setup.c
CommitLineData
f82e939f
JW
1/*
2 * s6105 control routines
3 *
4 * Copyright (c) 2009 emlix GmbH
5 */
6#include <linux/irq.h>
7#include <linux/io.h>
8#include <linux/gpio.h>
9
10#include <asm/bootparam.h>
11
12#include <variant/hardware.h>
1fb137c1
JW
13#include <variant/gpio.h>
14
f82e939f
JW
15#include <platform/gpio.h>
16
17void platform_halt(void)
18{
19 local_irq_disable();
20 while (1)
21 ;
22}
23
24void platform_power_off(void)
25{
26 platform_halt();
27}
28
29void platform_restart(void)
30{
31 platform_halt();
32}
33
34void __init platform_setup(char **cmdline)
35{
36 unsigned long reg;
37
38 reg = readl(S6_REG_GREG1 + S6_GREG1_CLKGATE);
39 reg &= ~(1 << S6_GREG1_BLOCK_SB);
40 writel(reg, S6_REG_GREG1 + S6_GREG1_CLKGATE);
41
42 reg = readl(S6_REG_GREG1 + S6_GREG1_BLOCKENA);
43 reg |= 1 << S6_GREG1_BLOCK_SB;
44 writel(reg, S6_REG_GREG1 + S6_GREG1_BLOCKENA);
45
46 printk(KERN_NOTICE "S6105 on Stretch S6000 - "
47 "Copyright (C) 2009 emlix GmbH <info@emlix.com>\n");
48}
49
50void __init platform_init(bp_tag_t *first)
51{
1fb137c1 52 s6_gpio_init();
f82e939f
JW
53 gpio_request(GPIO_LED1_NGREEN, "led1_green");
54 gpio_request(GPIO_LED1_RED, "led1_red");
55 gpio_direction_output(GPIO_LED1_NGREEN, 1);
56}
57
58void platform_heartbeat(void)
59{
60 static unsigned int c;
61
62 if (!(++c & 0x4F))
63 gpio_direction_output(GPIO_LED1_RED, !(c & 0x10));
64}
This page took 0.041442 seconds and 5 git commands to generate.