brcm63xx: convert RTA1320 to dts
[openwrt.git] / target / linux / brcm63xx / patches-3.18 / 526-board_CT6373-1.patch
1 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
3 @@ -43,6 +43,12 @@
4  #define NB4_SPI_GPIO_CLK       6
5  #define NB4_74HC64_GPIO(X)     (NB4_74X164_GPIO_BASE + (X))
6  
7 +#define CT6373_PID_OFFSET              0xff80
8 +#define CT6373_74X164_GPIO_BASE        64
9 +#define CT6373_SPI_GPIO_MOSI   7
10 +#define CT6373_SPI_GPIO_CLK            6
11 +#define CT6373_74HC64_GPIO(X)  (CT6373_74X164_GPIO_BASE + (X))
12 +
13  /*
14   * known 3368 boards
15   */
16 @@ -2035,6 +2041,124 @@ static struct board_info __initdata boar
17         .num_spis = ARRAY_SIZE(nb4_spi_devices),
18  };
19  
20 +
21 +struct spi_gpio_platform_data ct6373_spi_gpio_data = {
22 +       .sck            = CT6373_SPI_GPIO_CLK,
23 +       .mosi           = CT6373_SPI_GPIO_MOSI,
24 +       .miso           = SPI_GPIO_NO_MISO,
25 +       .num_chipselect = 1,
26 +};
27 +
28 +static struct platform_device ct6373_spi_gpio = {
29 +       .name = "spi_gpio",
30 +       .id   = 1,
31 +       .dev = {
32 +               .platform_data = &ct6373_spi_gpio_data,
33 +       },
34 +};
35 +
36 +static struct platform_device * __initdata ct6373_devices[] = {
37 +       &ct6373_spi_gpio,
38 +};
39 +
40 +#if 0 /* FIXME: 3.14 dropped non-DT support */
41 +const struct gen_74x164_chip_platform_data ct6373_74x164_platform_data = {
42 +       .base = CT6373_74X164_GPIO_BASE
43 +};
44 +#endif
45 +
46 +static struct spi_board_info ct6373_spi_devices[] = {
47 +#if 0 /* FIXME: 3.14 dropped non-DT support */
48 +       {
49 +               .modalias = "74x164",
50 +               .max_speed_hz = 781000,
51 +               .bus_num = 1,
52 +               .controller_data = (void *) SPI_GPIO_NO_CHIPSELECT,
53 +               .mode = SPI_MODE_0,
54 +               .platform_data = &ct6373_74x164_platform_data
55 +       }
56 +#endif
57 +};
58 +
59 +static struct board_info __initdata board_ct6373_1 = {
60 +       .name                           = "CT6373-1",
61 +       .expected_cpu_id        = 0x6358,
62 +
63 +       .has_uart0                      = 1,
64 +       .has_pci                        = 1,
65 +       .use_fallback_sprom             = 1,
66 +       .has_ohci0                      = 1,
67 +       .has_ehci0                      = 1,
68 +
69 +       .has_enet1                      = 1,
70 +       .enet1 = {
71 +               .has_phy                = 1,
72 +               .phy_id                 = 0,
73 +               .force_speed_100        = 1,
74 +               .force_duplex_full      = 1,
75 +       },
76 +
77 +       .leds = {
78 +               {
79 +                       .name           = "CT6373-1:green:power",
80 +                       .gpio           = 0,
81 +                       .default_trigger = "default-on",
82 +               },
83 +               {
84 +                       .name           = "CT6373-1:green:usb",
85 +                       .gpio           = 3,
86 +                       .active_low     = 1,
87 +               },
88 +               {
89 +                       .name           = "CT6373-1:green:wlan",
90 +                       .gpio           = 9,
91 +                       .active_low     = 1,
92 +               },
93 +               {
94 +                       .name           = "CT6373-1:green:adsl",
95 +                       .gpio           = CT6373_74HC64_GPIO(0),
96 +                       .active_low     = 1,
97 +               },
98 +               {
99 +                       .name           = "CT6373-1:green:line",
100 +                       .gpio           = CT6373_74HC64_GPIO(1),
101 +                       .active_low     = 1,
102 +               },
103 +               {
104 +                       .name           = "CT6373-1:green:fxs1",
105 +                       .gpio           = CT6373_74HC64_GPIO(2),
106 +                       .active_low     = 1,
107 +               },
108 +               {
109 +                       .name           = "CT6373-1:green:fxs2",
110 +                       .gpio           = CT6373_74HC64_GPIO(3),
111 +                       .active_low     = 1,
112 +               },
113 +       },
114 +
115 +       .buttons = {
116 +               {
117 +                       .desc           = "reset",
118 +                       .gpio           = 35,
119 +                       .active_low     = 1,
120 +                       .type           = EV_KEY,
121 +                       .code           = KEY_RESTART,
122 +                       .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
123 +               },
124 +       },
125 +
126 +       .fallback_sprom = {
127 +               .type                           = SPROM_BCM4318,
128 +               .pci_bus                        = 0,
129 +               .pci_dev                        = 1,
130 +       },
131 +
132 +       .devs = ct6373_devices,
133 +       .num_devs = ARRAY_SIZE(ct6373_devices),
134 +       .spis = ct6373_spi_devices,
135 +       .num_spis = ARRAY_SIZE(ct6373_spi_devices),
136 +};
137 +
138  static struct board_info __initdata board_HW553 = {
139         .name                           = "HW553",
140         .expected_cpu_id                = 0x6358,
141 @@ -2376,6 +2500,7 @@ static const struct board_info __initcon
142         &board_dsl_274xb_rev_c,
143         &board_nb4_ser_r0,
144         &board_nb4_fxc_r1,
145 +       &board_ct6373_1,
146         &board_HW553,
147         &board_spw303v,
148  #endif
149 @@ -2428,6 +2553,7 @@ static struct of_device_id const bcm963x
150         { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
151         { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
152         { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
153 +       { .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
154         { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
155         { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
156         { .compatible = "huawei,hg553", .data = &board_HW553, },