| // SPDX-License-Identifier: GPL-2.0-or-later |
| /* |
| * Copyright 2012 Linaro Ltd |
| */ |
| |
| #include <dt-bindings/clock/ste-ab8500.h> |
| |
| / { |
| /* Essential housekeeping hardware monitors */ |
| iio-hwmon { |
| compatible = "iio-hwmon"; |
| io-channels = <&gpadc 0x02>, /* Battery temperature */ |
| <&gpadc 0x08>, /* Main battery voltage */ |
| <&gpadc 0x09>, /* VBUS */ |
| <&gpadc 0x0b>, /* Charger current */ |
| <&gpadc 0x0c>; /* Backup battery voltage */ |
| }; |
| |
| soc { |
| prcmu@80157000 { |
| ab8505 { |
| compatible = "stericsson,ab8505"; |
| interrupt-parent = <&intc>; |
| interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| |
| ab8500_clock: clock-controller { |
| compatible = "stericsson,ab8500-clk"; |
| #clock-cells = <1>; |
| }; |
| |
| ab8505_gpio: ab8505-gpiocontroller { |
| compatible = "stericsson,ab8505-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| ab8500-rtc { |
| compatible = "stericsson,ab8500-rtc"; |
| interrupts = <17 IRQ_TYPE_LEVEL_HIGH>, |
| <18 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "60S", "ALARM"; |
| }; |
| |
| gpadc: ab8500-gpadc { |
| compatible = "stericsson,ab8500-gpadc"; |
| interrupts = <32 IRQ_TYPE_LEVEL_HIGH |
| 39 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "HW_CONV_END", "SW_CONV_END"; |
| vddadc-supply = <&ab8500_ldo_adc_reg>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| #io-channel-cells = <1>; |
| |
| /* GPADC channels */ |
| bat_ctrl: channel@01 { |
| reg = <0x01>; |
| }; |
| btemp_ball: channel@02 { |
| reg = <0x02>; |
| }; |
| acc_detect1: channel@04 { |
| reg = <0x04>; |
| }; |
| acc_detect2: channel@05 { |
| reg = <0x05>; |
| }; |
| adc_aux1: channel@06 { |
| reg = <0x06>; |
| }; |
| adc_aux2: channel@07 { |
| reg = <0x07>; |
| }; |
| main_batt_v: channel@08 { |
| reg = <0x08>; |
| }; |
| vbus_v: channel@09 { |
| reg = <0x09>; |
| }; |
| charger_c: channel@0b { |
| reg = <0x0b>; |
| }; |
| bk_bat_v: channel@0c { |
| reg = <0x0c>; |
| }; |
| usb_id: channel@0e { |
| reg = <0x0e>; |
| }; |
| }; |
| |
| ab8500_battery: ab8500_battery { |
| status = "disabled"; |
| thermistor-on-batctrl; |
| }; |
| |
| ab8500_fg { |
| status = "disabled"; |
| compatible = "stericsson,ab8500-fg"; |
| battery = <&ab8500_battery>; |
| io-channels = <&gpadc 0x08>; |
| io-channel-name = "main_bat_v"; |
| }; |
| |
| ab8500_btemp { |
| status = "disabled"; |
| compatible = "stericsson,ab8500-btemp"; |
| battery = <&ab8500_battery>; |
| io-channels = <&gpadc 0x02>, |
| <&gpadc 0x01>; |
| io-channel-name = "btemp_ball", |
| "bat_ctrl"; |
| }; |
| |
| ab8500_charger { |
| status = "disabled"; |
| compatible = "stericsson,ab8500-charger"; |
| battery = <&ab8500_battery>; |
| vddadc-supply = <&ab8500_ldo_adc_reg>; |
| io-channels = <&gpadc 0x09>, |
| <&gpadc 0x0b>; |
| io-channel-name = "vbus_v", |
| "usb_charger_c"; |
| }; |
| |
| ab8500_chargalg { |
| status = "disabled"; |
| compatible = "stericsson,ab8500-chargalg"; |
| battery = <&ab8500_battery>; |
| }; |
| |
| ab8500_usb: ab8500_usb { |
| compatible = "stericsson,ab8500-usb"; |
| interrupts = <90 IRQ_TYPE_LEVEL_HIGH>, |
| <96 IRQ_TYPE_LEVEL_HIGH>, |
| <14 IRQ_TYPE_LEVEL_HIGH>, |
| <15 IRQ_TYPE_LEVEL_HIGH>, |
| <79 IRQ_TYPE_LEVEL_HIGH>, |
| <74 IRQ_TYPE_LEVEL_HIGH>, |
| <75 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "ID_WAKEUP_R", |
| "ID_WAKEUP_F", |
| "VBUS_DET_F", |
| "VBUS_DET_R", |
| "USB_LINK_STATUS", |
| "USB_ADP_PROBE_PLUG", |
| "USB_ADP_PROBE_UNPLUG"; |
| vddulpivio18-supply = <&ab8500_ldo_intcore_reg>; |
| v-ape-supply = <&db8500_vape_reg>; |
| musb_1v8-supply = <&db8500_vsmps2_reg>; |
| clocks = <&prcmu_clk PRCMU_SYSCLK>; |
| clock-names = "sysclk"; |
| }; |
| |
| ab8500-ponkey { |
| compatible = "stericsson,ab8500-poweron-key"; |
| interrupts = <6 IRQ_TYPE_LEVEL_HIGH>, |
| <7 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "ONKEY_DBF", "ONKEY_DBR"; |
| }; |
| |
| ab8500-sysctrl { |
| compatible = "stericsson,ab8500-sysctrl"; |
| }; |
| |
| ab8500-pwm { |
| compatible = "stericsson,ab8500-pwm"; |
| clocks = <&ab8500_clock AB8500_SYSCLK_INT>; |
| clock-names = "intclk"; |
| }; |
| |
| ab8500-debugfs { |
| compatible = "stericsson,ab8500-debug"; |
| }; |
| |
| codec: ab8500-codec { |
| compatible = "stericsson,ab8500-codec"; |
| |
| V-AUD-supply = <&ab8500_ldo_audio_reg>; |
| V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>; |
| V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>; |
| |
| clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>; |
| clock-names = "audioclk"; |
| |
| stericsson,earpeice-cmv = <950>; /* Units in mV. */ |
| }; |
| |
| ab8505-regulators { |
| compatible = "stericsson,ab8505-regulator"; |
| |
| ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { |
| regulator-min-microvolt = <2800000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| ab8500_ldo_aux4_reg: ab8500_ldo_aux4 { |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| ab8500_ldo_aux5_reg: ab8500_ldo_aux5 { |
| regulator-min-microvolt = <1050000>; |
| regulator-max-microvolt = <2790000>; |
| }; |
| |
| ab8500_ldo_aux6_reg: ab8500_ldo_aux6 { |
| regulator-min-microvolt = <1050000>; |
| regulator-max-microvolt = <2790000>; |
| }; |
| |
| // supply for v-intcore12; VINTCORE12 LDO |
| ab8500_ldo_intcore_reg: ab8500_ldo_intcore { |
| regulator-min-microvolt = <1250000>; |
| regulator-max-microvolt = <1350000>; |
| }; |
| |
| // supply for gpadc; ADC LDO |
| ab8500_ldo_adc_reg: ab8500_ldo_adc { |
| }; |
| |
| // supply for ab8500-vaudio; VAUDIO LDO |
| ab8500_ldo_audio_reg: ab8500_ldo_audio { |
| }; |
| |
| // supply for v-anamic1 VAMIC1 LDO |
| ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { |
| }; |
| |
| // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1 |
| ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 { |
| }; |
| |
| // supply for v-aux8; VAUX8 LDO |
| ab8500_ldo_aux8_reg: ab8500_ldo_aux8 { |
| }; |
| |
| // supply for U8500 CSI/DSI; VANA LDO |
| ab8500_ldo_ana_reg: ab8500_ldo_ana { |
| }; |
| }; |
| }; |
| }; |
| |
| sound { |
| stericsson,audio-codec = <&codec>; |
| clocks = <&prcmu_clk PRCMU_SYSCLK>, <&ab8500_clock AB8500_SYSCLK_ULP>, <&ab8500_clock AB8500_SYSCLK_INT>; |
| clock-names = "sysclk", "ulpclk", "intclk"; |
| }; |
| |
| mcde@a0350000 { |
| vana-supply = <&ab8500_ldo_ana_reg>; |
| |
| dsi-controller@a0351000 { |
| vana-supply = <&ab8500_ldo_ana_reg>; |
| }; |
| dsi-controller@a0352000 { |
| vana-supply = <&ab8500_ldo_ana_reg>; |
| }; |
| dsi-controller@a0353000 { |
| vana-supply = <&ab8500_ldo_ana_reg>; |
| }; |
| }; |
| }; |
| }; |