// 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 */
			      <&gpadc 0x0d>; /* Die temperature */
	};

	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 = <39 IRQ_TYPE_LEVEL_HIGH>;
					interrupt-names = "SW_CONV_END";
					vddadc-supply = <&ab8500_ldo_adc_reg>;
					#address-cells = <1>;
					#size-cells = <0>;
					#io-channel-cells = <1>;

					/* GPADC channels */
					bat_ctrl: channel@1 {
						reg = <0x01>;
					};
					btemp_ball: channel@2 {
						reg = <0x02>;
					};
					acc_detect1: channel@4 {
						reg = <0x04>;
					};
					acc_detect2: channel@5 {
						reg = <0x05>;
					};
					adc_aux1: channel@6 {
						reg = <0x06>;
					};
					adc_aux2: channel@7 {
						reg = <0x07>;
					};
					main_batt_v: channel@8 {
						reg = <0x08>;
					};
					vbus_v: channel@9 {
						reg = <0x09>;
					};
					charger_c: channel@b {
						reg = <0x0b>;
					};
					bk_bat_v: channel@c {
						reg = <0x0c>;
					};
					die_temp: channel@d {
						reg = <0x0d>;
					};
					usb_id: channel@e {
						reg = <0x0e>;
					};
				};

				ab8500_battery: ab8500_battery {
					stericsson,battery-type = "LIPO";
					thermistor-on-batctrl;
				};

				ab8500_fg {
					status = "disabled";
					compatible = "stericsson,ab8500-fg";
					interrupts = <24 IRQ_TYPE_LEVEL_HIGH>,
						     <8 IRQ_TYPE_LEVEL_HIGH>,
						     <28 IRQ_TYPE_LEVEL_HIGH>,
						     <27 IRQ_TYPE_LEVEL_HIGH>,
						     <26 IRQ_TYPE_LEVEL_HIGH>;
					interrupt-names = "NCONV_ACCU",
							  "BATT_OVV",
							  "LOW_BAT_F",
							  "CC_INT_CALIB",
							  "CCEOC";
					battery = <&ab8500_battery>;
					io-channels = <&gpadc 0x08>;
					io-channel-names = "main_bat_v";
				};

				ab8500_btemp {
					status = "disabled";
					compatible = "stericsson,ab8500-btemp";
					interrupts = <20 IRQ_TYPE_LEVEL_HIGH>,
						     <80 IRQ_TYPE_LEVEL_HIGH>,
						     <83 IRQ_TYPE_LEVEL_HIGH>,
						     <81 IRQ_TYPE_LEVEL_HIGH>,
						     <82 IRQ_TYPE_LEVEL_HIGH>;
					interrupt-names = "BAT_CTRL_INDB",
							  "BTEMP_LOW",
							  "BTEMP_HIGH",
							  "BTEMP_LOW_MEDIUM",
							  "BTEMP_MEDIUM_HIGH";
					battery = <&ab8500_battery>;
					io-channels = <&gpadc 0x02>,
						      <&gpadc 0x01>;
					io-channel-names = "btemp_ball",
							  "bat_ctrl";
				};

				ab8500_charger {
					status = "disabled";
					compatible = "stericsson,ab8500-charger";
					interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
						     <11 IRQ_TYPE_LEVEL_HIGH>,
						     <0 IRQ_TYPE_LEVEL_HIGH>,
						     <107 IRQ_TYPE_LEVEL_HIGH>,
						     <106 IRQ_TYPE_LEVEL_HIGH>,
						     <14 IRQ_TYPE_LEVEL_HIGH>,
						     <15 IRQ_TYPE_LEVEL_HIGH>,
						     <79 IRQ_TYPE_LEVEL_HIGH>,
						     <105 IRQ_TYPE_LEVEL_HIGH>,
						     <104 IRQ_TYPE_LEVEL_HIGH>,
						     <89 IRQ_TYPE_LEVEL_HIGH>,
						     <22 IRQ_TYPE_LEVEL_HIGH>,
						     <21 IRQ_TYPE_LEVEL_HIGH>,
						     <16 IRQ_TYPE_LEVEL_HIGH>;
					interrupt-names = "MAIN_CH_UNPLUG_DET",
							  "MAIN_CHARGE_PLUG_DET",
							  "MAIN_EXT_CH_NOT_OK",
							  "MAIN_CH_TH_PROT_R",
							  "MAIN_CH_TH_PROT_F",
							  "VBUS_DET_F",
							  "VBUS_DET_R",
							  "USB_LINK_STATUS",
							  "USB_CH_TH_PROT_R",
							  "USB_CH_TH_PROT_F",
							  "USB_CHARGER_NOT_OKR",
							  "VBUS_OVV",
							  "CH_WD_EXP",
							  "VBUS_CH_DROP_END";
					battery = <&ab8500_battery>;
					vddadc-supply = <&ab8500_ldo_adc_reg>;
					io-channels = <&gpadc 0x09>,
						      <&gpadc 0x0b>;
					io-channel-names = "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";
					#phy-cells = <0>;
				};

				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@a0351000 {
				vana-supply = <&ab8500_ldo_ana_reg>;
			};
			dsi@a0352000 {
				vana-supply = <&ab8500_ldo_ana_reg>;
			};
			dsi@a0353000 {
				vana-supply = <&ab8500_ldo_ana_reg>;
			};
		};

		usb_per5@a03e0000 {
			phys = <&ab8500_usb>;
			phy-names = "usb";
		};
	};
};
