580-board_AD1018.patch 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
  2. +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
  3. @@ -357,6 +357,73 @@ static struct board_info __initdata boar
  4. },
  5. };
  6. +static struct sprom_fixup __initdata ad1018_fixups[] = {
  7. + { .offset = 6, .value = 0x1c00 },
  8. + { .offset = 65, .value = 0x1256 },
  9. + { .offset = 96, .value = 0x2046 },
  10. + { .offset = 97, .value = 0xfe69 },
  11. + { .offset = 98, .value = 0x1726 },
  12. + { .offset = 99, .value = 0xfa5c },
  13. + { .offset = 112, .value = 0x2046 },
  14. + { .offset = 113, .value = 0xfea8 },
  15. + { .offset = 114, .value = 0x1978 },
  16. + { .offset = 115, .value = 0xfa26 },
  17. + { .offset = 161, .value = 0x2222 },
  18. + { .offset = 169, .value = 0x2222 },
  19. + { .offset = 171, .value = 0x2222 },
  20. + { .offset = 173, .value = 0x2222 },
  21. + { .offset = 174, .value = 0x4444 },
  22. + { .offset = 175, .value = 0x2222 },
  23. + { .offset = 176, .value = 0x4444 },
  24. +};
  25. +
  26. +static struct board_info __initdata board_AD1018 = {
  27. + .name = "96328avngr",
  28. + .expected_cpu_id = 0x6328,
  29. +
  30. + .has_pci = 1,
  31. + .use_fallback_sprom = 1,
  32. +
  33. + .has_ohci0 = 1,
  34. + .has_ehci0 = 1,
  35. + .num_usbh_ports = 1,
  36. +
  37. + .has_enetsw = 1,
  38. +
  39. + .enetsw = {
  40. + .used_ports = {
  41. + [0] = {
  42. + .used = 1,
  43. + .phy_id = 1,
  44. + .name = "FIBRE",
  45. + },
  46. + [1] = {
  47. + .used = 1,
  48. + .phy_id = 2,
  49. + .name = "LAN3",
  50. + },
  51. + [2] = {
  52. + .used = 1,
  53. + .phy_id = 3,
  54. + .name = "LAN2",
  55. + },
  56. + [3] = {
  57. + .used = 1,
  58. + .phy_id = 4,
  59. + .name = "LAN1",
  60. + },
  61. + },
  62. + },
  63. +
  64. + .fallback_sprom = {
  65. + .type = SPROM_BCM43217,
  66. + .pci_bus = 1,
  67. + .pci_dev = 0,
  68. + .board_fixups = ad1018_fixups,
  69. + .num_board_fixups = ARRAY_SIZE(ad1018_fixups),
  70. + },
  71. +};
  72. +
  73. static struct sprom_fixup __initdata ar5381u_fixups[] = {
  74. { .offset = 97, .value = 0xfee5 },
  75. { .offset = 98, .value = 0x157c },
  76. @@ -2593,6 +2660,7 @@ static const struct board_info __initcon
  77. #endif
  78. #ifdef CONFIG_BCM63XX_CPU_6328
  79. &board_96328avng,
  80. + &board_AD1018,
  81. &board_AR5381u,
  82. &board_AR5387un,
  83. &board_963281TAN,
  84. @@ -2707,6 +2775,7 @@ static struct of_device_id const bcm963x
  85. { .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
  86. { .compatible = "nucom,r5010unv2", .data = &board_R5010UNV2, },
  87. { .compatible = "sagem,f@st2704v2", .data = &board_FAST2704V2, },
  88. + { .compatible = "sercomm,ad1018-nor", .data = &board_AD1018, },
  89. #endif
  90. #ifdef CONFIG_BCM63XX_CPU_6338
  91. { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },