Advertisement
hanni76

opi pc dts

Mar 12th, 2018
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.69 KB | None | 0 0
  1. /*
  2. * Copyright (C) 2015 Chen-Yu Tsai <wens@csie.org>
  3. *
  4. * This file is dual-licensed: you can use it either under the terms
  5. * of the GPL or the X11 license, at your option. Note that this dual
  6. * licensing only applies to this file, and not this project as a
  7. * whole.
  8. *
  9. * a) This file is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License as
  11. * published by the Free Software Foundation; either version 2 of the
  12. * License, or (at your option) any later version.
  13. *
  14. * This file is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * Or, alternatively,
  20. *
  21. * b) Permission is hereby granted, free of charge, to any person
  22. * obtaining a copy of this software and associated documentation
  23. * files (the "Software"), to deal in the Software without
  24. * restriction, including without limitation the rights to use,
  25. * copy, modify, merge, publish, distribute, sublicense, and/or
  26. * sell copies of the Software, and to permit persons to whom the
  27. * Software is furnished to do so, subject to the following
  28. * conditions:
  29. *
  30. * The above copyright notice and this permission notice shall be
  31. * included in all copies or substantial portions of the Software.
  32. *
  33. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  34. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  35. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  36. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  37. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  38. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  39. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  40. * OTHER DEALINGS IN THE SOFTWARE.
  41. */
  42.  
  43. /dts-v1/;
  44. #include "sun8i-h3.dtsi"
  45. #include "sunxi-common-regulators.dtsi"
  46.  
  47. #include <dt-bindings/gpio/gpio.h>
  48. #include <dt-bindings/input/input.h>
  49.  
  50. / {
  51. model = "Xunlong Orange Pi PC";
  52. compatible = "xunlong,orangepi-pc", "allwinner,sun8i-h3";
  53.  
  54. aliases {
  55. ethernet0 = &emac;
  56. serial0 = &uart0;
  57. };
  58.  
  59. chosen {
  60. stdout-path = "serial0:115200n8";
  61. };
  62.  
  63. hdmi_connector {
  64. compatible = "hdmi-connector";
  65. type = "a";
  66.  
  67. port {
  68. hdmi_con_in: endpoint {
  69. remote-endpoint = <&hdmi_out_con>;
  70. };
  71. };
  72. };
  73.  
  74. leds {
  75. compatible = "gpio-leds";
  76. pinctrl-names = "default";
  77. pinctrl-0 = <&leds_opc>, <&leds_r_opc>;
  78.  
  79. pwr_led {
  80. label = "orangepi:green:pwr";
  81. gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
  82. default-state = "on";
  83. };
  84.  
  85. status_led {
  86. label = "orangepi:red:status";
  87. gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>;
  88. };
  89. };
  90.  
  91. r_gpio_keys {
  92. compatible = "gpio-keys";
  93. pinctrl-names = "default";
  94. pinctrl-0 = <&sw_r_opc>;
  95.  
  96. sw4 {
  97. label = "sw4";
  98. linux,code = <BTN_0>;
  99. gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
  100. };
  101. };
  102. };
  103.  
  104. &codec {
  105. allwinner,audio-routing =
  106. "Line Out", "LINEOUT",
  107. "MIC1", "Mic",
  108. "Mic", "MBIAS";
  109. status = "okay";
  110. };
  111.  
  112. &de {
  113. status = "okay";
  114. };
  115.  
  116. &cpu0 {
  117. cpu-supply = <&reg_sy8106a>;
  118. };
  119.  
  120. &ehci0 {
  121. status = "okay";
  122. };
  123.  
  124. &ehci1 {
  125. status = "okay";
  126. };
  127.  
  128. &ehci2 {
  129. status = "okay";
  130. };
  131.  
  132. &ehci3 {
  133. status = "okay";
  134. };
  135.  
  136. &emac {
  137. phy-handle = <&int_mii_phy>;
  138. phy-mode = "mii";
  139. allwinner,leds-active-low;
  140. status = "okay";
  141. };
  142.  
  143. &hdmi {
  144. status = "okay";
  145. };
  146.  
  147. &hdmi_out {
  148. hdmi_out_con: endpoint {
  149. remote-endpoint = <&hdmi_con_in>;
  150. };
  151. };
  152.  
  153. &ir {
  154. pinctrl-names = "default";
  155. pinctrl-0 = <&ir_pins_a>;
  156. status = "okay";
  157. };
  158.  
  159. &mixer0 {
  160. status = "okay";
  161. };
  162.  
  163. &mmc0 {
  164. pinctrl-names = "default";
  165. pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
  166. vmmc-supply = <&reg_vcc3v3>;
  167. bus-width = <4>;
  168. cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
  169. cd-inverted;
  170. status = "okay";
  171. };
  172.  
  173. &ohci0 {
  174. status = "okay";
  175. };
  176.  
  177. &ohci1 {
  178. status = "okay";
  179. };
  180.  
  181. &ohci2 {
  182. status = "okay";
  183. };
  184.  
  185. &ohci3 {
  186. status = "okay";
  187. };
  188.  
  189. &pio {
  190. leds_opc: led_pins {
  191. pins = "PA15";
  192. function = "gpio_out";
  193. };
  194. };
  195.  
  196. &r_i2c {
  197. status = "okay";
  198.  
  199. reg_sy8106a: regulator@65 {
  200. compatible = "silergy,sy8106a";
  201. reg = <0x65>;
  202. regulator-name = "vdd-cpux";
  203. /*
  204. * The datasheet uses 1.1V as the minimum value of VDD-CPUX,
  205. * however both the Armbian DVFS table and the official one
  206. * have operating points with voltage under 1.1V, and both
  207. * DVFS table are known to work properly at the lowest
  208. * operating point.
  209. *
  210. * Use 1.0V as the minimum voltage instead.
  211. */
  212. regulator-min-microvolt = <1000000>;
  213. regulator-max-microvolt = <1300000>;
  214. regulator-boot-on;
  215. regulator-always-on;
  216. };
  217. };
  218.  
  219. &r_pio {
  220. leds_r_opc: led_pins {
  221. pins = "PL10";
  222. function = "gpio_out";
  223. };
  224.  
  225. sw_r_opc: key_pins {
  226. pins = "PL3";
  227. function = "gpio_in";
  228. };
  229. };
  230.  
  231. &reg_usb0_vbus {
  232. gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
  233. status = "okay";
  234. };
  235.  
  236. &tcon0 {
  237. status = "okay";
  238. };
  239.  
  240. &uart0 {
  241. pinctrl-names = "default";
  242. pinctrl-0 = <&uart0_pins_a>;
  243. status = "okay";
  244. };
  245.  
  246. &uart1 {
  247. pinctrl-names = "default";
  248. pinctrl-0 = <&uart1_pins>;
  249. status = "disabled";
  250. };
  251.  
  252. &uart2 {
  253. pinctrl-names = "default";
  254. pinctrl-0 = <&uart2_pins>;
  255. status = "disabled";
  256. };
  257.  
  258. &uart3 {
  259. pinctrl-names = "default";
  260. pinctrl-0 = <&uart3_pins>;
  261. status = "disabled";
  262. };
  263.  
  264. &usb_otg {
  265. dr_mode = "otg";
  266. status = "okay";
  267. };
  268.  
  269. &usbphy {
  270. usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
  271. usb0_vbus-supply = <&reg_usb0_vbus>;
  272. /* VBUS on USB host ports are always on */
  273. status = "okay";
  274. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement