1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright 2011 ST-Ericsson AB 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring/dts-v1/; 7*724ba675SRob Herring#include "ste-db9500.dtsi" 8*724ba675SRob Herring#include "ste-href-ab8500.dtsi" 9*724ba675SRob Herring#include "ste-href-family-pinctrl.dtsi" 10*724ba675SRob Herring 11*724ba675SRob Herring/ { 12*724ba675SRob Herring model = "Calao Systems Snowball platform with device tree"; 13*724ba675SRob Herring compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500"; 14*724ba675SRob Herring 15*724ba675SRob Herring memory { 16*724ba675SRob Herring device_type = "memory"; 17*724ba675SRob Herring reg = <0x00000000 0x20000000>; 18*724ba675SRob Herring }; 19*724ba675SRob Herring 20*724ba675SRob Herring battery: battery { 21*724ba675SRob Herring compatible = "simple-battery"; 22*724ba675SRob Herring battery-type = "lithium-ion-polymer"; 23*724ba675SRob Herring }; 24*724ba675SRob Herring 25*724ba675SRob Herring thermal-zones { 26*724ba675SRob Herring battery-thermal { 27*724ba675SRob Herring /* This zone will be polled by the battery temperature code */ 28*724ba675SRob Herring polling-delay = <0>; 29*724ba675SRob Herring polling-delay-passive = <0>; 30*724ba675SRob Herring thermal-sensors = <&bat_therm>; 31*724ba675SRob Herring 32*724ba675SRob Herring trips { 33*724ba675SRob Herring battery-crit-hi { 34*724ba675SRob Herring temperature = <70000>; 35*724ba675SRob Herring hysteresis = <2000>; 36*724ba675SRob Herring type = "critical"; 37*724ba675SRob Herring }; 38*724ba675SRob Herring }; 39*724ba675SRob Herring }; 40*724ba675SRob Herring }; 41*724ba675SRob Herring 42*724ba675SRob Herring bat_therm: thermistor { 43*724ba675SRob Herring compatible = "murata,ncp18wb473"; 44*724ba675SRob Herring io-channels = <&gpadc 0x02>; /* BatTemp */ 45*724ba675SRob Herring pullup-uv = <1800000>; 46*724ba675SRob Herring pullup-ohm = <230000>; 47*724ba675SRob Herring pulldown-ohm = <0>; 48*724ba675SRob Herring #thermal-sensor-cells = <0>; 49*724ba675SRob Herring }; 50*724ba675SRob Herring 51*724ba675SRob Herring en_3v3_reg: en_3v3 { 52*724ba675SRob Herring compatible = "regulator-fixed"; 53*724ba675SRob Herring regulator-name = "en-3v3-fixed-supply"; 54*724ba675SRob Herring regulator-min-microvolt = <3300000>; 55*724ba675SRob Herring regulator-max-microvolt = <3300000>; 56*724ba675SRob Herring /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */ 57*724ba675SRob Herring gpio = <&ab8500_gpio 25 0x4>; 58*724ba675SRob Herring startup-delay-us = <5000>; 59*724ba675SRob Herring enable-active-high; 60*724ba675SRob Herring }; 61*724ba675SRob Herring 62*724ba675SRob Herring gpio_keys { 63*724ba675SRob Herring compatible = "gpio-keys"; 64*724ba675SRob Herring #address-cells = <1>; 65*724ba675SRob Herring #size-cells = <0>; 66*724ba675SRob Herring 67*724ba675SRob Herring button@1 { 68*724ba675SRob Herring debounce-interval = <50>; 69*724ba675SRob Herring wakeup-source; 70*724ba675SRob Herring linux,code = <2>; 71*724ba675SRob Herring label = "userpb"; 72*724ba675SRob Herring gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; 73*724ba675SRob Herring }; 74*724ba675SRob Herring button@2 { 75*724ba675SRob Herring debounce-interval = <50>; 76*724ba675SRob Herring wakeup-source; 77*724ba675SRob Herring linux,code = <3>; 78*724ba675SRob Herring label = "extkb1"; 79*724ba675SRob Herring gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>; 80*724ba675SRob Herring }; 81*724ba675SRob Herring button@3 { 82*724ba675SRob Herring debounce-interval = <50>; 83*724ba675SRob Herring wakeup-source; 84*724ba675SRob Herring linux,code = <4>; 85*724ba675SRob Herring label = "extkb2"; 86*724ba675SRob Herring gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>; 87*724ba675SRob Herring }; 88*724ba675SRob Herring button@4 { 89*724ba675SRob Herring debounce-interval = <50>; 90*724ba675SRob Herring wakeup-source; 91*724ba675SRob Herring linux,code = <5>; 92*724ba675SRob Herring label = "extkb3"; 93*724ba675SRob Herring gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; 94*724ba675SRob Herring }; 95*724ba675SRob Herring button@5 { 96*724ba675SRob Herring debounce-interval = <50>; 97*724ba675SRob Herring wakeup-source; 98*724ba675SRob Herring linux,code = <6>; 99*724ba675SRob Herring label = "extkb4"; 100*724ba675SRob Herring gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; 101*724ba675SRob Herring }; 102*724ba675SRob Herring }; 103*724ba675SRob Herring 104*724ba675SRob Herring leds { 105*724ba675SRob Herring compatible = "gpio-leds"; 106*724ba675SRob Herring pinctrl-names = "default"; 107*724ba675SRob Herring pinctrl-0 = <&gpioled_snowball_mode>; 108*724ba675SRob Herring used-led { 109*724ba675SRob Herring label = "user_led"; 110*724ba675SRob Herring gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>; 111*724ba675SRob Herring default-state = "on"; 112*724ba675SRob Herring linux,default-trigger = "heartbeat"; 113*724ba675SRob Herring }; 114*724ba675SRob Herring }; 115*724ba675SRob Herring 116*724ba675SRob Herring soc { 117*724ba675SRob Herring /* Name the GPIO muxed rails on the Snowball board */ 118*724ba675SRob Herring gpio@8012e000 { 119*724ba675SRob Herring /* GPIOs 0 - 31 */ 120*724ba675SRob Herring gpio-line-names = "", "", "", "", "", "", "", "", 121*724ba675SRob Herring "", "", "", "", "", "", "", "", 122*724ba675SRob Herring "", "", "", "", "", "", "", "", 123*724ba675SRob Herring "", "", "", "", "", "", "", 124*724ba675SRob Herring "AP_GPIO31"; 125*724ba675SRob Herring }; 126*724ba675SRob Herring 127*724ba675SRob Herring gpio@8012e080 { 128*724ba675SRob Herring /* GPIOs 32 - 63 */ 129*724ba675SRob Herring gpio-line-names = "USR PB", "", "", "", "", "", "", "", 130*724ba675SRob Herring "", "", "", "", "", "", "", "", 131*724ba675SRob Herring "", "", "", "", "", "", "", "", 132*724ba675SRob Herring "", "", "", "", "", "", "", ""; 133*724ba675SRob Herring }; 134*724ba675SRob Herring 135*724ba675SRob Herring gpio@8000e000 { 136*724ba675SRob Herring /* GPIOs 64 - 95 */ 137*724ba675SRob Herring gpio-line-names = "", "", "", "", "AP_GPIO68", "", "", "", 138*724ba675SRob Herring "", "", "", "", "", "", "", "", 139*724ba675SRob Herring "", "", "", "", "", "", "", "", 140*724ba675SRob Herring "", "", "", "", "", "", "", ""; 141*724ba675SRob Herring }; 142*724ba675SRob Herring 143*724ba675SRob Herring gpio@8000e100 { 144*724ba675SRob Herring /* GPIOs 128 - 159 */ 145*724ba675SRob Herring gpio-line-names = "", "", "", "", "", "", "", "", 146*724ba675SRob Herring "", "", "", "", "IRQ_LAN", "RSTn_LAN", 147*724ba675SRob Herring "USR_LED", "", "", "", "", "", "", 148*724ba675SRob Herring "", "", "AP_GPIO151", "AP_GPIO152", 149*724ba675SRob Herring "", "", "", "", "", "", ""; 150*724ba675SRob Herring }; 151*724ba675SRob Herring 152*724ba675SRob Herring gpio@8000e180 { 153*724ba675SRob Herring /* GPIOs 160 - 191 */ 154*724ba675SRob Herring gpio-line-names = "", "AP_GPIO161", "AP_GPIO162", 155*724ba675SRob Herring "ACCELEROMETER_INT1_RDY", 156*724ba675SRob Herring "ACCELEROMETER_INT2", "MAG_DRDY", 157*724ba675SRob Herring "GYRO_DRDY", "RSTn_MLC", "RSTn_SLC", 158*724ba675SRob Herring "GYRO_INT", "UART_WAKE", "GBF_RESET", 159*724ba675SRob Herring "", "", "", "", 160*724ba675SRob Herring "", "", "", "", "", "", "", "", 161*724ba675SRob Herring "", "", "", "", "", "", "", ""; 162*724ba675SRob Herring }; 163*724ba675SRob Herring 164*724ba675SRob Herring gpio@8011e000 { 165*724ba675SRob Herring /* GPIOs 192 - 223 */ 166*724ba675SRob Herring gpio-line-names = "HDTV_INTn", "", "", "", "HDTV_RST", 167*724ba675SRob Herring "", "", "", "", "", "", "", "", "", 168*724ba675SRob Herring "", "", "", "", "", "", "", "", "", 169*724ba675SRob Herring "WLAN_RESETN", "WLAN_IRQ", "MMC_EN", 170*724ba675SRob Herring "MMC_CD", "", "", "", "", ""; 171*724ba675SRob Herring }; 172*724ba675SRob Herring 173*724ba675SRob Herring gpio@8011e080 { 174*724ba675SRob Herring /* GPIOs 224 - 255 */ 175*724ba675SRob Herring gpio-line-names = "", "", "", "", "SD_SEL", "", "", "", 176*724ba675SRob Herring "", "", "", "", "", "", "", "", 177*724ba675SRob Herring "", "", "", "", "", "", "", "", 178*724ba675SRob Herring "", "", "", "", "", "", "", ""; 179*724ba675SRob Herring }; 180*724ba675SRob Herring 181*724ba675SRob Herring msp0: msp@80123000 { 182*724ba675SRob Herring pinctrl-names = "default"; 183*724ba675SRob Herring pinctrl-0 = <&msp0txrxtfstck_a_1_default>; 184*724ba675SRob Herring status = "okay"; 185*724ba675SRob Herring }; 186*724ba675SRob Herring 187*724ba675SRob Herring msp1: msp@80124000 { 188*724ba675SRob Herring pinctrl-names = "default"; 189*724ba675SRob Herring pinctrl-0 = <&msp1txrx_a_1_default>; 190*724ba675SRob Herring status = "okay"; 191*724ba675SRob Herring }; 192*724ba675SRob Herring 193*724ba675SRob Herring msp2: msp@80117000 { 194*724ba675SRob Herring pinctrl-names = "default"; 195*724ba675SRob Herring pinctrl-0 = <&msp2_a_1_default>; 196*724ba675SRob Herring }; 197*724ba675SRob Herring 198*724ba675SRob Herring msp3: msp@80125000 { 199*724ba675SRob Herring status = "okay"; 200*724ba675SRob Herring }; 201*724ba675SRob Herring 202*724ba675SRob Herring external-bus@50000000 { 203*724ba675SRob Herring status = "okay"; 204*724ba675SRob Herring 205*724ba675SRob Herring ethernet@0 { 206*724ba675SRob Herring compatible = "smsc,lan9115"; 207*724ba675SRob Herring reg = <0 0x10000>; 208*724ba675SRob Herring interrupts = <12 IRQ_TYPE_EDGE_RISING>; 209*724ba675SRob Herring interrupt-parent = <&gpio4>; 210*724ba675SRob Herring vdd33a-supply = <&en_3v3_reg>; 211*724ba675SRob Herring vddvario-supply = <&db8500_vape_reg>; 212*724ba675SRob Herring pinctrl-names = "default"; 213*724ba675SRob Herring pinctrl-0 = <ð_snowball_mode>; 214*724ba675SRob Herring 215*724ba675SRob Herring reg-shift = <1>; 216*724ba675SRob Herring reg-io-width = <2>; 217*724ba675SRob Herring smsc,force-internal-phy; 218*724ba675SRob Herring smsc,irq-active-high; 219*724ba675SRob Herring smsc,irq-push-pull; 220*724ba675SRob Herring 221*724ba675SRob Herring clocks = <&prcc_pclk 3 0>; 222*724ba675SRob Herring }; 223*724ba675SRob Herring }; 224*724ba675SRob Herring 225*724ba675SRob Herring /* ST6G3244ME level translator for 1.8/2.9 V */ 226*724ba675SRob Herring vmmci: regulator-gpio { 227*724ba675SRob Herring compatible = "regulator-gpio"; 228*724ba675SRob Herring 229*724ba675SRob Herring /* GPIO228 SD_SEL */ 230*724ba675SRob Herring gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>; 231*724ba675SRob Herring /* GPIO217 MMC_EN */ 232*724ba675SRob Herring enable-gpio = <&gpio6 25 GPIO_ACTIVE_HIGH>; 233*724ba675SRob Herring enable-active-high; 234*724ba675SRob Herring 235*724ba675SRob Herring regulator-min-microvolt = <1800000>; 236*724ba675SRob Herring regulator-max-microvolt = <2900000>; 237*724ba675SRob Herring regulator-name = "mmci-reg"; 238*724ba675SRob Herring regulator-type = "voltage"; 239*724ba675SRob Herring 240*724ba675SRob Herring startup-delay-us = <100>; 241*724ba675SRob Herring 242*724ba675SRob Herring states = <1800000 0x1 243*724ba675SRob Herring 2900000 0x0>; 244*724ba675SRob Herring }; 245*724ba675SRob Herring 246*724ba675SRob Herring // External Micro SD slot 247*724ba675SRob Herring mmc@80126000 { 248*724ba675SRob Herring arm,primecell-periphid = <0x10480180>; 249*724ba675SRob Herring max-frequency = <100000000>; 250*724ba675SRob Herring bus-width = <4>; 251*724ba675SRob Herring cap-sd-highspeed; 252*724ba675SRob Herring cap-mmc-highspeed; 253*724ba675SRob Herring sd-uhs-sdr12; 254*724ba675SRob Herring sd-uhs-sdr25; 255*724ba675SRob Herring /* All direction control is used */ 256*724ba675SRob Herring st,sig-dir-cmd; 257*724ba675SRob Herring st,sig-dir-dat0; 258*724ba675SRob Herring st,sig-dir-dat2; 259*724ba675SRob Herring st,sig-dir-dat31; 260*724ba675SRob Herring st,sig-pin-fbclk; 261*724ba675SRob Herring full-pwr-cycle; 262*724ba675SRob Herring vmmc-supply = <&ab8500_ldo_aux3_reg>; 263*724ba675SRob Herring vqmmc-supply = <&vmmci>; 264*724ba675SRob Herring pinctrl-names = "default", "sleep"; 265*724ba675SRob Herring pinctrl-0 = <&mc0_a_1_default &sdi0_default_mode>; 266*724ba675SRob Herring pinctrl-1 = <&mc0_a_1_sleep>; 267*724ba675SRob Herring 268*724ba675SRob Herring /* GPIO218 MMC_CD */ 269*724ba675SRob Herring cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>; 270*724ba675SRob Herring 271*724ba675SRob Herring status = "okay"; 272*724ba675SRob Herring }; 273*724ba675SRob Herring 274*724ba675SRob Herring // WLAN SDIO channel 275*724ba675SRob Herring mmc@80118000 { 276*724ba675SRob Herring arm,primecell-periphid = <0x10480180>; 277*724ba675SRob Herring max-frequency = <100000000>; 278*724ba675SRob Herring bus-width = <4>; 279*724ba675SRob Herring pinctrl-names = "default", "sleep"; 280*724ba675SRob Herring pinctrl-0 = <&mc1_a_1_default>; 281*724ba675SRob Herring pinctrl-1 = <&mc1_a_1_sleep>; 282*724ba675SRob Herring 283*724ba675SRob Herring status = "okay"; 284*724ba675SRob Herring }; 285*724ba675SRob Herring 286*724ba675SRob Herring // Unused PoP eMMC - register and put it to sleep by default */ 287*724ba675SRob Herring mmc@80005000 { 288*724ba675SRob Herring arm,primecell-periphid = <0x10480180>; 289*724ba675SRob Herring pinctrl-names = "default"; 290*724ba675SRob Herring pinctrl-0 = <&mc2_a_1_sleep>; 291*724ba675SRob Herring 292*724ba675SRob Herring status = "okay"; 293*724ba675SRob Herring }; 294*724ba675SRob Herring 295*724ba675SRob Herring // On-board eMMC 296*724ba675SRob Herring mmc@80114000 { 297*724ba675SRob Herring arm,primecell-periphid = <0x10480180>; 298*724ba675SRob Herring max-frequency = <100000000>; 299*724ba675SRob Herring bus-width = <8>; 300*724ba675SRob Herring cap-mmc-highspeed; 301*724ba675SRob Herring no-sdio; 302*724ba675SRob Herring no-sd; 303*724ba675SRob Herring vmmc-supply = <&ab8500_ldo_aux2_reg>; 304*724ba675SRob Herring pinctrl-names = "default", "sleep"; 305*724ba675SRob Herring pinctrl-0 = <&mc4_a_1_default>; 306*724ba675SRob Herring pinctrl-1 = <&mc4_a_1_sleep>; 307*724ba675SRob Herring 308*724ba675SRob Herring status = "okay"; 309*724ba675SRob Herring }; 310*724ba675SRob Herring 311*724ba675SRob Herring serial@80120000 { 312*724ba675SRob Herring pinctrl-names = "default", "sleep"; 313*724ba675SRob Herring pinctrl-0 = <&u0_a_1_default>; 314*724ba675SRob Herring pinctrl-1 = <&u0_a_1_sleep>; 315*724ba675SRob Herring status = "okay"; 316*724ba675SRob Herring }; 317*724ba675SRob Herring 318*724ba675SRob Herring /* This UART is unused and thus left disabled */ 319*724ba675SRob Herring serial@80121000 { 320*724ba675SRob Herring pinctrl-names = "default", "sleep"; 321*724ba675SRob Herring pinctrl-0 = <&u1rxtx_a_1_default>; 322*724ba675SRob Herring pinctrl-1 = <&u1rxtx_a_1_sleep>; 323*724ba675SRob Herring }; 324*724ba675SRob Herring 325*724ba675SRob Herring serial@80007000 { 326*724ba675SRob Herring pinctrl-names = "default", "sleep"; 327*724ba675SRob Herring pinctrl-0 = <&u2rxtx_c_1_default>; 328*724ba675SRob Herring pinctrl-1 = <&u2rxtx_c_1_sleep>; 329*724ba675SRob Herring status = "okay"; 330*724ba675SRob Herring }; 331*724ba675SRob Herring 332*724ba675SRob Herring i2c@80004000 { 333*724ba675SRob Herring pinctrl-names = "default","sleep"; 334*724ba675SRob Herring pinctrl-0 = <&i2c0_a_1_default>; 335*724ba675SRob Herring pinctrl-1 = <&i2c0_a_1_sleep>; 336*724ba675SRob Herring status = "okay"; 337*724ba675SRob Herring }; 338*724ba675SRob Herring 339*724ba675SRob Herring i2c@80122000 { 340*724ba675SRob Herring pinctrl-names = "default","sleep"; 341*724ba675SRob Herring pinctrl-0 = <&i2c1_b_2_default>; 342*724ba675SRob Herring pinctrl-1 = <&i2c1_b_2_sleep>; 343*724ba675SRob Herring status = "okay"; 344*724ba675SRob Herring }; 345*724ba675SRob Herring 346*724ba675SRob Herring i2c@80128000 { 347*724ba675SRob Herring pinctrl-names = "default","sleep"; 348*724ba675SRob Herring pinctrl-0 = <&i2c2_b_2_default>; 349*724ba675SRob Herring pinctrl-1 = <&i2c2_b_2_sleep>; 350*724ba675SRob Herring status = "okay"; 351*724ba675SRob Herring lsm303dlh@18 { 352*724ba675SRob Herring /* Accelerometer */ 353*724ba675SRob Herring compatible = "st,lsm303dlh-accel"; 354*724ba675SRob Herring st,drdy-int-pin = <1>; 355*724ba675SRob Herring reg = <0x18>; 356*724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 357*724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 358*724ba675SRob Herring pinctrl-names = "default"; 359*724ba675SRob Herring pinctrl-0 = <&accel_snowball_mode>; 360*724ba675SRob Herring interrupt-parent = <&gpio5>; 361*724ba675SRob Herring interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */ 362*724ba675SRob Herring <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */ 363*724ba675SRob Herring }; 364*724ba675SRob Herring lsm303dlh@1e { 365*724ba675SRob Herring /* Magnetometer */ 366*724ba675SRob Herring compatible = "st,lsm303dlh-magn"; 367*724ba675SRob Herring reg = <0x1e>; 368*724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 369*724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 370*724ba675SRob Herring pinctrl-names = "default"; 371*724ba675SRob Herring pinctrl-0 = <&magneto_snowball_mode>; 372*724ba675SRob Herring interrupt-parent = <&gpio5>; 373*724ba675SRob Herring interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */ 374*724ba675SRob Herring }; 375*724ba675SRob Herring l3g4200d@68 { 376*724ba675SRob Herring /* Gyroscope */ 377*724ba675SRob Herring compatible = "st,l3g4200d-gyro"; 378*724ba675SRob Herring st,drdy-int-pin = <2>; 379*724ba675SRob Herring reg = <0x68>; 380*724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 381*724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 382*724ba675SRob Herring pinctrl-names = "default"; 383*724ba675SRob Herring pinctrl-0 = <&gyro_snowball_mode>; 384*724ba675SRob Herring interrupt-parent = <&gpio5>; 385*724ba675SRob Herring interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */ 386*724ba675SRob Herring <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */ 387*724ba675SRob Herring }; 388*724ba675SRob Herring lsp001wm@5c { 389*724ba675SRob Herring /* Barometer/pressure sensor */ 390*724ba675SRob Herring compatible = "st,lps001wp-press"; 391*724ba675SRob Herring reg = <0x5c>; 392*724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 393*724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 394*724ba675SRob Herring }; 395*724ba675SRob Herring }; 396*724ba675SRob Herring 397*724ba675SRob Herring i2c@80110000 { 398*724ba675SRob Herring pinctrl-names = "default","sleep"; 399*724ba675SRob Herring pinctrl-0 = <&i2c3_c_2_default>; 400*724ba675SRob Herring pinctrl-1 = <&i2c3_c_2_sleep>; 401*724ba675SRob Herring status = "okay"; 402*724ba675SRob Herring }; 403*724ba675SRob Herring 404*724ba675SRob Herring spi@80002000 { 405*724ba675SRob Herring pinctrl-names = "default"; 406*724ba675SRob Herring pinctrl-0 = <&ssp0_snowball_mode>; 407*724ba675SRob Herring status = "okay"; 408*724ba675SRob Herring }; 409*724ba675SRob Herring 410*724ba675SRob Herring prcmu@80157000 { 411*724ba675SRob Herring ab8500 { 412*724ba675SRob Herring gpio { 413*724ba675SRob Herring /* 414*724ba675SRob Herring * AB8500 GPIOs are numbered starting from 1, so the first 415*724ba675SRob Herring * index 0 is what in the datasheet is called "GPIO1", and 416*724ba675SRob Herring * the second is "GPIO2" and so forth. Confusingly, the 417*724ba675SRob Herring * Snowball schematic then names the "GPIO2" line "PM_GPIO1". 418*724ba675SRob Herring * while later naming "GPIO4" as "PM_GPIO4". 419*724ba675SRob Herring */ 420*724ba675SRob Herring gpio-line-names = "", /* AB8500 GPIO1 */ 421*724ba675SRob Herring "PM_GPIO1", /* AB8500 GPIO2 */ 422*724ba675SRob Herring "WLAN_CLK_REQ", /* AB8500 GPIO3 */ 423*724ba675SRob Herring "PM_GPIO4", /* AB8500 GPIO4 */ 424*724ba675SRob Herring "", "", "", "", "", "", "", "", "", "", "", 425*724ba675SRob Herring "EN_3V6", /* AB8500 GPIO16 */ 426*724ba675SRob Herring "", "", "", "" ,"", "", "", "", "", 427*724ba675SRob Herring "EN_3V3", /* AB8500 GPIO26 */ 428*724ba675SRob Herring "", "", "", "", "", "", "", "", "", "", "", "", "", 429*724ba675SRob Herring "PM_GPIO40", /* AB8500 GPIO40 */ 430*724ba675SRob Herring "PM_GPIO41", /* AB8500 GPIO41 */ 431*724ba675SRob Herring "PM_GPIO42"; /* AB8500 GPIO42 */ 432*724ba675SRob Herring }; 433*724ba675SRob Herring 434*724ba675SRob Herring phy { 435*724ba675SRob Herring pinctrl-names = "default", "sleep"; 436*724ba675SRob Herring pinctrl-0 = <&usb_a_1_default>; 437*724ba675SRob Herring pinctrl-1 = <&usb_a_1_sleep>; 438*724ba675SRob Herring }; 439*724ba675SRob Herring 440*724ba675SRob Herring ext_regulators: regulator-external { 441*724ba675SRob Herring ab8500_ext1_reg: ab8500_ext1 { 442*724ba675SRob Herring regulator-name = "ab8500-ext-supply1"; 443*724ba675SRob Herring }; 444*724ba675SRob Herring 445*724ba675SRob Herring ab8500_ext2_reg_reg: ab8500_ext2 { 446*724ba675SRob Herring regulator-name = "ab8500-ext-supply2"; 447*724ba675SRob Herring }; 448*724ba675SRob Herring 449*724ba675SRob Herring ab8500_ext3_reg_reg: ab8500_ext3 { 450*724ba675SRob Herring regulator-name = "ab8500-ext-supply3"; 451*724ba675SRob Herring }; 452*724ba675SRob Herring }; 453*724ba675SRob Herring 454*724ba675SRob Herring regulator { 455*724ba675SRob Herring ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { 456*724ba675SRob Herring regulator-name = "V-DISPLAY"; 457*724ba675SRob Herring }; 458*724ba675SRob Herring 459*724ba675SRob Herring ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { 460*724ba675SRob Herring regulator-name = "V-eMMC1"; 461*724ba675SRob Herring }; 462*724ba675SRob Herring 463*724ba675SRob Herring ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { 464*724ba675SRob Herring regulator-name = "V-MMC-SD"; 465*724ba675SRob Herring }; 466*724ba675SRob Herring 467*724ba675SRob Herring ab8500_ldo_intcore_reg: ab8500_ldo_intcore { 468*724ba675SRob Herring regulator-name = "V-INTCORE"; 469*724ba675SRob Herring }; 470*724ba675SRob Herring 471*724ba675SRob Herring ab8500_ldo_tvout_reg: ab8500_ldo_tvout { 472*724ba675SRob Herring regulator-name = "V-TVOUT"; 473*724ba675SRob Herring }; 474*724ba675SRob Herring 475*724ba675SRob Herring ab8500_ldo_audio_reg: ab8500_ldo_audio { 476*724ba675SRob Herring regulator-name = "V-AUD"; 477*724ba675SRob Herring }; 478*724ba675SRob Herring 479*724ba675SRob Herring ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { 480*724ba675SRob Herring regulator-name = "V-AMIC1"; 481*724ba675SRob Herring }; 482*724ba675SRob Herring 483*724ba675SRob Herring ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 { 484*724ba675SRob Herring regulator-name = "V-AMIC2"; 485*724ba675SRob Herring }; 486*724ba675SRob Herring 487*724ba675SRob Herring ab8500_ldo_dmic_reg: ab8500_ldo_dmic { 488*724ba675SRob Herring regulator-name = "V-DMIC"; 489*724ba675SRob Herring }; 490*724ba675SRob Herring 491*724ba675SRob Herring ab8500_ldo_ana_reg: ab8500_ldo_ana { 492*724ba675SRob Herring regulator-name = "V-CSI/DSI"; 493*724ba675SRob Herring }; 494*724ba675SRob Herring }; 495*724ba675SRob Herring }; 496*724ba675SRob Herring }; 497*724ba675SRob Herring 498*724ba675SRob Herring pinctrl { 499*724ba675SRob Herring /* 500*724ba675SRob Herring * Set this up using hogs, as time goes by and as seems fit, these 501*724ba675SRob Herring * can be moved over to being controlled by respective device. 502*724ba675SRob Herring */ 503*724ba675SRob Herring pinctrl-names = "default"; 504*724ba675SRob Herring pinctrl-0 = <&gbf_snowball_mode>, 505*724ba675SRob Herring <&wlan_snowball_mode>; 506*724ba675SRob Herring 507*724ba675SRob Herring ethernet { 508*724ba675SRob Herring /* 509*724ba675SRob Herring * Mux in "SM" which is used for the 510*724ba675SRob Herring * SMSC911x Ethernet adapter 511*724ba675SRob Herring */ 512*724ba675SRob Herring eth_snowball_mode: eth_snowball { 513*724ba675SRob Herring snowball_mux { 514*724ba675SRob Herring function = "sm"; 515*724ba675SRob Herring groups = "sm_b_1"; 516*724ba675SRob Herring }; 517*724ba675SRob Herring /* LAN IRQ pin */ 518*724ba675SRob Herring snowball_cfg1 { 519*724ba675SRob Herring pins = "GPIO140_B11"; 520*724ba675SRob Herring ste,config = <&in_nopull>; 521*724ba675SRob Herring }; 522*724ba675SRob Herring /* LAN reset pin */ 523*724ba675SRob Herring snowball_cfg2 { 524*724ba675SRob Herring pins = "GPIO141_C12"; 525*724ba675SRob Herring ste,config = <&gpio_out_hi>; 526*724ba675SRob Herring }; 527*724ba675SRob Herring 528*724ba675SRob Herring }; 529*724ba675SRob Herring }; 530*724ba675SRob Herring sdi0 { 531*724ba675SRob Herring sdi0_default_mode: sdi0_default { 532*724ba675SRob Herring snowball_mux { 533*724ba675SRob Herring function = "mc0"; 534*724ba675SRob Herring /* Add the DAT31 pin even if it is not really used */ 535*724ba675SRob Herring groups = "mc0dat31dir_a_1"; 536*724ba675SRob Herring }; 537*724ba675SRob Herring snowball_cfg1 { 538*724ba675SRob Herring pins = "GPIO21_AB3"; /* DAT31DIR */ 539*724ba675SRob Herring ste,config = <&out_hi>; 540*724ba675SRob Herring }; 541*724ba675SRob Herring /* SD card detect GPIO pin, extend default state */ 542*724ba675SRob Herring snowball_cfg2 { 543*724ba675SRob Herring pins = "GPIO218_AH11"; 544*724ba675SRob Herring ste,config = <&gpio_in_pu>; 545*724ba675SRob Herring }; 546*724ba675SRob Herring /* VMMCI level-shifter enable */ 547*724ba675SRob Herring snowball_cfg3 { 548*724ba675SRob Herring pins = "GPIO217_AH12"; 549*724ba675SRob Herring ste,config = <&gpio_out_hi>; 550*724ba675SRob Herring }; 551*724ba675SRob Herring /* VMMCI level-shifter voltage select */ 552*724ba675SRob Herring snowball_cfg4 { 553*724ba675SRob Herring pins = "GPIO228_AJ6"; 554*724ba675SRob Herring ste,config = <&gpio_out_hi>; 555*724ba675SRob Herring }; 556*724ba675SRob Herring }; 557*724ba675SRob Herring }; 558*724ba675SRob Herring ssp0 { 559*724ba675SRob Herring ssp0_snowball_mode: ssp0_snowball_default { 560*724ba675SRob Herring snowball_mux { 561*724ba675SRob Herring function = "ssp0"; 562*724ba675SRob Herring groups = "ssp0_a_1"; 563*724ba675SRob Herring }; 564*724ba675SRob Herring snowball_cfg1 { 565*724ba675SRob Herring pins = "GPIO144_B13"; /* FRM */ 566*724ba675SRob Herring ste,config = <&gpio_out_hi>; 567*724ba675SRob Herring }; 568*724ba675SRob Herring snowball_cfg2 { 569*724ba675SRob Herring pins = "GPIO145_C13"; /* RXD */ 570*724ba675SRob Herring ste,config = <&in_pd>; 571*724ba675SRob Herring }; 572*724ba675SRob Herring snowball_cfg3 { 573*724ba675SRob Herring pins = 574*724ba675SRob Herring "GPIO146_D13", /* TXD */ 575*724ba675SRob Herring "GPIO143_D12"; /* CLK */ 576*724ba675SRob Herring ste,config = <&out_lo>; 577*724ba675SRob Herring }; 578*724ba675SRob Herring 579*724ba675SRob Herring }; 580*724ba675SRob Herring }; 581*724ba675SRob Herring gpio_led { 582*724ba675SRob Herring gpioled_snowball_mode: gpioled_default { 583*724ba675SRob Herring snowball_cfg1 { 584*724ba675SRob Herring pins = "GPIO142_C11"; 585*724ba675SRob Herring ste,config = <&gpio_out_hi>; 586*724ba675SRob Herring }; 587*724ba675SRob Herring 588*724ba675SRob Herring }; 589*724ba675SRob Herring }; 590*724ba675SRob Herring accelerometer { 591*724ba675SRob Herring accel_snowball_mode: accel_snowball { 592*724ba675SRob Herring /* Accelerometer lines */ 593*724ba675SRob Herring snowball_cfg1 { 594*724ba675SRob Herring pins = 595*724ba675SRob Herring "GPIO163_C20", /* ACCEL_IRQ1 */ 596*724ba675SRob Herring "GPIO164_B21"; /* ACCEL_IRQ2 */ 597*724ba675SRob Herring ste,config = <&gpio_in_pu>; 598*724ba675SRob Herring }; 599*724ba675SRob Herring }; 600*724ba675SRob Herring }; 601*724ba675SRob Herring gyro { 602*724ba675SRob Herring gyro_snowball_mode: gyro_snowball { 603*724ba675SRob Herring snowball_cfg1 { 604*724ba675SRob Herring pins = 605*724ba675SRob Herring "GPIO166_A22", /* DRDY */ 606*724ba675SRob Herring "GPIO169_D22"; /* INT */ 607*724ba675SRob Herring ste,config = <&gpio_in_pu>; 608*724ba675SRob Herring }; 609*724ba675SRob Herring }; 610*724ba675SRob Herring }; 611*724ba675SRob Herring magnetometer { 612*724ba675SRob Herring magneto_snowball_mode: magneto_snowball { 613*724ba675SRob Herring snowball_cfg1 { 614*724ba675SRob Herring pins = "GPIO165_C21"; /* MAG_DRDY */ 615*724ba675SRob Herring ste,config = <&gpio_in_pu>; 616*724ba675SRob Herring }; 617*724ba675SRob Herring }; 618*724ba675SRob Herring }; 619*724ba675SRob Herring gbf { 620*724ba675SRob Herring gbf_snowball_mode: gbf_snowball { 621*724ba675SRob Herring /* 622*724ba675SRob Herring * GBF (GPS, Bluetooth, FM-radio) interface, 623*724ba675SRob Herring * pull low to reset state 624*724ba675SRob Herring */ 625*724ba675SRob Herring snowball_cfg1 { 626*724ba675SRob Herring pins = "GPIO171_D23"; /* GBF_ENA_RESET */ 627*724ba675SRob Herring ste,config = <&gpio_out_lo>; 628*724ba675SRob Herring }; 629*724ba675SRob Herring }; 630*724ba675SRob Herring }; 631*724ba675SRob Herring wlan { 632*724ba675SRob Herring wlan_snowball_mode: wlan_snowball { 633*724ba675SRob Herring /* 634*724ba675SRob Herring * Activate this mode with the WLAN chip. 635*724ba675SRob Herring * These are plain GPIO pins used by WLAN 636*724ba675SRob Herring */ 637*724ba675SRob Herring snowball_cfg1 { 638*724ba675SRob Herring pins = 639*724ba675SRob Herring "GPIO161_D21", /* WLAN_PMU_EN */ 640*724ba675SRob Herring "GPIO215_AH13"; /* WLAN_ENA */ 641*724ba675SRob Herring ste,config = <&gpio_out_lo>; 642*724ba675SRob Herring }; 643*724ba675SRob Herring snowball_cfg2 { 644*724ba675SRob Herring pins = "GPIO216_AG12"; /* WLAN_IRQ */ 645*724ba675SRob Herring ste,config = <&gpio_in_pu>; 646*724ba675SRob Herring }; 647*724ba675SRob Herring }; 648*724ba675SRob Herring }; 649*724ba675SRob Herring }; 650*724ba675SRob Herring 651*724ba675SRob Herring mcde@a0350000 { 652*724ba675SRob Herring pinctrl-names = "default", "sleep"; 653*724ba675SRob Herring pinctrl-0 = <&lcd_default_mode>; 654*724ba675SRob Herring pinctrl-1 = <&lcd_sleep_mode>; 655*724ba675SRob Herring }; 656*724ba675SRob Herring }; 657*724ba675SRob Herring}; 658