531-board_AR-5387un.patch 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
  2. +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
  3. @@ -139,6 +139,79 @@ 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_uart0 = 1,
  38. + .has_pci = 1,
  39. + .use_fallback_sprom = 1,
  40. + .has_ohci0 = 1,
  41. + .has_ehci0 = 1,
  42. + .num_usbh_ports = 1,
  43. + .has_enetsw = 1,
  44. +
  45. + .enetsw = {
  46. + .used_ports = {
  47. + [0] = {
  48. + .used = 1,
  49. + .phy_id = 1,
  50. + .name = "Port 1",
  51. + },
  52. + [1] = {
  53. + .used = 1,
  54. + .phy_id = 2,
  55. + .name = "Port 2",
  56. + },
  57. + [2] = {
  58. + .used = 1,
  59. + .phy_id = 3,
  60. + .name = "Port 3",
  61. + },
  62. + [3] = {
  63. + .used = 1,
  64. + .phy_id = 4,
  65. + .name = "Port 4",
  66. + },
  67. + },
  68. + },
  69. +
  70. + .fallback_sprom = {
  71. + .type = SPROM_BCM43225,
  72. + .pci_bus = 1,
  73. + .pci_dev = 0,
  74. + .board_fixups = ar5387un_fixups,
  75. + .num_board_fixups = ARRAY_SIZE(ar5387un_fixups),
  76. + },
  77. +};
  78. +
  79. static struct board_info __initdata board_963281TAN = {
  80. .name = "963281TAN",
  81. .expected_cpu_id = 0x6328,
  82. @@ -1546,6 +1619,7 @@ static const struct board_info __initcon
  83. #endif
  84. #ifdef CONFIG_BCM63XX_CPU_6328
  85. &board_96328avng,
  86. + &board_AR5387un,
  87. &board_963281TAN,
  88. &board_A4001N1,
  89. &board_dsl_274xb_f1,
  90. @@ -1616,6 +1690,7 @@ static struct of_device_id const bcm963x
  91. { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
  92. { .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
  93. { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
  94. + { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
  95. { .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
  96. #endif
  97. #ifdef CONFIG_BCM63XX_CPU_6338