0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. From 6d5af7093aea4f18e040e73db2ad99aaa0c0f77e Mon Sep 17 00:00:00 2001
  2. From: Linus Walleij <[email protected]>
  3. Date: Sun, 19 Nov 2017 11:04:23 +0100
  4. Subject: [PATCH] ARM: dts: Add ethernet to a bunch of platforms
  5. These platforms have the PHY defined already so we just
  6. need to add a single device node to each of them to activate
  7. the ethernet device.
  8. The PHY skew/delay settings for pin control is known from a
  9. few vendor trees and old OpenWRT patch sets.
  10. This is a modified version of upstream commit
  11. 95220046a62c00b5afb1aa7c1971989d427db977,
  12. just dropping the NAS4220B changes.
  13. Signed-off-by: Linus Walleij <[email protected]>
  14. ---
  15. arch/arm/boot/dts/gemini-dlink-dns-313.dts | 62 ++++++++++++++++++++++++++++++
  16. arch/arm/boot/dts/gemini-wbd222.dts | 7 ++++
  17. 2 files changed, 69 insertions(+)
  18. diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
  19. index 685719a0b8c0..df46375457b6 100644
  20. --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
  21. +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
  22. @@ -215,6 +215,56 @@
  23. groups = "gpio1dgrp";
  24. };
  25. };
  26. + pinctrl-gmii {
  27. + mux {
  28. + function = "gmii";
  29. + groups = "gmii_gmac0_grp";
  30. + };
  31. + /*
  32. + * In the vendor Linux tree, these values are set for the C3
  33. + * version of the SL3512 ASIC with the comment "benson suggest"
  34. + */
  35. + conf0 {
  36. + pins = "R8 GMAC0 RXDV", "U11 GMAC1 RXDV";
  37. + skew-delay = <0>;
  38. + };
  39. + conf1 {
  40. + pins = "T8 GMAC0 RXC";
  41. + skew-delay = <10>;
  42. + };
  43. + conf2 {
  44. + pins = "T11 GMAC1 RXC";
  45. + skew-delay = <15>;
  46. + };
  47. + conf3 {
  48. + pins = "P8 GMAC0 TXEN", "V11 GMAC1 TXEN";
  49. + skew-delay = <7>;
  50. + };
  51. + conf4 {
  52. + pins = "V7 GMAC0 TXC", "P10 GMAC1 TXC";
  53. + skew-delay = <10>;
  54. + };
  55. + conf5 {
  56. + /* The data lines all have default skew */
  57. + pins = "U8 GMAC0 RXD0", "V8 GMAC0 RXD1",
  58. + "P9 GMAC0 RXD2", "R9 GMAC0 RXD3",
  59. + "R11 GMAC1 RXD0", "P11 GMAC1 RXD1",
  60. + "V12 GMAC1 RXD2", "U12 GMAC1 RXD3",
  61. + "R10 GMAC1 TXD0", "T10 GMAC1 TXD1",
  62. + "U10 GMAC1 TXD2", "V10 GMAC1 TXD3";
  63. + skew-delay = <7>;
  64. + };
  65. + conf6 {
  66. + pins = "U7 GMAC0 TXD0", "T7 GMAC0 TXD1",
  67. + "R7 GMAC0 TXD2", "P7 GMAC0 TXD3";
  68. + skew-delay = <5>;
  69. + };
  70. + /* Set up drive strength on GMAC0 to 16 mA */
  71. + conf7 {
  72. + groups = "gmii_gmac0_grp";
  73. + drive-strength = <16>;
  74. + };
  75. + };
  76. };
  77. };
  78. @@ -235,6 +285,18 @@
  79. pinctrl-0 = <&gpio1_default_pins>;
  80. };
  81. + ethernet@60000000 {
  82. + status = "okay";
  83. +
  84. + ethernet-port@0 {
  85. + phy-mode = "rgmii";
  86. + phy-handle = <&phy0>;
  87. + };
  88. + ethernet-port@1 {
  89. + /* Not used in this platform */
  90. + };
  91. + };
  92. +
  93. ata@63000000 {
  94. status = "okay";
  95. };
  96. diff --git a/arch/arm/boot/dts/gemini-wbd222.dts b/arch/arm/boot/dts/gemini-wbd222.dts
  97. index 0678d3beb51d..820978d20166 100644
  98. --- a/arch/arm/boot/dts/gemini-wbd222.dts
  99. +++ b/arch/arm/boot/dts/gemini-wbd222.dts
  100. @@ -136,6 +136,13 @@
  101. "gpio0bgrp";
  102. };
  103. };
  104. + pinctrl-gmii {
  105. + /* This platform use both the ethernet ports */
  106. + mux {
  107. + function = "gmii";
  108. + groups = "gmii_gmac0_grp", "gmii_gmac1_grp";
  109. + };
  110. + };
  111. };
  112. };
  113. --
  114. 2.14.3