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