rk3399-sapphire-excavator.dts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
  4. */
  5. /dts-v1/;
  6. #include "rk3399-sapphire.dtsi"
  7. / {
  8. model = "Excavator-RK3399 Board";
  9. compatible = "rockchip,rk3399-sapphire-excavator", "rockchip,rk3399";
  10. adc-keys {
  11. compatible = "adc-keys";
  12. io-channels = <&saradc 1>;
  13. io-channel-names = "buttons";
  14. keyup-threshold-microvolt = <1800000>;
  15. poll-interval = <100>;
  16. button-up {
  17. label = "Volume Up";
  18. linux,code = <KEY_VOLUMEUP>;
  19. press-threshold-microvolt = <100000>;
  20. };
  21. button-down {
  22. label = "Volume Down";
  23. linux,code = <KEY_VOLUMEDOWN>;
  24. press-threshold-microvolt = <300000>;
  25. };
  26. back {
  27. label = "Back";
  28. linux,code = <KEY_BACK>;
  29. press-threshold-microvolt = <985000>;
  30. };
  31. menu {
  32. label = "Menu";
  33. linux,code = <KEY_MENU>;
  34. press-threshold-microvolt = <1314000>;
  35. };
  36. };
  37. edp_panel: edp-panel {
  38. compatible ="lg,lp079qx1-sp0v", "simple-panel";
  39. backlight = <&backlight>;
  40. enable-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
  41. pinctrl-names = "default";
  42. pinctrl-0 = <&lcd_panel_reset>;
  43. power-supply = <&vcc3v3_s0>;
  44. port {
  45. panel_in_edp: endpoint {
  46. remote-endpoint = <&edp_out_panel>;
  47. };
  48. };
  49. };
  50. rt5651-sound {
  51. compatible = "simple-audio-card";
  52. simple-audio-card,name = "realtek,rt5651-codec";
  53. simple-audio-card,format = "i2s";
  54. simple-audio-card,mclk-fs = <256>;
  55. simple-audio-card,widgets =
  56. "Microphone", "Mic Jack",
  57. "Headphone", "Headphone Jack";
  58. simple-audio-card,routing =
  59. "Mic Jack", "MICBIAS1",
  60. "IN1P", "Mic Jack",
  61. "Headphone Jack", "HPOL",
  62. "Headphone Jack", "HPOR";
  63. simple-audio-card,cpu {
  64. sound-dai = <&i2s0>;
  65. };
  66. simple-audio-card,codec {
  67. sound-dai = <&rt5651>;
  68. };
  69. };
  70. sdio_pwrseq: sdio-pwrseq {
  71. compatible = "mmc-pwrseq-simple";
  72. clocks = <&rk808 1>;
  73. clock-names = "ext_clock";
  74. pinctrl-names = "default";
  75. pinctrl-0 = <&wifi_enable_h>;
  76. /*
  77. * On the module itself this is one of these (depending
  78. * on the actual card populated):
  79. * - SDIO_RESET_L_WL_REG_ON
  80. * - PDN (power down when low)
  81. */
  82. reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
  83. };
  84. };
  85. &backlight {
  86. enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
  87. status = "okay";
  88. };
  89. &edp {
  90. status = "okay";
  91. ports {
  92. edp_out: port@1 {
  93. reg = <1>;
  94. #address-cells = <1>;
  95. #size-cells = <0>;
  96. edp_out_panel: endpoint@0 {
  97. reg = <0>;
  98. remote-endpoint = <&panel_in_edp>;
  99. };
  100. };
  101. };
  102. };
  103. &i2c1 {
  104. i2c-scl-rising-time-ns = <300>;
  105. i2c-scl-falling-time-ns = <15>;
  106. status = "okay";
  107. rt5651: rt5651@1a {
  108. compatible = "rockchip,rt5651";
  109. reg = <0x1a>;
  110. clocks = <&cru SCLK_I2S_8CH_OUT>;
  111. clock-names = "mclk";
  112. hp-det-gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_LOW>;
  113. spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
  114. #sound-dai-cells = <0>;
  115. };
  116. };
  117. &i2c4 {
  118. i2c-scl-rising-time-ns = <600>;
  119. i2c-scl-falling-time-ns = <20>;
  120. status = "okay";
  121. accelerometer@68 {
  122. compatible = "invensense,mpu6500";
  123. reg = <0x68>;
  124. interrupt-parent = <&gpio1>;
  125. interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>;
  126. };
  127. };
  128. &i2s0 {
  129. rockchip,playback-channels = <8>;
  130. rockchip,capture-channels = <8>;
  131. status = "okay";
  132. };
  133. &pcie_phy {
  134. status = "okay";
  135. };
  136. &pcie0 {
  137. ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
  138. num-lanes = <4>;
  139. pinctrl-names = "default";
  140. pinctrl-0 = <&pcie_clkreqn_cpm>;
  141. status = "okay";
  142. };
  143. &pinctrl {
  144. sdio-pwrseq {
  145. wifi_enable_h: wifi-enable-h {
  146. rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  147. };
  148. };
  149. lcd-panel {
  150. lcd_panel_reset: lcd-panel-reset {
  151. rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
  152. };
  153. };
  154. };
  155. &sdio0 {
  156. bus-width = <4>;
  157. cap-sd-highspeed;
  158. cap-sdio-irq;
  159. clock-frequency = <50000000>;
  160. disable-wp;
  161. keep-power-in-suspend;
  162. max-frequency = <50000000>;
  163. mmc-pwrseq = <&sdio_pwrseq>;
  164. non-removable;
  165. pinctrl-names = "default";
  166. pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
  167. sd-uhs-sdr104;
  168. status = "okay";
  169. };
  170. &spdif {
  171. i2c-scl-rising-time-ns = <450>;
  172. i2c-scl-falling-time-ns = <15>;
  173. status = "okay";
  174. };