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