0018-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini-boards.patch 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. From 1ff9a279dbeb0034929042faef186ce934474c2b Mon Sep 17 00:00:00 2001
  2. From: Linus Walleij <[email protected]>
  3. Date: Fri, 21 Apr 2017 20:50:22 +0200
  4. Subject: [PATCH 18/18] ARM: dts: Add the FOTG210 USB host to Gemini boards
  5. This adds the FOTG210 USB host controller to the Gemini
  6. device trees. In the main SoC DTSI it is flagged as disabled
  7. and then it is selectively enabled on the devices that utilize
  8. it.
  9. Signed-off-by: Linus Walleij <[email protected]>
  10. ---
  11. ChangeLog v1->v2:
  12. - Rebased to kernel v4.19-rc1
  13. - Drop pinctrl-0 handle from the second USB port
  14. - Add comment on how to deal with the USB pin control
  15. ---
  16. arch/arm/boot/dts/gemini-dlink-dir-685.dts | 8 ++++++
  17. arch/arm/boot/dts/gemini-nas4220b.dts | 8 ++++++
  18. arch/arm/boot/dts/gemini-rut1xx.dts | 20 ++++++++++++++
  19. arch/arm/boot/dts/gemini-sl93512r.dts | 8 ++++++
  20. arch/arm/boot/dts/gemini-sq201.dts | 8 ++++++
  21. arch/arm/boot/dts/gemini-wbd111.dts | 8 ++++++
  22. arch/arm/boot/dts/gemini-wbd222.dts | 8 ++++++
  23. arch/arm/boot/dts/gemini.dtsi | 32 ++++++++++++++++++++++
  24. 8 files changed, 100 insertions(+)
  25. --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
  26. +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
  27. @@ -452,5 +452,13 @@
  28. };
  29. };
  30. };
  31. +
  32. + usb@68000000 {
  33. + status = "okay";
  34. + };
  35. +
  36. + usb@69000000 {
  37. + status = "okay";
  38. + };
  39. };
  40. };
  41. --- a/arch/arm/boot/dts/gemini-nas4220b.dts
  42. +++ b/arch/arm/boot/dts/gemini-nas4220b.dts
  43. @@ -204,5 +204,13 @@
  44. ata@63400000 {
  45. status = "okay";
  46. };
  47. +
  48. + usb@68000000 {
  49. + status = "okay";
  50. + };
  51. +
  52. + usb@69000000 {
  53. + status = "okay";
  54. + };
  55. };
  56. };
  57. --- a/arch/arm/boot/dts/gemini-rut1xx.dts
  58. +++ b/arch/arm/boot/dts/gemini-rut1xx.dts
  59. @@ -124,5 +124,25 @@
  60. /* Not used in this platform */
  61. };
  62. };
  63. +
  64. + ethernet@60000000 {
  65. + status = "okay";
  66. +
  67. + ethernet-port@0 {
  68. + phy-mode = "rgmii";
  69. + phy-handle = <&phy0>;
  70. + };
  71. + ethernet-port@1 {
  72. + /* Not used in this platform */
  73. + };
  74. + };
  75. +
  76. + usb@68000000 {
  77. + status = "okay";
  78. + };
  79. +
  80. + usb@69000000 {
  81. + status = "okay";
  82. + };
  83. };
  84. };
  85. --- a/arch/arm/boot/dts/gemini-sl93512r.dts
  86. +++ b/arch/arm/boot/dts/gemini-sl93512r.dts
  87. @@ -324,5 +324,13 @@
  88. ata@63400000 {
  89. status = "okay";
  90. };
  91. +
  92. + usb@68000000 {
  93. + status = "okay";
  94. + };
  95. +
  96. + usb@69000000 {
  97. + status = "okay";
  98. + };
  99. };
  100. };
  101. --- a/arch/arm/boot/dts/gemini-sq201.dts
  102. +++ b/arch/arm/boot/dts/gemini-sq201.dts
  103. @@ -292,5 +292,13 @@
  104. ata@63000000 {
  105. status = "okay";
  106. };
  107. +
  108. + usb@68000000 {
  109. + status = "okay";
  110. + };
  111. +
  112. + usb@69000000 {
  113. + status = "okay";
  114. + };
  115. };
  116. };
  117. --- a/arch/arm/boot/dts/gemini-wbd111.dts
  118. +++ b/arch/arm/boot/dts/gemini-wbd111.dts
  119. @@ -171,5 +171,13 @@
  120. /* Not used in this platform */
  121. };
  122. };
  123. +
  124. + usb@68000000 {
  125. + status = "okay";
  126. + };
  127. +
  128. + usb@69000000 {
  129. + status = "okay";
  130. + };
  131. };
  132. };
  133. --- a/arch/arm/boot/dts/gemini-wbd222.dts
  134. +++ b/arch/arm/boot/dts/gemini-wbd222.dts
  135. @@ -183,5 +183,13 @@
  136. phy-handle = <&phy1>;
  137. };
  138. };
  139. +
  140. + usb@68000000 {
  141. + status = "okay";
  142. + };
  143. +
  144. + usb@69000000 {
  145. + status = "okay";
  146. + };
  147. };
  148. };
  149. --- a/arch/arm/boot/dts/gemini.dtsi
  150. +++ b/arch/arm/boot/dts/gemini.dtsi
  151. @@ -409,5 +409,37 @@
  152. #size-cells = <0>;
  153. status = "disabled";
  154. };
  155. +
  156. + usb@68000000 {
  157. + compatible = "cortina,gemini-usb", "faraday,fotg210";
  158. + reg = <0x68000000 0x1000>;
  159. + interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
  160. + resets = <&syscon GEMINI_RESET_USB0>;
  161. + clocks = <&syscon GEMINI_CLK_GATE_USB0>;
  162. + clock-names = "PCLK";
  163. + /*
  164. + * This will claim pins for USB0 and USB1 at the same
  165. + * time as they are using some common pins. If you for
  166. + * some reason have a system using USB1 at 96000000 but
  167. + * NOT using USB0 at 68000000 you wll have to add the
  168. + * usb_default_pins to the USB controller at 96000000
  169. + * in your .dts for the board.
  170. + */
  171. + pinctrl-names = "default";
  172. + pinctrl-0 = <&usb_default_pins>;
  173. + syscon = <&syscon>;
  174. + status = "disabled";
  175. + };
  176. +
  177. + usb@69000000 {
  178. + compatible = "cortina,gemini-usb", "faraday,fotg210";
  179. + reg = <0x69000000 0x1000>;
  180. + interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
  181. + resets = <&syscon GEMINI_RESET_USB1>;
  182. + clocks = <&syscon GEMINI_CLK_GATE_USB1>;
  183. + clock-names = "PCLK";
  184. + syscon = <&syscon>;
  185. + status = "disabled";
  186. + };
  187. };
  188. };