1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/* 3 * Copyright 2024 Google LLC 4 */ 5 6/dts-v1/; 7#include "mt8186-corsola.dtsi" 8 9/ { 10 /delete-node/ speaker-codec; 11 12 pp1000_edpbrdg: regulator-pp1000-edpbrdg { 13 compatible = "regulator-fixed"; 14 regulator-name = "pp1000_edpbrdg"; 15 pinctrl-names = "default"; 16 pinctrl-0 = <&en_pp1000_edpbrdg>; 17 enable-active-high; 18 regulator-boot-on; 19 gpio = <&pio 29 GPIO_ACTIVE_HIGH>; 20 vin-supply = <&pp3300_z2>; 21 }; 22 23 pp1800_edpbrdg_dx: regulator-pp1800-edpbrdg-dx { 24 compatible = "regulator-fixed"; 25 regulator-name = "pp1800_edpbrdg_dx"; 26 pinctrl-names = "default"; 27 pinctrl-0 = <&en_pp1800_edpbrdg>; 28 enable-active-high; 29 regulator-boot-on; 30 gpio = <&pio 30 GPIO_ACTIVE_HIGH>; 31 vin-supply = <&mt6366_vio18_reg>; 32 }; 33 34 pp3300_edp_dx: regulator-pp3300-edp-dx { 35 compatible = "regulator-fixed"; 36 regulator-name = "pp3300_edp_dx"; 37 pinctrl-names = "default"; 38 pinctrl-0 = <&en_pp3300_edpbrdg>; 39 enable-active-high; 40 regulator-boot-on; 41 gpio = <&pio 31 GPIO_ACTIVE_HIGH>; 42 vin-supply = <&pp3300_z2>; 43 }; 44 45 pp1800_tchscr_report_disable: regulator-pp1800-tchscr-report-disable { 46 compatible = "regulator-fixed"; 47 regulator-name = "pp1800_tchscr_report_disable"; 48 pinctrl-names = "default"; 49 regulator-boot-on; 50 pinctrl-0 = <&touch_pin_report>; 51 gpio = <&pio 37 GPIO_ACTIVE_LOW>; 52 }; 53}; 54 55&dsi_out { 56 remote-endpoint = <&anx7625_in>; 57}; 58 59&i2c0 { 60 clock-frequency = <400000>; 61 62 anx_bridge: anx7625@58 { 63 compatible = "analogix,anx7625"; 64 reg = <0x58>; 65 pinctrl-names = "default"; 66 pinctrl-0 = <&anx7625_pins>; 67 enable-gpios = <&pio 96 GPIO_ACTIVE_HIGH>; 68 reset-gpios = <&pio 98 GPIO_ACTIVE_HIGH>; 69 vdd10-supply = <&pp1000_edpbrdg>; 70 vdd18-supply = <&pp1800_edpbrdg_dx>; 71 vdd33-supply = <&pp3300_edp_dx>; 72 analogix,lane0-swing = /bits/ 8 <0x70 0x30>; 73 analogix,lane1-swing = /bits/ 8 <0x70 0x30>; 74 75 ports { 76 #address-cells = <1>; 77 #size-cells = <0>; 78 79 port@0 { 80 reg = <0>; 81 82 anx7625_in: endpoint { 83 remote-endpoint = <&dsi_out>; 84 data-lanes = <0 1 2 3>; 85 }; 86 }; 87 88 port@1 { 89 reg = <1>; 90 91 anx7625_out: endpoint { 92 remote-endpoint = <&panel_in>; 93 }; 94 }; 95 }; 96 97 aux-bus { 98 panel: panel { 99 compatible = "edp-panel"; 100 power-supply = <&pp3300_disp_x>; 101 backlight = <&backlight_lcd0>; 102 103 port { 104 panel_in: endpoint { 105 remote-endpoint = <&anx7625_out>; 106 }; 107 }; 108 }; 109 }; 110 }; 111}; 112 113&i2c2 { 114 /delete-node/ trackpad@15; 115 116 touchpad@15 { 117 compatible = "hid-over-i2c"; 118 reg = <0x15>; 119 interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>; 120 post-power-on-delay-ms = <10>; 121 hid-descr-addr = <0x0001>; 122 vdd-supply = <&pp3300_s3>; 123 wakeup-source; 124 }; 125}; 126 127&i2c5 { 128 clock-frequency = <400000>; 129 /delete-node/ codec@1a; 130 131 rt5650: rt5650@1a { 132 compatible = "realtek,rt5650"; 133 reg = <0x1a>; 134 avdd-supply = <&mt6366_vio18_reg>; 135 cpvdd-supply = <&mt6366_vio18_reg>; 136 pinctrl-names = "default"; 137 pinctrl-0 = <&speaker_codec_pins_default>; 138 cbj-sleeve-gpios = <&pio 150 GPIO_ACTIVE_HIGH>; 139 interrupt-parent = <&pio>; 140 interrupts = <17 IRQ_TYPE_EDGE_BOTH>; 141 #sound-dai-cells = <0>; 142 realtek,dmic1-data-pin = <2>; 143 realtek,jd-mode = <2>; 144 }; 145}; 146 147&i2c_tunnel { 148 /delete-node/ sbs-battery@b; 149 150 battery: sbs-battery@f { 151 compatible = "sbs,sbs-battery"; 152 reg = <0xf>; 153 sbs,i2c-retry-count = <2>; 154 sbs,poll-retry-count = <1>; 155 }; 156}; 157 158&keyboard_controller { 159 keypad,num-columns = <15>; 160 161 function-row-physmap = < 162 MATRIX_KEY(0x00, 0x02, 0) /* T1 */ 163 MATRIX_KEY(0x03, 0x02, 0) /* T2 */ 164 MATRIX_KEY(0x02, 0x02, 0) /* T3 */ 165 MATRIX_KEY(0x01, 0x02, 0) /* T4 */ 166 MATRIX_KEY(0x03, 0x04, 0) /* T5 */ 167 MATRIX_KEY(0x02, 0x04, 0) /* T6 */ 168 MATRIX_KEY(0x01, 0x04, 0) /* T7 */ 169 MATRIX_KEY(0x02, 0x09, 0) /* T8 */ 170 MATRIX_KEY(0x01, 0x09, 0) /* T9 */ 171 MATRIX_KEY(0x00, 0x04, 0) /* T10 */ 172 MATRIX_KEY(0x00, 0x01, 0) /* T11 */ 173 MATRIX_KEY(0x01, 0x05, 0) /* T12 */ 174 >; 175 176 linux,keymap = < 177 CROS_STD_MAIN_KEYMAP 178 MATRIX_KEY(0x00, 0x02, KEY_BACK) /* T1 */ 179 MATRIX_KEY(0x03, 0x02, KEY_REFRESH) /* T2 */ 180 MATRIX_KEY(0x02, 0x02, KEY_ZOOM) /* T3 */ 181 MATRIX_KEY(0x01, 0x02, KEY_SCALE) /* T4 */ 182 MATRIX_KEY(0x03, 0x04, KEY_SYSRQ) /* T5 */ 183 MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN) /* T6 */ 184 MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP) /* T7 */ 185 MATRIX_KEY(0x02, 0x09, KEY_MUTE) /* T8 */ 186 MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN) /* T9 */ 187 MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP) /* T10 */ 188 MATRIX_KEY(0x00, 0x01, KEY_MICMUTE) /* T11 */ 189 MATRIX_KEY(0x01, 0x05, KEY_CONTROLPANEL) /* T12 */ 190 MATRIX_KEY(0x03, 0x05, KEY_PREVIOUSSONG) /* T13 */ 191 MATRIX_KEY(0x00, 0x09, KEY_PLAYPAUSE) /* T14 */ 192 MATRIX_KEY(0x00, 0x0b, KEY_NEXTSONG) /* T15 */ 193 MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Search*/ 194 MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* Left Control*/ 195 MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* Left ALT*/ 196 MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* Right Control*/ 197 MATRIX_KEY(0x06, 0x0a, KEY_BACKSLASH) /* BACKSLASH*/ 198 >; 199}; 200 201&mmc1_pins_default { 202 pins-clk { 203 drive-strength = <8>; 204 }; 205 206 pins-cmd-dat { 207 drive-strength = <8>; 208 }; 209}; 210 211&mmc1_pins_uhs { 212 pins-clk { 213 drive-strength = <8>; 214 }; 215 216 pins-cmd-dat { 217 drive-strength = <8>; 218 }; 219}; 220 221&pen_insert { 222 wakeup-event-action = <EV_ACT_ANY>; 223}; 224 225&pio { 226 anx7625_pins: anx7625-pins { 227 pins-int { 228 pinmux = <PINMUX_GPIO9__FUNC_GPIO9>; 229 input-enable; 230 bias-disable; 231 }; 232 233 pins-reset { 234 pinmux = <PINMUX_GPIO98__FUNC_GPIO98>; 235 output-low; 236 }; 237 238 pins-power-en { 239 pinmux = <PINMUX_GPIO96__FUNC_GPIO96>; 240 output-low; 241 }; 242 }; 243 244 en_pp1000_edpbrdg: pp1000-edpbrdg-en-pins { 245 pins-vreg-en { 246 pinmux = <PINMUX_GPIO29__FUNC_GPIO29>; 247 output-low; 248 }; 249 }; 250 251 en_pp1800_edpbrdg: pp1800-edpbrdg-en-pins { 252 pins-vreg-en { 253 pinmux = <PINMUX_GPIO30__FUNC_GPIO30>; 254 output-low; 255 }; 256 }; 257 258 en_pp3300_edpbrdg: pp3300-edpbrdg-en-pins { 259 pins-vreg-en { 260 pinmux = <PINMUX_GPIO31__FUNC_GPIO31>; 261 output-low; 262 }; 263 }; 264 265 touch_pin_report: pin-report-pins { 266 pins-touch-en { 267 pinmux = <PINMUX_GPIO37__FUNC_GPIO37>; 268 output-low; 269 }; 270 }; 271}; 272 273&sound { 274 compatible = "mediatek,mt8186-mt6366-rt5650-sound"; 275 model = "mt8186_rt5650"; 276 mediatek,adsp = <&adsp>; 277 278 audio-routing = 279 "Headphone", "HPOL", 280 "Headphone", "HPOR", 281 "IN1P", "Headset Mic", 282 "IN1N", "Headset Mic", 283 "Speakers", "SPOL", 284 "Speakers", "SPOR", 285 "HDMI1", "TX"; 286 287 hs-playback-dai-link { 288 codec { 289 sound-dai = <&rt5650>; 290 }; 291 }; 292 293 hs-capture-dai-link { 294 codec { 295 sound-dai = <&rt5650>; 296 }; 297 }; 298 299 spk-share-dai-link { 300 }; 301 302 spk-hdmi-playback-dai-link { 303 codec { 304 sound-dai = <&it6505dptx>; 305 }; 306 }; 307}; 308 309&touchscreen_pins { 310 /delete-node/ pins-report-sw; 311}; 312 313&wifi_enable_pin { 314 pins-wifi-enable { 315 pinmux = <PINMUX_GPIO51__FUNC_GPIO51>; 316 }; 317}; 318 319&wifi_pwrseq { 320 reset-gpios = <&pio 51 GPIO_ACTIVE_LOW>; 321}; 322