1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright 2014 Linaro Ltd. 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring#include "ste-ab8500.dtsi" 7*724ba675SRob Herring 8*724ba675SRob Herring/ { 9*724ba675SRob Herring soc { 10*724ba675SRob Herring prcmu@80157000 { 11*724ba675SRob Herring ab8500 { 12*724ba675SRob Herring gpio { 13*724ba675SRob Herring /* Hog a few default settings */ 14*724ba675SRob Herring pinctrl-names = "default"; 15*724ba675SRob Herring pinctrl-0 = <&gpio2_default_mode>, 16*724ba675SRob Herring <&gpio4_default_mode>, 17*724ba675SRob Herring <&gpio10_default_mode>, 18*724ba675SRob Herring <&gpio11_default_mode>, 19*724ba675SRob Herring <&gpio12_default_mode>, 20*724ba675SRob Herring <&gpio13_default_mode>, 21*724ba675SRob Herring <&gpio16_default_mode>, 22*724ba675SRob Herring <&gpio24_default_mode>, 23*724ba675SRob Herring <&gpio25_default_mode>, 24*724ba675SRob Herring <&gpio36_default_mode>, 25*724ba675SRob Herring <&gpio37_default_mode>, 26*724ba675SRob Herring <&gpio38_default_mode>, 27*724ba675SRob Herring <&gpio39_default_mode>, 28*724ba675SRob Herring <&gpio42_default_mode>, 29*724ba675SRob Herring <&gpio26_default_mode>, 30*724ba675SRob Herring <&gpio35_default_mode>, 31*724ba675SRob Herring <&ycbcr_default_mode>, 32*724ba675SRob Herring <&pwm_default_mode>, 33*724ba675SRob Herring <&adi1_default_mode>, 34*724ba675SRob Herring <&usbuicc_default_mode>, 35*724ba675SRob Herring <&dmic_default_mode>, 36*724ba675SRob Herring <&extcpena_default_mode>, 37*724ba675SRob Herring <&modsclsda_default_mode>; 38*724ba675SRob Herring 39*724ba675SRob Herring /* 40*724ba675SRob Herring * Pins 2, 4, 10, 11, 12, 13, 16, 24, 25, 36, 37, 38, 39 and 42 41*724ba675SRob Herring * are muxed in as GPIO, and configured as INPUT PULL DOWN 42*724ba675SRob Herring */ 43*724ba675SRob Herring gpio2 { 44*724ba675SRob Herring gpio2_default_mode: gpio2_default { 45*724ba675SRob Herring default_mux { 46*724ba675SRob Herring function = "gpio"; 47*724ba675SRob Herring groups = "gpio2_a_1"; 48*724ba675SRob Herring }; 49*724ba675SRob Herring default_cfg { 50*724ba675SRob Herring pins = "GPIO2_T9"; 51*724ba675SRob Herring input-enable; 52*724ba675SRob Herring bias-pull-down; 53*724ba675SRob Herring }; 54*724ba675SRob Herring }; 55*724ba675SRob Herring }; 56*724ba675SRob Herring gpio4 { 57*724ba675SRob Herring gpio4_default_mode: gpio4_default { 58*724ba675SRob Herring default_mux { 59*724ba675SRob Herring function = "gpio"; 60*724ba675SRob Herring groups = "gpio4_a_1"; 61*724ba675SRob Herring }; 62*724ba675SRob Herring default_cfg { 63*724ba675SRob Herring pins = "GPIO4_W2"; 64*724ba675SRob Herring input-enable; 65*724ba675SRob Herring bias-pull-down; 66*724ba675SRob Herring }; 67*724ba675SRob Herring }; 68*724ba675SRob Herring }; 69*724ba675SRob Herring gpio10 { 70*724ba675SRob Herring gpio10_default_mode: gpio10_default { 71*724ba675SRob Herring default_mux { 72*724ba675SRob Herring function = "gpio"; 73*724ba675SRob Herring groups = "gpio10_d_1"; 74*724ba675SRob Herring }; 75*724ba675SRob Herring default_cfg { 76*724ba675SRob Herring pins = "GPIO10_U17"; 77*724ba675SRob Herring input-enable; 78*724ba675SRob Herring bias-pull-down; 79*724ba675SRob Herring }; 80*724ba675SRob Herring }; 81*724ba675SRob Herring }; 82*724ba675SRob Herring gpio11 { 83*724ba675SRob Herring gpio11_default_mode: gpio11_default { 84*724ba675SRob Herring default_mux { 85*724ba675SRob Herring function = "gpio"; 86*724ba675SRob Herring groups = "gpio11_d_1"; 87*724ba675SRob Herring }; 88*724ba675SRob Herring default_cfg { 89*724ba675SRob Herring pins = "GPIO11_AA18"; 90*724ba675SRob Herring input-enable; 91*724ba675SRob Herring bias-pull-down; 92*724ba675SRob Herring }; 93*724ba675SRob Herring }; 94*724ba675SRob Herring }; 95*724ba675SRob Herring gpio12 { 96*724ba675SRob Herring gpio12_default_mode: gpio12_default { 97*724ba675SRob Herring default_mux { 98*724ba675SRob Herring function = "gpio"; 99*724ba675SRob Herring groups = "gpio12_d_1"; 100*724ba675SRob Herring }; 101*724ba675SRob Herring default_cfg { 102*724ba675SRob Herring pins = "GPIO12_U16"; 103*724ba675SRob Herring input-enable; 104*724ba675SRob Herring bias-pull-down; 105*724ba675SRob Herring }; 106*724ba675SRob Herring }; 107*724ba675SRob Herring }; 108*724ba675SRob Herring gpio13 { 109*724ba675SRob Herring gpio13_default_mode: gpio13_default { 110*724ba675SRob Herring default_mux { 111*724ba675SRob Herring function = "gpio"; 112*724ba675SRob Herring groups = "gpio13_d_1"; 113*724ba675SRob Herring }; 114*724ba675SRob Herring default_cfg { 115*724ba675SRob Herring pins = "GPIO13_W17"; 116*724ba675SRob Herring input-enable; 117*724ba675SRob Herring bias-pull-down; 118*724ba675SRob Herring }; 119*724ba675SRob Herring }; 120*724ba675SRob Herring }; 121*724ba675SRob Herring gpio16 { 122*724ba675SRob Herring gpio16_default_mode: gpio16_default { 123*724ba675SRob Herring default_mux { 124*724ba675SRob Herring function = "gpio"; 125*724ba675SRob Herring groups = "gpio16_a_1"; 126*724ba675SRob Herring }; 127*724ba675SRob Herring default_cfg { 128*724ba675SRob Herring pins = "GPIO16_F15"; 129*724ba675SRob Herring input-enable; 130*724ba675SRob Herring bias-pull-down; 131*724ba675SRob Herring }; 132*724ba675SRob Herring }; 133*724ba675SRob Herring }; 134*724ba675SRob Herring gpio24 { 135*724ba675SRob Herring gpio24_default_mode: gpio24_default { 136*724ba675SRob Herring default_mux { 137*724ba675SRob Herring function = "gpio"; 138*724ba675SRob Herring groups = "gpio24_a_1"; 139*724ba675SRob Herring }; 140*724ba675SRob Herring default_cfg { 141*724ba675SRob Herring pins = "GPIO24_T14"; 142*724ba675SRob Herring input-enable; 143*724ba675SRob Herring bias-pull-down; 144*724ba675SRob Herring }; 145*724ba675SRob Herring }; 146*724ba675SRob Herring }; 147*724ba675SRob Herring gpio25 { 148*724ba675SRob Herring gpio25_default_mode: gpio25_default { 149*724ba675SRob Herring default_mux { 150*724ba675SRob Herring function = "gpio"; 151*724ba675SRob Herring groups = "gpio25_a_1"; 152*724ba675SRob Herring }; 153*724ba675SRob Herring default_cfg { 154*724ba675SRob Herring pins = "GPIO25_R16"; 155*724ba675SRob Herring input-enable; 156*724ba675SRob Herring bias-pull-down; 157*724ba675SRob Herring }; 158*724ba675SRob Herring }; 159*724ba675SRob Herring }; 160*724ba675SRob Herring gpio36 { 161*724ba675SRob Herring gpio36_default_mode: gpio36_default { 162*724ba675SRob Herring default_mux { 163*724ba675SRob Herring function = "gpio"; 164*724ba675SRob Herring groups = "gpio36_a_1"; 165*724ba675SRob Herring }; 166*724ba675SRob Herring default_cfg { 167*724ba675SRob Herring pins = "GPIO36_A17"; 168*724ba675SRob Herring input-enable; 169*724ba675SRob Herring bias-pull-down; 170*724ba675SRob Herring }; 171*724ba675SRob Herring }; 172*724ba675SRob Herring }; 173*724ba675SRob Herring gpio37 { 174*724ba675SRob Herring gpio37_default_mode: gpio37_default { 175*724ba675SRob Herring default_mux { 176*724ba675SRob Herring function = "gpio"; 177*724ba675SRob Herring groups = "gpio37_a_1"; 178*724ba675SRob Herring }; 179*724ba675SRob Herring default_cfg { 180*724ba675SRob Herring pins = "GPIO37_E15"; 181*724ba675SRob Herring input-enable; 182*724ba675SRob Herring bias-pull-down; 183*724ba675SRob Herring }; 184*724ba675SRob Herring }; 185*724ba675SRob Herring }; 186*724ba675SRob Herring gpio38 { 187*724ba675SRob Herring gpio38_default_mode: gpio38_default { 188*724ba675SRob Herring default_mux { 189*724ba675SRob Herring function = "gpio"; 190*724ba675SRob Herring groups = "gpio38_a_1"; 191*724ba675SRob Herring }; 192*724ba675SRob Herring default_cfg { 193*724ba675SRob Herring pins = "GPIO38_C17"; 194*724ba675SRob Herring input-enable; 195*724ba675SRob Herring bias-pull-down; 196*724ba675SRob Herring }; 197*724ba675SRob Herring }; 198*724ba675SRob Herring }; 199*724ba675SRob Herring gpio39 { 200*724ba675SRob Herring gpio39_default_mode: gpio39_default { 201*724ba675SRob Herring default_mux { 202*724ba675SRob Herring function = "gpio"; 203*724ba675SRob Herring groups = "gpio39_a_1"; 204*724ba675SRob Herring }; 205*724ba675SRob Herring default_cfg { 206*724ba675SRob Herring pins = "GPIO39_E16"; 207*724ba675SRob Herring input-enable; 208*724ba675SRob Herring bias-pull-down; 209*724ba675SRob Herring }; 210*724ba675SRob Herring }; 211*724ba675SRob Herring }; 212*724ba675SRob Herring gpio42 { 213*724ba675SRob Herring gpio42_default_mode: gpio42_default { 214*724ba675SRob Herring default_mux { 215*724ba675SRob Herring function = "gpio"; 216*724ba675SRob Herring groups = "gpio42_a_1"; 217*724ba675SRob Herring }; 218*724ba675SRob Herring default_cfg { 219*724ba675SRob Herring pins = "GPIO42_U2"; 220*724ba675SRob Herring input-enable; 221*724ba675SRob Herring bias-pull-down; 222*724ba675SRob Herring }; 223*724ba675SRob Herring }; 224*724ba675SRob Herring }; 225*724ba675SRob Herring /* 226*724ba675SRob Herring * Pins 26 and 35 muxed in as GPIO, and configured as OUTPUT LOW 227*724ba675SRob Herring */ 228*724ba675SRob Herring gpio26 { 229*724ba675SRob Herring gpio26_default_mode: gpio26_default { 230*724ba675SRob Herring default_mux { 231*724ba675SRob Herring function = "gpio"; 232*724ba675SRob Herring groups = "gpio26_d_1"; 233*724ba675SRob Herring }; 234*724ba675SRob Herring default_cfg { 235*724ba675SRob Herring pins = "GPIO26_M16"; 236*724ba675SRob Herring output-low; 237*724ba675SRob Herring }; 238*724ba675SRob Herring }; 239*724ba675SRob Herring }; 240*724ba675SRob Herring gpio35 { 241*724ba675SRob Herring gpio35_default_mode: gpio35_default { 242*724ba675SRob Herring default_mux { 243*724ba675SRob Herring function = "gpio"; 244*724ba675SRob Herring groups = "gpio35_d_1"; 245*724ba675SRob Herring }; 246*724ba675SRob Herring default_cfg { 247*724ba675SRob Herring pins = "GPIO35_W15"; 248*724ba675SRob Herring output-low; 249*724ba675SRob Herring }; 250*724ba675SRob Herring }; 251*724ba675SRob Herring }; 252*724ba675SRob Herring /* 253*724ba675SRob Herring * This sets up the YCBCR connector pins, i.e. analog video out. 254*724ba675SRob Herring * Set as input with no bias. 255*724ba675SRob Herring */ 256*724ba675SRob Herring ycbcr { 257*724ba675SRob Herring ycbcr_default_mode: ycbcr_default { 258*724ba675SRob Herring default_mux { 259*724ba675SRob Herring function = "ycbcr"; 260*724ba675SRob Herring groups = "ycbcr0123_d_1"; 261*724ba675SRob Herring }; 262*724ba675SRob Herring default_cfg { 263*724ba675SRob Herring pins = "GPIO6_Y18", 264*724ba675SRob Herring "GPIO7_AA20", 265*724ba675SRob Herring "GPIO8_W18", 266*724ba675SRob Herring "GPIO9_AA19"; 267*724ba675SRob Herring input-enable; 268*724ba675SRob Herring bias-disable; 269*724ba675SRob Herring }; 270*724ba675SRob Herring }; 271*724ba675SRob Herring }; 272*724ba675SRob Herring /* This sets up the PWM pins 14 and 15 */ 273*724ba675SRob Herring pwm { 274*724ba675SRob Herring pwm_default_mode: pwm_default { 275*724ba675SRob Herring default_mux { 276*724ba675SRob Herring function = "pwmout"; 277*724ba675SRob Herring groups = "pwmout1_d_1", "pwmout2_d_1"; 278*724ba675SRob Herring }; 279*724ba675SRob Herring default_cfg { 280*724ba675SRob Herring pins = "GPIO14_F14", 281*724ba675SRob Herring "GPIO15_B17"; 282*724ba675SRob Herring input-enable; 283*724ba675SRob Herring bias-pull-down; 284*724ba675SRob Herring }; 285*724ba675SRob Herring }; 286*724ba675SRob Herring }; 287*724ba675SRob Herring /* This sets up audio interface 1 */ 288*724ba675SRob Herring adi1 { 289*724ba675SRob Herring adi1_default_mode: adi1_default { 290*724ba675SRob Herring default_mux { 291*724ba675SRob Herring function = "adi1"; 292*724ba675SRob Herring groups = "adi1_d_1"; 293*724ba675SRob Herring }; 294*724ba675SRob Herring default_cfg { 295*724ba675SRob Herring pins = "GPIO17_P5", 296*724ba675SRob Herring "GPIO18_R5", 297*724ba675SRob Herring "GPIO19_U5", 298*724ba675SRob Herring "GPIO20_T5"; 299*724ba675SRob Herring input-enable; 300*724ba675SRob Herring bias-pull-down; 301*724ba675SRob Herring }; 302*724ba675SRob Herring }; 303*724ba675SRob Herring }; 304*724ba675SRob Herring /* This sets up the USB UICC pins */ 305*724ba675SRob Herring usbuicc { 306*724ba675SRob Herring usbuicc_default_mode: usbuicc_default { 307*724ba675SRob Herring default_mux { 308*724ba675SRob Herring function = "usbuicc"; 309*724ba675SRob Herring groups = "usbuicc_d_1"; 310*724ba675SRob Herring }; 311*724ba675SRob Herring default_cfg { 312*724ba675SRob Herring pins = "GPIO21_H19", 313*724ba675SRob Herring "GPIO22_G20", 314*724ba675SRob Herring "GPIO23_G19"; 315*724ba675SRob Herring input-enable; 316*724ba675SRob Herring bias-pull-down; 317*724ba675SRob Herring }; 318*724ba675SRob Herring }; 319*724ba675SRob Herring }; 320*724ba675SRob Herring /* This sets up the microphone pins */ 321*724ba675SRob Herring dmic { 322*724ba675SRob Herring dmic_default_mode: dmic_default { 323*724ba675SRob Herring default_mux { 324*724ba675SRob Herring function = "dmic"; 325*724ba675SRob Herring groups = "dmic12_d_1", 326*724ba675SRob Herring "dmic34_d_1", 327*724ba675SRob Herring "dmic56_d_1"; 328*724ba675SRob Herring }; 329*724ba675SRob Herring default_cfg { 330*724ba675SRob Herring pins = "GPIO27_J6", 331*724ba675SRob Herring "GPIO28_K6", 332*724ba675SRob Herring "GPIO29_G6", 333*724ba675SRob Herring "GPIO30_H6", 334*724ba675SRob Herring "GPIO31_F5", 335*724ba675SRob Herring "GPIO32_G5"; 336*724ba675SRob Herring input-enable; 337*724ba675SRob Herring bias-pull-down; 338*724ba675SRob Herring }; 339*724ba675SRob Herring }; 340*724ba675SRob Herring }; 341*724ba675SRob Herring extcpena { 342*724ba675SRob Herring extcpena_default_mode: extcpena_default { 343*724ba675SRob Herring default_mux { 344*724ba675SRob Herring function = "extcpena"; 345*724ba675SRob Herring groups = "extcpena_d_1"; 346*724ba675SRob Herring }; 347*724ba675SRob Herring default_cfg { 348*724ba675SRob Herring pins = "GPIO34_R17"; 349*724ba675SRob Herring input-enable; 350*724ba675SRob Herring bias-pull-down; 351*724ba675SRob Herring }; 352*724ba675SRob Herring }; 353*724ba675SRob Herring }; 354*724ba675SRob Herring /* Modem I2C setup (SCL and SDA pins) */ 355*724ba675SRob Herring modsclsda { 356*724ba675SRob Herring modsclsda_default_mode: modsclsda_default { 357*724ba675SRob Herring default_mux { 358*724ba675SRob Herring function = "modsclsda"; 359*724ba675SRob Herring groups = "modsclsda_d_1"; 360*724ba675SRob Herring }; 361*724ba675SRob Herring default_cfg { 362*724ba675SRob Herring pins = "GPIO40_T19", 363*724ba675SRob Herring "GPIO41_U19"; 364*724ba675SRob Herring input-enable; 365*724ba675SRob Herring bias-pull-down; 366*724ba675SRob Herring }; 367*724ba675SRob Herring }; 368*724ba675SRob Herring }; 369*724ba675SRob Herring /* 370*724ba675SRob Herring * Clock output pins associated with regulators. 371*724ba675SRob Herring */ 372*724ba675SRob Herring sysclkreq2 { 373*724ba675SRob Herring sysclkreq2_default_mode: sysclkreq2_default { 374*724ba675SRob Herring default_mux { 375*724ba675SRob Herring function = "sysclkreq"; 376*724ba675SRob Herring groups = "sysclkreq2_d_1"; 377*724ba675SRob Herring }; 378*724ba675SRob Herring default_cfg { 379*724ba675SRob Herring pins = "GPIO1_T10"; 380*724ba675SRob Herring input-enable; 381*724ba675SRob Herring bias-disable; 382*724ba675SRob Herring }; 383*724ba675SRob Herring }; 384*724ba675SRob Herring sysclkreq2_sleep_mode: sysclkreq2_sleep { 385*724ba675SRob Herring default_mux { 386*724ba675SRob Herring function = "gpio"; 387*724ba675SRob Herring groups = "gpio1_a_1"; 388*724ba675SRob Herring }; 389*724ba675SRob Herring default_cfg { 390*724ba675SRob Herring pins = "GPIO1_T10"; 391*724ba675SRob Herring input-enable; 392*724ba675SRob Herring bias-pull-down; 393*724ba675SRob Herring }; 394*724ba675SRob Herring }; 395*724ba675SRob Herring }; 396*724ba675SRob Herring sysclkreq4 { 397*724ba675SRob Herring sysclkreq4_default_mode: sysclkreq4_default { 398*724ba675SRob Herring default_mux { 399*724ba675SRob Herring function = "sysclkreq"; 400*724ba675SRob Herring groups = "sysclkreq4_d_1"; 401*724ba675SRob Herring }; 402*724ba675SRob Herring default_cfg { 403*724ba675SRob Herring pins = "GPIO3_U9"; 404*724ba675SRob Herring input-enable; 405*724ba675SRob Herring bias-disable; 406*724ba675SRob Herring }; 407*724ba675SRob Herring }; 408*724ba675SRob Herring sysclkreq4_sleep_mode: sysclkreq4_sleep { 409*724ba675SRob Herring default_mux { 410*724ba675SRob Herring function = "gpio"; 411*724ba675SRob Herring groups = "gpio3_a_1"; 412*724ba675SRob Herring }; 413*724ba675SRob Herring default_cfg { 414*724ba675SRob Herring pins = "GPIO3_U9"; 415*724ba675SRob Herring input-enable; 416*724ba675SRob Herring bias-pull-down; 417*724ba675SRob Herring }; 418*724ba675SRob Herring }; 419*724ba675SRob Herring }; 420*724ba675SRob Herring }; 421*724ba675SRob Herring /* 422*724ba675SRob Herring * Charging is not working on the HREF unless an actual battery is 423*724ba675SRob Herring * mounted, most HREFs have a DC cable in to the "battery power" 424*724ba675SRob Herring * which means this will only be cofusing. So do not enable charging 425*724ba675SRob Herring * of the HREFs. 426*724ba675SRob Herring */ 427*724ba675SRob Herring ab8500_fg { 428*724ba675SRob Herring status = "disabled"; 429*724ba675SRob Herring }; 430*724ba675SRob Herring ab8500_btemp { 431*724ba675SRob Herring status = "disabled"; 432*724ba675SRob Herring }; 433*724ba675SRob Herring ab8500_charger { 434*724ba675SRob Herring status = "disabled"; 435*724ba675SRob Herring }; 436*724ba675SRob Herring ab8500_chargalg { 437*724ba675SRob Herring status = "disabled"; 438*724ba675SRob Herring }; 439*724ba675SRob Herring }; 440*724ba675SRob Herring }; 441*724ba675SRob Herring }; 442*724ba675SRob Herring}; 443