bcm63xx: add support for linux 3.8
[openwrt.git] / target / linux / brcm63xx / patches-3.8 / 520-bcm63xx-add-support-for-96368MVWG-board.patch
1 From eeacc2529942051504bc957726aa178671344421 Mon Sep 17 00:00:00 2001
2 From: Maxime Bizon <mbizon@freebox.fr>
3 Date: Wed, 20 Jan 2010 16:21:30 +0100
4 Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
5
6 ---
7  arch/mips/bcm63xx/boards/board_bcm963xx.c          |   95 ++++++++++++++++++++
8  .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h |    2 +
9  2 files changed, 97 insertions(+), 0 deletions(-)
10
11 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
12 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
13 @@ -2190,6 +2190,78 @@ static struct board_info __initdata boar
14  #endif
15  
16  /*
17 + * known 6368 boards
18 + */
19 +#ifdef CONFIG_BCM63XX_CPU_6368
20 +static struct board_info __initdata board_96368mvwg = {
21 +       .name                           = "96368MVWG",
22 +       .expected_cpu_id                = 0x6368,
23 +
24 +       .has_uart0                      = 1,
25 +       .has_pci                        = 1,
26 +       .has_enetsw                     = 1,
27 +
28 +       .enetsw = {
29 +               .used_ports = {
30 +                       [1] = {
31 +                               .used   = 1,
32 +                               .phy_id = 2,
33 +                               .name   = "port1",
34 +                       },
35 +
36 +                       [2] = {
37 +                               .used   = 1,
38 +                               .phy_id = 3,
39 +                               .name   = "port2",
40 +                       },
41 +
42 +                       [4] = {
43 +                               .used   = 1,
44 +                               .phy_id = 0x12,
45 +                               .name   = "port0",
46 +                       },
47 +
48 +                       [5] = {
49 +                               .used   = 1,
50 +                               .phy_id = 0x11,
51 +                               .name   = "port3",
52 +                       },
53 +               },
54 +       },
55 +
56 +       .leds = {
57 +               {
58 +                       .name           = "96368MVWG:green:adsl",
59 +                       .gpio           = 2,
60 +                       .active_low     = 1,
61 +               },
62 +               {
63 +                       .name           = "96368MVWG:green:ppp",
64 +                       .gpio           = 5,
65 +               },
66 +               {
67 +                       .name           = "96368MVWG:green:power",
68 +                       .gpio           = 22,
69 +                       .active_low     = 1,
70 +                       .default_trigger = "default-on",
71 +               },
72 +               {
73 +                       .name           = "96368MVWG:green:wps",
74 +                       .gpio           = 23,
75 +                       .active_low     = 1,
76 +               },
77 +               {
78 +                       .name           = "96368MVWG:green:ppp-fail",
79 +                       .gpio           = 31,
80 +               },
81 +       },
82 +
83 +       .has_ohci0 = 1,
84 +       .has_ehci0 = 1,
85 +};
86 +#endif
87 +
88 +/*
89   * all boards
90   */
91  static const struct board_info __initconst *bcm963xx_boards[] = {
92 @@ -2241,6 +2313,10 @@ static const struct board_info __initcon
93         &board_HW553,
94         &board_spw303v,
95  #endif
96 +
97 +#ifdef CONFIG_BCM63XX_CPU_6368
98 +       &board_96368mvwg,
99 +#endif
100  };
101  
102  /*
103 @@ -2412,12 +2488,25 @@ void __init board_prom_init(void)
104                 bcm63xx_pci_enabled = 1;
105                 if (BCMCPU_IS_6348())
106                         val |= GPIO_MODE_6348_G2_PCI;
107 +
108 +               if (BCMCPU_IS_6368())
109 +                       val |= GPIO_MODE_6368_PCI_REQ1 |
110 +                               GPIO_MODE_6368_PCI_GNT1 |
111 +                               GPIO_MODE_6368_PCI_INTB |
112 +                               GPIO_MODE_6368_PCI_REQ0 |
113 +                               GPIO_MODE_6368_PCI_GNT0;
114         }
115  #endif
116  
117         if (board.has_pccard) {
118                 if (BCMCPU_IS_6348())
119                         val |= GPIO_MODE_6348_G1_MII_PCCARD;
120 +
121 +               if (BCMCPU_IS_6368())
122 +                       val |= GPIO_MODE_6368_PCMCIA_CD1 |
123 +                               GPIO_MODE_6368_PCMCIA_CD2 |
124 +                               GPIO_MODE_6368_PCMCIA_VS1 |
125 +                               GPIO_MODE_6368_PCMCIA_VS2;
126         }
127  
128         if (board.has_enet0 && !board.enet0.use_internal_phy) {