Advertisement
Knogle

C3600 Support Patch

Apr 17th, 2022
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 66.15 KB | None | 0 0
  1. diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
  2. index f4af967..1b8b00c 100644
  3. --- a/arch/mips/Kconfig
  4. +++ b/arch/mips/Kconfig
  5. @@ -60,6 +60,26 @@ config BCM47XX
  6. help
  7. Support for BCM47XX based boards
  8.  
  9. +config CISCO_3600
  10. + bool "Cisco 3600 Series Routers"
  11. + select CEVT_R4K
  12. + select CSRC_R4K
  13. + select CEVT_GT641XX
  14. + select DMA_NONCOHERENT
  15. + select HW_HAS_PCI
  16. + select IRQ_CPU
  17. + select IRQ_GT641XX
  18. + select PCI_GT64XXX_PCI0
  19. + select SYS_HAS_CPU_R4X00
  20. + select SYS_HAS_EARLY_PRINTK
  21. + select SYS_SUPPORTS_32BIT_KERNEL
  22. + select SYS_SUPPORTS_64BIT_KERNEL
  23. + select SYS_SUPPORTS_BIG_ENDIAN
  24. + select GENERIC_HARDIRQS_NO__DO_IRQ
  25. + select SERIAL_8250
  26. + help
  27. + Support for the Cisco 3600 Series Multiservice Routers.
  28. +
  29. config MIPS_COBALT
  30. bool "Cobalt Server"
  31. select CEVT_R4K
  32. diff --git a/arch/mips/Makefile b/arch/mips/Makefile
  33. index 28c55f6..9bcb5ed 100644
  34. --- a/arch/mips/Makefile
  35. +++ b/arch/mips/Makefile
  36. @@ -278,6 +278,13 @@ libs-$(CONFIG_MIPS_XXS1500) += arch/mips/alchemy/xxs1500/
  37. load-$(CONFIG_MIPS_XXS1500) += 0xffffffff80100000
  38.  
  39. #
  40. +# Cisco 3600 Series Routers
  41. +#
  42. +core-$(CONFIG_CISCO_3600) += arch/mips/cisco3600/
  43. +cflags-$(CONFIG_CISCO_3600) += -I$(srctree)/arch/mips/include/asm/mach-cisco3600
  44. +load-$(CONFIG_CISCO_3600) += 0xffffffff80028000
  45. +
  46. +#
  47. # Cobalt Server
  48. #
  49. core-$(CONFIG_MIPS_COBALT) += arch/mips/cobalt/
  50. diff --git a/arch/mips/cisco3600/Makefile b/arch/mips/cisco3600/Makefile
  51. new file mode 100644
  52. index 0000000..26a344f
  53. --- /dev/null
  54. +++ b/arch/mips/cisco3600/Makefile
  55. @@ -0,0 +1,11 @@
  56. +#
  57. +# Makefile for the Cisco 3600 Series Routers
  58. +#
  59. +
  60. +obj-y := irq.o led.o reset.o serial.o setup.o time.o
  61. +
  62. +obj-$(CONFIG_PCI) += pci.o
  63. +obj-$(CONFIG_EARLY_PRINTK) += console.o
  64. +# obj-$(CONFIG_MTD_PHYSMAP) += mtd.o
  65. +
  66. +EXTRA_CFLAGS += -Werror
  67. diff --git a/arch/mips/cisco3600/console.c b/arch/mips/cisco3600/console.c
  68. new file mode 100644
  69. index 0000000..361d24f
  70. --- /dev/null
  71. +++ b/arch/mips/cisco3600/console.c
  72. @@ -0,0 +1,34 @@
  73. +/*
  74. + * Early console support for the Cisco 3600 Series Routers
  75. + * Copyright (c) 2008 Philippe Vachon (philippe@cowpig.ca)
  76. + *
  77. + * This program is free software; you can redistribute it and/or modify
  78. + * it under the terms of the GNU General Public License as published by
  79. + * the Free Software Foundation; either version 2 of the License, or
  80. + * (at your option) any later version.
  81. + *
  82. + * This program is distributed in the hope that it will be useful,
  83. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  84. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  85. + * GNU General Public License for more details.
  86. + *
  87. + * You should have received a copy of the GNU General Public License
  88. + * along with this program; if not, write to the Free Software
  89. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
  90. + * USA
  91. + */
  92. +
  93. +#include <linux/io.h>
  94. +#include <linux/serial_reg.h>
  95. +
  96. +#include <c3600.h>
  97. +
  98. +#define UART_BASE ((void __iomem *)CKSEG1ADDR(0x1e840000))
  99. +
  100. +void prom_putchar(char c)
  101. +{
  102. + while (!(readb(UART_BASE + (UART_LSR << 3)) & UART_LSR_THRE))
  103. + ;
  104. +
  105. + writeb(c, UART_BASE + UART_TX);
  106. +}
  107. diff --git a/arch/mips/cisco3600/irq.c b/arch/mips/cisco3600/irq.c
  108. new file mode 100644
  109. index 0000000..40f7c65
  110. --- /dev/null
  111. +++ b/arch/mips/cisco3600/irq.c
  112. @@ -0,0 +1,66 @@
  113. +/*
  114. + * IRQ vector handles
  115. + *
  116. + * This file is subject to the terms and conditions of the GNU General Public
  117. + * License. See the file "COPYING" in the main directory of this archive
  118. + * for more details.
  119. + *
  120. + * Copyright (C) 1995, 1996, 1997, 2003 by Ralf Baechle
  121. + * Copyright (C) 2008 Philippe Vachon (philippe@cowpig.ca)
  122. + */
  123. +#include <linux/kernel.h>
  124. +#include <linux/init.h>
  125. +#include <linux/irq.h>
  126. +#include <linux/interrupt.h>
  127. +#include <linux/pci.h>
  128. +
  129. +#include <asm/irq_cpu.h>
  130. +#include <asm/irq_gt641xx.h>
  131. +#include <asm/gt64120.h>
  132. +
  133. +#include <irq.h>
  134. +
  135. +#include <linux/io.h>
  136. +
  137. +#include <linux/io.h>
  138. +#include <linux/serial_reg.h>
  139. +
  140. +#include <c3600.h>
  141. +
  142. +asmlinkage void plat_irq_dispatch(void)
  143. +{
  144. + unsigned pending = read_c0_status() & read_c0_cause() & ST0_IM;
  145. +
  146. + if (pending & CAUSEF_IP2) /* Network I/O IRQ */
  147. + do_IRQ(MIPS_CPU_IRQ_BASE + 2);
  148. + else if (pending & CAUSEF_IP3) /* unk. */
  149. + do_IRQ(MIPS_CPU_IRQ_BASE + 3);
  150. + else if (pending & CAUSEF_IP4) /* GT64010 IRQ */
  151. + gt641xx_irq_dispatch();
  152. + else if (pending & CAUSEF_IP5) /* DUART IRQ */
  153. + do_IRQ(MIPS_CPU_IRQ_BASE + 5);
  154. + else if (pending & CAUSEF_IP6) /* unk. */
  155. + do_IRQ(MIPS_CPU_IRQ_BASE + 6);
  156. + else if (pending & CAUSEF_IP7) /* unknown */
  157. + do_IRQ(MIPS_CPU_IRQ_BASE + 7);
  158. + else
  159. + spurious_interrupt();
  160. +}
  161. +
  162. +static struct irqaction cascade = {
  163. + .handler = no_action,
  164. + .mask = CPU_MASK_NONE,
  165. + .name = "cascade",
  166. +};
  167. +
  168. +void __init arch_init_irq(void)
  169. +{
  170. + uint8_t iofpga_irq = 0;
  171. + mips_cpu_irq_init();
  172. + gt641xx_irq_init();
  173. +
  174. + /* touch the IOFPGA interrupt register before enabling IRQs */
  175. + iofpga_irq = C3600_IOFPGA_READB(C3600_EXT_INT_REG);
  176. +
  177. + setup_irq(GT641XX_CASCADE_IRQ, &cascade);
  178. +}
  179. diff --git a/arch/mips/cisco3600/led.c b/arch/mips/cisco3600/led.c
  180. new file mode 100644
  181. index 0000000..4fac954
  182. --- /dev/null
  183. +++ b/arch/mips/cisco3600/led.c
  184. @@ -0,0 +1,64 @@
  185. +/*
  186. + * Registration of Cobalt LED platform device.
  187. + *
  188. + * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
  189. + *
  190. + * This program is free software; you can redistribute it and/or modify
  191. + * it under the terms of the GNU General Public License as published by
  192. + * the Free Software Foundation; either version 2 of the License, or
  193. + * (at your option) any later version.
  194. + *
  195. + * This program is distributed in the hope that it will be useful,
  196. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  197. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  198. + * GNU General Public License for more details.
  199. + *
  200. + * You should have received a copy of the GNU General Public License
  201. + * along with this program; if not, write to the Free Software
  202. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  203. + */
  204. +#include <linux/errno.h>
  205. +#include <linux/init.h>
  206. +#include <linux/ioport.h>
  207. +#include <linux/platform_device.h>
  208. +
  209. +#include <c3600.h>
  210. +
  211. +/* TODO: determine where the Cisco 3600 LED resources reside */
  212. +
  213. +static struct resource c3600_led_resource __initdata = {
  214. + .start = 0x1c000000,
  215. + .end = 0x1c000000,
  216. + .flags = IORESOURCE_MEM,
  217. +};
  218. +
  219. +static __init int c3600_led_add(void)
  220. +{
  221. + struct platform_device *pdev;
  222. + int retval;
  223. +
  224. + /*if (cobalt_board_id == COBALT_BRD_ID_QUBE1 ||
  225. + cobalt_board_id == COBALT_BRD_ID_QUBE2)
  226. + pdev = platform_device_alloc("cobalt-qube-leds", -1);
  227. + else */
  228. + pdev = platform_device_alloc("cisco-3600-leds", -1);
  229. +
  230. + if (!pdev)
  231. + return -ENOMEM;
  232. +
  233. + retval = platform_device_add_resources(pdev, &c3600_led_resource, 1);
  234. + if (retval)
  235. + goto err_free_device;
  236. +
  237. + retval = platform_device_add(pdev);
  238. + if (retval)
  239. + goto err_free_device;
  240. +
  241. + return 0;
  242. +
  243. +err_free_device:
  244. + platform_device_put(pdev);
  245. +
  246. + return retval;
  247. +}
  248. +device_initcall(c3600_led_add);
  249. diff --git a/arch/mips/cisco3600/mtd.c b/arch/mips/cisco3600/mtd.c
  250. new file mode 100644
  251. index 0000000..2b088ef
  252. --- /dev/null
  253. +++ b/arch/mips/cisco3600/mtd.c
  254. @@ -0,0 +1,61 @@
  255. +/*
  256. + * Registration of Cobalt MTD device.
  257. + *
  258. + * Copyright (C) 2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
  259. + *
  260. + * This program is free software; you can redistribute it and/or modify
  261. + * it under the terms of the GNU General Public License as published by
  262. + * the Free Software Foundation; either version 2 of the License, or
  263. + * (at your option) any later version.
  264. + *
  265. + * This program is distributed in the hope that it will be useful,
  266. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  267. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  268. + * GNU General Public License for more details.
  269. + *
  270. + * You should have received a copy of the GNU General Public License
  271. + * along with this program; if not, write to the Free Software
  272. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  273. + */
  274. +#include <linux/init.h>
  275. +#include <linux/platform_device.h>
  276. +#include <linux/mtd/partitions.h>
  277. +#include <linux/mtd/physmap.h>
  278. +
  279. +static struct mtd_partition cobalt_mtd_partitions[] = {
  280. + {
  281. + .name = "firmware",
  282. + .offset = 0x0,
  283. + .size = 0x80000,
  284. + },
  285. +};
  286. +
  287. +static struct physmap_flash_data cobalt_flash_data = {
  288. + .width = 1,
  289. + .nr_parts = 1,
  290. + .parts = cobalt_mtd_partitions,
  291. +};
  292. +
  293. +static struct resource cobalt_mtd_resource = {
  294. + .start = 0x1fc00000,
  295. + .end = 0x1fc7ffff,
  296. + .flags = IORESOURCE_MEM,
  297. +};
  298. +
  299. +static struct platform_device cobalt_mtd = {
  300. + .name = "physmap-flash",
  301. + .dev = {
  302. + .platform_data = &cobalt_flash_data,
  303. + },
  304. + .num_resources = 1,
  305. + .resource = &cobalt_mtd_resource,
  306. +};
  307. +
  308. +static int __init cobalt_mtd_init(void)
  309. +{
  310. + platform_device_register(&cobalt_mtd);
  311. +
  312. + return 0;
  313. +}
  314. +
  315. +module_init(cobalt_mtd_init);
  316. diff --git a/arch/mips/cisco3600/pci.c b/arch/mips/cisco3600/pci.c
  317. new file mode 100644
  318. index 0000000..91b53f1
  319. --- /dev/null
  320. +++ b/arch/mips/cisco3600/pci.c
  321. @@ -0,0 +1,51 @@
  322. +/*
  323. + * Register PCI controller.
  324. + *
  325. + * This file is subject to the terms and conditions of the GNU General Public
  326. + * License. See the file "COPYING" in the main directory of this archive
  327. + * for more details.
  328. + *
  329. + * Copyright (C) 1996, 1997, 2004, 05 by Ralf Baechle (ralf@linux-mips.org)
  330. + * Copyright (C) 2001, 2002, 2003 by Liam Davies (ldavies@agile.tv)
  331. + * Copyright (C) 2008 Philippe Vachon (philippe@cowpig.ca)
  332. + *
  333. + */
  334. +#include <linux/init.h>
  335. +#include <linux/pci.h>
  336. +
  337. +#include <c3600.h>
  338. +
  339. +#include <asm/gt64120.h>
  340. +
  341. +extern struct pci_ops gt64xxx_pci0_ops;
  342. +
  343. +static struct resource c3600_mem_resource = {
  344. + .start = /* C3600_PCI_IO */ GT_DEF_PCI0_MEM0_BASE,
  345. + .end = /* C3600_PCI_IO */ GT_DEF_PCI0_MEM0_BASE + GT_DEF_PCI0_MEM0_SIZE - 1,
  346. + .name = "PCI memory",
  347. + .flags = IORESOURCE_MEM,
  348. +};
  349. +
  350. +static struct resource c3600_io_resource = {
  351. + .start = 0x1000,
  352. + .end = GT_DEF_PCI0_IO_SIZE - 1,
  353. + .name = "PCI I/O",
  354. + .flags = IORESOURCE_IO,
  355. +};
  356. +
  357. +static struct pci_controller c3600_pci_controller = {
  358. + .pci_ops = &gt64xxx_pci0_ops,
  359. + .mem_resource = &c3600_mem_resource,
  360. + .io_resource = &c3600_io_resource,
  361. + .io_offset = 0 - /* C3600_PCI_IO, */ GT_DEF_PCI0_MEM0_BASE,
  362. + .io_map_base = CKSEG1ADDR(C3600_PCI_IO),
  363. +};
  364. +
  365. +static int __init c3600_pci_init(void)
  366. +{
  367. + register_pci_controller(&c3600_pci_controller);
  368. +
  369. + return 0;
  370. +}
  371. +
  372. +arch_initcall(c3600_pci_init);
  373. diff --git a/arch/mips/cisco3600/reset.c b/arch/mips/cisco3600/reset.c
  374. new file mode 100644
  375. index 0000000..73180c3
  376. --- /dev/null
  377. +++ b/arch/mips/cisco3600/reset.c
  378. @@ -0,0 +1,53 @@
  379. +/*
  380. + * Cobalt Reset operations
  381. + *
  382. + * This file is subject to the terms and conditions of the GNU General Public
  383. + * License. See the file "COPYING" in the main directory of this archive
  384. + * for more details.
  385. + *
  386. + * Copyright (C) 1995, 1996, 1997 by Ralf Baechle
  387. + * Copyright (C) 2001 by Liam Davies (ldavies@agile.tv)
  388. + * Copyright (c) 2009 by Philippe Vachon (philippe@cowpig.ca)
  389. + */
  390. +#include <linux/init.h>
  391. +#include <linux/io.h>
  392. +#include <linux/leds.h>
  393. +
  394. +#include <asm/processor.h>
  395. +#include <asm/cacheflush.h>
  396. +
  397. +#include <c3600.h>
  398. +
  399. +#define RESET_ADDR 0xbfc00000
  400. +
  401. +/* DEFINE_LED_TRIGGER(power_off_led_trigger); */
  402. +
  403. +static int __init ledtrig_power_off_init(void)
  404. +{
  405. + /*led_trigger_register_simple("power-off", &power_off_led_trigger);*/
  406. + return 0;
  407. +}
  408. +device_initcall(ledtrig_power_off_init);
  409. +
  410. +void c3600_machine_halt(void)
  411. +{
  412. + /* led_trigger_event(power_off_led_trigger, LED_FULL); */
  413. + printk("c3600_machine_halt: halting system.\n");
  414. +
  415. + local_irq_disable();
  416. + while (1) {
  417. + if (cpu_wait)
  418. + cpu_wait();
  419. + }
  420. +}
  421. +
  422. +void c3600_machine_restart(char *command)
  423. +{
  424. + set_c0_status(ST0_BEV);
  425. + __flush_cache_all();
  426. +
  427. + ((void (*)(void))(RESET_ADDR))();
  428. +
  429. + /* we should never get here */
  430. + c3600_machine_halt();
  431. +}
  432. diff --git a/arch/mips/cisco3600/serial.c b/arch/mips/cisco3600/serial.c
  433. new file mode 100644
  434. index 0000000..0dc92b1
  435. --- /dev/null
  436. +++ b/arch/mips/cisco3600/serial.c
  437. @@ -0,0 +1,81 @@
  438. +/*
  439. + * Registration of the Cisco 3620 UART devices
  440. + * (c) 2008 Philippe Vachon <philippe@cowpig.ca>
  441. + *
  442. + * This program is free software; you can redistribute it and/or modify
  443. + * it under the terms of the GNU General Public License as published by
  444. + * the Free Software Foundation; either version 2 of the License, or
  445. + * (at your option) any later version.
  446. + *
  447. + * This program is distributed in the hope that it will be useful,
  448. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  449. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  450. + * GNU General Public License for more details.
  451. + *
  452. + * You should have received a copy of the GNU General Public License
  453. + * along with this program; if not, write to the Free Software
  454. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  455. + */
  456. +#include <linux/errno.h>
  457. +#include <linux/init.h>
  458. +#include <linux/ioport.h>
  459. +#include <linux/platform_device.h>
  460. +#include <linux/serial_8250.h>
  461. +
  462. +#include <c3600.h>
  463. +#include <irq.h>
  464. +
  465. +static struct resource c3600_uart_resource[] __initdata = {
  466. + {
  467. + .start = C3600_DUART,
  468. + .end = C3600_DUART + 0x1000,
  469. + .flags = IORESOURCE_MEM,
  470. + },
  471. + {
  472. + .start = SERIAL_IRQ,
  473. + .end = SERIAL_IRQ,
  474. + .flags = IORESOURCE_IRQ,
  475. + },
  476. +};
  477. +
  478. +static struct plat_serial8250_port c3600_serial8250_port[] = {
  479. + {
  480. + .irq = SERIAL_IRQ,
  481. + .uartclk = /* 18432000 */ 3686400,
  482. + .iotype = UPIO_MEM,
  483. + .flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
  484. + .mapbase = C3600_DUART,
  485. + .regshift = 3,
  486. + },
  487. + {},
  488. +};
  489. +
  490. +static __init int c3600_uart_add(void)
  491. +{
  492. + struct platform_device *pdev;
  493. + int retval;
  494. +
  495. + pdev = platform_device_alloc("serial8250", -1);
  496. + if (!pdev)
  497. + return -ENOMEM;
  498. +
  499. + pdev->id = PLAT8250_DEV_PLATFORM;
  500. + pdev->dev.platform_data = c3600_serial8250_port;
  501. +
  502. + retval = platform_device_add_resources(pdev, c3600_uart_resource,
  503. + ARRAY_SIZE(c3600_uart_resource));
  504. + if (retval)
  505. + goto err_free_device;
  506. +
  507. + retval = platform_device_add(pdev);
  508. + if (retval)
  509. + goto err_free_device;
  510. +
  511. + return 0;
  512. +
  513. +err_free_device:
  514. + platform_device_put(pdev);
  515. +
  516. + return retval;
  517. +}
  518. +device_initcall(c3600_uart_add);
  519. diff --git a/arch/mips/cisco3600/setup.c b/arch/mips/cisco3600/setup.c
  520. new file mode 100644
  521. index 0000000..df2e64c
  522. --- /dev/null
  523. +++ b/arch/mips/cisco3600/setup.c
  524. @@ -0,0 +1,92 @@
  525. +/*
  526. + * Setup pointers to hardware dependent routines.
  527. + *
  528. + * This file is subject to the terms and conditions of the GNU General Public
  529. + * License. See the file "COPYING" in the main directory of this archive
  530. + * for more details.
  531. + *
  532. + * Copyright (C) 1996, 1997, 2004, 05 by Ralf Baechle (ralf@linux-mips.org)
  533. + * Copyright (C) 2001, 2002, 2003 by Liam Davies (ldavies@agile.tv)
  534. + * Copyright (c) 2008 Philippe Vachon (philippe@cowpig.ca)
  535. + *
  536. + */
  537. +#include <linux/init.h>
  538. +#include <linux/interrupt.h>
  539. +#include <linux/io.h>
  540. +#include <linux/ioport.h>
  541. +#include <linux/pm.h>
  542. +#include <linux/console.h>
  543. +
  544. +#include <asm/bootinfo.h>
  545. +#include <asm/reboot.h>
  546. +#include <asm/gt64120.h>
  547. +
  548. +#include <c3600.h>
  549. +
  550. +int c3600_board_id;
  551. +void *c3600_iofpga_loc;
  552. +
  553. +extern void c3600_machine_restart(char *command);
  554. +extern void c3600_machine_halt(void);
  555. +
  556. +const char *get_system_type(void)
  557. +{
  558. + switch (c3600_board_id)
  559. + {
  560. + case C3600_BRD_ID_3620:
  561. + return "Cisco 3620 Multiservice Router";
  562. + case C3600_BRD_ID_3640:
  563. + return "Cisco 3640 Multiservice Router";
  564. + case C3600_BRD_ID_3660:
  565. + return "Cisco 3660 Multiservice Router";
  566. + default:
  567. + return "Cisco 3600 Multiservice Router";
  568. + }
  569. +}
  570. +
  571. +void __init plat_mem_setup(void)
  572. +{
  573. + _machine_restart = c3600_machine_restart;
  574. + _machine_halt = c3600_machine_halt;
  575. + pm_power_off = c3600_machine_halt;
  576. +
  577. + set_io_port_base(CKSEG1ADDR(GT_DEF_PCI0_IO_BASE));
  578. +
  579. + /* I/O port resource */
  580. + ioport_resource.end = 0x01ffffff;
  581. +
  582. +}
  583. +
  584. +/* Process the CILO command line, determine the amount of memory available on
  585. + * this Cisco 3600.
  586. + */
  587. +void __init prom_init(void)
  588. +{
  589. + /* int narg, indx, posn, nchr; */
  590. + uint32_t memsz = fw_arg0;
  591. + uint32_t strlen_cmd;
  592. + char *cmd_line = (char *)fw_arg1;
  593. +
  594. + /* remap MMIO registers within the IOFPGA */
  595. + c3600_iofpga_loc = ioremap_nocache(C3600_BOARD_REGS,
  596. + C3600_BOARD_REGS_SIZE);
  597. +
  598. + /* determine which variety of Cisco 3600 we're running on */
  599. + c3600_board_id = C3600_IOFPGA_READB(C3600_BOARD_ID_REG);
  600. +
  601. + /* print out some information about the platform */
  602. + printk(KERN_INFO "%s with %dkB of RAM.\n", get_system_type(),
  603. + memsz/1024);
  604. +
  605. + /* process the command line passed in from CILO */
  606. + strlen_cmd = strlen(cmd_line);
  607. + strcat(arcs_cmdline, cmd_line);
  608. +
  609. + add_memory_region(0x0, memsz, BOOT_MEM_RAM);
  610. +
  611. +}
  612. +
  613. +void __init prom_free_prom_memory(void)
  614. +{
  615. + /* Nothing to do! */
  616. +}
  617. diff --git a/arch/mips/cisco3600/time.c b/arch/mips/cisco3600/time.c
  618. new file mode 100644
  619. index 0000000..8ea2f59
  620. --- /dev/null
  621. +++ b/arch/mips/cisco3600/time.c
  622. @@ -0,0 +1,56 @@
  623. +/*
  624. + * Cisco 3600 time initialization.
  625. + *
  626. + * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
  627. + * Copyright (c) 2008 Philippe Vachon <philippe@cowpig.ca>
  628. + *
  629. + * This program is free software; you can redistribute it and/or modify
  630. + * it under the terms of the GNU General Public License as published by
  631. + * the Free Software Foundation; either version 2 of the License, or
  632. + * (at your option) any later version.
  633. + *
  634. + * This program is distributed in the hope that it will be useful,
  635. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  636. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  637. + * GNU General Public License for more details.
  638. + *
  639. + * You should have received a copy of the GNU General Public License
  640. + * along with this program; if not, write to the Free Software
  641. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  642. + */
  643. +#include <linux/init.h>
  644. +
  645. +#include <asm/gt64120.h>
  646. +#include <asm/time.h>
  647. +
  648. +#define GT641XX_BASE_CLOCK 40000000 /* 40MHz */
  649. +
  650. +void __init plat_time_init(void)
  651. +{
  652. + u32 start, end;
  653. + int i = HZ / 10;
  654. +
  655. + gt641xx_set_base_clock(GT641XX_BASE_CLOCK);
  656. +
  657. + /*
  658. + * MIPS counter frequency is measured during a 100msec interval
  659. + * using GT64010 timer0.
  660. + */
  661. + GT_WRITE(GT_TC0_OFS, GT641XX_BASE_CLOCK / HZ);
  662. + GT_WRITE(GT_TC_CONTROL_OFS, GT_TC_CONTROL_ENTC0_MSK);
  663. +
  664. +
  665. + while (!gt641xx_timer0_state())
  666. + ;
  667. +
  668. + start = read_c0_count();
  669. +
  670. + while (i--)
  671. + while (!gt641xx_timer0_state())
  672. + ;
  673. +
  674. + end = read_c0_count();
  675. +
  676. + mips_hpt_frequency = (end - start) * 10;
  677. + printk(KERN_INFO "MIPS counter frequency: %dHz\n", mips_hpt_frequency);
  678. +}
  679. diff --git a/arch/mips/configs/cisco3600_defconfig b/arch/mips/configs/cisco3600_defconfig
  680. new file mode 100644
  681. index 0000000..c13e70b
  682. --- /dev/null
  683. +++ b/arch/mips/configs/cisco3600_defconfig
  684. @@ -0,0 +1,1540 @@
  685. +#
  686. +# Automatically generated make config: don't edit
  687. +# Linux kernel version: 2.6.28-rc9
  688. +# Wed Dec 31 19:27:16 2008
  689. +#
  690. +CONFIG_MIPS=y
  691. +
  692. +#
  693. +# Machine selection
  694. +#
  695. +# CONFIG_MACH_ALCHEMY is not set
  696. +# CONFIG_BASLER_EXCITE is not set
  697. +# CONFIG_BCM47XX is not set
  698. +CONFIG_CISCO_3600=y
  699. +# CONFIG_MIPS_COBALT is not set
  700. +# CONFIG_MACH_DECSTATION is not set
  701. +# CONFIG_MACH_JAZZ is not set
  702. +# CONFIG_LASAT is not set
  703. +# CONFIG_LEMOTE_FULONG is not set
  704. +# CONFIG_MIPS_MALTA is not set
  705. +# CONFIG_MIPS_SIM is not set
  706. +# CONFIG_MACH_EMMA is not set
  707. +# CONFIG_MACH_VR41XX is not set
  708. +# CONFIG_NXP_STB220 is not set
  709. +# CONFIG_NXP_STB225 is not set
  710. +# CONFIG_PNX8550_JBS is not set
  711. +# CONFIG_PNX8550_STB810 is not set
  712. +# CONFIG_PMC_MSP is not set
  713. +# CONFIG_PMC_YOSEMITE is not set
  714. +# CONFIG_SGI_IP22 is not set
  715. +# CONFIG_SGI_IP27 is not set
  716. +# CONFIG_SGI_IP28 is not set
  717. +# CONFIG_SGI_IP32 is not set
  718. +# CONFIG_SIBYTE_CRHINE is not set
  719. +# CONFIG_SIBYTE_CARMEL is not set
  720. +# CONFIG_SIBYTE_CRHONE is not set
  721. +# CONFIG_SIBYTE_RHONE is not set
  722. +# CONFIG_SIBYTE_SWARM is not set
  723. +# CONFIG_SIBYTE_LITTLESUR is not set
  724. +# CONFIG_SIBYTE_SENTOSA is not set
  725. +# CONFIG_SIBYTE_BIGSUR is not set
  726. +# CONFIG_SNI_RM is not set
  727. +# CONFIG_MACH_TX39XX is not set
  728. +# CONFIG_MACH_TX49XX is not set
  729. +# CONFIG_MIKROTIK_RB532 is not set
  730. +# CONFIG_WR_PPMC is not set
  731. +CONFIG_RWSEM_GENERIC_SPINLOCK=y
  732. +# CONFIG_ARCH_HAS_ILOG2_U32 is not set
  733. +# CONFIG_ARCH_HAS_ILOG2_U64 is not set
  734. +CONFIG_ARCH_SUPPORTS_OPROFILE=y
  735. +CONFIG_GENERIC_FIND_NEXT_BIT=y
  736. +CONFIG_GENERIC_HWEIGHT=y
  737. +CONFIG_GENERIC_CALIBRATE_DELAY=y
  738. +CONFIG_GENERIC_CLOCKEVENTS=y
  739. +CONFIG_GENERIC_TIME=y
  740. +CONFIG_GENERIC_CMOS_UPDATE=y
  741. +CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
  742. +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
  743. +CONFIG_CEVT_GT641XX=y
  744. +CONFIG_CEVT_R4K=y
  745. +CONFIG_CSRC_R4K=y
  746. +CONFIG_DMA_NONCOHERENT=y
  747. +CONFIG_DMA_NEED_PCI_MAP_STATE=y
  748. +CONFIG_EARLY_PRINTK=y
  749. +CONFIG_SYS_HAS_EARLY_PRINTK=y
  750. +# CONFIG_HOTPLUG_CPU is not set
  751. +# CONFIG_NO_IOPORT is not set
  752. +CONFIG_CPU_BIG_ENDIAN=y
  753. +# CONFIG_CPU_LITTLE_ENDIAN is not set
  754. +CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
  755. +CONFIG_IRQ_CPU=y
  756. +CONFIG_IRQ_GT641XX=y
  757. +CONFIG_PCI_GT64XXX_PCI0=y
  758. +CONFIG_MIPS_L1_CACHE_SHIFT=5
  759. +
  760. +#
  761. +# CPU selection
  762. +#
  763. +# CONFIG_CPU_LOONGSON2 is not set
  764. +# CONFIG_CPU_MIPS32_R1 is not set
  765. +# CONFIG_CPU_MIPS32_R2 is not set
  766. +# CONFIG_CPU_MIPS64_R1 is not set
  767. +# CONFIG_CPU_MIPS64_R2 is not set
  768. +# CONFIG_CPU_R3000 is not set
  769. +# CONFIG_CPU_TX39XX is not set
  770. +# CONFIG_CPU_VR41XX is not set
  771. +# CONFIG_CPU_R4300 is not set
  772. +CONFIG_CPU_R4X00=y
  773. +# CONFIG_CPU_TX49XX is not set
  774. +# CONFIG_CPU_R5000 is not set
  775. +# CONFIG_CPU_R5432 is not set
  776. +# CONFIG_CPU_R5500 is not set
  777. +# CONFIG_CPU_R6000 is not set
  778. +# CONFIG_CPU_NEVADA is not set
  779. +# CONFIG_CPU_R8000 is not set
  780. +# CONFIG_CPU_R10000 is not set
  781. +# CONFIG_CPU_RM7000 is not set
  782. +# CONFIG_CPU_RM9000 is not set
  783. +# CONFIG_CPU_SB1 is not set
  784. +CONFIG_SYS_HAS_CPU_R4X00=y
  785. +CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
  786. +CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
  787. +CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
  788. +
  789. +#
  790. +# Kernel type
  791. +#
  792. +CONFIG_32BIT=y
  793. +# CONFIG_64BIT is not set
  794. +CONFIG_PAGE_SIZE_4KB=y
  795. +# CONFIG_PAGE_SIZE_8KB is not set
  796. +# CONFIG_PAGE_SIZE_16KB is not set
  797. +# CONFIG_PAGE_SIZE_64KB is not set
  798. +CONFIG_MIPS_MT_DISABLED=y
  799. +# CONFIG_MIPS_MT_SMP is not set
  800. +# CONFIG_MIPS_MT_SMTC is not set
  801. +CONFIG_CPU_HAS_LLSC=y
  802. +CONFIG_CPU_HAS_SYNC=y
  803. +CONFIG_GENERIC_HARDIRQS=y
  804. +CONFIG_GENERIC_IRQ_PROBE=y
  805. +CONFIG_ARCH_FLATMEM_ENABLE=y
  806. +CONFIG_ARCH_POPULATES_NODE_MAP=y
  807. +CONFIG_SELECT_MEMORY_MODEL=y
  808. +CONFIG_FLATMEM_MANUAL=y
  809. +# CONFIG_DISCONTIGMEM_MANUAL is not set
  810. +# CONFIG_SPARSEMEM_MANUAL is not set
  811. +CONFIG_FLATMEM=y
  812. +CONFIG_FLAT_NODE_MEM_MAP=y
  813. +CONFIG_PAGEFLAGS_EXTENDED=y
  814. +CONFIG_SPLIT_PTLOCK_CPUS=4
  815. +# CONFIG_RESOURCES_64BIT is not set
  816. +# CONFIG_PHYS_ADDR_T_64BIT is not set
  817. +CONFIG_ZONE_DMA_FLAG=0
  818. +CONFIG_VIRT_TO_BUS=y
  819. +CONFIG_UNEVICTABLE_LRU=y
  820. +CONFIG_TICK_ONESHOT=y
  821. +CONFIG_NO_HZ=y
  822. +CONFIG_HIGH_RES_TIMERS=y
  823. +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
  824. +# CONFIG_HZ_48 is not set
  825. +# CONFIG_HZ_100 is not set
  826. +# CONFIG_HZ_128 is not set
  827. +CONFIG_HZ_250=y
  828. +# CONFIG_HZ_256 is not set
  829. +# CONFIG_HZ_1000 is not set
  830. +# CONFIG_HZ_1024 is not set
  831. +CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
  832. +CONFIG_HZ=250
  833. +# CONFIG_PREEMPT_NONE is not set
  834. +CONFIG_PREEMPT_VOLUNTARY=y
  835. +# CONFIG_PREEMPT is not set
  836. +CONFIG_KEXEC=y
  837. +CONFIG_SECCOMP=y
  838. +CONFIG_LOCKDEP_SUPPORT=y
  839. +CONFIG_STACKTRACE_SUPPORT=y
  840. +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
  841. +
  842. +#
  843. +# General setup
  844. +#
  845. +CONFIG_EXPERIMENTAL=y
  846. +CONFIG_BROKEN_ON_SMP=y
  847. +CONFIG_INIT_ENV_ARG_LIMIT=32
  848. +CONFIG_LOCALVERSION=""
  849. +# CONFIG_LOCALVERSION_AUTO is not set
  850. +CONFIG_SWAP=y
  851. +CONFIG_SYSVIPC=y
  852. +CONFIG_SYSVIPC_SYSCTL=y
  853. +CONFIG_POSIX_MQUEUE=y
  854. +CONFIG_BSD_PROCESS_ACCT=y
  855. +CONFIG_BSD_PROCESS_ACCT_V3=y
  856. +CONFIG_TASKSTATS=y
  857. +# CONFIG_TASK_DELAY_ACCT is not set
  858. +CONFIG_TASK_XACCT=y
  859. +CONFIG_TASK_IO_ACCOUNTING=y
  860. +CONFIG_AUDIT=y
  861. +# CONFIG_IKCONFIG is not set
  862. +CONFIG_LOG_BUF_SHIFT=17
  863. +CONFIG_CGROUPS=y
  864. +# CONFIG_CGROUP_DEBUG is not set
  865. +CONFIG_CGROUP_NS=y
  866. +# CONFIG_CGROUP_FREEZER is not set
  867. +# CONFIG_CGROUP_DEVICE is not set
  868. +# CONFIG_GROUP_SCHED is not set
  869. +CONFIG_CGROUP_CPUACCT=y
  870. +# CONFIG_RESOURCE_COUNTERS is not set
  871. +CONFIG_SYSFS_DEPRECATED=y
  872. +CONFIG_SYSFS_DEPRECATED_V2=y
  873. +CONFIG_RELAY=y
  874. +# CONFIG_NAMESPACES is not set
  875. +CONFIG_BLK_DEV_INITRD=y
  876. +CONFIG_INITRAMFS_SOURCE=""
  877. +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
  878. +CONFIG_SYSCTL=y
  879. +CONFIG_EMBEDDED=y
  880. +CONFIG_SYSCTL_SYSCALL=y
  881. +CONFIG_KALLSYMS=y
  882. +# CONFIG_KALLSYMS_EXTRA_PASS is not set
  883. +CONFIG_HOTPLUG=y
  884. +CONFIG_PRINTK=y
  885. +CONFIG_BUG=y
  886. +CONFIG_ELF_CORE=y
  887. +CONFIG_PCSPKR_PLATFORM=y
  888. +CONFIG_COMPAT_BRK=y
  889. +CONFIG_BASE_FULL=y
  890. +CONFIG_FUTEX=y
  891. +CONFIG_ANON_INODES=y
  892. +CONFIG_EPOLL=y
  893. +CONFIG_SIGNALFD=y
  894. +CONFIG_TIMERFD=y
  895. +CONFIG_EVENTFD=y
  896. +CONFIG_SHMEM=y
  897. +CONFIG_AIO=y
  898. +CONFIG_VM_EVENT_COUNTERS=y
  899. +CONFIG_PCI_QUIRKS=y
  900. +CONFIG_SLUB_DEBUG=y
  901. +# CONFIG_SLAB is not set
  902. +CONFIG_SLUB=y
  903. +# CONFIG_SLOB is not set
  904. +CONFIG_PROFILING=y
  905. +# CONFIG_MARKERS is not set
  906. +CONFIG_OPROFILE=m
  907. +CONFIG_HAVE_OPROFILE=y
  908. +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
  909. +CONFIG_SLABINFO=y
  910. +CONFIG_RT_MUTEXES=y
  911. +# CONFIG_TINY_SHMEM is not set
  912. +CONFIG_BASE_SMALL=0
  913. +CONFIG_MODULES=y
  914. +# CONFIG_MODULE_FORCE_LOAD is not set
  915. +CONFIG_MODULE_UNLOAD=y
  916. +# CONFIG_MODULE_FORCE_UNLOAD is not set
  917. +CONFIG_MODVERSIONS=y
  918. +CONFIG_MODULE_SRCVERSION_ALL=y
  919. +CONFIG_KMOD=y
  920. +CONFIG_BLOCK=y
  921. +CONFIG_LBD=y
  922. +CONFIG_BLK_DEV_IO_TRACE=y
  923. +# CONFIG_LSF is not set
  924. +# CONFIG_BLK_DEV_BSG is not set
  925. +# CONFIG_BLK_DEV_INTEGRITY is not set
  926. +
  927. +#
  928. +# IO Schedulers
  929. +#
  930. +CONFIG_IOSCHED_NOOP=y
  931. +CONFIG_IOSCHED_AS=y
  932. +CONFIG_IOSCHED_DEADLINE=y
  933. +CONFIG_IOSCHED_CFQ=y
  934. +# CONFIG_DEFAULT_AS is not set
  935. +# CONFIG_DEFAULT_DEADLINE is not set
  936. +CONFIG_DEFAULT_CFQ=y
  937. +# CONFIG_DEFAULT_NOOP is not set
  938. +CONFIG_DEFAULT_IOSCHED="cfq"
  939. +CONFIG_CLASSIC_RCU=y
  940. +# CONFIG_PROBE_INITRD_HEADER is not set
  941. +# CONFIG_FREEZER is not set
  942. +
  943. +#
  944. +# Bus options (PCI, PCMCIA, EISA, ISA, TC)
  945. +#
  946. +CONFIG_HW_HAS_PCI=y
  947. +CONFIG_PCI=y
  948. +CONFIG_PCI_DOMAINS=y
  949. +# CONFIG_ARCH_SUPPORTS_MSI is not set
  950. +CONFIG_PCI_LEGACY=y
  951. +CONFIG_MMU=y
  952. +# CONFIG_PCCARD is not set
  953. +# CONFIG_HOTPLUG_PCI is not set
  954. +
  955. +#
  956. +# Executable file formats
  957. +#
  958. +CONFIG_BINFMT_ELF=y
  959. +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
  960. +# CONFIG_HAVE_AOUT is not set
  961. +# CONFIG_BINFMT_MISC is not set
  962. +CONFIG_TRAD_SIGNALS=y
  963. +
  964. +#
  965. +# Power management options
  966. +#
  967. +CONFIG_ARCH_SUSPEND_POSSIBLE=y
  968. +# CONFIG_PM is not set
  969. +CONFIG_NET=y
  970. +
  971. +#
  972. +# Networking options
  973. +#
  974. +CONFIG_PACKET=m
  975. +CONFIG_PACKET_MMAP=y
  976. +CONFIG_UNIX=y
  977. +CONFIG_XFRM=y
  978. +CONFIG_XFRM_USER=m
  979. +# CONFIG_XFRM_SUB_POLICY is not set
  980. +# CONFIG_XFRM_MIGRATE is not set
  981. +# CONFIG_XFRM_STATISTICS is not set
  982. +CONFIG_XFRM_IPCOMP=m
  983. +CONFIG_NET_KEY=m
  984. +# CONFIG_NET_KEY_MIGRATE is not set
  985. +CONFIG_INET=y
  986. +CONFIG_IP_MULTICAST=y
  987. +CONFIG_IP_ADVANCED_ROUTER=y
  988. +CONFIG_ASK_IP_FIB_HASH=y
  989. +# CONFIG_IP_FIB_TRIE is not set
  990. +CONFIG_IP_FIB_HASH=y
  991. +CONFIG_IP_MULTIPLE_TABLES=y
  992. +CONFIG_IP_ROUTE_MULTIPATH=y
  993. +CONFIG_IP_ROUTE_VERBOSE=y
  994. +# CONFIG_IP_PNP is not set
  995. +CONFIG_NET_IPIP=m
  996. +CONFIG_NET_IPGRE=m
  997. +CONFIG_NET_IPGRE_BROADCAST=y
  998. +CONFIG_IP_MROUTE=y
  999. +CONFIG_IP_PIMSM_V1=y
  1000. +CONFIG_IP_PIMSM_V2=y
  1001. +# CONFIG_ARPD is not set
  1002. +CONFIG_SYN_COOKIES=y
  1003. +CONFIG_INET_AH=m
  1004. +CONFIG_INET_ESP=m
  1005. +CONFIG_INET_IPCOMP=m
  1006. +CONFIG_INET_XFRM_TUNNEL=m
  1007. +CONFIG_INET_TUNNEL=m
  1008. +CONFIG_INET_XFRM_MODE_TRANSPORT=m
  1009. +CONFIG_INET_XFRM_MODE_TUNNEL=m
  1010. +CONFIG_INET_XFRM_MODE_BEET=m
  1011. +CONFIG_INET_LRO=m
  1012. +CONFIG_INET_DIAG=y
  1013. +CONFIG_INET_TCP_DIAG=y
  1014. +CONFIG_TCP_CONG_ADVANCED=y
  1015. +CONFIG_TCP_CONG_BIC=m
  1016. +CONFIG_TCP_CONG_CUBIC=m
  1017. +CONFIG_TCP_CONG_WESTWOOD=m
  1018. +CONFIG_TCP_CONG_HTCP=m
  1019. +CONFIG_TCP_CONG_HSTCP=m
  1020. +CONFIG_TCP_CONG_HYBLA=m
  1021. +CONFIG_TCP_CONG_VEGAS=m
  1022. +CONFIG_TCP_CONG_SCALABLE=m
  1023. +CONFIG_TCP_CONG_LP=m
  1024. +CONFIG_TCP_CONG_VENO=m
  1025. +CONFIG_TCP_CONG_YEAH=m
  1026. +CONFIG_TCP_CONG_ILLINOIS=m
  1027. +# CONFIG_DEFAULT_BIC is not set
  1028. +# CONFIG_DEFAULT_CUBIC is not set
  1029. +# CONFIG_DEFAULT_HTCP is not set
  1030. +# CONFIG_DEFAULT_VEGAS is not set
  1031. +# CONFIG_DEFAULT_WESTWOOD is not set
  1032. +CONFIG_DEFAULT_RENO=y
  1033. +CONFIG_DEFAULT_TCP_CONG="reno"
  1034. +CONFIG_TCP_MD5SIG=y
  1035. +CONFIG_IPV6=m
  1036. +CONFIG_IPV6_PRIVACY=y
  1037. +# CONFIG_IPV6_ROUTER_PREF is not set
  1038. +# CONFIG_IPV6_OPTIMISTIC_DAD is not set
  1039. +CONFIG_INET6_AH=m
  1040. +CONFIG_INET6_ESP=m
  1041. +CONFIG_INET6_IPCOMP=m
  1042. +# CONFIG_IPV6_MIP6 is not set
  1043. +CONFIG_INET6_XFRM_TUNNEL=m
  1044. +CONFIG_INET6_TUNNEL=m
  1045. +CONFIG_INET6_XFRM_MODE_TRANSPORT=m
  1046. +CONFIG_INET6_XFRM_MODE_TUNNEL=m
  1047. +CONFIG_INET6_XFRM_MODE_BEET=m
  1048. +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
  1049. +CONFIG_IPV6_SIT=m
  1050. +CONFIG_IPV6_NDISC_NODETYPE=y
  1051. +CONFIG_IPV6_TUNNEL=m
  1052. +# CONFIG_IPV6_MULTIPLE_TABLES is not set
  1053. +# CONFIG_IPV6_MROUTE is not set
  1054. +# CONFIG_NETLABEL is not set
  1055. +CONFIG_NETWORK_SECMARK=y
  1056. +CONFIG_NETFILTER=y
  1057. +# CONFIG_NETFILTER_DEBUG is not set
  1058. +CONFIG_NETFILTER_ADVANCED=y
  1059. +CONFIG_BRIDGE_NETFILTER=y
  1060. +
  1061. +#
  1062. +# Core Netfilter Configuration
  1063. +#
  1064. +CONFIG_NETFILTER_NETLINK=m
  1065. +CONFIG_NETFILTER_NETLINK_QUEUE=m
  1066. +CONFIG_NETFILTER_NETLINK_LOG=m
  1067. +CONFIG_NF_CONNTRACK=m
  1068. +CONFIG_NF_CT_ACCT=y
  1069. +CONFIG_NF_CONNTRACK_MARK=y
  1070. +CONFIG_NF_CONNTRACK_SECMARK=y
  1071. +CONFIG_NF_CONNTRACK_EVENTS=y
  1072. +CONFIG_NF_CT_PROTO_DCCP=m
  1073. +CONFIG_NF_CT_PROTO_GRE=m
  1074. +CONFIG_NF_CT_PROTO_SCTP=m
  1075. +CONFIG_NF_CT_PROTO_UDPLITE=m
  1076. +CONFIG_NF_CONNTRACK_AMANDA=m
  1077. +CONFIG_NF_CONNTRACK_FTP=m
  1078. +CONFIG_NF_CONNTRACK_H323=m
  1079. +CONFIG_NF_CONNTRACK_IRC=m
  1080. +CONFIG_NF_CONNTRACK_NETBIOS_NS=m
  1081. +CONFIG_NF_CONNTRACK_PPTP=m
  1082. +# CONFIG_NF_CONNTRACK_SANE is not set
  1083. +CONFIG_NF_CONNTRACK_SIP=m
  1084. +CONFIG_NF_CONNTRACK_TFTP=m
  1085. +CONFIG_NF_CT_NETLINK=m
  1086. +# CONFIG_NETFILTER_TPROXY is not set
  1087. +CONFIG_NETFILTER_XTABLES=m
  1088. +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
  1089. +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
  1090. +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
  1091. +CONFIG_NETFILTER_XT_TARGET_DSCP=m
  1092. +CONFIG_NETFILTER_XT_TARGET_MARK=m
  1093. +CONFIG_NETFILTER_XT_TARGET_NFLOG=m
  1094. +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
  1095. +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
  1096. +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
  1097. +CONFIG_NETFILTER_XT_TARGET_TRACE=m
  1098. +CONFIG_NETFILTER_XT_TARGET_SECMARK=m
  1099. +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
  1100. +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
  1101. +CONFIG_NETFILTER_XT_MATCH_COMMENT=m
  1102. +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
  1103. +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
  1104. +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
  1105. +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
  1106. +CONFIG_NETFILTER_XT_MATCH_DCCP=m
  1107. +CONFIG_NETFILTER_XT_MATCH_DSCP=m
  1108. +CONFIG_NETFILTER_XT_MATCH_ESP=m
  1109. +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
  1110. +CONFIG_NETFILTER_XT_MATCH_HELPER=m
  1111. +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
  1112. +CONFIG_NETFILTER_XT_MATCH_LENGTH=m
  1113. +CONFIG_NETFILTER_XT_MATCH_LIMIT=m
  1114. +CONFIG_NETFILTER_XT_MATCH_MAC=m
  1115. +CONFIG_NETFILTER_XT_MATCH_MARK=m
  1116. +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
  1117. +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
  1118. +CONFIG_NETFILTER_XT_MATCH_POLICY=m
  1119. +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
  1120. +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
  1121. +CONFIG_NETFILTER_XT_MATCH_QUOTA=m
  1122. +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
  1123. +CONFIG_NETFILTER_XT_MATCH_REALM=m
  1124. +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
  1125. +CONFIG_NETFILTER_XT_MATCH_SCTP=m
  1126. +CONFIG_NETFILTER_XT_MATCH_STATE=m
  1127. +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
  1128. +CONFIG_NETFILTER_XT_MATCH_STRING=m
  1129. +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
  1130. +CONFIG_NETFILTER_XT_MATCH_TIME=m
  1131. +CONFIG_NETFILTER_XT_MATCH_U32=m
  1132. +CONFIG_IP_VS=m
  1133. +# CONFIG_IP_VS_IPV6 is not set
  1134. +# CONFIG_IP_VS_DEBUG is not set
  1135. +CONFIG_IP_VS_TAB_BITS=12
  1136. +
  1137. +#
  1138. +# IPVS transport protocol load balancing support
  1139. +#
  1140. +CONFIG_IP_VS_PROTO_TCP=y
  1141. +CONFIG_IP_VS_PROTO_UDP=y
  1142. +CONFIG_IP_VS_PROTO_AH_ESP=y
  1143. +CONFIG_IP_VS_PROTO_ESP=y
  1144. +CONFIG_IP_VS_PROTO_AH=y
  1145. +
  1146. +#
  1147. +# IPVS scheduler
  1148. +#
  1149. +CONFIG_IP_VS_RR=m
  1150. +CONFIG_IP_VS_WRR=m
  1151. +CONFIG_IP_VS_LC=m
  1152. +CONFIG_IP_VS_WLC=m
  1153. +CONFIG_IP_VS_LBLC=m
  1154. +CONFIG_IP_VS_LBLCR=m
  1155. +CONFIG_IP_VS_DH=m
  1156. +CONFIG_IP_VS_SH=m
  1157. +CONFIG_IP_VS_SED=m
  1158. +CONFIG_IP_VS_NQ=m
  1159. +
  1160. +#
  1161. +# IPVS application helper
  1162. +#
  1163. +CONFIG_IP_VS_FTP=m
  1164. +
  1165. +#
  1166. +# IP: Netfilter Configuration
  1167. +#
  1168. +CONFIG_NF_DEFRAG_IPV4=m
  1169. +CONFIG_NF_CONNTRACK_IPV4=m
  1170. +CONFIG_NF_CONNTRACK_PROC_COMPAT=y
  1171. +CONFIG_IP_NF_QUEUE=m
  1172. +CONFIG_IP_NF_IPTABLES=m
  1173. +CONFIG_IP_NF_MATCH_ADDRTYPE=m
  1174. +CONFIG_IP_NF_MATCH_AH=m
  1175. +CONFIG_IP_NF_MATCH_ECN=m
  1176. +CONFIG_IP_NF_MATCH_TTL=m
  1177. +CONFIG_IP_NF_FILTER=m
  1178. +CONFIG_IP_NF_TARGET_REJECT=m
  1179. +CONFIG_IP_NF_TARGET_LOG=m
  1180. +CONFIG_IP_NF_TARGET_ULOG=m
  1181. +CONFIG_NF_NAT=m
  1182. +CONFIG_NF_NAT_NEEDED=y
  1183. +CONFIG_IP_NF_TARGET_MASQUERADE=m
  1184. +CONFIG_IP_NF_TARGET_NETMAP=m
  1185. +CONFIG_IP_NF_TARGET_REDIRECT=m
  1186. +CONFIG_NF_NAT_SNMP_BASIC=m
  1187. +CONFIG_NF_NAT_PROTO_DCCP=m
  1188. +CONFIG_NF_NAT_PROTO_GRE=m
  1189. +CONFIG_NF_NAT_PROTO_UDPLITE=m
  1190. +CONFIG_NF_NAT_PROTO_SCTP=m
  1191. +CONFIG_NF_NAT_FTP=m
  1192. +CONFIG_NF_NAT_IRC=m
  1193. +CONFIG_NF_NAT_TFTP=m
  1194. +CONFIG_NF_NAT_AMANDA=m
  1195. +CONFIG_NF_NAT_PPTP=m
  1196. +CONFIG_NF_NAT_H323=m
  1197. +CONFIG_NF_NAT_SIP=m
  1198. +CONFIG_IP_NF_MANGLE=m
  1199. +CONFIG_IP_NF_TARGET_CLUSTERIP=m
  1200. +CONFIG_IP_NF_TARGET_ECN=m
  1201. +CONFIG_IP_NF_TARGET_TTL=m
  1202. +CONFIG_IP_NF_RAW=m
  1203. +# CONFIG_IP_NF_SECURITY is not set
  1204. +CONFIG_IP_NF_ARPTABLES=m
  1205. +CONFIG_IP_NF_ARPFILTER=m
  1206. +CONFIG_IP_NF_ARP_MANGLE=m
  1207. +
  1208. +#
  1209. +# IPv6: Netfilter Configuration
  1210. +#
  1211. +CONFIG_NF_CONNTRACK_IPV6=m
  1212. +CONFIG_IP6_NF_QUEUE=m
  1213. +CONFIG_IP6_NF_IPTABLES=m
  1214. +CONFIG_IP6_NF_MATCH_AH=m
  1215. +CONFIG_IP6_NF_MATCH_EUI64=m
  1216. +CONFIG_IP6_NF_MATCH_FRAG=m
  1217. +CONFIG_IP6_NF_MATCH_OPTS=m
  1218. +CONFIG_IP6_NF_MATCH_HL=m
  1219. +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
  1220. +CONFIG_IP6_NF_MATCH_MH=m
  1221. +CONFIG_IP6_NF_MATCH_RT=m
  1222. +CONFIG_IP6_NF_TARGET_LOG=m
  1223. +CONFIG_IP6_NF_FILTER=m
  1224. +CONFIG_IP6_NF_TARGET_REJECT=m
  1225. +CONFIG_IP6_NF_MANGLE=m
  1226. +CONFIG_IP6_NF_TARGET_HL=m
  1227. +CONFIG_IP6_NF_RAW=m
  1228. +# CONFIG_IP6_NF_SECURITY is not set
  1229. +
  1230. +#
  1231. +# DECnet: Netfilter Configuration
  1232. +#
  1233. +CONFIG_DECNET_NF_GRABULATOR=m
  1234. +CONFIG_BRIDGE_NF_EBTABLES=m
  1235. +CONFIG_BRIDGE_EBT_BROUTE=m
  1236. +CONFIG_BRIDGE_EBT_T_FILTER=m
  1237. +CONFIG_BRIDGE_EBT_T_NAT=m
  1238. +CONFIG_BRIDGE_EBT_802_3=m
  1239. +CONFIG_BRIDGE_EBT_AMONG=m
  1240. +CONFIG_BRIDGE_EBT_ARP=m
  1241. +CONFIG_BRIDGE_EBT_IP=m
  1242. +# CONFIG_BRIDGE_EBT_IP6 is not set
  1243. +CONFIG_BRIDGE_EBT_LIMIT=m
  1244. +CONFIG_BRIDGE_EBT_MARK=m
  1245. +CONFIG_BRIDGE_EBT_PKTTYPE=m
  1246. +CONFIG_BRIDGE_EBT_STP=m
  1247. +CONFIG_BRIDGE_EBT_VLAN=m
  1248. +CONFIG_BRIDGE_EBT_ARPREPLY=m
  1249. +CONFIG_BRIDGE_EBT_DNAT=m
  1250. +CONFIG_BRIDGE_EBT_MARK_T=m
  1251. +CONFIG_BRIDGE_EBT_REDIRECT=m
  1252. +CONFIG_BRIDGE_EBT_SNAT=m
  1253. +CONFIG_BRIDGE_EBT_LOG=m
  1254. +CONFIG_BRIDGE_EBT_ULOG=m
  1255. +# CONFIG_BRIDGE_EBT_NFLOG is not set
  1256. +CONFIG_IP_DCCP=m
  1257. +CONFIG_INET_DCCP_DIAG=m
  1258. +CONFIG_IP_DCCP_ACKVEC=y
  1259. +
  1260. +#
  1261. +# DCCP CCIDs Configuration (EXPERIMENTAL)
  1262. +#
  1263. +CONFIG_IP_DCCP_CCID2=m
  1264. +# CONFIG_IP_DCCP_CCID2_DEBUG is not set
  1265. +CONFIG_IP_DCCP_CCID3=m
  1266. +# CONFIG_IP_DCCP_CCID3_DEBUG is not set
  1267. +CONFIG_IP_DCCP_CCID3_RTO=100
  1268. +CONFIG_IP_DCCP_TFRC_LIB=m
  1269. +CONFIG_IP_SCTP=m
  1270. +# CONFIG_SCTP_DBG_MSG is not set
  1271. +# CONFIG_SCTP_DBG_OBJCNT is not set
  1272. +# CONFIG_SCTP_HMAC_NONE is not set
  1273. +# CONFIG_SCTP_HMAC_SHA1 is not set
  1274. +CONFIG_SCTP_HMAC_MD5=y
  1275. +CONFIG_TIPC=m
  1276. +# CONFIG_TIPC_ADVANCED is not set
  1277. +# CONFIG_TIPC_DEBUG is not set
  1278. +CONFIG_ATM=y
  1279. +CONFIG_ATM_CLIP=y
  1280. +# CONFIG_ATM_CLIP_NO_ICMP is not set
  1281. +CONFIG_ATM_LANE=m
  1282. +CONFIG_ATM_MPOA=m
  1283. +CONFIG_ATM_BR2684=m
  1284. +# CONFIG_ATM_BR2684_IPFILTER is not set
  1285. +CONFIG_STP=m
  1286. +CONFIG_BRIDGE=m
  1287. +# CONFIG_NET_DSA is not set
  1288. +CONFIG_VLAN_8021Q=m
  1289. +# CONFIG_VLAN_8021Q_GVRP is not set
  1290. +CONFIG_DECNET=m
  1291. +# CONFIG_DECNET_ROUTER is not set
  1292. +CONFIG_LLC=m
  1293. +CONFIG_LLC2=m
  1294. +CONFIG_IPX=m
  1295. +# CONFIG_IPX_INTERN is not set
  1296. +CONFIG_ATALK=m
  1297. +CONFIG_DEV_APPLETALK=m
  1298. +CONFIG_IPDDP=m
  1299. +CONFIG_IPDDP_ENCAP=y
  1300. +CONFIG_IPDDP_DECAP=y
  1301. +CONFIG_X25=m
  1302. +CONFIG_LAPB=m
  1303. +CONFIG_ECONET=m
  1304. +CONFIG_ECONET_AUNUDP=y
  1305. +CONFIG_ECONET_NATIVE=y
  1306. +CONFIG_WAN_ROUTER=m
  1307. +CONFIG_NET_SCHED=y
  1308. +
  1309. +#
  1310. +# Queueing/Scheduling
  1311. +#
  1312. +CONFIG_NET_SCH_CBQ=m
  1313. +CONFIG_NET_SCH_HTB=m
  1314. +CONFIG_NET_SCH_HFSC=m
  1315. +CONFIG_NET_SCH_ATM=m
  1316. +CONFIG_NET_SCH_PRIO=m
  1317. +# CONFIG_NET_SCH_MULTIQ is not set
  1318. +CONFIG_NET_SCH_RED=m
  1319. +CONFIG_NET_SCH_SFQ=m
  1320. +CONFIG_NET_SCH_TEQL=m
  1321. +CONFIG_NET_SCH_TBF=m
  1322. +CONFIG_NET_SCH_GRED=m
  1323. +CONFIG_NET_SCH_DSMARK=m
  1324. +CONFIG_NET_SCH_NETEM=m
  1325. +CONFIG_NET_SCH_INGRESS=m
  1326. +
  1327. +#
  1328. +# Classification
  1329. +#
  1330. +CONFIG_NET_CLS=y
  1331. +CONFIG_NET_CLS_BASIC=m
  1332. +CONFIG_NET_CLS_TCINDEX=m
  1333. +CONFIG_NET_CLS_ROUTE4=m
  1334. +CONFIG_NET_CLS_ROUTE=y
  1335. +CONFIG_NET_CLS_FW=m
  1336. +CONFIG_NET_CLS_U32=m
  1337. +# CONFIG_CLS_U32_PERF is not set
  1338. +CONFIG_CLS_U32_MARK=y
  1339. +CONFIG_NET_CLS_RSVP=m
  1340. +CONFIG_NET_CLS_RSVP6=m
  1341. +# CONFIG_NET_CLS_FLOW is not set
  1342. +CONFIG_NET_EMATCH=y
  1343. +CONFIG_NET_EMATCH_STACK=32
  1344. +CONFIG_NET_EMATCH_CMP=m
  1345. +CONFIG_NET_EMATCH_NBYTE=m
  1346. +CONFIG_NET_EMATCH_U32=m
  1347. +CONFIG_NET_EMATCH_META=m
  1348. +CONFIG_NET_EMATCH_TEXT=m
  1349. +CONFIG_NET_CLS_ACT=y
  1350. +CONFIG_NET_ACT_POLICE=m
  1351. +CONFIG_NET_ACT_GACT=m
  1352. +CONFIG_GACT_PROB=y
  1353. +CONFIG_NET_ACT_MIRRED=m
  1354. +CONFIG_NET_ACT_IPT=m
  1355. +CONFIG_NET_ACT_NAT=m
  1356. +CONFIG_NET_ACT_PEDIT=m
  1357. +CONFIG_NET_ACT_SIMP=m
  1358. +# CONFIG_NET_ACT_SKBEDIT is not set
  1359. +# CONFIG_NET_CLS_IND is not set
  1360. +CONFIG_NET_SCH_FIFO=y
  1361. +
  1362. +#
  1363. +# Network testing
  1364. +#
  1365. +CONFIG_NET_PKTGEN=m
  1366. +CONFIG_HAMRADIO=y
  1367. +
  1368. +#
  1369. +# Packet Radio protocols
  1370. +#
  1371. +CONFIG_AX25=m
  1372. +# CONFIG_AX25_DAMA_SLAVE is not set
  1373. +CONFIG_NETROM=m
  1374. +CONFIG_ROSE=m
  1375. +
  1376. +#
  1377. +# AX.25 network device drivers
  1378. +#
  1379. +CONFIG_MKISS=m
  1380. +CONFIG_6PACK=m
  1381. +CONFIG_BPQETHER=m
  1382. +CONFIG_BAYCOM_SER_FDX=m
  1383. +CONFIG_BAYCOM_SER_HDX=m
  1384. +CONFIG_YAM=m
  1385. +# CONFIG_CAN is not set
  1386. +CONFIG_IRDA=m
  1387. +
  1388. +#
  1389. +# IrDA protocols
  1390. +#
  1391. +CONFIG_IRLAN=m
  1392. +CONFIG_IRCOMM=m
  1393. +CONFIG_IRDA_ULTRA=y
  1394. +
  1395. +#
  1396. +# IrDA options
  1397. +#
  1398. +CONFIG_IRDA_CACHE_LAST_LSAP=y
  1399. +CONFIG_IRDA_FAST_RR=y
  1400. +CONFIG_IRDA_DEBUG=y
  1401. +
  1402. +#
  1403. +# Infrared-port device drivers
  1404. +#
  1405. +
  1406. +#
  1407. +# SIR device drivers
  1408. +#
  1409. +CONFIG_IRTTY_SIR=m
  1410. +
  1411. +#
  1412. +# Dongle support
  1413. +#
  1414. +CONFIG_DONGLE=y
  1415. +CONFIG_ESI_DONGLE=m
  1416. +CONFIG_ACTISYS_DONGLE=m
  1417. +CONFIG_TEKRAM_DONGLE=m
  1418. +# CONFIG_TOIM3232_DONGLE is not set
  1419. +CONFIG_LITELINK_DONGLE=m
  1420. +CONFIG_MA600_DONGLE=m
  1421. +CONFIG_GIRBIL_DONGLE=m
  1422. +CONFIG_MCP2120_DONGLE=m
  1423. +CONFIG_OLD_BELKIN_DONGLE=m
  1424. +CONFIG_ACT200L_DONGLE=m
  1425. +
  1426. +#
  1427. +# FIR device drivers
  1428. +#
  1429. +# CONFIG_TOSHIBA_FIR is not set
  1430. +# CONFIG_VLSI_FIR is not set
  1431. +CONFIG_BT=m
  1432. +CONFIG_BT_L2CAP=m
  1433. +CONFIG_BT_SCO=m
  1434. +CONFIG_BT_RFCOMM=m
  1435. +CONFIG_BT_RFCOMM_TTY=y
  1436. +CONFIG_BT_BNEP=m
  1437. +CONFIG_BT_BNEP_MC_FILTER=y
  1438. +CONFIG_BT_BNEP_PROTO_FILTER=y
  1439. +CONFIG_BT_HIDP=m
  1440. +
  1441. +#
  1442. +# Bluetooth device drivers
  1443. +#
  1444. +CONFIG_BT_HCIUART=m
  1445. +CONFIG_BT_HCIUART_H4=y
  1446. +CONFIG_BT_HCIUART_BCSP=y
  1447. +CONFIG_BT_HCIUART_LL=y
  1448. +CONFIG_BT_HCIVHCI=m
  1449. +CONFIG_AF_RXRPC=m
  1450. +# CONFIG_AF_RXRPC_DEBUG is not set
  1451. +CONFIG_RXKAD=m
  1452. +# CONFIG_PHONET is not set
  1453. +CONFIG_FIB_RULES=y
  1454. +CONFIG_WIRELESS=y
  1455. +CONFIG_CFG80211=m
  1456. +CONFIG_NL80211=y
  1457. +CONFIG_WIRELESS_OLD_REGULATORY=y
  1458. +CONFIG_WIRELESS_EXT=y
  1459. +CONFIG_WIRELESS_EXT_SYSFS=y
  1460. +CONFIG_MAC80211=m
  1461. +
  1462. +#
  1463. +# Rate control algorithm selection
  1464. +#
  1465. +CONFIG_MAC80211_RC_PID=y
  1466. +# CONFIG_MAC80211_RC_MINSTREL is not set
  1467. +CONFIG_MAC80211_RC_DEFAULT_PID=y
  1468. +# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
  1469. +CONFIG_MAC80211_RC_DEFAULT="pid"
  1470. +# CONFIG_MAC80211_MESH is not set
  1471. +CONFIG_MAC80211_LEDS=y
  1472. +CONFIG_MAC80211_DEBUGFS=y
  1473. +# CONFIG_MAC80211_DEBUG_MENU is not set
  1474. +CONFIG_IEEE80211=m
  1475. +# CONFIG_IEEE80211_DEBUG is not set
  1476. +CONFIG_IEEE80211_CRYPT_WEP=m
  1477. +CONFIG_IEEE80211_CRYPT_CCMP=m
  1478. +CONFIG_IEEE80211_CRYPT_TKIP=m
  1479. +CONFIG_RFKILL=m
  1480. +CONFIG_RFKILL_INPUT=m
  1481. +CONFIG_RFKILL_LEDS=y
  1482. +CONFIG_NET_9P=m
  1483. +# CONFIG_NET_9P_DEBUG is not set
  1484. +
  1485. +#
  1486. +# Device Drivers
  1487. +#
  1488. +
  1489. +#
  1490. +# Generic Driver Options
  1491. +#
  1492. +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
  1493. +CONFIG_STANDALONE=y
  1494. +CONFIG_PREVENT_FIRMWARE_BUILD=y
  1495. +CONFIG_FW_LOADER=y
  1496. +CONFIG_FIRMWARE_IN_KERNEL=y
  1497. +CONFIG_EXTRA_FIRMWARE=""
  1498. +# CONFIG_SYS_HYPERVISOR is not set
  1499. +# CONFIG_CONNECTOR is not set
  1500. +# CONFIG_MTD is not set
  1501. +# CONFIG_PARPORT is not set
  1502. +# CONFIG_BLK_DEV is not set
  1503. +# CONFIG_MISC_DEVICES is not set
  1504. +CONFIG_HAVE_IDE=y
  1505. +# CONFIG_IDE is not set
  1506. +
  1507. +#
  1508. +# SCSI device support
  1509. +#
  1510. +CONFIG_RAID_ATTRS=m
  1511. +CONFIG_SCSI=m
  1512. +CONFIG_SCSI_DMA=y
  1513. +CONFIG_SCSI_TGT=m
  1514. +CONFIG_SCSI_NETLINK=y
  1515. +CONFIG_SCSI_PROC_FS=y
  1516. +
  1517. +#
  1518. +# SCSI support type (disk, tape, CD-ROM)
  1519. +#
  1520. +# CONFIG_BLK_DEV_SD is not set
  1521. +# CONFIG_CHR_DEV_ST is not set
  1522. +# CONFIG_CHR_DEV_OSST is not set
  1523. +# CONFIG_BLK_DEV_SR is not set
  1524. +# CONFIG_CHR_DEV_SG is not set
  1525. +# CONFIG_CHR_DEV_SCH is not set
  1526. +
  1527. +#
  1528. +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
  1529. +#
  1530. +# CONFIG_SCSI_MULTI_LUN is not set
  1531. +# CONFIG_SCSI_CONSTANTS is not set
  1532. +# CONFIG_SCSI_LOGGING is not set
  1533. +# CONFIG_SCSI_SCAN_ASYNC is not set
  1534. +CONFIG_SCSI_WAIT_SCAN=m
  1535. +
  1536. +#
  1537. +# SCSI Transports
  1538. +#
  1539. +CONFIG_SCSI_SPI_ATTRS=m
  1540. +CONFIG_SCSI_FC_ATTRS=m
  1541. +CONFIG_SCSI_FC_TGT_ATTRS=y
  1542. +CONFIG_SCSI_ISCSI_ATTRS=m
  1543. +CONFIG_SCSI_SAS_ATTRS=m
  1544. +CONFIG_SCSI_SAS_LIBSAS=m
  1545. +CONFIG_SCSI_SAS_HOST_SMP=y
  1546. +# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
  1547. +CONFIG_SCSI_SRP_ATTRS=m
  1548. +CONFIG_SCSI_SRP_TGT_ATTRS=y
  1549. +# CONFIG_SCSI_LOWLEVEL is not set
  1550. +# CONFIG_SCSI_DH is not set
  1551. +# CONFIG_ATA is not set
  1552. +# CONFIG_MD is not set
  1553. +# CONFIG_FUSION is not set
  1554. +
  1555. +#
  1556. +# IEEE 1394 (FireWire) support
  1557. +#
  1558. +
  1559. +#
  1560. +# Enable only one of the two stacks, unless you know what you are doing
  1561. +#
  1562. +# CONFIG_FIREWIRE is not set
  1563. +# CONFIG_IEEE1394 is not set
  1564. +# CONFIG_I2O is not set
  1565. +CONFIG_NETDEVICES=y
  1566. +CONFIG_IFB=m
  1567. +CONFIG_DUMMY=m
  1568. +CONFIG_BONDING=m
  1569. +CONFIG_MACVLAN=m
  1570. +CONFIG_EQUALIZER=m
  1571. +CONFIG_TUN=m
  1572. +CONFIG_VETH=m
  1573. +# CONFIG_ARCNET is not set
  1574. +CONFIG_PHYLIB=m
  1575. +
  1576. +#
  1577. +# MII PHY device drivers
  1578. +#
  1579. +CONFIG_MARVELL_PHY=m
  1580. +CONFIG_DAVICOM_PHY=m
  1581. +CONFIG_QSEMI_PHY=m
  1582. +CONFIG_LXT_PHY=m
  1583. +CONFIG_CICADA_PHY=m
  1584. +CONFIG_VITESSE_PHY=m
  1585. +CONFIG_SMSC_PHY=m
  1586. +CONFIG_BROADCOM_PHY=m
  1587. +CONFIG_ICPLUS_PHY=m
  1588. +# CONFIG_REALTEK_PHY is not set
  1589. +CONFIG_MDIO_BITBANG=m
  1590. +CONFIG_NET_ETHERNET=y
  1591. +CONFIG_MII=y
  1592. +# CONFIG_AX88796 is not set
  1593. +# CONFIG_HAPPYMEAL is not set
  1594. +# CONFIG_SUNGEM is not set
  1595. +# CONFIG_CASSINI is not set
  1596. +# CONFIG_NET_VENDOR_3COM is not set
  1597. +# CONFIG_SMC91X is not set
  1598. +# CONFIG_DM9000 is not set
  1599. +# CONFIG_ENC28J60 is not set
  1600. +# CONFIG_NET_TULIP is not set
  1601. +# CONFIG_HP100 is not set
  1602. +# CONFIG_IBM_NEW_EMAC_ZMII is not set
  1603. +# CONFIG_IBM_NEW_EMAC_RGMII is not set
  1604. +# CONFIG_IBM_NEW_EMAC_TAH is not set
  1605. +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
  1606. +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
  1607. +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
  1608. +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
  1609. +# CONFIG_NET_PCI is not set
  1610. +# CONFIG_B44 is not set
  1611. +# CONFIG_ATL2 is not set
  1612. +# CONFIG_NETDEV_1000 is not set
  1613. +# CONFIG_NETDEV_10000 is not set
  1614. +# CONFIG_TR is not set
  1615. +
  1616. +#
  1617. +# Wireless LAN
  1618. +#
  1619. +# CONFIG_WLAN_PRE80211 is not set
  1620. +# CONFIG_WLAN_80211 is not set
  1621. +# CONFIG_IWLWIFI_LEDS is not set
  1622. +# CONFIG_WAN is not set
  1623. +# CONFIG_ATM_DRIVERS is not set
  1624. +# CONFIG_FDDI is not set
  1625. +# CONFIG_HIPPI is not set
  1626. +# CONFIG_PPP is not set
  1627. +# CONFIG_SLIP is not set
  1628. +# CONFIG_NET_FC is not set
  1629. +# CONFIG_NETCONSOLE is not set
  1630. +# CONFIG_NETPOLL is not set
  1631. +# CONFIG_NET_POLL_CONTROLLER is not set
  1632. +# CONFIG_ISDN is not set
  1633. +# CONFIG_PHONE is not set
  1634. +
  1635. +#
  1636. +# Input device support
  1637. +#
  1638. +CONFIG_INPUT=y
  1639. +CONFIG_INPUT_FF_MEMLESS=m
  1640. +CONFIG_INPUT_POLLDEV=m
  1641. +
  1642. +#
  1643. +# Userland interfaces
  1644. +#
  1645. +# CONFIG_INPUT_MOUSEDEV is not set
  1646. +# CONFIG_INPUT_JOYDEV is not set
  1647. +# CONFIG_INPUT_EVDEV is not set
  1648. +# CONFIG_INPUT_EVBUG is not set
  1649. +
  1650. +#
  1651. +# Input Device Drivers
  1652. +#
  1653. +CONFIG_INPUT_KEYBOARD=y
  1654. +CONFIG_KEYBOARD_ATKBD=y
  1655. +CONFIG_KEYBOARD_SUNKBD=m
  1656. +CONFIG_KEYBOARD_LKKBD=m
  1657. +CONFIG_KEYBOARD_XTKBD=m
  1658. +CONFIG_KEYBOARD_NEWTON=m
  1659. +CONFIG_KEYBOARD_STOWAWAY=m
  1660. +CONFIG_INPUT_MOUSE=y
  1661. +CONFIG_MOUSE_PS2=m
  1662. +CONFIG_MOUSE_PS2_ALPS=y
  1663. +CONFIG_MOUSE_PS2_LOGIPS2PP=y
  1664. +CONFIG_MOUSE_PS2_SYNAPTICS=y
  1665. +CONFIG_MOUSE_PS2_LIFEBOOK=y
  1666. +CONFIG_MOUSE_PS2_TRACKPOINT=y
  1667. +# CONFIG_MOUSE_PS2_ELANTECH is not set
  1668. +# CONFIG_MOUSE_PS2_TOUCHKIT is not set
  1669. +CONFIG_MOUSE_SERIAL=m
  1670. +CONFIG_MOUSE_VSXXXAA=m
  1671. +# CONFIG_INPUT_JOYSTICK is not set
  1672. +# CONFIG_INPUT_TABLET is not set
  1673. +# CONFIG_INPUT_TOUCHSCREEN is not set
  1674. +# CONFIG_INPUT_MISC is not set
  1675. +
  1676. +#
  1677. +# Hardware I/O ports
  1678. +#
  1679. +CONFIG_SERIO=y
  1680. +# CONFIG_SERIO_I8042 is not set
  1681. +CONFIG_SERIO_SERPORT=m
  1682. +# CONFIG_SERIO_PCIPS2 is not set
  1683. +CONFIG_SERIO_LIBPS2=y
  1684. +CONFIG_SERIO_RAW=m
  1685. +# CONFIG_GAMEPORT is not set
  1686. +
  1687. +#
  1688. +# Character devices
  1689. +#
  1690. +CONFIG_VT=y
  1691. +CONFIG_CONSOLE_TRANSLATIONS=y
  1692. +CONFIG_VT_CONSOLE=y
  1693. +CONFIG_HW_CONSOLE=y
  1694. +CONFIG_VT_HW_CONSOLE_BINDING=y
  1695. +CONFIG_DEVKMEM=y
  1696. +# CONFIG_SERIAL_NONSTANDARD is not set
  1697. +# CONFIG_NOZOMI is not set
  1698. +
  1699. +#
  1700. +# Serial drivers
  1701. +#
  1702. +CONFIG_SERIAL_8250=y
  1703. +CONFIG_SERIAL_8250_CONSOLE=y
  1704. +# CONFIG_SERIAL_8250_PCI is not set
  1705. +CONFIG_SERIAL_8250_NR_UARTS=4
  1706. +CONFIG_SERIAL_8250_RUNTIME_UARTS=4
  1707. +# CONFIG_SERIAL_8250_EXTENDED is not set
  1708. +
  1709. +#
  1710. +# Non-8250 serial port support
  1711. +#
  1712. +CONFIG_SERIAL_CORE=y
  1713. +CONFIG_SERIAL_CORE_CONSOLE=y
  1714. +# CONFIG_SERIAL_JSM is not set
  1715. +CONFIG_UNIX98_PTYS=y
  1716. +CONFIG_LEGACY_PTYS=y
  1717. +CONFIG_LEGACY_PTY_COUNT=256
  1718. +# CONFIG_IPMI_HANDLER is not set
  1719. +# CONFIG_HW_RANDOM is not set
  1720. +# CONFIG_R3964 is not set
  1721. +# CONFIG_APPLICOM is not set
  1722. +# CONFIG_RAW_DRIVER is not set
  1723. +# CONFIG_TCG_TPM is not set
  1724. +CONFIG_DEVPORT=y
  1725. +CONFIG_I2C=y
  1726. +CONFIG_I2C_BOARDINFO=y
  1727. +CONFIG_I2C_CHARDEV=y
  1728. +CONFIG_I2C_HELPER_AUTO=y
  1729. +CONFIG_I2C_ALGOBIT=m
  1730. +
  1731. +#
  1732. +# I2C Hardware Bus support
  1733. +#
  1734. +
  1735. +#
  1736. +# PC SMBus host controller drivers
  1737. +#
  1738. +# CONFIG_I2C_ALI1535 is not set
  1739. +# CONFIG_I2C_ALI1563 is not set
  1740. +# CONFIG_I2C_ALI15X3 is not set
  1741. +# CONFIG_I2C_AMD756 is not set
  1742. +# CONFIG_I2C_AMD8111 is not set
  1743. +# CONFIG_I2C_I801 is not set
  1744. +# CONFIG_I2C_ISCH is not set
  1745. +# CONFIG_I2C_PIIX4 is not set
  1746. +# CONFIG_I2C_NFORCE2 is not set
  1747. +# CONFIG_I2C_SIS5595 is not set
  1748. +# CONFIG_I2C_SIS630 is not set
  1749. +# CONFIG_I2C_SIS96X is not set
  1750. +# CONFIG_I2C_VIA is not set
  1751. +# CONFIG_I2C_VIAPRO is not set
  1752. +
  1753. +#
  1754. +# I2C system bus drivers (mostly embedded / system-on-chip)
  1755. +#
  1756. +CONFIG_I2C_OCORES=m
  1757. +CONFIG_I2C_SIMTEC=m
  1758. +
  1759. +#
  1760. +# External I2C/SMBus adapter drivers
  1761. +#
  1762. +CONFIG_I2C_PARPORT_LIGHT=m
  1763. +CONFIG_I2C_TAOS_EVM=m
  1764. +
  1765. +#
  1766. +# Graphics adapter I2C/DDC channel drivers
  1767. +#
  1768. +# CONFIG_I2C_VOODOO3 is not set
  1769. +
  1770. +#
  1771. +# Other I2C/SMBus bus drivers
  1772. +#
  1773. +# CONFIG_I2C_PCA_PLATFORM is not set
  1774. +CONFIG_I2C_STUB=m
  1775. +
  1776. +#
  1777. +# Miscellaneous I2C Chip support
  1778. +#
  1779. +CONFIG_DS1682=m
  1780. +# CONFIG_AT24 is not set
  1781. +CONFIG_SENSORS_EEPROM=m
  1782. +CONFIG_SENSORS_PCF8574=m
  1783. +# CONFIG_PCF8575 is not set
  1784. +CONFIG_SENSORS_PCA9539=m
  1785. +CONFIG_SENSORS_PCF8591=m
  1786. +CONFIG_SENSORS_MAX6875=m
  1787. +CONFIG_SENSORS_TSL2550=m
  1788. +# CONFIG_I2C_DEBUG_CORE is not set
  1789. +# CONFIG_I2C_DEBUG_ALGO is not set
  1790. +# CONFIG_I2C_DEBUG_BUS is not set
  1791. +# CONFIG_I2C_DEBUG_CHIP is not set
  1792. +CONFIG_SPI=y
  1793. +CONFIG_SPI_MASTER=y
  1794. +
  1795. +#
  1796. +# SPI Master Controller Drivers
  1797. +#
  1798. +CONFIG_SPI_BITBANG=y
  1799. +
  1800. +#
  1801. +# SPI Protocol Masters
  1802. +#
  1803. +CONFIG_SPI_AT25=y
  1804. +CONFIG_SPI_SPIDEV=y
  1805. +# CONFIG_SPI_TLE62X0 is not set
  1806. +CONFIG_W1=y
  1807. +
  1808. +#
  1809. +# 1-wire Bus Masters
  1810. +#
  1811. +# CONFIG_W1_MASTER_MATROX is not set
  1812. +CONFIG_W1_MASTER_DS2482=m
  1813. +
  1814. +#
  1815. +# 1-wire Slaves
  1816. +#
  1817. +CONFIG_W1_SLAVE_THERM=m
  1818. +CONFIG_W1_SLAVE_SMEM=m
  1819. +CONFIG_W1_SLAVE_DS2433=m
  1820. +# CONFIG_W1_SLAVE_DS2433_CRC is not set
  1821. +CONFIG_W1_SLAVE_DS2760=m
  1822. +# CONFIG_W1_SLAVE_BQ27000 is not set
  1823. +# CONFIG_POWER_SUPPLY is not set
  1824. +# CONFIG_HWMON is not set
  1825. +# CONFIG_THERMAL is not set
  1826. +# CONFIG_THERMAL_HWMON is not set
  1827. +# CONFIG_WATCHDOG is not set
  1828. +CONFIG_SSB_POSSIBLE=y
  1829. +
  1830. +#
  1831. +# Sonics Silicon Backplane
  1832. +#
  1833. +# CONFIG_SSB is not set
  1834. +
  1835. +#
  1836. +# Multifunction device drivers
  1837. +#
  1838. +# CONFIG_MFD_CORE is not set
  1839. +# CONFIG_MFD_SM501 is not set
  1840. +# CONFIG_HTC_PASIC3 is not set
  1841. +# CONFIG_MFD_TMIO is not set
  1842. +# CONFIG_PMIC_DA903X is not set
  1843. +# CONFIG_MFD_WM8400 is not set
  1844. +# CONFIG_MFD_WM8350_I2C is not set
  1845. +# CONFIG_REGULATOR is not set
  1846. +
  1847. +#
  1848. +# Multimedia devices
  1849. +#
  1850. +
  1851. +#
  1852. +# Multimedia core support
  1853. +#
  1854. +# CONFIG_VIDEO_DEV is not set
  1855. +# CONFIG_DVB_CORE is not set
  1856. +# CONFIG_VIDEO_MEDIA is not set
  1857. +
  1858. +#
  1859. +# Multimedia drivers
  1860. +#
  1861. +# CONFIG_DAB is not set
  1862. +
  1863. +#
  1864. +# Graphics support
  1865. +#
  1866. +# CONFIG_DRM is not set
  1867. +# CONFIG_VGASTATE is not set
  1868. +# CONFIG_VIDEO_OUTPUT_CONTROL is not set
  1869. +# CONFIG_FB is not set
  1870. +CONFIG_BACKLIGHT_LCD_SUPPORT=y
  1871. +# CONFIG_LCD_CLASS_DEVICE is not set
  1872. +CONFIG_BACKLIGHT_CLASS_DEVICE=y
  1873. +# CONFIG_BACKLIGHT_CORGI is not set
  1874. +
  1875. +#
  1876. +# Display device support
  1877. +#
  1878. +# CONFIG_DISPLAY_SUPPORT is not set
  1879. +
  1880. +#
  1881. +# Console display driver support
  1882. +#
  1883. +# CONFIG_VGA_CONSOLE is not set
  1884. +CONFIG_DUMMY_CONSOLE=y
  1885. +# CONFIG_SOUND is not set
  1886. +# CONFIG_HID_SUPPORT is not set
  1887. +CONFIG_HID=m
  1888. +# CONFIG_USB_SUPPORT is not set
  1889. +# CONFIG_UWB is not set
  1890. +# CONFIG_MMC is not set
  1891. +# CONFIG_MEMSTICK is not set
  1892. +CONFIG_NEW_LEDS=y
  1893. +CONFIG_LEDS_CLASS=y
  1894. +
  1895. +#
  1896. +# LED drivers
  1897. +#
  1898. +# CONFIG_LEDS_PCA9532 is not set
  1899. +# CONFIG_LEDS_PCA955X is not set
  1900. +
  1901. +#
  1902. +# LED Triggers
  1903. +#
  1904. +CONFIG_LEDS_TRIGGERS=y
  1905. +CONFIG_LEDS_TRIGGER_TIMER=m
  1906. +CONFIG_LEDS_TRIGGER_HEARTBEAT=m
  1907. +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
  1908. +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
  1909. +# CONFIG_ACCESSIBILITY is not set
  1910. +# CONFIG_INFINIBAND is not set
  1911. +CONFIG_RTC_LIB=y
  1912. +# CONFIG_RTC_CLASS is not set
  1913. +CONFIG_DMADEVICES=y
  1914. +
  1915. +#
  1916. +# DMA Devices
  1917. +#
  1918. +# CONFIG_UIO is not set
  1919. +# CONFIG_STAGING is not set
  1920. +
  1921. +#
  1922. +# File systems
  1923. +#
  1924. +# CONFIG_EXT2_FS is not set
  1925. +# CONFIG_EXT3_FS is not set
  1926. +# CONFIG_EXT4_FS is not set
  1927. +# CONFIG_REISERFS_FS is not set
  1928. +# CONFIG_JFS_FS is not set
  1929. +CONFIG_FS_POSIX_ACL=y
  1930. +CONFIG_FILE_LOCKING=y
  1931. +# CONFIG_XFS_FS is not set
  1932. +# CONFIG_OCFS2_FS is not set
  1933. +# CONFIG_DNOTIFY is not set
  1934. +# CONFIG_INOTIFY is not set
  1935. +# CONFIG_QUOTA is not set
  1936. +# CONFIG_AUTOFS_FS is not set
  1937. +# CONFIG_AUTOFS4_FS is not set
  1938. +# CONFIG_FUSE_FS is not set
  1939. +CONFIG_GENERIC_ACL=y
  1940. +
  1941. +#
  1942. +# CD-ROM/DVD Filesystems
  1943. +#
  1944. +# CONFIG_ISO9660_FS is not set
  1945. +# CONFIG_UDF_FS is not set
  1946. +
  1947. +#
  1948. +# DOS/FAT/NT Filesystems
  1949. +#
  1950. +CONFIG_FAT_FS=y
  1951. +CONFIG_MSDOS_FS=y
  1952. +CONFIG_VFAT_FS=y
  1953. +CONFIG_FAT_DEFAULT_CODEPAGE=437
  1954. +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
  1955. +# CONFIG_NTFS_FS is not set
  1956. +
  1957. +#
  1958. +# Pseudo filesystems
  1959. +#
  1960. +CONFIG_PROC_FS=y
  1961. +CONFIG_PROC_KCORE=y
  1962. +CONFIG_PROC_SYSCTL=y
  1963. +CONFIG_PROC_PAGE_MONITOR=y
  1964. +CONFIG_SYSFS=y
  1965. +CONFIG_TMPFS=y
  1966. +CONFIG_TMPFS_POSIX_ACL=y
  1967. +# CONFIG_HUGETLB_PAGE is not set
  1968. +CONFIG_CONFIGFS_FS=y
  1969. +
  1970. +#
  1971. +# Miscellaneous filesystems
  1972. +#
  1973. +# CONFIG_ADFS_FS is not set
  1974. +# CONFIG_AFFS_FS is not set
  1975. +# CONFIG_ECRYPT_FS is not set
  1976. +# CONFIG_HFS_FS is not set
  1977. +# CONFIG_HFSPLUS_FS is not set
  1978. +# CONFIG_BEFS_FS is not set
  1979. +# CONFIG_BFS_FS is not set
  1980. +# CONFIG_EFS_FS is not set
  1981. +# CONFIG_CRAMFS is not set
  1982. +# CONFIG_VXFS_FS is not set
  1983. +# CONFIG_MINIX_FS is not set
  1984. +# CONFIG_OMFS_FS is not set
  1985. +# CONFIG_HPFS_FS is not set
  1986. +# CONFIG_QNX4FS_FS is not set
  1987. +# CONFIG_ROMFS_FS is not set
  1988. +# CONFIG_SYSV_FS is not set
  1989. +# CONFIG_UFS_FS is not set
  1990. +CONFIG_NETWORK_FILESYSTEMS=y
  1991. +CONFIG_NFS_FS=y
  1992. +CONFIG_NFS_V3=y
  1993. +CONFIG_NFS_V3_ACL=y
  1994. +CONFIG_NFS_V4=y
  1995. +# CONFIG_NFSD is not set
  1996. +CONFIG_LOCKD=y
  1997. +CONFIG_LOCKD_V4=y
  1998. +CONFIG_NFS_ACL_SUPPORT=y
  1999. +CONFIG_NFS_COMMON=y
  2000. +CONFIG_SUNRPC=y
  2001. +CONFIG_SUNRPC_GSS=y
  2002. +# CONFIG_SUNRPC_REGISTER_V4 is not set
  2003. +CONFIG_RPCSEC_GSS_KRB5=y
  2004. +CONFIG_RPCSEC_GSS_SPKM3=y
  2005. +# CONFIG_SMB_FS is not set
  2006. +# CONFIG_CIFS is not set
  2007. +# CONFIG_NCP_FS is not set
  2008. +# CONFIG_CODA_FS is not set
  2009. +# CONFIG_AFS_FS is not set
  2010. +# CONFIG_9P_FS is not set
  2011. +
  2012. +#
  2013. +# Partition Types
  2014. +#
  2015. +# CONFIG_PARTITION_ADVANCED is not set
  2016. +CONFIG_MSDOS_PARTITION=y
  2017. +CONFIG_NLS=y
  2018. +CONFIG_NLS_DEFAULT="cp437"
  2019. +CONFIG_NLS_CODEPAGE_437=m
  2020. +CONFIG_NLS_CODEPAGE_737=m
  2021. +CONFIG_NLS_CODEPAGE_775=m
  2022. +CONFIG_NLS_CODEPAGE_850=m
  2023. +CONFIG_NLS_CODEPAGE_852=m
  2024. +CONFIG_NLS_CODEPAGE_855=m
  2025. +CONFIG_NLS_CODEPAGE_857=m
  2026. +CONFIG_NLS_CODEPAGE_860=m
  2027. +CONFIG_NLS_CODEPAGE_861=m
  2028. +CONFIG_NLS_CODEPAGE_862=m
  2029. +CONFIG_NLS_CODEPAGE_863=m
  2030. +CONFIG_NLS_CODEPAGE_864=m
  2031. +CONFIG_NLS_CODEPAGE_865=m
  2032. +CONFIG_NLS_CODEPAGE_866=m
  2033. +CONFIG_NLS_CODEPAGE_869=m
  2034. +CONFIG_NLS_CODEPAGE_936=m
  2035. +CONFIG_NLS_CODEPAGE_950=m
  2036. +CONFIG_NLS_CODEPAGE_932=m
  2037. +CONFIG_NLS_CODEPAGE_949=m
  2038. +CONFIG_NLS_CODEPAGE_874=m
  2039. +CONFIG_NLS_ISO8859_8=m
  2040. +CONFIG_NLS_CODEPAGE_1250=m
  2041. +CONFIG_NLS_CODEPAGE_1251=m
  2042. +CONFIG_NLS_ASCII=m
  2043. +CONFIG_NLS_ISO8859_1=m
  2044. +CONFIG_NLS_ISO8859_2=m
  2045. +CONFIG_NLS_ISO8859_3=m
  2046. +CONFIG_NLS_ISO8859_4=m
  2047. +CONFIG_NLS_ISO8859_5=m
  2048. +CONFIG_NLS_ISO8859_6=m
  2049. +CONFIG_NLS_ISO8859_7=m
  2050. +CONFIG_NLS_ISO8859_9=m
  2051. +CONFIG_NLS_ISO8859_13=m
  2052. +CONFIG_NLS_ISO8859_14=m
  2053. +CONFIG_NLS_ISO8859_15=m
  2054. +CONFIG_NLS_KOI8_R=m
  2055. +CONFIG_NLS_KOI8_U=m
  2056. +CONFIG_NLS_UTF8=m
  2057. +# CONFIG_DLM is not set
  2058. +
  2059. +#
  2060. +# Kernel hacking
  2061. +#
  2062. +CONFIG_TRACE_IRQFLAGS_SUPPORT=y
  2063. +CONFIG_PRINTK_TIME=y
  2064. +# CONFIG_ENABLE_WARN_DEPRECATED is not set
  2065. +# CONFIG_ENABLE_MUST_CHECK is not set
  2066. +CONFIG_FRAME_WARN=1024
  2067. +CONFIG_MAGIC_SYSRQ=y
  2068. +CONFIG_UNUSED_SYMBOLS=y
  2069. +CONFIG_DEBUG_FS=y
  2070. +# CONFIG_HEADERS_CHECK is not set
  2071. +# CONFIG_DEBUG_KERNEL is not set
  2072. +# CONFIG_SLUB_DEBUG_ON is not set
  2073. +# CONFIG_SLUB_STATS is not set
  2074. +# CONFIG_DEBUG_MEMORY_INIT is not set
  2075. +# CONFIG_RCU_CPU_STALL_DETECTOR is not set
  2076. +# CONFIG_SYSCTL_SYSCALL_CHECK is not set
  2077. +
  2078. +#
  2079. +# Tracers
  2080. +#
  2081. +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
  2082. +# CONFIG_SAMPLES is not set
  2083. +CONFIG_HAVE_ARCH_KGDB=y
  2084. +CONFIG_CMDLINE=""
  2085. +
  2086. +#
  2087. +# Security options
  2088. +#
  2089. +CONFIG_KEYS=y
  2090. +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
  2091. +CONFIG_SECURITY=y
  2092. +# CONFIG_SECURITYFS is not set
  2093. +CONFIG_SECURITY_NETWORK=y
  2094. +# CONFIG_SECURITY_NETWORK_XFRM is not set
  2095. +# CONFIG_SECURITY_FILE_CAPABILITIES is not set
  2096. +CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
  2097. +CONFIG_SECURITY_SELINUX=y
  2098. +CONFIG_SECURITY_SELINUX_BOOTPARAM=y
  2099. +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
  2100. +CONFIG_SECURITY_SELINUX_DISABLE=y
  2101. +CONFIG_SECURITY_SELINUX_DEVELOP=y
  2102. +CONFIG_SECURITY_SELINUX_AVC_STATS=y
  2103. +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
  2104. +# CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT is not set
  2105. +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
  2106. +CONFIG_CRYPTO=y
  2107. +
  2108. +#
  2109. +# Crypto core or helper
  2110. +#
  2111. +# CONFIG_CRYPTO_FIPS is not set
  2112. +CONFIG_CRYPTO_ALGAPI=y
  2113. +CONFIG_CRYPTO_ALGAPI2=y
  2114. +CONFIG_CRYPTO_AEAD=m
  2115. +CONFIG_CRYPTO_AEAD2=y
  2116. +CONFIG_CRYPTO_BLKCIPHER=y
  2117. +CONFIG_CRYPTO_BLKCIPHER2=y
  2118. +CONFIG_CRYPTO_HASH=y
  2119. +CONFIG_CRYPTO_HASH2=y
  2120. +CONFIG_CRYPTO_RNG2=y
  2121. +CONFIG_CRYPTO_MANAGER=y
  2122. +CONFIG_CRYPTO_MANAGER2=y
  2123. +CONFIG_CRYPTO_GF128MUL=m
  2124. +CONFIG_CRYPTO_NULL=m
  2125. +CONFIG_CRYPTO_CRYPTD=m
  2126. +CONFIG_CRYPTO_AUTHENC=m
  2127. +CONFIG_CRYPTO_TEST=m
  2128. +
  2129. +#
  2130. +# Authenticated Encryption with Associated Data
  2131. +#
  2132. +# CONFIG_CRYPTO_CCM is not set
  2133. +# CONFIG_CRYPTO_GCM is not set
  2134. +# CONFIG_CRYPTO_SEQIV is not set
  2135. +
  2136. +#
  2137. +# Block modes
  2138. +#
  2139. +CONFIG_CRYPTO_CBC=y
  2140. +# CONFIG_CRYPTO_CTR is not set
  2141. +# CONFIG_CRYPTO_CTS is not set
  2142. +CONFIG_CRYPTO_ECB=m
  2143. +CONFIG_CRYPTO_LRW=m
  2144. +CONFIG_CRYPTO_PCBC=m
  2145. +CONFIG_CRYPTO_XTS=m
  2146. +
  2147. +#
  2148. +# Hash modes
  2149. +#
  2150. +CONFIG_CRYPTO_HMAC=y
  2151. +CONFIG_CRYPTO_XCBC=m
  2152. +
  2153. +#
  2154. +# Digest
  2155. +#
  2156. +CONFIG_CRYPTO_CRC32C=m
  2157. +CONFIG_CRYPTO_MD4=m
  2158. +CONFIG_CRYPTO_MD5=y
  2159. +CONFIG_CRYPTO_MICHAEL_MIC=m
  2160. +# CONFIG_CRYPTO_RMD128 is not set
  2161. +# CONFIG_CRYPTO_RMD160 is not set
  2162. +# CONFIG_CRYPTO_RMD256 is not set
  2163. +# CONFIG_CRYPTO_RMD320 is not set
  2164. +CONFIG_CRYPTO_SHA1=m
  2165. +CONFIG_CRYPTO_SHA256=m
  2166. +CONFIG_CRYPTO_SHA512=m
  2167. +CONFIG_CRYPTO_TGR192=m
  2168. +CONFIG_CRYPTO_WP512=m
  2169. +
  2170. +#
  2171. +# Ciphers
  2172. +#
  2173. +CONFIG_CRYPTO_AES=m
  2174. +CONFIG_CRYPTO_ANUBIS=m
  2175. +CONFIG_CRYPTO_ARC4=m
  2176. +CONFIG_CRYPTO_BLOWFISH=m
  2177. +CONFIG_CRYPTO_CAMELLIA=m
  2178. +CONFIG_CRYPTO_CAST5=y
  2179. +CONFIG_CRYPTO_CAST6=m
  2180. +CONFIG_CRYPTO_DES=y
  2181. +CONFIG_CRYPTO_FCRYPT=m
  2182. +CONFIG_CRYPTO_KHAZAD=m
  2183. +# CONFIG_CRYPTO_SALSA20 is not set
  2184. +CONFIG_CRYPTO_SEED=m
  2185. +CONFIG_CRYPTO_SERPENT=m
  2186. +CONFIG_CRYPTO_TEA=m
  2187. +CONFIG_CRYPTO_TWOFISH=m
  2188. +CONFIG_CRYPTO_TWOFISH_COMMON=m
  2189. +
  2190. +#
  2191. +# Compression
  2192. +#
  2193. +CONFIG_CRYPTO_DEFLATE=m
  2194. +# CONFIG_CRYPTO_LZO is not set
  2195. +
  2196. +#
  2197. +# Random Number Generation
  2198. +#
  2199. +# CONFIG_CRYPTO_ANSI_CPRNG is not set
  2200. +CONFIG_CRYPTO_HW=y
  2201. +# CONFIG_CRYPTO_DEV_HIFN_795X is not set
  2202. +
  2203. +#
  2204. +# Library routines
  2205. +#
  2206. +CONFIG_BITREVERSE=y
  2207. +CONFIG_CRC_CCITT=m
  2208. +CONFIG_CRC16=m
  2209. +# CONFIG_CRC_T10DIF is not set
  2210. +CONFIG_CRC_ITU_T=m
  2211. +CONFIG_CRC32=y
  2212. +CONFIG_CRC7=m
  2213. +CONFIG_LIBCRC32C=m
  2214. +CONFIG_AUDIT_GENERIC=y
  2215. +CONFIG_ZLIB_INFLATE=m
  2216. +CONFIG_ZLIB_DEFLATE=m
  2217. +CONFIG_TEXTSEARCH=y
  2218. +CONFIG_TEXTSEARCH_KMP=m
  2219. +CONFIG_TEXTSEARCH_BM=m
  2220. +CONFIG_TEXTSEARCH_FSM=m
  2221. +CONFIG_PLIST=y
  2222. +CONFIG_HAS_IOMEM=y
  2223. +CONFIG_HAS_IOPORT=y
  2224. +CONFIG_HAS_DMA=y
  2225. diff --git a/arch/mips/include/asm/mach-cisco3600/c3600.h b/arch/mips/include/asm/mach-cisco3600/c3600.h
  2226. new file mode 100644
  2227. index 0000000..290b3a6
  2228. --- /dev/null
  2229. +++ b/arch/mips/include/asm/mach-cisco3600/c3600.h
  2230. @@ -0,0 +1,84 @@
  2231. +/*
  2232. + * Cisco 3600 Series defines
  2233. + *
  2234. + * This file is subject to the terms and conditions of the GNU General Public
  2235. + * License. See the file "COPYING" in the main directory of this archive
  2236. + * for more details.
  2237. + *
  2238. + * Copyright (C) 2008 Philippe Vachon (philippe@cowpig.ca)
  2239. + */
  2240. +#ifndef __ASM_C3600_H
  2241. +#define __ASM_C3600_H
  2242. +
  2243. +#include <linux/io.h>
  2244. +
  2245. +extern int c3600_board_id;
  2246. +extern void __iomem *c3600_iofpga_loc;
  2247. +
  2248. +/* device addresses */
  2249. +#define C3600_BOARD_REGS 0x1e800000ul /* The board FPGA/board registers */
  2250. +#define C3600_BOARD_REGS_SIZE 0x0003fffful
  2251. +
  2252. +#define C3600_DUART 0x1e840000ul /* DUART base address */
  2253. +#define C3600_GT64XXX 0x14000000ul /* default GT64010 MMIO address */
  2254. +
  2255. +#define C3600_PCI_IO 0x100000000ull /* PCI IO address base */
  2256. +
  2257. +/* macros for accessing IOFPGA registers */
  2258. +#define C3600_IOFPGA_READB(reg) (readb((uint8_t *)(((char *)c3600_iofpga_loc) \
  2259. + + (reg))))
  2260. +#define C3600_IOFPGA_READW(reg) (readw((uint32_t *)(((char *)c3600_iofpga_loc) \
  2261. + + (reg))))
  2262. +
  2263. +#define C3600_IOFPGA_WRITEB(reg, value) (writeb((uint8_t)value, \
  2264. + (char *)(c3600_iofpga_loc + (reg))))
  2265. +#define C3600_IOFPGA_WRITEW(reg, value) (writeb((uint32_t)value, \
  2266. + (char *)(c3600_iofpga_loc + (reg))))
  2267. +
  2268. +/* board ID codes */
  2269. +#define C3600_BRD_ID_3620 0x2
  2270. +#define C3600_BRD_ID_3640 0x0
  2271. +#define C3600_BRD_ID_3660 (0x3 << 5)
  2272. +
  2273. +/* IOFPGA Register offsets */
  2274. +/* 0x80 for C3620, 0x00 for C3640, 0x60 for 3660 */
  2275. +#define C3600_BOARD_ID_REG (0x30000ul)
  2276. +
  2277. +/* 1 for unprotected, 0 for protected */
  2278. +#define C3600_FLASH_PROTECT_REG (0x8ul)
  2279. +
  2280. +/* NM Presence register - bits 1 - 6 represent presence of respectve NM */
  2281. +#define C3600_NM_PRESENT_REG (0x10006ul)
  2282. +#define C3600_NM_PRESENT(v, num) ((v) & (1 << ((num) - 1)))
  2283. +
  2284. +/* NM interrupt control registers */
  2285. +#define C3600_NM1_INT_STATUS (0x20000ul)
  2286. +#define C3600_NM2_INT_STATUS (0x20001ul)
  2287. +#define C3600_NM3_INT_STATUS (0x20002ul)
  2288. +#define C3600_NM4_INT_STATUS (0x20003ul)
  2289. +
  2290. +/* NM management interrupt control register */
  2291. +#define C3600_NM_INT_CONTROL (0x20004ul)
  2292. +
  2293. +/* External Interrupt Register */
  2294. +#define C3600_EXT_INT_REG 0x20006ul
  2295. +
  2296. +/* Platform environmental parameters */
  2297. +#define C3600_ENVIRONMENT_REG (0x30004ul)
  2298. +
  2299. +#define C3600_GET_PLAT_STATUS(val, bit) ((val) & (1 << ((num) - 1)))
  2300. +
  2301. +#define C3600_GET_PLAT_OVERTEMP(val) (C3600_GET_PLAT_STATUS((val), 1) == 0)
  2302. +
  2303. +#define C3600_GET_RPS_PRESENCE(val) (C3600_GET_PLAT_STATUS((val), 5) == 0)
  2304. +#define C3600_GET_VOLTAGE_FAIL(val) (C3600_GET_PLAT_STATUS((val), 6) == 0)
  2305. +#define C3600_GET_THERMAL_FAIL(val) (C3600_GET_PLAT_STATUS((val), 7) != 0)
  2306. +#define C3600_GET_DC_OUT_FAIL(val) (C3600_GET_PLAT_STATUS((val), 8) != 0)
  2307. +
  2308. +/* PCI I/O space */
  2309. +#define C3600_PCI_IO 0x100000000ull
  2310. +
  2311. +/* Specific Board Registers */
  2312. +#define C3600_BOARD_CONFIG (C3600_BOARD_REG)
  2313. +
  2314. +#endif /* __ASM_C3600_H */
  2315. diff --git a/arch/mips/include/asm/mach-cisco3600/cpu-feature-overrides.h b/arch/mips/include/asm/mach-cisco3600/cpu-feature-overrides.h
  2316. new file mode 100644
  2317. index 0000000..b3314cf
  2318. --- /dev/null
  2319. +++ b/arch/mips/include/asm/mach-cisco3600/cpu-feature-overrides.h
  2320. @@ -0,0 +1,56 @@
  2321. +/*
  2322. + * This file is subject to the terms and conditions of the GNU General Public
  2323. + * License. See the file "COPYING" in the main directory of this archive
  2324. + * for more details.
  2325. + *
  2326. + * Copyright (C) 2006, 07 Ralf Baechle (ralf@linux-mips.org)
  2327. + */
  2328. +#ifndef __ASM_COBALT_CPU_FEATURE_OVERRIDES_H
  2329. +#define __ASM_COBALT_CPU_FEATURE_OVERRIDES_H
  2330. +
  2331. +
  2332. +#define cpu_has_tlb 1
  2333. +#define cpu_has_4kex 1
  2334. +#define cpu_has_3k_cache 0
  2335. +#define cpu_has_4k_cache 1
  2336. +#define cpu_has_tx39_cache 0
  2337. +#define cpu_has_fpu 1
  2338. +#define cpu_has_32fpr 1
  2339. +#define cpu_has_counter 1
  2340. +#define cpu_has_watch 0
  2341. +#define cpu_has_divec 1
  2342. +#define cpu_has_vce 0
  2343. +#define cpu_has_cache_cdex_p 0
  2344. +#define cpu_has_cache_cdex_s 0
  2345. +#define cpu_has_prefetch 0
  2346. +#define cpu_has_mcheck 0
  2347. +#define cpu_has_ejtag 0
  2348. +
  2349. +#define cpu_has_inclusive_pcaches 0
  2350. +#define cpu_dcache_line_size() 32
  2351. +#define cpu_icache_line_size() 32
  2352. +#define cpu_scache_line_size() 0
  2353. +
  2354. +#ifdef CONFIG_64BIT
  2355. +#define cpu_has_llsc 0
  2356. +#else
  2357. +#define cpu_has_llsc 1
  2358. +#endif
  2359. +
  2360. +#define cpu_has_mips16 0
  2361. +#define cpu_has_mdmx 0
  2362. +#define cpu_has_mips3d 0
  2363. +#define cpu_has_smartmips 0
  2364. +#define cpu_has_vtag_icache 0
  2365. +#define cpu_has_ic_fills_f_dc 0
  2366. +#define cpu_icache_snoops_remote_store 0
  2367. +#define cpu_has_dsp 0
  2368. +#define cpu_has_mipsmt 0
  2369. +#define cpu_has_userlocal 0
  2370. +
  2371. +#define cpu_has_mips32r1 0
  2372. +#define cpu_has_mips32r2 0
  2373. +#define cpu_has_mips64r1 0
  2374. +#define cpu_has_mips64r2 0
  2375. +
  2376. +#endif /* __ASM_COBALT_CPU_FEATURE_OVERRIDES_H */
  2377. diff --git a/arch/mips/include/asm/mach-cisco3600/irq.h b/arch/mips/include/asm/mach-cisco3600/irq.h
  2378. new file mode 100644
  2379. index 0000000..614775f
  2380. --- /dev/null
  2381. +++ b/arch/mips/include/asm/mach-cisco3600/irq.h
  2382. @@ -0,0 +1,32 @@
  2383. +/*
  2384. + * Cisco 3600 Series IRQ definitions.
  2385. + *
  2386. + * This file is subject to the terms and conditions of the GNU General Public
  2387. + * License. See the file "COPYING" in the main directory of this archive
  2388. + * for more details.
  2389. + *
  2390. + */
  2391. +#ifndef _ASM_C3600_IRQ_H
  2392. +#define _ASM_C3600_IRQ_H
  2393. +
  2394. +/* FIXME
  2395. + * 1 -
  2396. + * 2 - Network I/O interrupt
  2397. + * 3 - Network Module Management IRQ
  2398. + * 4 - Galileo 64010 Timer Interrupt
  2399. + * 5 - 16550 UART
  2400. + * 6 - External IRQ
  2401. + * 7 - CP0 counter
  2402. + */
  2403. + #define MIPS_CPU_IRQ_BASE 0
  2404. +
  2405. +#define GT641XX_CASCADE_IRQ (MIPS_CPU_IRQ_BASE + 4)
  2406. +#define SERIAL_IRQ (MIPS_CPU_IRQ_BASE + 5)
  2407. +
  2408. +#define GT641XX_IRQ_BASE 24
  2409. +
  2410. +#include <asm/irq_gt641xx.h>
  2411. +
  2412. +#define NR_IRQS (GT641XX_PCI_INT3_IRQ + 1)
  2413. +
  2414. +#endif /* _ASM_COBALT_IRQ_H */
  2415. diff --git a/arch/mips/include/asm/mach-cisco3600/mach-gt64120.h b/arch/mips/include/asm/mach-cisco3600/mach-gt64120.h
  2416. new file mode 100644
  2417. index 0000000..320965a
  2418. --- /dev/null
  2419. +++ b/arch/mips/include/asm/mach-cisco3600/mach-gt64120.h
  2420. @@ -0,0 +1,31 @@
  2421. +/*
  2422. + * Copyright (C) 2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
  2423. + * Copyright (C) 2008 Philippe Vachon <philippe@cowpig.ca>
  2424. + *
  2425. + * This program is free software; you can redistribute it and/or modify
  2426. + * it under the terms of the GNU General Public License as published by
  2427. + * the Free Software Foundation; either version 2 of the License, or
  2428. + * (at your option) any later version.
  2429. + *
  2430. + * This program is distributed in the hope that it will be useful,
  2431. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2432. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  2433. + * GNU General Public License for more details.
  2434. + *
  2435. + * You should have received a copy of the GNU General Public License
  2436. + * along with this program; if not, write to the Free Software
  2437. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  2438. + * 02110-1301 USA
  2439. + */
  2440. +#ifndef _C3600_MACH_GT64120_H
  2441. +#define _C3600_MACH_GT64120_H
  2442. +
  2443. +/*
  2444. + * The Cisco 3620/3640 use a GT64010, which according to specification is
  2445. + * nearly identical to the GT64120 from the software perspective.
  2446. + * The Cisco 3660 likely uses a GT64120 or similar.
  2447. + */
  2448. +
  2449. +#define GT64120_BASE CKSEG1ADDR(GT_DEF_BASE)
  2450. +
  2451. +#endif /* _C3600_MACH_GT64120_H */
  2452. diff --git a/arch/mips/include/asm/mach-cisco3600/war.h b/arch/mips/include/asm/mach-cisco3600/war.h
  2453. new file mode 100644
  2454. index 0000000..cd16f57
  2455. --- /dev/null
  2456. +++ b/arch/mips/include/asm/mach-cisco3600/war.h
  2457. @@ -0,0 +1,25 @@
  2458. +/*
  2459. + * This file is subject to the terms and conditions of the GNU General Public
  2460. + * License. See the file "COPYING" in the main directory of this archive
  2461. + * for more details.
  2462. + *
  2463. + * Copyright (C) 2002, 2004, 2007 by Ralf Baechle <ralf@linux-mips.org>
  2464. + */
  2465. +#ifndef __ASM_MIPS_MACH_C3600_WAR_H
  2466. +#define __ASM_MIPS_MACH_C3600_WAR_H
  2467. +
  2468. +#define R4600_V1_INDEX_ICACHEOP_WAR 0
  2469. +#define R4600_V1_HIT_CACHEOP_WAR 0
  2470. +#define R4600_V2_HIT_CACHEOP_WAR 0
  2471. +#define R5432_CP0_INTERRUPT_WAR 0
  2472. +#define BCM1250_M3_WAR 0
  2473. +#define SIBYTE_1956_WAR 0
  2474. +#define MIPS4K_ICACHE_REFILL_WAR 0
  2475. +#define MIPS_CACHE_SYNC_WAR 0
  2476. +#define TX49XX_ICACHE_INDEX_INV_WAR 0
  2477. +#define RM9000_CDEX_SMP_WAR 0
  2478. +#define ICACHE_REFILLS_WORKAROUND_WAR 0
  2479. +#define R10000_LLSC_WAR 0
  2480. +#define MIPS34K_MISSED_ITLB_WAR 0
  2481. +
  2482. +#endif /* __ASM_MIPS_MACH_C3600_WAR_H */
  2483. diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
  2484. index e8a97f5..d4e299f 100644
  2485. --- a/arch/mips/pci/Makefile
  2486. +++ b/arch/mips/pci/Makefile
  2487. @@ -23,6 +23,7 @@ obj-$(CONFIG_BCM47XX) += pci-bcm47xx.o
  2488. obj-$(CONFIG_BASLER_EXCITE) += ops-titan.o pci-excite.o fixup-excite.o
  2489. obj-$(CONFIG_LASAT) += pci-lasat.o
  2490. obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o
  2491. +obj-$(CONFIG_CISCO_3600) += fixup-c3600.o
  2492. obj-$(CONFIG_SOC_AU1500) += fixup-au1000.o ops-au1000.o
  2493. obj-$(CONFIG_SOC_AU1550) += fixup-au1000.o ops-au1000.o
  2494. obj-$(CONFIG_SOC_PNX8550) += fixup-pnx8550.o ops-pnx8550.o
  2495. diff --git a/arch/mips/pci/fixup-c3600.c b/arch/mips/pci/fixup-c3600.c
  2496. new file mode 100644
  2497. index 0000000..aa31be0
  2498. --- /dev/null
  2499. +++ b/arch/mips/pci/fixup-c3600.c
  2500. @@ -0,0 +1,52 @@
  2501. +/*
  2502. + *
  2503. + * This file is subject to the terms and conditions of the GNU General Public
  2504. + * License. See the file "COPYING" in the main directory of this archive
  2505. + * for more details.
  2506. + *
  2507. + */
  2508. +#include <linux/types.h>
  2509. +#include <linux/pci.h>
  2510. +#include <linux/kernel.h>
  2511. +#include <linux/init.h>
  2512. +
  2513. +#include <asm/pci.h>
  2514. +#include <asm/io.h>
  2515. +#include <asm/gt64120.h>
  2516. +
  2517. +#include <c3600.h>
  2518. +#include <irq.h>
  2519. +
  2520. +/*
  2521. + * PCI slot numbers
  2522. + */
  2523. +#define C3600_PCICONF_CPU 0x06
  2524. +
  2525. +static void c3600_galileo_early_fixup(struct pci_dev *dev)
  2526. +{
  2527. + if (dev->devfn == PCI_DEVFN(0, 0) &&
  2528. + (dev->class >> 8) == PCI_CLASS_MEMORY_OTHER) {
  2529. +
  2530. + dev->class = (PCI_CLASS_BRIDGE_HOST << 8) | (dev->class & 0xff);
  2531. +
  2532. + printk(KERN_INFO "Galileo: fixed bridge class\n");
  2533. + }
  2534. +}
  2535. +
  2536. +DECLARE_PCI_FIXUP_EARLY(0x11ab, 0x0146,
  2537. + c3600_galileo_early_fixup);
  2538. +
  2539. +static char irq_tab_c3600[] __initdata = {
  2540. + [C3600_PCICONF_CPU] = 0,
  2541. +};
  2542. +
  2543. +int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
  2544. +{
  2545. + return irq_tab_c3600[slot];
  2546. +}
  2547. +
  2548. +/* Do platform specific device initialization at pci_enable_device() time */
  2549. +int pcibios_plat_dev_init(struct pci_dev *dev)
  2550. +{
  2551. + return 0;
  2552. +}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement