rk3288-veyron-chromebook.dtsi 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. /*
  2. * Google Veyron (and derivatives) board device tree source
  3. *
  4. * Copyright 2014 Google, Inc
  5. *
  6. * SPDX-License-Identifier: GPL-2.0
  7. */
  8. #include <dt-bindings/clock/rockchip,rk808.h>
  9. #include <dt-bindings/input/input.h>
  10. #include "rk3288-veyron.dtsi"
  11. / {
  12. aliases {
  13. i2c20 = &i2c_tunnel;
  14. video0 = &vopl;
  15. video1 = &vopb;
  16. };
  17. gpio_keys: gpio-keys {
  18. pinctrl-0 = <&pwr_key_h &ap_lid_int_l>;
  19. lid {
  20. label = "Lid";
  21. gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  22. linux,code = <0>; /* SW_LID */
  23. linux,input-type = <5>; /* EV_SW */
  24. debounce-interval = <1>;
  25. gpio-key,wakeup;
  26. };
  27. };
  28. gpio-charger {
  29. compatible = "gpio-charger";
  30. gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
  31. pinctrl-names = "default";
  32. pinctrl-0 = <&ac_present_ap>;
  33. charger-type = "mains";
  34. };
  35. /* A non-regulated voltage from power supply or battery */
  36. vccsys: vccsys {
  37. compatible = "regulator-fixed";
  38. regulator-name = "vccsys";
  39. regulator-boot-on;
  40. regulator-always-on;
  41. };
  42. vcc33_sys: vcc33-sys {
  43. vin-supply = <&vccsys>;
  44. };
  45. vcc_5v: vcc-5v {
  46. vin-supply = <&vccsys>;
  47. };
  48. /* This turns on vbus for host1 (dwc2) */
  49. vcc5_host1: vcc5-host1-regulator {
  50. compatible = "regulator-fixed";
  51. enable-active-high;
  52. gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
  53. pinctrl-names = "default";
  54. pinctrl-0 = <&host1_pwr_en>;
  55. regulator-name = "vcc5_host1";
  56. regulator-always-on;
  57. regulator-boot-on;
  58. };
  59. /* This turns on vbus for otg for host mode (dwc2) */
  60. vcc5v_otg: vcc5v-otg-regulator {
  61. compatible = "regulator-fixed";
  62. enable-active-high;
  63. gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
  64. pinctrl-names = "default";
  65. pinctrl-0 = <&usbotg_pwren_h>;
  66. regulator-name = "vcc5_host2";
  67. regulator-always-on;
  68. regulator-boot-on;
  69. };
  70. };
  71. &rk808 {
  72. regulators {
  73. vcc33_ccd: LDO_REG8 {
  74. regulator-always-on;
  75. regulator-boot-on;
  76. regulator-min-microvolt = <3300000>;
  77. regulator-max-microvolt = <3300000>;
  78. regulator-name = "vcc33_ccd";
  79. regulator-suspend-mem-disabled;
  80. };
  81. };
  82. };
  83. &spi0 {
  84. status = "okay";
  85. spi-activate-delay = <100>;
  86. spi-max-frequency = <3000000>;
  87. spi-deactivate-delay = <200>;
  88. cros_ec: ec@0 {
  89. compatible = "google,cros-ec-spi";
  90. spi-max-frequency = <3000000>;
  91. interrupt-parent = <&gpio7>;
  92. interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
  93. ec-interrupt = <&gpio7 7 GPIO_ACTIVE_LOW>;
  94. pinctrl-names = "default";
  95. pinctrl-0 = <&ec_int>;
  96. reg = <0>;
  97. google,cros-ec-spi-pre-delay = <30>;
  98. i2c_tunnel: i2c-tunnel {
  99. compatible = "google,cros-ec-i2c-tunnel";
  100. google,remote-bus = <0>;
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. };
  104. };
  105. };
  106. &i2c4 {
  107. trackpad@15 {
  108. compatible = "elan,i2c_touchpad";
  109. interrupt-parent = <&gpio7>;
  110. interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&trackpad_int>;
  113. reg = <0x15>;
  114. vcc-supply = <&vcc33_io>;
  115. wakeup-source;
  116. };
  117. };
  118. &pinctrl {
  119. pinctrl-0 = <
  120. /* Common for sleep and wake, but no owners */
  121. &ddr0_retention
  122. &ddrio_pwroff
  123. &global_pwroff
  124. /* Wake only */
  125. &suspend_l_wake
  126. &bt_dev_wake_awake
  127. >;
  128. pinctrl-1 = <
  129. /* Common for sleep and wake, but no owners */
  130. &ddr0_retention
  131. &ddrio_pwroff
  132. &global_pwroff
  133. /* Sleep only */
  134. &suspend_l_sleep
  135. &bt_dev_wake_sleep
  136. >;
  137. buttons {
  138. ap_lid_int_l: ap-lid-int-l {
  139. rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_up>;
  140. };
  141. };
  142. charger {
  143. ac_present_ap: ac-present-ap {
  144. rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
  145. };
  146. };
  147. cros-ec {
  148. ec_int: ec-int {
  149. rockchip,pins = <7 7 RK_FUNC_GPIO &pcfg_pull_none>;
  150. };
  151. };
  152. sdmmc {
  153. sdmmc_wp_gpio: sdmmc-wp-gpio {
  154. rockchip,pins = <7 10 RK_FUNC_GPIO &pcfg_pull_up>;
  155. };
  156. };
  157. suspend {
  158. suspend_l_wake: suspend-l-wake {
  159. rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_output_low>;
  160. };
  161. suspend_l_sleep: suspend-l-sleep {
  162. rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_output_high>;
  163. };
  164. };
  165. trackpad {
  166. trackpad_int: trackpad-int {
  167. rockchip,pins = <7 3 RK_FUNC_GPIO &pcfg_pull_up>;
  168. };
  169. };
  170. usb-host {
  171. host1_pwr_en: host1-pwr-en {
  172. rockchip,pins = <0 11 RK_FUNC_GPIO &pcfg_pull_none>;
  173. };
  174. usbotg_pwren_h: usbotg-pwren-h {
  175. rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
  176. };
  177. };
  178. };
  179. #include "cros-ec-keyboard.dtsi"