1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright 2012 Linaro Ltd 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring#include <dt-bindings/clock/ste-ab8500.h> 7*724ba675SRob Herring 8*724ba675SRob Herring/ { 9*724ba675SRob Herring /* Essential housekeeping hardware monitors */ 10*724ba675SRob Herring iio-hwmon { 11*724ba675SRob Herring compatible = "iio-hwmon"; 12*724ba675SRob Herring io-channels = <&gpadc 0x02>, /* Battery temperature */ 13*724ba675SRob Herring <&gpadc 0x03>, /* Main charger voltage */ 14*724ba675SRob Herring <&gpadc 0x08>, /* Main battery voltage */ 15*724ba675SRob Herring <&gpadc 0x09>, /* VBUS */ 16*724ba675SRob Herring <&gpadc 0x0a>, /* Main charger current */ 17*724ba675SRob Herring <&gpadc 0x0b>, /* USB charger current */ 18*724ba675SRob Herring <&gpadc 0x0c>, /* Backup battery voltage */ 19*724ba675SRob Herring <&gpadc 0x0d>, /* Die temperature */ 20*724ba675SRob Herring <&gpadc 0x12>; /* Crystal temperature */ 21*724ba675SRob Herring }; 22*724ba675SRob Herring 23*724ba675SRob Herring soc { 24*724ba675SRob Herring prcmu@80157000 { 25*724ba675SRob Herring ab8500 { 26*724ba675SRob Herring compatible = "stericsson,ab8500"; 27*724ba675SRob Herring interrupt-parent = <&intc>; 28*724ba675SRob Herring interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 29*724ba675SRob Herring interrupt-controller; 30*724ba675SRob Herring #interrupt-cells = <2>; 31*724ba675SRob Herring #address-cells = <1>; 32*724ba675SRob Herring #size-cells = <0>; 33*724ba675SRob Herring 34*724ba675SRob Herring ab8500_clock: clock-controller { 35*724ba675SRob Herring compatible = "stericsson,ab8500-clk"; 36*724ba675SRob Herring #clock-cells = <1>; 37*724ba675SRob Herring }; 38*724ba675SRob Herring 39*724ba675SRob Herring ab8500_gpio: gpio { 40*724ba675SRob Herring compatible = "stericsson,ab8500-gpio"; 41*724ba675SRob Herring gpio-controller; 42*724ba675SRob Herring #gpio-cells = <2>; 43*724ba675SRob Herring }; 44*724ba675SRob Herring 45*724ba675SRob Herring rtc { 46*724ba675SRob Herring compatible = "stericsson,ab8500-rtc"; 47*724ba675SRob Herring interrupts = <17 IRQ_TYPE_LEVEL_HIGH>, 48*724ba675SRob Herring <18 IRQ_TYPE_LEVEL_HIGH>; 49*724ba675SRob Herring interrupt-names = "60S", "ALARM"; 50*724ba675SRob Herring }; 51*724ba675SRob Herring 52*724ba675SRob Herring gpadc: adc { 53*724ba675SRob Herring compatible = "stericsson,ab8500-gpadc"; 54*724ba675SRob Herring interrupts = <32 IRQ_TYPE_LEVEL_HIGH>, 55*724ba675SRob Herring <39 IRQ_TYPE_LEVEL_HIGH>; 56*724ba675SRob Herring interrupt-names = "HW_CONV_END", "SW_CONV_END"; 57*724ba675SRob Herring vddadc-supply = <&ab8500_ldo_tvout_reg>; 58*724ba675SRob Herring #address-cells = <1>; 59*724ba675SRob Herring #size-cells = <0>; 60*724ba675SRob Herring #io-channel-cells = <1>; 61*724ba675SRob Herring 62*724ba675SRob Herring /* GPADC channels */ 63*724ba675SRob Herring bat_ctrl: channel@1 { 64*724ba675SRob Herring reg = <0x01>; 65*724ba675SRob Herring }; 66*724ba675SRob Herring btemp_ball: channel@2 { 67*724ba675SRob Herring reg = <0x02>; 68*724ba675SRob Herring }; 69*724ba675SRob Herring main_charger_v: channel@3 { 70*724ba675SRob Herring reg = <0x03>; 71*724ba675SRob Herring }; 72*724ba675SRob Herring acc_detect1: channel@4 { 73*724ba675SRob Herring reg = <0x04>; 74*724ba675SRob Herring }; 75*724ba675SRob Herring acc_detect2: channel@5 { 76*724ba675SRob Herring reg = <0x05>; 77*724ba675SRob Herring }; 78*724ba675SRob Herring adc_aux1: channel@6 { 79*724ba675SRob Herring reg = <0x06>; 80*724ba675SRob Herring }; 81*724ba675SRob Herring adc_aux2: channel@7 { 82*724ba675SRob Herring reg = <0x07>; 83*724ba675SRob Herring }; 84*724ba675SRob Herring main_batt_v: channel@8 { 85*724ba675SRob Herring reg = <0x08>; 86*724ba675SRob Herring }; 87*724ba675SRob Herring vbus_v: channel@9 { 88*724ba675SRob Herring reg = <0x09>; 89*724ba675SRob Herring }; 90*724ba675SRob Herring main_charger_c: channel@a { 91*724ba675SRob Herring reg = <0x0a>; 92*724ba675SRob Herring }; 93*724ba675SRob Herring usb_charger_c: channel@b { 94*724ba675SRob Herring reg = <0x0b>; 95*724ba675SRob Herring }; 96*724ba675SRob Herring bk_bat_v: channel@c { 97*724ba675SRob Herring reg = <0x0c>; 98*724ba675SRob Herring }; 99*724ba675SRob Herring die_temp: channel@d { 100*724ba675SRob Herring reg = <0x0d>; 101*724ba675SRob Herring }; 102*724ba675SRob Herring usb_id: channel@e { 103*724ba675SRob Herring reg = <0x0e>; 104*724ba675SRob Herring }; 105*724ba675SRob Herring xtal_temp: channel@12 { 106*724ba675SRob Herring reg = <0x12>; 107*724ba675SRob Herring }; 108*724ba675SRob Herring vbat_true_meas: channel@13 { 109*724ba675SRob Herring reg = <0x13>; 110*724ba675SRob Herring }; 111*724ba675SRob Herring bat_ctrl_and_ibat: channel@1c { 112*724ba675SRob Herring reg = <0x1c>; 113*724ba675SRob Herring }; 114*724ba675SRob Herring vbat_meas_and_ibat: channel@1d { 115*724ba675SRob Herring reg = <0x1d>; 116*724ba675SRob Herring }; 117*724ba675SRob Herring vbat_true_meas_and_ibat: channel@1e { 118*724ba675SRob Herring reg = <0x1e>; 119*724ba675SRob Herring }; 120*724ba675SRob Herring bat_temp_and_ibat: channel@1f { 121*724ba675SRob Herring reg = <0x1f>; 122*724ba675SRob Herring }; 123*724ba675SRob Herring }; 124*724ba675SRob Herring 125*724ba675SRob Herring thermal { 126*724ba675SRob Herring compatible = "stericsson,abx500-temp"; 127*724ba675SRob Herring interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; 128*724ba675SRob Herring interrupt-names = "ABX500_TEMP_WARM"; 129*724ba675SRob Herring }; 130*724ba675SRob Herring 131*724ba675SRob Herring ab8500_fg { 132*724ba675SRob Herring compatible = "stericsson,ab8500-fg"; 133*724ba675SRob Herring interrupts = <24 IRQ_TYPE_LEVEL_HIGH>, 134*724ba675SRob Herring <8 IRQ_TYPE_LEVEL_HIGH>, 135*724ba675SRob Herring <28 IRQ_TYPE_LEVEL_HIGH>, 136*724ba675SRob Herring <27 IRQ_TYPE_LEVEL_HIGH>, 137*724ba675SRob Herring <26 IRQ_TYPE_LEVEL_HIGH>; 138*724ba675SRob Herring interrupt-names = "NCONV_ACCU", 139*724ba675SRob Herring "BATT_OVV", 140*724ba675SRob Herring "LOW_BAT_F", 141*724ba675SRob Herring "CC_INT_CALIB", 142*724ba675SRob Herring "CCEOC"; 143*724ba675SRob Herring monitored-battery = <&battery>; 144*724ba675SRob Herring io-channels = <&gpadc 0x08>; 145*724ba675SRob Herring io-channel-names = "main_bat_v"; 146*724ba675SRob Herring }; 147*724ba675SRob Herring 148*724ba675SRob Herring ab8500_btemp { 149*724ba675SRob Herring compatible = "stericsson,ab8500-btemp"; 150*724ba675SRob Herring interrupts = <20 IRQ_TYPE_LEVEL_HIGH>, 151*724ba675SRob Herring <80 IRQ_TYPE_LEVEL_HIGH>, 152*724ba675SRob Herring <83 IRQ_TYPE_LEVEL_HIGH>, 153*724ba675SRob Herring <81 IRQ_TYPE_LEVEL_HIGH>, 154*724ba675SRob Herring <82 IRQ_TYPE_LEVEL_HIGH>; 155*724ba675SRob Herring interrupt-names = "BAT_CTRL_INDB", 156*724ba675SRob Herring "BTEMP_LOW", 157*724ba675SRob Herring "BTEMP_HIGH", 158*724ba675SRob Herring "BTEMP_LOW_MEDIUM", 159*724ba675SRob Herring "BTEMP_MEDIUM_HIGH"; 160*724ba675SRob Herring monitored-battery = <&battery>; 161*724ba675SRob Herring io-channels = <&gpadc 0x02>, 162*724ba675SRob Herring <&gpadc 0x01>; 163*724ba675SRob Herring io-channel-names = "btemp_ball", 164*724ba675SRob Herring "bat_ctrl"; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring ab8500_charger { 168*724ba675SRob Herring compatible = "stericsson,ab8500-charger"; 169*724ba675SRob Herring interrupts = <10 IRQ_TYPE_LEVEL_HIGH>, 170*724ba675SRob Herring <11 IRQ_TYPE_LEVEL_HIGH>, 171*724ba675SRob Herring <0 IRQ_TYPE_LEVEL_HIGH>, 172*724ba675SRob Herring <107 IRQ_TYPE_LEVEL_HIGH>, 173*724ba675SRob Herring <106 IRQ_TYPE_LEVEL_HIGH>, 174*724ba675SRob Herring <14 IRQ_TYPE_LEVEL_HIGH>, 175*724ba675SRob Herring <15 IRQ_TYPE_LEVEL_HIGH>, 176*724ba675SRob Herring <79 IRQ_TYPE_LEVEL_HIGH>, 177*724ba675SRob Herring <105 IRQ_TYPE_LEVEL_HIGH>, 178*724ba675SRob Herring <104 IRQ_TYPE_LEVEL_HIGH>, 179*724ba675SRob Herring <89 IRQ_TYPE_LEVEL_HIGH>, 180*724ba675SRob Herring <22 IRQ_TYPE_LEVEL_HIGH>, 181*724ba675SRob Herring <21 IRQ_TYPE_LEVEL_HIGH>, 182*724ba675SRob Herring <16 IRQ_TYPE_LEVEL_HIGH>; 183*724ba675SRob Herring interrupt-names = "MAIN_CH_UNPLUG_DET", 184*724ba675SRob Herring "MAIN_CHARGE_PLUG_DET", 185*724ba675SRob Herring "MAIN_EXT_CH_NOT_OK", 186*724ba675SRob Herring "MAIN_CH_TH_PROT_R", 187*724ba675SRob Herring "MAIN_CH_TH_PROT_F", 188*724ba675SRob Herring "VBUS_DET_F", 189*724ba675SRob Herring "VBUS_DET_R", 190*724ba675SRob Herring "USB_LINK_STATUS", 191*724ba675SRob Herring "USB_CH_TH_PROT_R", 192*724ba675SRob Herring "USB_CH_TH_PROT_F", 193*724ba675SRob Herring "USB_CHARGER_NOT_OKR", 194*724ba675SRob Herring "VBUS_OVV", 195*724ba675SRob Herring "CH_WD_EXP", 196*724ba675SRob Herring "VBUS_CH_DROP_END"; 197*724ba675SRob Herring monitored-battery = <&battery>; 198*724ba675SRob Herring vddadc-supply = <&ab8500_ldo_tvout_reg>; 199*724ba675SRob Herring io-channels = <&gpadc 0x03>, 200*724ba675SRob Herring <&gpadc 0x0a>, 201*724ba675SRob Herring <&gpadc 0x09>, 202*724ba675SRob Herring <&gpadc 0x0b>; 203*724ba675SRob Herring io-channel-names = "main_charger_v", 204*724ba675SRob Herring "main_charger_c", 205*724ba675SRob Herring "vbus_v", 206*724ba675SRob Herring "usb_charger_c"; 207*724ba675SRob Herring }; 208*724ba675SRob Herring 209*724ba675SRob Herring ab8500_chargalg { 210*724ba675SRob Herring compatible = "stericsson,ab8500-chargalg"; 211*724ba675SRob Herring monitored-battery = <&battery>; 212*724ba675SRob Herring }; 213*724ba675SRob Herring 214*724ba675SRob Herring ab8500_usb: phy { 215*724ba675SRob Herring compatible = "stericsson,ab8500-usb"; 216*724ba675SRob Herring interrupts = <90 IRQ_TYPE_LEVEL_HIGH>, 217*724ba675SRob Herring <96 IRQ_TYPE_LEVEL_HIGH>, 218*724ba675SRob Herring <14 IRQ_TYPE_LEVEL_HIGH>, 219*724ba675SRob Herring <15 IRQ_TYPE_LEVEL_HIGH>, 220*724ba675SRob Herring <79 IRQ_TYPE_LEVEL_HIGH>, 221*724ba675SRob Herring <74 IRQ_TYPE_LEVEL_HIGH>, 222*724ba675SRob Herring <75 IRQ_TYPE_LEVEL_HIGH>; 223*724ba675SRob Herring interrupt-names = "ID_WAKEUP_R", 224*724ba675SRob Herring "ID_WAKEUP_F", 225*724ba675SRob Herring "VBUS_DET_F", 226*724ba675SRob Herring "VBUS_DET_R", 227*724ba675SRob Herring "USB_LINK_STATUS", 228*724ba675SRob Herring "USB_ADP_PROBE_PLUG", 229*724ba675SRob Herring "USB_ADP_PROBE_UNPLUG"; 230*724ba675SRob Herring vddulpivio18-supply = <&ab8500_ldo_intcore_reg>; 231*724ba675SRob Herring v-ape-supply = <&db8500_vape_reg>; 232*724ba675SRob Herring musb_1v8-supply = <&db8500_vsmps2_reg>; 233*724ba675SRob Herring clocks = <&prcmu_clk PRCMU_SYSCLK>; 234*724ba675SRob Herring clock-names = "sysclk"; 235*724ba675SRob Herring #phy-cells = <0>; 236*724ba675SRob Herring }; 237*724ba675SRob Herring 238*724ba675SRob Herring key { 239*724ba675SRob Herring compatible = "stericsson,ab8500-poweron-key"; 240*724ba675SRob Herring interrupts = <6 IRQ_TYPE_LEVEL_HIGH>, 241*724ba675SRob Herring <7 IRQ_TYPE_LEVEL_HIGH>; 242*724ba675SRob Herring interrupt-names = "ONKEY_DBF", "ONKEY_DBR"; 243*724ba675SRob Herring }; 244*724ba675SRob Herring 245*724ba675SRob Herring ab8500-sysctrl { 246*724ba675SRob Herring compatible = "stericsson,ab8500-sysctrl"; 247*724ba675SRob Herring }; 248*724ba675SRob Herring 249*724ba675SRob Herring pwm@1 { 250*724ba675SRob Herring compatible = "stericsson,ab8500-pwm"; 251*724ba675SRob Herring reg = <1>; 252*724ba675SRob Herring clocks = <&ab8500_clock AB8500_SYSCLK_INT>; 253*724ba675SRob Herring clock-names = "intclk"; 254*724ba675SRob Herring #pwm-cells = <1>; 255*724ba675SRob Herring }; 256*724ba675SRob Herring 257*724ba675SRob Herring pwm@2 { 258*724ba675SRob Herring compatible = "stericsson,ab8500-pwm"; 259*724ba675SRob Herring reg = <2>; 260*724ba675SRob Herring clocks = <&ab8500_clock AB8500_SYSCLK_INT>; 261*724ba675SRob Herring clock-names = "intclk"; 262*724ba675SRob Herring #pwm-cells = <1>; 263*724ba675SRob Herring }; 264*724ba675SRob Herring 265*724ba675SRob Herring pwm@3 { 266*724ba675SRob Herring compatible = "stericsson,ab8500-pwm"; 267*724ba675SRob Herring reg = <3>; 268*724ba675SRob Herring clocks = <&ab8500_clock AB8500_SYSCLK_INT>; 269*724ba675SRob Herring clock-names = "intclk"; 270*724ba675SRob Herring #pwm-cells = <1>; 271*724ba675SRob Herring }; 272*724ba675SRob Herring 273*724ba675SRob Herring codec: codec { 274*724ba675SRob Herring compatible = "stericsson,ab8500-codec"; 275*724ba675SRob Herring 276*724ba675SRob Herring V-AUD-supply = <&ab8500_ldo_audio_reg>; 277*724ba675SRob Herring V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>; 278*724ba675SRob Herring V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>; 279*724ba675SRob Herring V-DMIC-supply = <&ab8500_ldo_dmic_reg>; 280*724ba675SRob Herring 281*724ba675SRob Herring clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>; 282*724ba675SRob Herring clock-names = "audioclk"; 283*724ba675SRob Herring 284*724ba675SRob Herring stericsson,earpeice-cmv = <950>; /* Units in mV. */ 285*724ba675SRob Herring }; 286*724ba675SRob Herring 287*724ba675SRob Herring ext_regulators: regulator-external { 288*724ba675SRob Herring compatible = "stericsson,ab8500-ext-regulator"; 289*724ba675SRob Herring 290*724ba675SRob Herring ab8500_ext1_reg: ab8500_ext1 { 291*724ba675SRob Herring regulator-min-microvolt = <1800000>; 292*724ba675SRob Herring regulator-max-microvolt = <1800000>; 293*724ba675SRob Herring regulator-boot-on; 294*724ba675SRob Herring regulator-always-on; 295*724ba675SRob Herring }; 296*724ba675SRob Herring 297*724ba675SRob Herring ab8500_ext2_reg: ab8500_ext2 { 298*724ba675SRob Herring regulator-min-microvolt = <1360000>; 299*724ba675SRob Herring regulator-max-microvolt = <1360000>; 300*724ba675SRob Herring regulator-boot-on; 301*724ba675SRob Herring regulator-always-on; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring ab8500_ext3_reg: ab8500_ext3 { 305*724ba675SRob Herring regulator-min-microvolt = <3400000>; 306*724ba675SRob Herring regulator-max-microvolt = <3400000>; 307*724ba675SRob Herring regulator-boot-on; 308*724ba675SRob Herring }; 309*724ba675SRob Herring }; 310*724ba675SRob Herring 311*724ba675SRob Herring regulator { 312*724ba675SRob Herring compatible = "stericsson,ab8500-regulator"; 313*724ba675SRob Herring vin-supply = <&ab8500_ext3_reg>; 314*724ba675SRob Herring 315*724ba675SRob Herring // supplies to the display/camera 316*724ba675SRob Herring ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { 317*724ba675SRob Herring regulator-min-microvolt = <2800000>; 318*724ba675SRob Herring regulator-max-microvolt = <3300000>; 319*724ba675SRob Herring regulator-boot-on; 320*724ba675SRob Herring /* BUG: If turned off MMC will be affected. */ 321*724ba675SRob Herring regulator-always-on; 322*724ba675SRob Herring }; 323*724ba675SRob Herring 324*724ba675SRob Herring // supplies to the on-board eMMC 325*724ba675SRob Herring ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { 326*724ba675SRob Herring regulator-min-microvolt = <1100000>; 327*724ba675SRob Herring regulator-max-microvolt = <3300000>; 328*724ba675SRob Herring }; 329*724ba675SRob Herring 330*724ba675SRob Herring // supply for VAUX3; SDcard slots 331*724ba675SRob Herring ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { 332*724ba675SRob Herring regulator-min-microvolt = <1100000>; 333*724ba675SRob Herring regulator-max-microvolt = <3300000>; 334*724ba675SRob Herring }; 335*724ba675SRob Herring 336*724ba675SRob Herring // supply for v-intcore12; VINTCORE12 LDO 337*724ba675SRob Herring ab8500_ldo_intcore_reg: ab8500_ldo_intcore { 338*724ba675SRob Herring }; 339*724ba675SRob Herring 340*724ba675SRob Herring // supply for tvout; gpadc; TVOUT LDO 341*724ba675SRob Herring ab8500_ldo_tvout_reg: ab8500_ldo_tvout { 342*724ba675SRob Herring }; 343*724ba675SRob Herring 344*724ba675SRob Herring // supply for ab8500-vaudio; VAUDIO LDO 345*724ba675SRob Herring ab8500_ldo_audio_reg: ab8500_ldo_audio { 346*724ba675SRob Herring }; 347*724ba675SRob Herring 348*724ba675SRob Herring // supply for v-anamic1 VAMIC1 LDO 349*724ba675SRob Herring ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { 350*724ba675SRob Herring }; 351*724ba675SRob Herring 352*724ba675SRob Herring // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1 353*724ba675SRob Herring ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 { 354*724ba675SRob Herring }; 355*724ba675SRob Herring 356*724ba675SRob Herring // supply for v-dmic; VDMIC LDO 357*724ba675SRob Herring ab8500_ldo_dmic_reg: ab8500_ldo_dmic { 358*724ba675SRob Herring }; 359*724ba675SRob Herring 360*724ba675SRob Herring // supply for U8500 CSI/DSI; VANA LDO 361*724ba675SRob Herring ab8500_ldo_ana_reg: ab8500_ldo_ana { 362*724ba675SRob Herring }; 363*724ba675SRob Herring }; 364*724ba675SRob Herring }; 365*724ba675SRob Herring }; 366*724ba675SRob Herring 367*724ba675SRob Herring sound { 368*724ba675SRob Herring stericsson,audio-codec = <&codec>; 369*724ba675SRob Herring clocks = <&prcmu_clk PRCMU_SYSCLK>, <&ab8500_clock AB8500_SYSCLK_ULP>, <&ab8500_clock AB8500_SYSCLK_INT>; 370*724ba675SRob Herring clock-names = "sysclk", "ulpclk", "intclk"; 371*724ba675SRob Herring }; 372*724ba675SRob Herring 373*724ba675SRob Herring mcde@a0350000 { 374*724ba675SRob Herring vana-supply = <&ab8500_ldo_ana_reg>; 375*724ba675SRob Herring 376*724ba675SRob Herring dsi@a0351000 { 377*724ba675SRob Herring vana-supply = <&ab8500_ldo_ana_reg>; 378*724ba675SRob Herring }; 379*724ba675SRob Herring dsi@a0352000 { 380*724ba675SRob Herring vana-supply = <&ab8500_ldo_ana_reg>; 381*724ba675SRob Herring }; 382*724ba675SRob Herring dsi@a0353000 { 383*724ba675SRob Herring vana-supply = <&ab8500_ldo_ana_reg>; 384*724ba675SRob Herring }; 385*724ba675SRob Herring }; 386*724ba675SRob Herring 387*724ba675SRob Herring usb_per5@a03e0000 { 388*724ba675SRob Herring phys = <&ab8500_usb>; 389*724ba675SRob Herring phy-names = "usb"; 390*724ba675SRob Herring }; 391*724ba675SRob Herring }; 392*724ba675SRob Herring}; 393