Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.15.
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 * Copyright 2012 Linaro Ltd
  4 */
  5
  6#include <dt-bindings/clock/ste-ab8500.h>
  7
  8/ {
  9	soc {
 10		prcmu@80157000 {
 11			ab8500 {
 12				compatible = "stericsson,ab8500";
 13				interrupt-parent = <&intc>;
 14				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
 15				interrupt-controller;
 16				#interrupt-cells = <2>;
 17
 18				ab8500_clock: clock-controller {
 19					compatible = "stericsson,ab8500-clk";
 20					#clock-cells = <1>;
 21				};
 22
 23				ab8500_gpio: ab8500-gpio {
 24					compatible = "stericsson,ab8500-gpio";
 25					gpio-controller;
 26					#gpio-cells = <2>;
 27				};
 28
 29				ab8500-rtc {
 30					compatible = "stericsson,ab8500-rtc";
 31					interrupts = <17 IRQ_TYPE_LEVEL_HIGH
 32						      18 IRQ_TYPE_LEVEL_HIGH>;
 33					interrupt-names = "60S", "ALARM";
 34				};
 35
 36				ab8500-gpadc {
 37					compatible = "stericsson,ab8500-gpadc";
 38					interrupts = <32 IRQ_TYPE_LEVEL_HIGH
 39						      39 IRQ_TYPE_LEVEL_HIGH>;
 40					interrupt-names = "HW_CONV_END", "SW_CONV_END";
 41					vddadc-supply = <&ab8500_ldo_tvout_reg>;
 42				};
 43
 44				ab8500_battery: ab8500_battery {
 45					stericsson,battery-type = "LIPO";
 46					thermistor-on-batctrl;
 47				};
 48
 49				ab8500_fg {
 50					compatible = "stericsson,ab8500-fg";
 51					battery	   = <&ab8500_battery>;
 52				};
 53
 54				ab8500_btemp {
 55					compatible = "stericsson,ab8500-btemp";
 56					battery	   = <&ab8500_battery>;
 57				};
 58
 59				ab8500_charger {
 60					compatible	= "stericsson,ab8500-charger";
 61					battery		= <&ab8500_battery>;
 62					vddadc-supply	= <&ab8500_ldo_tvout_reg>;
 63				};
 64
 65				ab8500_chargalg {
 66					compatible	= "stericsson,ab8500-chargalg";
 67					battery		= <&ab8500_battery>;
 68				};
 69
 70				ab8500_usb {
 71					compatible = "stericsson,ab8500-usb";
 72					interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
 73						       96 IRQ_TYPE_LEVEL_HIGH
 74						       14 IRQ_TYPE_LEVEL_HIGH
 75						       15 IRQ_TYPE_LEVEL_HIGH
 76						       79 IRQ_TYPE_LEVEL_HIGH
 77						       74 IRQ_TYPE_LEVEL_HIGH
 78						       75 IRQ_TYPE_LEVEL_HIGH>;
 79					interrupt-names = "ID_WAKEUP_R",
 80							  "ID_WAKEUP_F",
 81							  "VBUS_DET_F",
 82							  "VBUS_DET_R",
 83							  "USB_LINK_STATUS",
 84							  "USB_ADP_PROBE_PLUG",
 85							  "USB_ADP_PROBE_UNPLUG";
 86					vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
 87					v-ape-supply = <&db8500_vape_reg>;
 88					musb_1v8-supply = <&db8500_vsmps2_reg>;
 89					clocks = <&prcmu_clk PRCMU_SYSCLK>;
 90					clock-names = "sysclk";
 91				};
 92
 93				ab8500-ponkey {
 94					compatible = "stericsson,ab8500-poweron-key";
 95					interrupts = <6 IRQ_TYPE_LEVEL_HIGH
 96						      7 IRQ_TYPE_LEVEL_HIGH>;
 97					interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
 98				};
 99
100				ab8500-sysctrl {
101					compatible = "stericsson,ab8500-sysctrl";
102				};
103
104				ab8500-pwm {
105					compatible = "stericsson,ab8500-pwm";
106					clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
107					clock-names = "intclk";
108				};
109
110				ab8500-debugfs {
111					compatible = "stericsson,ab8500-debug";
112				};
113
114				codec: ab8500-codec {
115					compatible = "stericsson,ab8500-codec";
116
117					V-AUD-supply = <&ab8500_ldo_audio_reg>;
118					V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
119					V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
120					V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
121
122					clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>;
123					clock-names = "audioclk";
124
125					stericsson,earpeice-cmv = <950>; /* Units in mV. */
126				};
127
128				ext_regulators: ab8500-ext-regulators {
129					compatible = "stericsson,ab8500-ext-regulator";
130
131					ab8500_ext1_reg: ab8500_ext1 {
132						regulator-min-microvolt = <1800000>;
133						regulator-max-microvolt = <1800000>;
134						regulator-boot-on;
135						regulator-always-on;
136					};
137
138					ab8500_ext2_reg: ab8500_ext2 {
139						regulator-min-microvolt = <1360000>;
140						regulator-max-microvolt = <1360000>;
141						regulator-boot-on;
142						regulator-always-on;
143					};
144
145					ab8500_ext3_reg: ab8500_ext3 {
146						regulator-min-microvolt = <3400000>;
147						regulator-max-microvolt = <3400000>;
148						regulator-boot-on;
149					};
150				};
151
152				ab8500-regulators {
153					compatible = "stericsson,ab8500-regulator";
154					vin-supply = <&ab8500_ext3_reg>;
155
156					// supplies to the display/camera
157					ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
158						regulator-min-microvolt = <2500000>;
159						regulator-max-microvolt = <2900000>;
160						regulator-boot-on;
161						/* BUG: If turned off MMC will be affected. */
162						regulator-always-on;
163					};
164
165					// supplies to the on-board eMMC
166					ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
167						regulator-min-microvolt = <1100000>;
168						regulator-max-microvolt = <3300000>;
169					};
170
171					// supply for VAUX3; SDcard slots
172					ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
173						regulator-min-microvolt = <1100000>;
174						regulator-max-microvolt = <3300000>;
175					};
176
177					// supply for v-intcore12; VINTCORE12 LDO
178					ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
179					};
180
181					// supply for tvout; gpadc; TVOUT LDO
182					ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
183					};
184
185					// supply for ab8500-vaudio; VAUDIO LDO
186					ab8500_ldo_audio_reg: ab8500_ldo_audio {
187					};
188
189					// supply for v-anamic1 VAMIC1 LDO
190					ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
191					};
192
193					// supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
194					ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
195					};
196
197					// supply for v-dmic; VDMIC LDO
198					ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
199					};
200
201					// supply for U8500 CSI/DSI; VANA LDO
202					ab8500_ldo_ana_reg: ab8500_ldo_ana {
203					};
204				};
205			};
206		};
207
208		sound {
209			stericsson,audio-codec = <&codec>;
210			clocks = <&prcmu_clk PRCMU_SYSCLK>, <&ab8500_clock AB8500_SYSCLK_ULP>, <&ab8500_clock AB8500_SYSCLK_INT>;
211			clock-names = "sysclk", "ulpclk", "intclk";
212		};
213
214		mcde@a0350000 {
215			vana-supply = <&ab8500_ldo_ana_reg>;
216
217			dsi@a0351000 {
218				vana-supply = <&ab8500_ldo_ana_reg>;
219			};
220			dsi@a0352000 {
221				vana-supply = <&ab8500_ldo_ana_reg>;
222			};
223			dsi@a0353000 {
224				vana-supply = <&ab8500_ldo_ana_reg>;
225			};
226		};
227	};
228};