1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022, Matti Lehtimäki <matti.lehtimaki@gmail.com> 4 */ 5 6#include <dt-bindings/input/input.h> 7#include "qcom-msm8226.dtsi" 8#include "pm8226.dtsi" 9 10/delete-node/ &adsp_region; 11/delete-node/ &smem_region; 12 13/ { 14 aliases { 15 mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 16 mmc1 = &sdhc_2; /* SDC2 SD card slot */ 17 display0 = &framebuffer0; 18 }; 19 20 chosen { 21 #address-cells = <1>; 22 #size-cells = <1>; 23 ranges; 24 25 stdout-path = "display0"; 26 27 framebuffer0: framebuffer@3200000 { 28 compatible = "simple-framebuffer"; 29 reg = <0x03200000 0x800000>; 30 width = <1280>; 31 height = <800>; 32 stride = <(1280 * 3)>; 33 format = "r8g8b8"; 34 }; 35 }; 36 37 gpio-hall-sensor { 38 compatible = "gpio-keys"; 39 40 event-hall-sensor { 41 label = "Hall Effect Sensor"; 42 gpios = <&tlmm 110 GPIO_ACTIVE_LOW>; 43 linux,input-type = <EV_SW>; 44 linux,code = <SW_LID>; 45 debounce-interval = <15>; 46 linux,can-disable; 47 wakeup-source; 48 }; 49 }; 50 51 gpio-keys { 52 compatible = "gpio-keys"; 53 autorepeat; 54 55 key-home { 56 label = "Home"; 57 gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; 58 linux,code = <KEY_HOMEPAGE>; 59 debounce-interval = <15>; 60 }; 61 62 key-volume-down { 63 label = "Volume Down"; 64 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 65 linux,code = <KEY_VOLUMEDOWN>; 66 debounce-interval = <15>; 67 }; 68 69 key-volume-up { 70 label = "Volume Up"; 71 gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; 72 linux,code = <KEY_VOLUMEUP>; 73 debounce-interval = <15>; 74 }; 75 }; 76 77 i2c-backlight { 78 compatible = "i2c-gpio"; 79 sda-gpios = <&tlmm 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 80 scl-gpios = <&tlmm 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 81 82 pinctrl-0 = <&backlight_i2c_default_state>; 83 pinctrl-names = "default"; 84 85 i2c-gpio,delay-us = <4>; 86 87 #address-cells = <1>; 88 #size-cells = <0>; 89 90 backlight@2c { 91 compatible = "ti,lp8556"; 92 reg = <0x2c>; 93 94 dev-ctrl = /bits/ 8 <0x80>; 95 init-brt = /bits/ 8 <0x3f>; 96 97 pwms = <&backlight_pwm 0 100000>; 98 pwm-names = "lp8556"; 99 100 rom-a0h { 101 rom-addr = /bits/ 8 <0xa0>; 102 rom-val = /bits/ 8 <0x44>; 103 }; 104 105 rom-a1h { 106 rom-addr = /bits/ 8 <0xa1>; 107 rom-val = /bits/ 8 <0x6c>; 108 }; 109 110 rom-a5h { 111 rom-addr = /bits/ 8 <0xa5>; 112 rom-val = /bits/ 8 <0x24>; 113 }; 114 }; 115 }; 116 117 backlight_pwm: pwm { 118 compatible = "clk-pwm"; 119 #pwm-cells = <2>; 120 clocks = <&mmcc CAMSS_GP0_CLK>; 121 pinctrl-0 = <&backlight_pwm_default_state>; 122 pinctrl-names = "default"; 123 }; 124 125 reg_tsp_1p8v: regulator-tsp-1p8v { 126 compatible = "regulator-fixed"; 127 regulator-name = "tsp_1p8v"; 128 regulator-min-microvolt = <1800000>; 129 regulator-max-microvolt = <1800000>; 130 131 gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>; 132 enable-active-high; 133 134 pinctrl-names = "default"; 135 pinctrl-0 = <&tsp_en_default_state>; 136 }; 137 138 reserved-memory { 139 #address-cells = <1>; 140 #size-cells = <1>; 141 ranges; 142 143 framebuffer@3200000 { 144 reg = <0x03200000 0x800000>; 145 no-map; 146 }; 147 148 mpss@8400000 { 149 reg = <0x08400000 0x1f00000>; 150 no-map; 151 }; 152 153 mba@a300000 { 154 reg = <0x0a300000 0x100000>; 155 no-map; 156 }; 157 158 reserved@cb00000 { 159 reg = <0x0cb00000 0x700000>; 160 no-map; 161 }; 162 163 wcnss@d200000 { 164 reg = <0x0d200000 0x700000>; 165 no-map; 166 }; 167 168 adsp_region: adsp@d900000 { 169 reg = <0x0d900000 0x1800000>; 170 no-map; 171 }; 172 173 venus@f100000 { 174 reg = <0x0f100000 0x500000>; 175 no-map; 176 }; 177 178 smem_region: smem@fa00000 { 179 reg = <0x0fa00000 0x100000>; 180 no-map; 181 }; 182 183 reserved@fb00000 { 184 reg = <0x0fb00000 0x260000>; 185 no-map; 186 }; 187 188 rfsa@fd60000 { 189 reg = <0x0fd60000 0x20000>; 190 no-map; 191 }; 192 193 rmtfs@fd80000 { 194 compatible = "qcom,rmtfs-mem"; 195 reg = <0x0fd80000 0x180000>; 196 no-map; 197 198 qcom,client-id = <1>; 199 }; 200 }; 201}; 202 203&adsp { 204 status = "okay"; 205}; 206 207&blsp1_i2c4 { 208 status = "okay"; 209 210 muic: usb-switch@25 { 211 compatible = "siliconmitus,sm5502-muic"; 212 reg = <0x25>; 213 214 interrupt-parent = <&tlmm>; 215 interrupts = <67 IRQ_TYPE_EDGE_FALLING>; 216 217 pinctrl-names = "default"; 218 pinctrl-0 = <&muic_int_default_state>; 219 }; 220}; 221 222&blsp1_uart3 { 223 status = "okay"; 224}; 225 226&rpm_requests { 227 regulators { 228 compatible = "qcom,rpm-pm8226-regulators"; 229 230 pm8226_s3: s3 { 231 regulator-min-microvolt = <1200000>; 232 regulator-max-microvolt = <1300000>; 233 }; 234 235 pm8226_s4: s4 { 236 regulator-min-microvolt = <1800000>; 237 regulator-max-microvolt = <2200000>; 238 }; 239 240 pm8226_s5: s5 { 241 regulator-min-microvolt = <1150000>; 242 regulator-max-microvolt = <1150000>; 243 }; 244 245 pm8226_l1: l1 { 246 regulator-min-microvolt = <1225000>; 247 regulator-max-microvolt = <1225000>; 248 }; 249 250 pm8226_l2: l2 { 251 regulator-min-microvolt = <1200000>; 252 regulator-max-microvolt = <1200000>; 253 }; 254 255 pm8226_l3: l3 { 256 regulator-min-microvolt = <750000>; 257 regulator-max-microvolt = <1350000>; 258 regulator-always-on; 259 }; 260 261 pm8226_l4: l4 { 262 regulator-min-microvolt = <1200000>; 263 regulator-max-microvolt = <1200000>; 264 }; 265 266 pm8226_l5: l5 { 267 regulator-min-microvolt = <1200000>; 268 regulator-max-microvolt = <1200000>; 269 }; 270 271 pm8226_l6: l6 { 272 regulator-min-microvolt = <1800000>; 273 regulator-max-microvolt = <1800000>; 274 regulator-always-on; 275 }; 276 277 pm8226_l7: l7 { 278 regulator-min-microvolt = <1850000>; 279 regulator-max-microvolt = <1850000>; 280 }; 281 282 pm8226_l8: l8 { 283 regulator-min-microvolt = <1800000>; 284 regulator-max-microvolt = <1800000>; 285 regulator-always-on; 286 }; 287 288 pm8226_l9: l9 { 289 regulator-min-microvolt = <2050000>; 290 regulator-max-microvolt = <2050000>; 291 }; 292 293 pm8226_l10: l10 { 294 regulator-min-microvolt = <1800000>; 295 regulator-max-microvolt = <1800000>; 296 }; 297 298 pm8226_l12: l12 { 299 regulator-min-microvolt = <1800000>; 300 regulator-max-microvolt = <1800000>; 301 }; 302 303 pm8226_l14: l14 { 304 regulator-min-microvolt = <2750000>; 305 regulator-max-microvolt = <2750000>; 306 }; 307 308 pm8226_l15: l15 { 309 regulator-min-microvolt = <1800000>; 310 regulator-max-microvolt = <3300000>; 311 }; 312 313 pm8226_l16: l16 { 314 regulator-min-microvolt = <3000000>; 315 regulator-max-microvolt = <3350000>; 316 }; 317 318 pm8226_l17: l17 { 319 regulator-min-microvolt = <2950000>; 320 regulator-max-microvolt = <2950000>; 321 322 regulator-system-load = <200000>; 323 regulator-allow-set-load; 324 regulator-always-on; 325 }; 326 327 pm8226_l18: l18 { 328 regulator-min-microvolt = <2950000>; 329 regulator-max-microvolt = <2950000>; 330 }; 331 332 pm8226_l19: l19 { 333 regulator-min-microvolt = <2850000>; 334 regulator-max-microvolt = <3000000>; 335 }; 336 337 pm8226_l20: l20 { 338 regulator-min-microvolt = <3075000>; 339 regulator-max-microvolt = <3075000>; 340 }; 341 342 pm8226_l21: l21 { 343 regulator-min-microvolt = <1800000>; 344 regulator-max-microvolt = <2950000>; 345 }; 346 347 pm8226_l22: l22 { 348 regulator-min-microvolt = <1800000>; 349 regulator-max-microvolt = <3000000>; 350 }; 351 352 pm8226_l23: l23 { 353 regulator-min-microvolt = <1800000>; 354 regulator-max-microvolt = <3300000>; 355 }; 356 357 pm8226_l24: l24 { 358 regulator-min-microvolt = <1300000>; 359 regulator-max-microvolt = <1350000>; 360 }; 361 362 pm8226_l25: l25 { 363 regulator-min-microvolt = <1775000>; 364 regulator-max-microvolt = <2125000>; 365 }; 366 367 pm8226_l26: l26 { 368 regulator-min-microvolt = <1225000>; 369 regulator-max-microvolt = <1300000>; 370 }; 371 372 pm8226_l27: l27 { 373 regulator-min-microvolt = <1800000>; 374 regulator-max-microvolt = <1800000>; 375 }; 376 377 pm8226_l28: l28 { 378 regulator-min-microvolt = <1800000>; 379 regulator-max-microvolt = <2950000>; 380 }; 381 382 pm8226_lvs1: lvs1 {}; 383 }; 384}; 385 386&sdhc_1 { 387 vmmc-supply = <&pm8226_l17>; 388 vqmmc-supply = <&pm8226_l6>; 389 390 bus-width = <8>; 391 non-removable; 392 393 status = "okay"; 394}; 395 396&sdhc_2 { 397 vmmc-supply = <&pm8226_l18>; 398 vqmmc-supply = <&pm8226_l21>; 399 400 bus-width = <4>; 401 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 402 403 status = "okay"; 404}; 405 406&tlmm { 407 accel_int_default_state: accel-int-default-state { 408 pins = "gpio54"; 409 function = "gpio"; 410 drive-strength = <2>; 411 bias-disable; 412 }; 413 414 backlight_i2c_default_state: backlight-i2c-default-state { 415 pins = "gpio20", "gpio21"; 416 function = "gpio"; 417 drive-strength = <2>; 418 bias-disable; 419 }; 420 421 backlight_pwm_default_state: backlight-pwm-default-state { 422 pins = "gpio33"; 423 function = "gp0_clk"; 424 }; 425 426 muic_int_default_state: muic-int-default-state { 427 pins = "gpio67"; 428 function = "gpio"; 429 drive-strength = <2>; 430 bias-disable; 431 }; 432 433 tsp_en_default_state: tsp-en-default-state { 434 pins = "gpio31"; 435 function = "gpio"; 436 drive-strength = <2>; 437 bias-disable; 438 }; 439 440 tsp_int_rst_default_state: tsp-int-rst-default-state { 441 pins = "gpio17"; 442 function = "gpio"; 443 drive-strength = <10>; 444 bias-pull-up; 445 }; 446}; 447 448&usb { 449 extcon = <&muic>, <&muic>; 450 status = "okay"; 451}; 452 453&usb_hs_phy { 454 extcon = <&muic>; 455 v1p8-supply = <&pm8226_l10>; 456 v3p3-supply = <&pm8226_l20>; 457}; 458