[lantiq] cleanup patches
[openwrt.git] / target / linux / lantiq / files / arch / mips / lantiq / svip / mach-easy33016.c
1 #include <linux/init.h>
2 #include <linux/platform_device.h>
3 #include <linux/leds.h>
4 #include <linux/gpio.h>
5 #include <linux/gpio_buttons.h>
6 #include <linux/mtd/mtd.h>
7 #include <linux/mtd/partitions.h>
8 #include <linux/input.h>
9 #include <linux/interrupt.h>
10 #include <linux/spi/spi.h>
11 #include <linux/spi/flash.h>
12 #include "../machtypes.h"
13
14 #include <sys1_reg.h>
15 #include <sys2_reg.h>
16 #include <svip_pms.h>
17
18 #include "devices.h"
19
20 static const struct ltq_mux_pin mux_p0[LTQ_MUX_P0_PINS] = {
21         LTQ_MUX_P0_0_SSC0_MTSR,
22         LTQ_MUX_P0_1_SSC0_MRST,
23         LTQ_MUX_P0_2_SSC0_SCLK,
24         LTQ_MUX_P0_3_SSC1_MTSR,
25         LTQ_MUX_P0_4_SSC1_MRST,
26         LTQ_MUX_P0_5_SSC1_SCLK,
27         LTQ_MUX_P0_6_SSC0_CS0,
28         LTQ_MUX_P0_7_SSC0_CS1,
29         LTQ_MUX_P0_8_SSC0_CS2,
30         LTQ_MUX_P0_9,
31         LTQ_MUX_P0_10,
32         LTQ_MUX_P0_11_EXINT4,
33         LTQ_MUX_P0_12,
34         LTQ_MUX_P0_13,
35         LTQ_MUX_P0_14_ASC0_TXD,
36         LTQ_MUX_P0_15_ASC0_RXD,
37         LTQ_MUX_P0_16_EXINT9,
38         LTQ_MUX_P0_17_EXINT10,
39         LTQ_MUX_P0_18_EJ_BRKIN,
40         LTQ_MUX_P0_19_EXINT16
41 };
42
43 static void __init easy33016_init(void)
44 {
45         svip_sys1_clk_enable(SYS1_CLKENR_L2C |
46                              SYS1_CLKENR_DDR2 |
47                              SYS1_CLKENR_SMI2 |
48                              SYS1_CLKENR_SMI1 |
49                              SYS1_CLKENR_SMI0 |
50                              SYS1_CLKENR_FMI0 |
51                              SYS1_CLKENR_DMA |
52                              SYS1_CLKENR_SSC0 |
53                              SYS1_CLKENR_SSC1 |
54                              SYS1_CLKENR_EBU);
55
56         svip_sys2_clk_enable(SYS2_CLKENR_HWSYNC |
57                              SYS2_CLKENR_MBS |
58                              SYS2_CLKENR_SWINT);
59
60         svip_register_mux(mux_p0, NULL, NULL, NULL, NULL);
61         svip_register_asc(0);
62         svip_register_eth();
63         svip_register_virtual_eth();
64         ltq_register_wdt();
65         svip_register_gpio();
66         svip_register_spi();
67         svip_register_nand();
68 }
69
70 MIPS_MACHINE(LANTIQ_MACH_EASY33016,
71              "EASY33016",
72              "EASY33016",
73              easy33016_init);