1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Google Manta (Nexus 10) board device tree source 4 * 5 * Copyright (c) 2023-2026 Alexandre Marquet 6 * Copyright (c) 2025-2026 Lukas Timmermann 7 */ 8 9/dts-v1/; 10#include "exynos5250.dtsi" 11#include "exynos-pinctrl.h" 12#include "exynos-mfc-reserved-memory.dtsi" 13 14#include <dt-bindings/clock/maxim,max77686.h> 15#include <dt-bindings/gpio/gpio.h> 16#include <dt-bindings/input/linux-event-codes.h> 17#include <dt-bindings/leds/common.h> 18 19/ { 20 model = "Google Nexus 10"; 21 compatible = "google,manta", "samsung,exynos5250", "samsung,exynos5"; 22 23 aliases { 24 mmc0 = &mmc_0; /* eMMC */ 25 mmc1 = &mmc_1; /* WiFi */ 26 }; 27 28 /* Voltage source unknown */ 29 bmp180_vdda_reg: regulator-bmp180-vdda { 30 compatible = "regulator-fixed"; 31 regulator-name = "BMP180_VDDA"; 32 }; 33 34 /* Voltage source unknown */ 35 bmp180_vddd_reg: regulator-bmp180-vddd { 36 compatible = "regulator-fixed"; 37 regulator-name = "BMP180_VDDD"; 38 }; 39 40 chosen { 41 stdout-path = "serial2:115200n8"; 42 }; 43 44 flash-controller { 45 compatible = "gpio-leds"; 46 47 led-flash { 48 function = LED_FUNCTION_FLASH; 49 color = <LED_COLOR_ID_WHITE>; 50 linux,default-trigger = "flash"; 51 gpios = <&gpe0 1 GPIO_ACTIVE_HIGH>; 52 default-state = "off"; 53 }; 54 }; 55 56 fixed-rate-clocks { 57 xxti { 58 compatible = "samsung,clock-xxti"; 59 clock-frequency = <24000000>; 60 }; 61 }; 62 63 gpio-keys { 64 compatible = "gpio-keys"; 65 66 pinctrl-0 = <&gpio_keys>; 67 pinctrl-names = "default"; 68 69 button-volume-down { 70 label = "Volume Down"; 71 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; 72 linux,code = <KEY_VOLUMEDOWN>; 73 debounce-interval = <5>; 74 }; 75 76 button-volume-up { 77 label = "Volume Up"; 78 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; 79 linux,code = <KEY_VOLUMEUP>; 80 debounce-interval = <5>; 81 }; 82 83 button-power { 84 label = "Power"; 85 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; 86 linux,code = <KEY_POWER>; 87 debounce-interval = <5>; 88 wakeup-source; 89 }; 90 91 lid-switch { 92 label = "Hall Effect Sensor"; 93 gpios = <&gpx1 3 GPIO_ACTIVE_LOW>; 94 linux,input-type = <EV_SW>; 95 linux,code = <SW_LID>; 96 debounce-interval = <10>; 97 wakeup-source; 98 }; 99 }; 100 101 multi-led { 102 compatible = "leds-group-multicolor"; 103 color = <LED_COLOR_ID_RGB>; 104 function = LED_FUNCTION_STATUS; 105 leds = <&status_red>, <&status_green>, <&status_blue>, <&status_white>; 106 }; 107 108 pwrseq: mmc1-pwrseq { 109 compatible = "mmc-pwrseq-simple"; 110 111 reset-gpios = <&gpv1 0 GPIO_ACTIVE_LOW>; 112 pinctrl-0 = <&wlan_pmena>; 113 pinctrl-names = "default"; 114 115 clocks = <&max77686 MAX77686_CLK_PMIC>; 116 clock-names = "ext_clock"; 117 118 post-power-on-delay-ms = <300>; 119 power-off-delay-us = <50>; 120 }; 121 122 firmware@204efff { 123 compatible = "samsung,secure-firmware"; 124 reg = <0x0204efff 0x1000>; 125 }; 126 127 memory@40000000 { 128 device_type = "memory"; 129 reg = <0x40000000 0x20000000>, 130 <0x60000000 0x20000000>, 131 <0x80000000 0x20000000>, 132 <0xa0000000 0x1ff00000>; 133 }; 134}; 135 136&clock { 137 assigned-clocks = <&clock CLK_FOUT_APLL>; 138 assigned-clock-rates = <1000000000>; 139}; 140 141&cpu0 { 142 cpu-supply = <&buck2_reg>; 143}; 144 145&cpu1 { 146 cpu-supply = <&buck2_reg>; 147}; 148 149&ehci { 150 status = "disabled"; 151}; 152 153&i2c_1 { 154 status = "okay"; 155 156 pressure-sensor@77 { 157 compatible = "bosch,bmp180"; 158 reg = <0x77>; 159 vddd-supply = <&bmp180_vddd_reg>; 160 vdda-supply = <&bmp180_vdda_reg>; 161 }; 162 163 accelerometer@68 { 164 compatible = "invensense,mpu6050"; 165 reg = <0x68>; 166 167 pinctrl-0 = <&acc_int>; 168 pinctrl-names = "default"; 169 170 interrupt-parent = <&gpx1>; 171 interrupts = <4 IRQ_TYPE_EDGE_RISING>; 172 173 mount-matrix = "0", "-1", "0", 174 "-1", "0", "0", 175 "0", "0", "-1"; 176 177 i2c-gate { 178 #address-cells = <1>; 179 #size-cells = <0>; 180 181 magnetometer@c { 182 compatible = "asahi-kasei,ak8963"; 183 reg = <0x0c>; 184 185 pinctrl-0 = <&msense_reset>; 186 pinctrl-names = "default"; 187 188 mount-matrix = "-1", "0", "0", 189 "0", "1", "0", 190 "0", "0", "-1"; 191 }; 192 }; 193 }; 194 195 led-controller@42 { 196 compatible = "ams,as3668"; 197 #address-cells = <1>; 198 #size-cells = <0>; 199 reg = <0x42>; 200 201 status_red: led@0 { 202 reg = <0>; 203 function = LED_FUNCTION_STATUS; 204 color = <LED_COLOR_ID_RED>; 205 }; 206 207 status_green: led@1 { 208 reg = <1>; 209 function = LED_FUNCTION_STATUS; 210 color = <LED_COLOR_ID_GREEN>; 211 }; 212 213 status_blue: led@2 { 214 reg = <2>; 215 function = LED_FUNCTION_STATUS; 216 color = <LED_COLOR_ID_BLUE>; 217 }; 218 219 status_white: led@3 { 220 reg = <3>; 221 function = LED_FUNCTION_STATUS; 222 color = <LED_COLOR_ID_WHITE>; 223 }; 224 }; 225}; 226 227&i2c_2 { 228 status = "okay"; 229 230 light-sensor@23 { 231 compatible = "rohm,bh1721"; 232 reg = <0x23>; 233 234 pinctrl-0 = <&bh1721fvc_reset>; 235 pinctrl-names = "default"; 236 237 reset-gpios = <&gph1 2 GPIO_ACTIVE_LOW>; 238 }; 239 240 onewire@18 { 241 compatible = "maxim,ds2484"; 242 reg = <0x18>; 243 244 pinctrl-0 = <&onewire_sleep>; 245 pinctrl-names = "default"; 246 }; 247}; 248 249&i2c_5 { 250 samsung,i2c-sda-delay = <100>; 251 status = "okay"; 252 253 max77686: pmic@9 { 254 compatible = "maxim,max77686"; 255 reg = <0x09>; 256 257 interrupt-parent = <&gpx0>; 258 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 259 260 pinctrl-0 = <&max77686_irq>; 261 pinctrl-names = "default"; 262 263 #clock-cells = <1>; 264 wakeup-source; 265 266 voltage-regulators { 267 buck1_reg: BUCK1 { 268 regulator-name = "vdd_mif"; 269 regulator-min-microvolt = <850000>; 270 regulator-max-microvolt = <1200000>; 271 regulator-always-on; 272 regulator-boot-on; 273 }; 274 275 buck2_reg: BUCK2 { 276 regulator-name = "vdd_arm"; 277 regulator-min-microvolt = <850000>; 278 regulator-max-microvolt = <1200000>; 279 regulator-always-on; 280 regulator-boot-on; 281 }; 282 283 buck3_reg: BUCK3 { 284 regulator-name = "vdd_int"; 285 regulator-min-microvolt = <850000>; 286 regulator-max-microvolt = <1200000>; 287 regulator-always-on; 288 regulator-boot-on; 289 }; 290 291 buck4_reg: BUCK4 { 292 regulator-name = "vdd_g3d"; 293 regulator-min-microvolt = <850000>; 294 regulator-max-microvolt = <1200000>; 295 regulator-boot-on; 296 }; 297 298 ldo3_reg: LDO3 { 299 regulator-name = "VCC_1.8V_AP"; 300 regulator-min-microvolt = <1800000>; 301 regulator-max-microvolt = <1800000>; 302 regulator-always-on; 303 regulator-boot-on; 304 }; 305 306 ldo8_reg: LDO8 { 307 regulator-name = "VMIPI_1.0V"; 308 regulator-min-microvolt = <1000000>; 309 regulator-max-microvolt = <1000000>; 310 regulator-always-on; 311 regulator-boot-on; 312 }; 313 314 ldo9_reg: LDO9 { 315 regulator-name = "TOUCH_VDD_1.8V"; 316 regulator-min-microvolt = <1800000>; 317 regulator-max-microvolt = <1800000>; 318 }; 319 320 ldo10_reg: LDO10 { 321 regulator-name = "VMIPI_1.8V"; 322 regulator-min-microvolt = <1800000>; 323 regulator-max-microvolt = <1800000>; 324 regulator-always-on; 325 regulator-boot-on; 326 }; 327 328 ldo12_reg: LDO12 { 329 regulator-name = "VUOTG_3.0V"; 330 regulator-min-microvolt = <3000000>; 331 regulator-max-microvolt = <3000000>; 332 regulator-always-on; 333 regulator-boot-on; 334 }; 335 336 ldo15_reg: LDO15 { 337 regulator-name = "VHSIC_1.0V"; 338 regulator-min-microvolt = <1000000>; 339 regulator-max-microvolt = <1000000>; 340 regulator-always-on; 341 regulator-boot-on; 342 }; 343 344 ldo16_reg: LDO16 { 345 regulator-name = "VHSIC_1.8V"; 346 regulator-min-microvolt = <1800000>; 347 regulator-max-microvolt = <1800000>; 348 regulator-always-on; 349 regulator-boot-on; 350 }; 351 352 ldo17_reg: LDO17 { 353 regulator-name = "5M_CORE_1.5V"; 354 regulator-min-microvolt = <1500000>; 355 regulator-max-microvolt = <1500000>; 356 }; 357 358 ldo18_reg: LDO18 { 359 regulator-name = "CAM_IO_1.8V"; 360 regulator-min-microvolt = <1800000>; 361 regulator-max-microvolt = <1800000>; 362 }; 363 364 ldo19_reg: LDO19 { 365 regulator-name = "VT_CAM_1.8V"; 366 regulator-min-microvolt = <1800000>; 367 regulator-max-microvolt = <1800000>; 368 }; 369 370 ldo20_reg: LDO20 { 371 regulator-name = "TA_CHECK_1.35V"; 372 regulator-min-microvolt = <1350000>; 373 regulator-max-microvolt = <1350000>; 374 }; 375 376 ldo23_reg: LDO23 { 377 regulator-name = "TSP_AVDD_2.8V"; 378 regulator-min-microvolt = <2800000>; 379 regulator-max-microvolt = <2800000>; 380 }; 381 382 ldo24_reg: LDO24 { 383 regulator-name = "CAM_AF_2.8V"; 384 regulator-min-microvolt = <2800000>; 385 regulator-max-microvolt = <2800000>; 386 }; 387 388 ldo25_reg: LDO25 { 389 regulator-name = "VADC_3.3V"; 390 regulator-min-microvolt = <3300000>; 391 regulator-max-microvolt = <3300000>; 392 regulator-always-on; 393 regulator-boot-on; 394 }; 395 }; 396 }; 397}; 398 399&mixer { 400 status = "okay"; 401}; 402 403/* eMMC */ 404&mmc_0 { 405 non-removable; 406 max-frequency = <200000000>; 407 sd-uhs-ddr50; 408 mmc-ddr-1_8v; 409 cap-mmc-hw-reset; 410 mmc-hs200-1_8v; 411 bus-width = <8>; 412 card-detect-delay = <200>; 413 samsung,dw-mshc-ciu-div = <3>; 414 samsung,dw-mshc-sdr-timing = <1 2>; 415 samsung,dw-mshc-ddr-timing = <2 3>; 416 417 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 418 pinctrl-names = "default"; 419 420 status = "okay"; 421}; 422 423/* WiFi */ 424&mmc_1 { 425 non-removable; 426 max-frequency = <100000000>; 427 sd-uhs-sdr50; 428 cap-sd-highspeed; 429 keep-power-in-suspend; 430 bus-width = <4>; 431 card-detect-delay = <0>; 432 samsung,dw-mshc-ciu-div = <3>; 433 samsung,dw-mshc-sdr-timing = <2 4>; 434 samsung,dw-mshc-ddr-timing = <2 3>; 435 436 pinctrl-names = "default"; 437 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>; 438 mmc-pwrseq = <&pwrseq>; 439 440 status = "okay"; 441 442 wifi@1 { 443 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac"; 444 reg = <1>; 445 interrupt-parent = <&gpx2>; 446 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 447 interrupt-names = "host-wake"; 448 pinctrl-0 = <&wlan_irq>; 449 pinctrl-names = "default"; 450 }; 451}; 452 453&ohci { 454 status = "disabled"; 455}; 456 457&pinctrl_0 { 458 acc_int: acc-int-pins { 459 samsung,pins = "gpx1-4"; 460 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 461 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 462 }; 463 464 max77686_irq: max77686-irq-pins { 465 samsung,pins = "gpx0-2"; 466 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 467 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 468 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 469 }; 470 471 gpio_keys: gpio-keys-pins { 472 samsung,pins = "gpx2-0", "gpx2-1", "gpx2-7", "gpx1-3"; 473 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 474 }; 475 476 wlan_irq: wlan-irq-pins { 477 samsung,pins = "gpx2-5"; 478 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 479 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 480 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>; 481 }; 482}; 483 484&pinctrl_1 { 485 bh1721fvc_reset: bh1721fvc-reset-pins { 486 samsung,pins = "gph1-2"; 487 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 488 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 489 }; 490 491 msense_reset: msense-reset-pins { 492 samsung,pins = "gpg2-0"; 493 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 494 }; 495 496 onewire_sleep: onewire-sleep-pins { 497 samsung,pins = "gpg0-0"; 498 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 499 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 500 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; 501 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; 502 }; 503}; 504 505&pinctrl_2 { 506 wlan_pmena: wlan-pmena-pins { 507 samsung,pins = "gpv1-0"; 508 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 509 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 510 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>; 511 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; 512 samsung,pin-val = <0>; 513 }; 514}; 515 516&pmu_system_controller { 517 assigned-clocks = <&pmu_system_controller 0>; 518 assigned-clock-parents = <&clock CLK_FIN_PLL>; 519}; 520 521&rtc { 522 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; 523 clock-names = "rtc", "rtc_src"; 524 status = "okay"; 525}; 526 527&sd1_bus4 { 528 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; 529 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; 530}; 531 532&sd1_cmd { 533 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; 534 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; 535}; 536 537/* Bluetooth */ 538&serial_0 { 539 status = "disabled"; 540}; 541 542/* GPS */ 543&serial_1 { 544 status = "disabled"; 545}; 546 547&serial_2 { 548 pinctrl-0 = <&uart2_data>; 549 pinctrl-1 = <&uart2_data>, <&uart2_fctl>; 550 pinctrl-names = "default", "flow-control"; 551 status = "okay"; 552}; 553 554&usbdrd { 555 status = "disabled"; 556}; 557 558&usbdrd_dwc3 { 559 status = "disabled"; 560}; 561 562&usbdrd_phy { 563 status = "disabled"; 564}; 565