2 * s6105 control routines
4 * Copyright (c) 2009 emlix GmbH
8 #include <linux/gpio.h>
10 #include <asm/bootparam.h>
12 #include <variant/hardware.h>
13 #include <variant/gpio.h>
15 #include <platform/gpio.h>
17 void platform_halt(void)
24 void platform_power_off(void)
29 void platform_restart(void)
34 void __init
platform_setup(char **cmdline
)
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
);
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
);
46 printk(KERN_NOTICE
"S6105 on Stretch S6000 - "
47 "Copyright (C) 2009 emlix GmbH <info@emlix.com>\n");
50 void __init
platform_init(bp_tag_t
*first
)
53 gpio_request(GPIO_LED1_NGREEN
, "led1_green");
54 gpio_request(GPIO_LED1_RED
, "led1_red");
55 gpio_direction_output(GPIO_LED1_NGREEN
, 1);
58 void platform_heartbeat(void)
60 static unsigned int c
;
63 gpio_direction_output(GPIO_LED1_RED
, !(c
& 0x10));