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