162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2012 Linaro Ltd
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <dt-bindings/clock/ste-ab8500.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/ {
962306a36Sopenharmony_ci	/* Essential housekeeping hardware monitors */
1062306a36Sopenharmony_ci	iio-hwmon {
1162306a36Sopenharmony_ci		compatible = "iio-hwmon";
1262306a36Sopenharmony_ci		io-channels = <&gpadc 0x02>, /* Battery temperature */
1362306a36Sopenharmony_ci			      <&gpadc 0x08>, /* Main battery voltage */
1462306a36Sopenharmony_ci			      <&gpadc 0x09>, /* VBUS */
1562306a36Sopenharmony_ci			      <&gpadc 0x0b>, /* Charger current */
1662306a36Sopenharmony_ci			      <&gpadc 0x0c>, /* Backup battery voltage */
1762306a36Sopenharmony_ci			      <&gpadc 0x0d>; /* Die temperature */
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	soc {
2162306a36Sopenharmony_ci		prcmu@80157000 {
2262306a36Sopenharmony_ci			ab8505 {
2362306a36Sopenharmony_ci				compatible = "stericsson,ab8505";
2462306a36Sopenharmony_ci				interrupt-parent = <&intc>;
2562306a36Sopenharmony_ci				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
2662306a36Sopenharmony_ci				interrupt-controller;
2762306a36Sopenharmony_ci				#interrupt-cells = <2>;
2862306a36Sopenharmony_ci				#address-cells = <1>;
2962306a36Sopenharmony_ci				#size-cells = <0>;
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci				ab8500_clock: clock-controller {
3262306a36Sopenharmony_ci					compatible = "stericsson,ab8500-clk";
3362306a36Sopenharmony_ci					#clock-cells = <1>;
3462306a36Sopenharmony_ci				};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci				ab8505_gpio: gpio {
3762306a36Sopenharmony_ci					compatible = "stericsson,ab8505-gpio";
3862306a36Sopenharmony_ci					gpio-controller;
3962306a36Sopenharmony_ci					#gpio-cells = <2>;
4062306a36Sopenharmony_ci				};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci				rtc {
4362306a36Sopenharmony_ci					compatible = "stericsson,ab8500-rtc";
4462306a36Sopenharmony_ci					interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
4562306a36Sopenharmony_ci						     <18 IRQ_TYPE_LEVEL_HIGH>;
4662306a36Sopenharmony_ci					interrupt-names = "60S", "ALARM";
4762306a36Sopenharmony_ci				};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci				gpadc: adc {
5062306a36Sopenharmony_ci					compatible = "stericsson,ab8500-gpadc";
5162306a36Sopenharmony_ci					interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
5262306a36Sopenharmony_ci					interrupt-names = "SW_CONV_END";
5362306a36Sopenharmony_ci					vddadc-supply = <&ab8500_ldo_adc_reg>;
5462306a36Sopenharmony_ci					#address-cells = <1>;
5562306a36Sopenharmony_ci					#size-cells = <0>;
5662306a36Sopenharmony_ci					#io-channel-cells = <1>;
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci					/* GPADC channels */
5962306a36Sopenharmony_ci					bat_ctrl: channel@1 {
6062306a36Sopenharmony_ci						reg = <0x01>;
6162306a36Sopenharmony_ci					};
6262306a36Sopenharmony_ci					btemp_ball: channel@2 {
6362306a36Sopenharmony_ci						reg = <0x02>;
6462306a36Sopenharmony_ci					};
6562306a36Sopenharmony_ci					acc_detect1: channel@4 {
6662306a36Sopenharmony_ci						reg = <0x04>;
6762306a36Sopenharmony_ci					};
6862306a36Sopenharmony_ci					acc_detect2: channel@5 {
6962306a36Sopenharmony_ci						reg = <0x05>;
7062306a36Sopenharmony_ci					};
7162306a36Sopenharmony_ci					adc_aux1: channel@6 {
7262306a36Sopenharmony_ci						reg = <0x06>;
7362306a36Sopenharmony_ci					};
7462306a36Sopenharmony_ci					adc_aux2: channel@7 {
7562306a36Sopenharmony_ci						reg = <0x07>;
7662306a36Sopenharmony_ci					};
7762306a36Sopenharmony_ci					main_batt_v: channel@8 {
7862306a36Sopenharmony_ci						reg = <0x08>;
7962306a36Sopenharmony_ci					};
8062306a36Sopenharmony_ci					vbus_v: channel@9 {
8162306a36Sopenharmony_ci						reg = <0x09>;
8262306a36Sopenharmony_ci					};
8362306a36Sopenharmony_ci					charger_c: channel@b {
8462306a36Sopenharmony_ci						reg = <0x0b>;
8562306a36Sopenharmony_ci					};
8662306a36Sopenharmony_ci					bk_bat_v: channel@c {
8762306a36Sopenharmony_ci						reg = <0x0c>;
8862306a36Sopenharmony_ci					};
8962306a36Sopenharmony_ci					die_temp: channel@d {
9062306a36Sopenharmony_ci						reg = <0x0d>;
9162306a36Sopenharmony_ci					};
9262306a36Sopenharmony_ci					usb_id: channel@e {
9362306a36Sopenharmony_ci						reg = <0x0e>;
9462306a36Sopenharmony_ci					};
9562306a36Sopenharmony_ci				};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci				thermal {
9862306a36Sopenharmony_ci					compatible = "stericsson,abx500-temp";
9962306a36Sopenharmony_ci					interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
10062306a36Sopenharmony_ci					interrupt-names = "ABX500_TEMP_WARM";
10162306a36Sopenharmony_ci				};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci				ab8500_fg {
10462306a36Sopenharmony_ci					compatible = "stericsson,ab8500-fg";
10562306a36Sopenharmony_ci					interrupts = <24 IRQ_TYPE_LEVEL_HIGH>,
10662306a36Sopenharmony_ci						     <8 IRQ_TYPE_LEVEL_HIGH>,
10762306a36Sopenharmony_ci						     <28 IRQ_TYPE_LEVEL_HIGH>,
10862306a36Sopenharmony_ci						     <27 IRQ_TYPE_LEVEL_HIGH>,
10962306a36Sopenharmony_ci						     <26 IRQ_TYPE_LEVEL_HIGH>;
11062306a36Sopenharmony_ci					interrupt-names = "NCONV_ACCU",
11162306a36Sopenharmony_ci							  "BATT_OVV",
11262306a36Sopenharmony_ci							  "LOW_BAT_F",
11362306a36Sopenharmony_ci							  "CC_INT_CALIB",
11462306a36Sopenharmony_ci							  "CCEOC";
11562306a36Sopenharmony_ci					monitored-battery = <&battery>;
11662306a36Sopenharmony_ci					io-channels = <&gpadc 0x08>;
11762306a36Sopenharmony_ci					io-channel-names = "main_bat_v";
11862306a36Sopenharmony_ci				};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci				ab8500_btemp {
12162306a36Sopenharmony_ci					compatible = "stericsson,ab8500-btemp";
12262306a36Sopenharmony_ci					interrupts = <20 IRQ_TYPE_LEVEL_HIGH>,
12362306a36Sopenharmony_ci						     <80 IRQ_TYPE_LEVEL_HIGH>,
12462306a36Sopenharmony_ci						     <83 IRQ_TYPE_LEVEL_HIGH>,
12562306a36Sopenharmony_ci						     <81 IRQ_TYPE_LEVEL_HIGH>,
12662306a36Sopenharmony_ci						     <82 IRQ_TYPE_LEVEL_HIGH>;
12762306a36Sopenharmony_ci					interrupt-names = "BAT_CTRL_INDB",
12862306a36Sopenharmony_ci							  "BTEMP_LOW",
12962306a36Sopenharmony_ci							  "BTEMP_HIGH",
13062306a36Sopenharmony_ci							  "BTEMP_LOW_MEDIUM",
13162306a36Sopenharmony_ci							  "BTEMP_MEDIUM_HIGH";
13262306a36Sopenharmony_ci					monitored-battery = <&battery>;
13362306a36Sopenharmony_ci					io-channels = <&gpadc 0x02>,
13462306a36Sopenharmony_ci						      <&gpadc 0x01>;
13562306a36Sopenharmony_ci					io-channel-names = "btemp_ball",
13662306a36Sopenharmony_ci							  "bat_ctrl";
13762306a36Sopenharmony_ci				};
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci				ab8500_charger {
14062306a36Sopenharmony_ci					compatible = "stericsson,ab8500-charger";
14162306a36Sopenharmony_ci					interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
14262306a36Sopenharmony_ci						     <11 IRQ_TYPE_LEVEL_HIGH>,
14362306a36Sopenharmony_ci						     <0 IRQ_TYPE_LEVEL_HIGH>,
14462306a36Sopenharmony_ci						     <107 IRQ_TYPE_LEVEL_HIGH>,
14562306a36Sopenharmony_ci						     <106 IRQ_TYPE_LEVEL_HIGH>,
14662306a36Sopenharmony_ci						     <14 IRQ_TYPE_LEVEL_HIGH>,
14762306a36Sopenharmony_ci						     <15 IRQ_TYPE_LEVEL_HIGH>,
14862306a36Sopenharmony_ci						     <79 IRQ_TYPE_LEVEL_HIGH>,
14962306a36Sopenharmony_ci						     <105 IRQ_TYPE_LEVEL_HIGH>,
15062306a36Sopenharmony_ci						     <104 IRQ_TYPE_LEVEL_HIGH>,
15162306a36Sopenharmony_ci						     <89 IRQ_TYPE_LEVEL_HIGH>,
15262306a36Sopenharmony_ci						     <22 IRQ_TYPE_LEVEL_HIGH>,
15362306a36Sopenharmony_ci						     <21 IRQ_TYPE_LEVEL_HIGH>,
15462306a36Sopenharmony_ci						     <16 IRQ_TYPE_LEVEL_HIGH>;
15562306a36Sopenharmony_ci					interrupt-names = "MAIN_CH_UNPLUG_DET",
15662306a36Sopenharmony_ci							  "MAIN_CHARGE_PLUG_DET",
15762306a36Sopenharmony_ci							  "MAIN_EXT_CH_NOT_OK",
15862306a36Sopenharmony_ci							  "MAIN_CH_TH_PROT_R",
15962306a36Sopenharmony_ci							  "MAIN_CH_TH_PROT_F",
16062306a36Sopenharmony_ci							  "VBUS_DET_F",
16162306a36Sopenharmony_ci							  "VBUS_DET_R",
16262306a36Sopenharmony_ci							  "USB_LINK_STATUS",
16362306a36Sopenharmony_ci							  "USB_CH_TH_PROT_R",
16462306a36Sopenharmony_ci							  "USB_CH_TH_PROT_F",
16562306a36Sopenharmony_ci							  "USB_CHARGER_NOT_OKR",
16662306a36Sopenharmony_ci							  "VBUS_OVV",
16762306a36Sopenharmony_ci							  "CH_WD_EXP",
16862306a36Sopenharmony_ci							  "VBUS_CH_DROP_END";
16962306a36Sopenharmony_ci					monitored-battery = <&battery>;
17062306a36Sopenharmony_ci					vddadc-supply = <&ab8500_ldo_adc_reg>;
17162306a36Sopenharmony_ci					io-channels = <&gpadc 0x09>,
17262306a36Sopenharmony_ci						      <&gpadc 0x0b>;
17362306a36Sopenharmony_ci					io-channel-names = "vbus_v",
17462306a36Sopenharmony_ci							  "usb_charger_c";
17562306a36Sopenharmony_ci				};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci				ab8500_chargalg {
17862306a36Sopenharmony_ci					compatible = "stericsson,ab8500-chargalg";
17962306a36Sopenharmony_ci					monitored-battery = <&battery>;
18062306a36Sopenharmony_ci				};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci				ab8500_usb: phy {
18362306a36Sopenharmony_ci					compatible = "stericsson,ab8500-usb";
18462306a36Sopenharmony_ci					interrupts = <90 IRQ_TYPE_LEVEL_HIGH>,
18562306a36Sopenharmony_ci						     <96 IRQ_TYPE_LEVEL_HIGH>,
18662306a36Sopenharmony_ci						     <14 IRQ_TYPE_LEVEL_HIGH>,
18762306a36Sopenharmony_ci						     <15 IRQ_TYPE_LEVEL_HIGH>,
18862306a36Sopenharmony_ci						     <79 IRQ_TYPE_LEVEL_HIGH>,
18962306a36Sopenharmony_ci						     <74 IRQ_TYPE_LEVEL_HIGH>,
19062306a36Sopenharmony_ci						     <75 IRQ_TYPE_LEVEL_HIGH>;
19162306a36Sopenharmony_ci					interrupt-names = "ID_WAKEUP_R",
19262306a36Sopenharmony_ci							  "ID_WAKEUP_F",
19362306a36Sopenharmony_ci							  "VBUS_DET_F",
19462306a36Sopenharmony_ci							  "VBUS_DET_R",
19562306a36Sopenharmony_ci							  "USB_LINK_STATUS",
19662306a36Sopenharmony_ci							  "USB_ADP_PROBE_PLUG",
19762306a36Sopenharmony_ci							  "USB_ADP_PROBE_UNPLUG";
19862306a36Sopenharmony_ci					vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
19962306a36Sopenharmony_ci					v-ape-supply = <&db8500_vape_reg>;
20062306a36Sopenharmony_ci					musb_1v8-supply = <&db8500_vsmps2_reg>;
20162306a36Sopenharmony_ci					clocks = <&prcmu_clk PRCMU_SYSCLK>;
20262306a36Sopenharmony_ci					clock-names = "sysclk";
20362306a36Sopenharmony_ci					#phy-cells = <0>;
20462306a36Sopenharmony_ci				};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci				key {
20762306a36Sopenharmony_ci					compatible = "stericsson,ab8500-poweron-key";
20862306a36Sopenharmony_ci					interrupts = <6 IRQ_TYPE_LEVEL_HIGH>,
20962306a36Sopenharmony_ci						     <7 IRQ_TYPE_LEVEL_HIGH>;
21062306a36Sopenharmony_ci					interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
21162306a36Sopenharmony_ci				};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci				ab8500-sysctrl {
21462306a36Sopenharmony_ci					compatible = "stericsson,ab8500-sysctrl";
21562306a36Sopenharmony_ci				};
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci				pwm@1 {
21862306a36Sopenharmony_ci					compatible = "stericsson,ab8500-pwm";
21962306a36Sopenharmony_ci					reg = <1>;
22062306a36Sopenharmony_ci					clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
22162306a36Sopenharmony_ci					clock-names = "intclk";
22262306a36Sopenharmony_ci					#pwm-cells = <1>;
22362306a36Sopenharmony_ci				};
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci				codec: codec {
22662306a36Sopenharmony_ci					compatible = "stericsson,ab8500-codec";
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ci					V-AUD-supply = <&ab8500_ldo_audio_reg>;
22962306a36Sopenharmony_ci					V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
23062306a36Sopenharmony_ci					V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci					clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>;
23362306a36Sopenharmony_ci					clock-names = "audioclk";
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci					stericsson,earpeice-cmv = <950>; /* Units in mV. */
23662306a36Sopenharmony_ci				};
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci				regulator {
23962306a36Sopenharmony_ci					compatible = "stericsson,ab8505-regulator";
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ci					ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
24262306a36Sopenharmony_ci						regulator-min-microvolt = <2800000>;
24362306a36Sopenharmony_ci						regulator-max-microvolt = <3300000>;
24462306a36Sopenharmony_ci					};
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci					ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
24762306a36Sopenharmony_ci						regulator-min-microvolt = <1100000>;
24862306a36Sopenharmony_ci						regulator-max-microvolt = <3300000>;
24962306a36Sopenharmony_ci					};
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ci					ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
25262306a36Sopenharmony_ci						regulator-min-microvolt = <1100000>;
25362306a36Sopenharmony_ci						regulator-max-microvolt = <3300000>;
25462306a36Sopenharmony_ci					};
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci					ab8500_ldo_aux4_reg: ab8500_ldo_aux4 {
25762306a36Sopenharmony_ci						regulator-min-microvolt = <1100000>;
25862306a36Sopenharmony_ci						regulator-max-microvolt = <3300000>;
25962306a36Sopenharmony_ci					};
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci					ab8500_ldo_aux5_reg: ab8500_ldo_aux5 {
26262306a36Sopenharmony_ci						regulator-min-microvolt = <1050000>;
26362306a36Sopenharmony_ci						regulator-max-microvolt = <2790000>;
26462306a36Sopenharmony_ci					};
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ci					ab8500_ldo_aux6_reg: ab8500_ldo_aux6 {
26762306a36Sopenharmony_ci						regulator-min-microvolt = <1050000>;
26862306a36Sopenharmony_ci						regulator-max-microvolt = <2790000>;
26962306a36Sopenharmony_ci					};
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci					// supply for v-intcore12; VINTCORE12 LDO
27262306a36Sopenharmony_ci					ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
27362306a36Sopenharmony_ci						regulator-min-microvolt = <1250000>;
27462306a36Sopenharmony_ci						regulator-max-microvolt = <1350000>;
27562306a36Sopenharmony_ci					};
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci					// supply for gpadc; ADC LDO
27862306a36Sopenharmony_ci					ab8500_ldo_adc_reg: ab8500_ldo_adc {
27962306a36Sopenharmony_ci					};
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci					// supply for ab8500-vaudio; VAUDIO LDO
28262306a36Sopenharmony_ci					ab8500_ldo_audio_reg: ab8500_ldo_audio {
28362306a36Sopenharmony_ci					};
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci					// supply for v-anamic1 VAMIC1 LDO
28662306a36Sopenharmony_ci					ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
28762306a36Sopenharmony_ci					};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci					// supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
29062306a36Sopenharmony_ci					ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
29162306a36Sopenharmony_ci					};
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci					// supply for v-aux8; VAUX8 LDO
29462306a36Sopenharmony_ci					ab8500_ldo_aux8_reg: ab8500_ldo_aux8 {
29562306a36Sopenharmony_ci					};
29662306a36Sopenharmony_ci
29762306a36Sopenharmony_ci					// supply for U8500 CSI/DSI; VANA LDO
29862306a36Sopenharmony_ci					ab8500_ldo_ana_reg: ab8500_ldo_ana {
29962306a36Sopenharmony_ci					};
30062306a36Sopenharmony_ci				};
30162306a36Sopenharmony_ci			};
30262306a36Sopenharmony_ci		};
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ci		sound {
30562306a36Sopenharmony_ci			stericsson,audio-codec = <&codec>;
30662306a36Sopenharmony_ci			clocks = <&prcmu_clk PRCMU_SYSCLK>, <&ab8500_clock AB8500_SYSCLK_ULP>, <&ab8500_clock AB8500_SYSCLK_INT>;
30762306a36Sopenharmony_ci			clock-names = "sysclk", "ulpclk", "intclk";
30862306a36Sopenharmony_ci		};
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ci		mcde@a0350000 {
31162306a36Sopenharmony_ci			vana-supply = <&ab8500_ldo_ana_reg>;
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci			dsi@a0351000 {
31462306a36Sopenharmony_ci				vana-supply = <&ab8500_ldo_ana_reg>;
31562306a36Sopenharmony_ci			};
31662306a36Sopenharmony_ci			dsi@a0352000 {
31762306a36Sopenharmony_ci				vana-supply = <&ab8500_ldo_ana_reg>;
31862306a36Sopenharmony_ci			};
31962306a36Sopenharmony_ci			dsi@a0353000 {
32062306a36Sopenharmony_ci				vana-supply = <&ab8500_ldo_ana_reg>;
32162306a36Sopenharmony_ci			};
32262306a36Sopenharmony_ci		};
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci		usb_per5@a03e0000 {
32562306a36Sopenharmony_ci			phys = <&ab8500_usb>;
32662306a36Sopenharmony_ci			phy-names = "usb";
32762306a36Sopenharmony_ci		};
32862306a36Sopenharmony_ci	};
32962306a36Sopenharmony_ci};
330