531-board_AR-5387un.patch 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
  2. +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
  3. @@ -93,6 +93,78 @@ static struct board_info __initdata boar
  4. },
  5. };
  6. +static struct sprom_fixup __initdata ar5387un_fixups[] = {
  7. + { .offset = 2, .value = 0x05bb },
  8. + { .offset = 65, .value = 0x1204 },
  9. + { .offset = 78, .value = 0x0303 },
  10. + { .offset = 79, .value = 0x0202 },
  11. + { .offset = 80, .value = 0xff02 },
  12. + { .offset = 87, .value = 0x0315 },
  13. + { .offset = 88, .value = 0x0315 },
  14. + { .offset = 96, .value = 0x2048 },
  15. + { .offset = 97, .value = 0xff11 },
  16. + { .offset = 98, .value = 0x1567 },
  17. + { .offset = 99, .value = 0xfb24 },
  18. + { .offset = 100, .value = 0x3e3c },
  19. + { .offset = 101, .value = 0x4038 },
  20. + { .offset = 102, .value = 0xfe7f },
  21. + { .offset = 103, .value = 0x1279 },
  22. + { .offset = 112, .value = 0x2048 },
  23. + { .offset = 113, .value = 0xff03 },
  24. + { .offset = 114, .value = 0x154c },
  25. + { .offset = 115, .value = 0xfb27 },
  26. + { .offset = 116, .value = 0x3e3c },
  27. + { .offset = 117, .value = 0x4038 },
  28. + { .offset = 118, .value = 0xfe87 },
  29. + { .offset = 119, .value = 0x1233 },
  30. + { .offset = 203, .value = 0x2226 },
  31. +};
  32. +
  33. +static struct board_info __initdata board_AR5387un = {
  34. + .name = "96328A-1441N1",
  35. + .expected_cpu_id = 0x6328,
  36. +
  37. + .has_pci = 1,
  38. + .use_fallback_sprom = 1,
  39. + .has_ohci0 = 1,
  40. + .has_ehci0 = 1,
  41. + .num_usbh_ports = 1,
  42. + .has_enetsw = 1,
  43. +
  44. + .enetsw = {
  45. + .used_ports = {
  46. + [0] = {
  47. + .used = 1,
  48. + .phy_id = 1,
  49. + .name = "Port 1",
  50. + },
  51. + [1] = {
  52. + .used = 1,
  53. + .phy_id = 2,
  54. + .name = "Port 2",
  55. + },
  56. + [2] = {
  57. + .used = 1,
  58. + .phy_id = 3,
  59. + .name = "Port 3",
  60. + },
  61. + [3] = {
  62. + .used = 1,
  63. + .phy_id = 4,
  64. + .name = "Port 4",
  65. + },
  66. + },
  67. + },
  68. +
  69. + .fallback_sprom = {
  70. + .type = SPROM_BCM43225,
  71. + .pci_bus = 1,
  72. + .pci_dev = 0,
  73. + .board_fixups = ar5387un_fixups,
  74. + .num_board_fixups = ARRAY_SIZE(ar5387un_fixups),
  75. + },
  76. +};
  77. +
  78. static struct board_info __initdata board_963281TAN = {
  79. .name = "963281TAN",
  80. .expected_cpu_id = 0x6328,
  81. @@ -1201,6 +1273,7 @@ static const struct board_info __initcon
  82. #endif
  83. #ifdef CONFIG_BCM63XX_CPU_6328
  84. &board_96328avng,
  85. + &board_AR5387un,
  86. &board_963281TAN,
  87. &board_A4001N1,
  88. &board_dsl_274xb_f1,
  89. @@ -1271,6 +1344,7 @@ static struct of_device_id const bcm963x
  90. { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
  91. { .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
  92. { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
  93. + { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
  94. { .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
  95. #endif
  96. #ifdef CONFIG_BCM63XX_CPU_6338