xref: /linux/scripts/dtc/include-prefixes/arm/qcom/qcom-apq8060-dragonboard.dts (revision 41cdee8a33495a4778ee534afb8ecfd524bb9c4f)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2724ba675SRob Herring#include <dt-bindings/input/input.h>
3724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
4724ba675SRob Herring#include <dt-bindings/leds/common.h>
5724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
7724ba675SRob Herring#include "qcom-msm8660.dtsi"
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	model = "Qualcomm APQ8060 Dragonboard";
11724ba675SRob Herring	compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
12724ba675SRob Herring
13724ba675SRob Herring	aliases {
14724ba675SRob Herring		serial0 = &gsbi12_serial;
15724ba675SRob Herring	};
16724ba675SRob Herring
17724ba675SRob Herring	chosen {
18724ba675SRob Herring		stdout-path = "serial0:115200n8";
19724ba675SRob Herring	};
20724ba675SRob Herring
21724ba675SRob Herring	/* Main power of the board: 3.7V */
22724ba675SRob Herring	vph: regulator-fixed {
23724ba675SRob Herring		compatible = "regulator-fixed";
24724ba675SRob Herring		regulator-min-microvolt = <3700000>;
25724ba675SRob Herring		regulator-max-microvolt = <3700000>;
26724ba675SRob Herring		regulator-name = "VPH";
27724ba675SRob Herring		regulator-always-on;
28724ba675SRob Herring		regulator-boot-on;
29724ba675SRob Herring	};
30724ba675SRob Herring
31724ba675SRob Herring	/* GPIO controlled ethernet power regulator */
32724ba675SRob Herring	dragon_veth: xc622a331mrg {
33724ba675SRob Herring		compatible = "regulator-fixed";
34724ba675SRob Herring		regulator-name = "XC6222A331MR-G";
35724ba675SRob Herring		regulator-min-microvolt = <3300000>;
36724ba675SRob Herring		regulator-max-microvolt = <3300000>;
37724ba675SRob Herring		vin-supply = <&vph>;
38724ba675SRob Herring		gpio = <&pm8058_gpio 40 GPIO_ACTIVE_HIGH>;
39724ba675SRob Herring		enable-active-high;
40724ba675SRob Herring		pinctrl-names = "default";
41724ba675SRob Herring		pinctrl-0 = <&dragon_veth_gpios>;
42724ba675SRob Herring		regulator-always-on;
43724ba675SRob Herring	};
44724ba675SRob Herring
45724ba675SRob Herring	/* VDDvario fixed regulator */
46724ba675SRob Herring	dragon_vario: nds332p {
47724ba675SRob Herring		compatible = "regulator-fixed";
48724ba675SRob Herring		regulator-name = "NDS332P";
49724ba675SRob Herring		regulator-min-microvolt = <1800000>;
50724ba675SRob Herring		regulator-max-microvolt = <1800000>;
51724ba675SRob Herring		vin-supply = <&pm8058_s3>;
52724ba675SRob Herring	};
53724ba675SRob Herring
54724ba675SRob Herring	/* This is a levelshifter for SDCC5 */
55724ba675SRob Herring	dragon_vio_txb: txb0104rgyr {
56724ba675SRob Herring		compatible = "regulator-fixed";
57724ba675SRob Herring		regulator-name = "Dragon SDCC levelshifter";
58724ba675SRob Herring		vin-supply = <&pm8058_l14>;
59724ba675SRob Herring		regulator-always-on;
60724ba675SRob Herring	};
61724ba675SRob Herring
62724ba675SRob Herring	/*
63724ba675SRob Herring	 * Capella CM3605 light and proximity sensor mounted directly
64724ba675SRob Herring	 * on the sensor board.
65724ba675SRob Herring	 */
66724ba675SRob Herring	cm3605 {
67724ba675SRob Herring		compatible = "capella,cm3605";
68724ba675SRob Herring		vdd-supply = <&pm8058_l14>; // 2.85V
69724ba675SRob Herring		aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>;
70724ba675SRob Herring		capella,aset-resistance-ohms = <100000>;
71724ba675SRob Herring		/* Trig on both edges - getting close or far away */
72724ba675SRob Herring		interrupts-extended = <&pm8058_gpio 34 IRQ_TYPE_EDGE_BOTH>;
73724ba675SRob Herring		/* MPP05 analog input to the XOADC */
74c6d86aa8SDmitry Baryshkov		io-channels = <&pm8058_xoadc 0x00 0x05>;
75724ba675SRob Herring		io-channel-names = "aout";
76724ba675SRob Herring		pinctrl-names = "default";
77724ba675SRob Herring		pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>;
78724ba675SRob Herring	};
79724ba675SRob Herring};
80724ba675SRob Herring
81724ba675SRob Herring&ebi2 {
82724ba675SRob Herring	/* The EBI2 will instantiate first, then populate its children */
83724ba675SRob Herring	pinctrl-names = "default";
84724ba675SRob Herring	pinctrl-0 = <&dragon_ebi2_pins>;
85724ba675SRob Herring	status = "okay";
86724ba675SRob Herring
87724ba675SRob Herring	/*
88724ba675SRob Herring	 * An on-board SMSC LAN9221 chip for "debug ethernet",
89724ba675SRob Herring	 * which is actually just an ordinary ethernet on the
90724ba675SRob Herring	 * EBI2. This has a 25MHz chrystal next to it, so no
91724ba675SRob Herring	 * clocking is needed.
92724ba675SRob Herring	 */
93724ba675SRob Herring	ethernet@2,0 {
94724ba675SRob Herring		compatible = "smsc,lan9221", "smsc,lan9115";
95724ba675SRob Herring		reg = <2 0x0 0x100>;
96724ba675SRob Herring		/*
97724ba675SRob Herring		 * The second interrupt is the PME interrupt
98724ba675SRob Herring		 * for network wakeup, connected to the TLMM.
99724ba675SRob Herring		 */
100724ba675SRob Herring		interrupts-extended = <&pm8058_gpio 7 IRQ_TYPE_EDGE_FALLING>,
101724ba675SRob Herring				    <&tlmm 29 IRQ_TYPE_EDGE_RISING>;
102724ba675SRob Herring		reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
103724ba675SRob Herring		vdd33a-supply = <&dragon_veth>;
104724ba675SRob Herring		vddvario-supply = <&dragon_vario>;
105724ba675SRob Herring		pinctrl-names = "default";
106724ba675SRob Herring		pinctrl-0 = <&dragon_ethernet_gpios>;
107724ba675SRob Herring		phy-mode = "mii";
108724ba675SRob Herring		reg-io-width = <2>;
109724ba675SRob Herring		smsc,force-external-phy;
110724ba675SRob Herring		smsc,irq-push-pull;
111724ba675SRob Herring
112724ba675SRob Herring		/*
113724ba675SRob Herring		 * SLOW chipselect config
114724ba675SRob Herring		 * Delay 9 cycles (140ns@64MHz) between SMSC
115724ba675SRob Herring		 * LAN9221 Ethernet controller reads and writes
116724ba675SRob Herring		 * on CS2.
117724ba675SRob Herring		 */
118724ba675SRob Herring		qcom,xmem-recovery-cycles = <0>;
119724ba675SRob Herring		qcom,xmem-write-hold-cycles = <3>;
120724ba675SRob Herring		qcom,xmem-write-delta-cycles = <31>;
121724ba675SRob Herring		qcom,xmem-read-delta-cycles = <28>;
122724ba675SRob Herring		qcom,xmem-write-wait-cycles = <9>;
123724ba675SRob Herring		qcom,xmem-read-wait-cycles = <9>;
124724ba675SRob Herring	};
125724ba675SRob Herring};
126724ba675SRob Herring
127724ba675SRob Herring&gsbi3 {
128724ba675SRob Herring	qcom,mode = <GSBI_PROT_I2C>;
129724ba675SRob Herring	status = "okay";
130724ba675SRob Herring};
131724ba675SRob Herring
132724ba675SRob Herring&gsbi3_i2c {
133724ba675SRob Herring	pinctrl-names = "default";
134724ba675SRob Herring	pinctrl-0 = <&dragon_gsbi3_i2c_pins>;
135724ba675SRob Herring	status = "okay";
136724ba675SRob Herring
137724ba675SRob Herring	touchscreen@24 {
138724ba675SRob Herring		compatible = "cypress,cy8ctma340";
139724ba675SRob Herring		reg = <0x24>;
140724ba675SRob Herring		/* Certainly we can do at least 400 kHz */
141724ba675SRob Herring		clock-frequency = <400000>;
142724ba675SRob Herring		/* IRQ on GPIO61 called /CTP_INT */
143724ba675SRob Herring		interrupt-parent = <&tlmm>;
144724ba675SRob Herring		interrupts = <61 IRQ_TYPE_EDGE_FALLING>;
145724ba675SRob Herring		/*
146724ba675SRob Herring		 * The I2C bus is using a PCA9306 level translator from L16A
147724ba675SRob Herring		 * to L2B so these two voltages are needed and L16A is
148724ba675SRob Herring		 * kind of the IO voltage, however L16Aisn't really fed to
149724ba675SRob Herring		 * the TMA340, which relies entirely on L2B (PM8901 L2).
150724ba675SRob Herring		 */
151724ba675SRob Herring		vcpin-supply = <&pm8058_l16>;
152724ba675SRob Herring		vdd-supply = <&pm8901_l2>;
153724ba675SRob Herring		/* GPIO58, called WAKE_CTP */
154724ba675SRob Herring		reset-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
155724ba675SRob Herring		touchscreen-size-x = <480>;
156724ba675SRob Herring		touchscreen-size-y = <800>;
157724ba675SRob Herring		active-interval-ms = <0>;
158724ba675SRob Herring		touch-timeout-ms = <255>;
159724ba675SRob Herring		lowpower-interval-ms = <10>;
160724ba675SRob Herring		bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
161724ba675SRob Herring		pinctrl-names = "default";
162724ba675SRob Herring		pinctrl-0 = <&dragon_tma340_gpios>;
163724ba675SRob Herring	};
164724ba675SRob Herring};
165724ba675SRob Herring
166724ba675SRob Herring&gsbi8 {
167724ba675SRob Herring	qcom,mode = <GSBI_PROT_I2C>;
168724ba675SRob Herring	status = "okay";
169724ba675SRob Herring};
170724ba675SRob Herring
171724ba675SRob Herring&gsbi8_i2c {
172724ba675SRob Herring	pinctrl-names = "default";
173724ba675SRob Herring	pinctrl-0 = <&dragon_gsbi8_i2c_pins>;
174724ba675SRob Herring	status = "okay";
175724ba675SRob Herring
176724ba675SRob Herring	eeprom@52 {
177724ba675SRob Herring		/* A 16KiB Platform ID EEPROM on the CPU carrier board */
178724ba675SRob Herring		compatible = "atmel,24c128";
179724ba675SRob Herring		reg = <0x52>;
180724ba675SRob Herring		vcc-supply = <&pm8058_s3>;
181724ba675SRob Herring		pagesize = <64>;
182724ba675SRob Herring	};
183724ba675SRob Herring	wm8903: wm8903@1a {
184724ba675SRob Herring		/* This Woolfson Micro device has an unrouted interrupt line */
185724ba675SRob Herring		compatible = "wlf,wm8903";
186724ba675SRob Herring		reg = <0x1a>;
187724ba675SRob Herring
188724ba675SRob Herring		AVDD-supply = <&pm8058_l16>;
189724ba675SRob Herring		CPVDD-supply = <&pm8058_l16>;
190724ba675SRob Herring		DBVDD-supply = <&pm8058_s3>;
191724ba675SRob Herring		DCVDD-supply = <&pm8058_l0>;
192724ba675SRob Herring
193724ba675SRob Herring		gpio-controller;
194724ba675SRob Herring		#gpio-cells = <2>;
195724ba675SRob Herring
196724ba675SRob Herring		micdet-cfg = <0>;
197724ba675SRob Herring		micdet-delay = <100>;
198724ba675SRob Herring		gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
199724ba675SRob Herring	};
200724ba675SRob Herring};
201724ba675SRob Herring
202724ba675SRob Herring&gsbi12 {
203724ba675SRob Herring	qcom,mode = <GSBI_PROT_I2C_UART>;
204724ba675SRob Herring	status = "okay";
205724ba675SRob Herring};
206724ba675SRob Herring
207724ba675SRob Herring&gsbi12_serial {
208724ba675SRob Herring	pinctrl-names = "default";
209724ba675SRob Herring	pinctrl-0 = <&dragon_gsbi12_serial_pins>;
210724ba675SRob Herring	status = "okay";
211724ba675SRob Herring};
212724ba675SRob Herring
213724ba675SRob Herring&gsbi12_i2c {
214724ba675SRob Herring	pinctrl-names = "default";
215724ba675SRob Herring	pinctrl-0 = <&dragon_gsbi12_i2c_pins>;
216724ba675SRob Herring	status = "okay";
217724ba675SRob Herring
218724ba675SRob Herring	ak8975@c {
219724ba675SRob Herring		compatible = "asahi-kasei,ak8975";
220724ba675SRob Herring		reg = <0x0c>;
221724ba675SRob Herring		interrupt-parent = <&pm8058_gpio>;
222724ba675SRob Herring		interrupts = <33 IRQ_TYPE_EDGE_RISING>;
223724ba675SRob Herring		pinctrl-names = "default";
224724ba675SRob Herring		pinctrl-0 = <&dragon_ak8975_gpios>;
225724ba675SRob Herring		vid-supply = <&pm8058_lvs0>; // 1.8V
226724ba675SRob Herring		vdd-supply = <&pm8058_l14>; // 2.85V
227724ba675SRob Herring	};
228724ba675SRob Herring	bmp085@77 {
229724ba675SRob Herring		compatible = "bosch,bmp085";
230724ba675SRob Herring		reg = <0x77>;
231724ba675SRob Herring		interrupt-parent = <&pm8058_gpio>;
232724ba675SRob Herring		interrupts = <16 IRQ_TYPE_EDGE_RISING>;
233724ba675SRob Herring		reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>;
234724ba675SRob Herring		pinctrl-names = "default";
235724ba675SRob Herring		pinctrl-0 = <&dragon_bmp085_gpios>;
236724ba675SRob Herring		vddd-supply = <&pm8058_lvs0>; // 1.8V
237724ba675SRob Herring		vdda-supply = <&pm8058_l14>; // 2.85V
238724ba675SRob Herring	};
239724ba675SRob Herring	mpu3050@68 {
240724ba675SRob Herring		compatible = "invensense,mpu3050";
241724ba675SRob Herring		reg = <0x68>;
242724ba675SRob Herring		/*
243724ba675SRob Herring		 * GPIO17 is pulled high by a 10k
244724ba675SRob Herring		 * resistor to VLOGIC so needs to be
245724ba675SRob Herring		 * active low/falling edge.
246724ba675SRob Herring		 */
247724ba675SRob Herring		interrupts-extended = <&pm8058_gpio 17 IRQ_TYPE_EDGE_FALLING>;
248724ba675SRob Herring		pinctrl-names = "default";
249724ba675SRob Herring		pinctrl-0 = <&dragon_mpu3050_gpios>;
250724ba675SRob Herring		vlogic-supply = <&pm8058_lvs0>; // 1.8V
251724ba675SRob Herring		vdd-supply = <&pm8058_l14>; // 2.85V
252724ba675SRob Herring
253724ba675SRob Herring		/*
254724ba675SRob Herring		 * The MPU-3050 acts as a hub for the
255724ba675SRob Herring		 * accelerometer.
256724ba675SRob Herring		 */
257724ba675SRob Herring		i2c-gate {
258724ba675SRob Herring			#address-cells = <1>;
259724ba675SRob Herring			#size-cells = <0>;
260724ba675SRob Herring
261724ba675SRob Herring			kxsd9@18 {
262724ba675SRob Herring				compatible = "kionix,kxsd9";
263724ba675SRob Herring				reg = <0x18>;
264724ba675SRob Herring				interrupt-parent = <&tlmm>;
265724ba675SRob Herring				interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
266724ba675SRob Herring				pinctrl-names = "default";
267724ba675SRob Herring				pinctrl-0 = <&dragon_kxsd9_gpios>;
268724ba675SRob Herring				iovdd-supply = <&pm8058_lvs0>; // 1.8V
269724ba675SRob Herring				vdd-supply = <&pm8058_l14>; // 2.85V
270724ba675SRob Herring			};
271724ba675SRob Herring		};
272724ba675SRob Herring	};
273724ba675SRob Herring};
274724ba675SRob Herring
275*41cdee8aSDmitry Baryshkov&pm8058 {
276*41cdee8aSDmitry Baryshkov	interrupts-extended = <&tlmm 88 IRQ_TYPE_LEVEL_LOW>;
277*41cdee8aSDmitry Baryshkov};
278*41cdee8aSDmitry Baryshkov
279724ba675SRob Herring&pm8058_gpio {
280724ba675SRob Herring	dragon_ethernet_gpios: ethernet-state {
281724ba675SRob Herring		pinconf {
282724ba675SRob Herring			pins = "gpio7";
283724ba675SRob Herring			function = "normal";
284724ba675SRob Herring			input-enable;
285724ba675SRob Herring			bias-disable;
286724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
287724ba675SRob Herring		};
288724ba675SRob Herring	};
289724ba675SRob Herring	dragon_bmp085_gpios: bmp085-state {
290724ba675SRob Herring		pinconf {
291724ba675SRob Herring			pins = "gpio16";
292724ba675SRob Herring			function = "normal";
293724ba675SRob Herring			input-enable;
294724ba675SRob Herring			bias-disable;
295724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
296724ba675SRob Herring		};
297724ba675SRob Herring	};
298724ba675SRob Herring	dragon_mpu3050_gpios: mpu3050-state {
299724ba675SRob Herring		pinconf {
300724ba675SRob Herring			pins = "gpio17";
301724ba675SRob Herring			function = "normal";
302724ba675SRob Herring			input-enable;
303724ba675SRob Herring			bias-disable;
304724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
305724ba675SRob Herring		};
306724ba675SRob Herring	};
307724ba675SRob Herring	dragon_sdcc3_gpios: sdcc3-state {
308724ba675SRob Herring		pinconf {
309724ba675SRob Herring			pins = "gpio22";
310724ba675SRob Herring			function = "normal";
311724ba675SRob Herring			input-enable;
312724ba675SRob Herring			bias-disable;
313724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
314724ba675SRob Herring		};
315724ba675SRob Herring	};
316724ba675SRob Herring	dragon_sdcc5_gpios: sdcc5-state {
317724ba675SRob Herring		pinconf {
318724ba675SRob Herring			pins = "gpio26";
319724ba675SRob Herring			function = "normal";
320724ba675SRob Herring			input-enable;
321724ba675SRob Herring			bias-pull-up;
322724ba675SRob Herring			qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
323724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
324724ba675SRob Herring		};
325724ba675SRob Herring	};
326724ba675SRob Herring	dragon_ak8975_gpios: ak8975-state {
327724ba675SRob Herring		pinconf {
328724ba675SRob Herring			pins = "gpio33";
329724ba675SRob Herring			function = "normal";
330724ba675SRob Herring			input-enable;
331724ba675SRob Herring			bias-disable;
332724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
333724ba675SRob Herring		};
334724ba675SRob Herring	};
335724ba675SRob Herring	dragon_cm3605_gpios: cm3605-state {
336724ba675SRob Herring		/* Pin 34 connected to the proxy IRQ */
337724ba675SRob Herring		gpio34-pins {
338724ba675SRob Herring			pins = "gpio34";
339724ba675SRob Herring			function = "normal";
340724ba675SRob Herring			input-enable;
341724ba675SRob Herring			bias-disable;
342724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
343724ba675SRob Herring		};
344724ba675SRob Herring		/* Pin 35 connected to ASET */
345724ba675SRob Herring		gpio35-pins {
346724ba675SRob Herring			pins = "gpio35";
347724ba675SRob Herring			function = "normal";
348724ba675SRob Herring			output-high;
349724ba675SRob Herring			bias-disable;
350724ba675SRob Herring			power-source = <PM8058_GPIO_S3>;
351724ba675SRob Herring		};
352724ba675SRob Herring	};
353724ba675SRob Herring	dragon_veth_gpios: veth-state {
354724ba675SRob Herring		pinconf {
355724ba675SRob Herring			pins = "gpio40";
356724ba675SRob Herring			function = "normal";
357724ba675SRob Herring			bias-disable;
358724ba675SRob Herring			drive-push-pull;
359724ba675SRob Herring		};
360724ba675SRob Herring	};
361724ba675SRob Herring};
362724ba675SRob Herring
363724ba675SRob Herring&pm8058_keypad {
364724ba675SRob Herring	linux,keymap = <
365724ba675SRob Herring		MATRIX_KEY(0, 0, KEY_MENU)
366724ba675SRob Herring		MATRIX_KEY(0, 2, KEY_1)
367724ba675SRob Herring		MATRIX_KEY(0, 3, KEY_4)
368724ba675SRob Herring		MATRIX_KEY(0, 4, KEY_7)
369724ba675SRob Herring		MATRIX_KEY(1, 0, KEY_UP)
370724ba675SRob Herring		MATRIX_KEY(1, 1, KEY_LEFT)
371724ba675SRob Herring		MATRIX_KEY(1, 2, KEY_DOWN)
372724ba675SRob Herring		MATRIX_KEY(1, 3, KEY_5)
373724ba675SRob Herring		MATRIX_KEY(1, 3, KEY_8)
374724ba675SRob Herring		MATRIX_KEY(2, 0, KEY_HOME)
375724ba675SRob Herring		MATRIX_KEY(2, 1, KEY_REPLY)
376724ba675SRob Herring		MATRIX_KEY(2, 2, KEY_2)
377724ba675SRob Herring		MATRIX_KEY(2, 3, KEY_6)
378724ba675SRob Herring		MATRIX_KEY(3, 0, KEY_VOLUMEUP)
379724ba675SRob Herring		MATRIX_KEY(3, 1, KEY_RIGHT)
380724ba675SRob Herring		MATRIX_KEY(3, 2, KEY_3)
381724ba675SRob Herring		MATRIX_KEY(3, 3, KEY_9)
382724ba675SRob Herring		MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE)
383724ba675SRob Herring		MATRIX_KEY(4, 0, KEY_VOLUMEDOWN)
384724ba675SRob Herring		MATRIX_KEY(4, 1, KEY_BACK)
385724ba675SRob Herring		MATRIX_KEY(4, 2, KEY_CAMERA)
386724ba675SRob Herring		MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE)
387724ba675SRob Herring	>;
388724ba675SRob Herring	keypad,num-rows = <6>;
389724ba675SRob Herring	keypad,num-columns = <5>;
390724ba675SRob Herring};
391724ba675SRob Herring
392724ba675SRob Herring&pm8058_led48 {
393724ba675SRob Herring	/*
394724ba675SRob Herring	 * The keypad LED @0x48 is routed to
395724ba675SRob Herring	 * the sensor board where it is
396724ba675SRob Herring	 * connected to an infrared LED
397724ba675SRob Herring	 * SFH4650 (60mW, @850nm) next to the
398724ba675SRob Herring	 * ambient light and proximity sensor
399724ba675SRob Herring	 * Capella Microsystems CM3605.
400724ba675SRob Herring	 */
401724ba675SRob Herring	label = "pm8058:infrared:proximitysensor";
402724ba675SRob Herring	default-state = "off";
403724ba675SRob Herring	linux,default-trigger = "cm3605";
404724ba675SRob Herring	status = "okay";
405724ba675SRob Herring};
406724ba675SRob Herring
407724ba675SRob Herring&pm8058_led131 {
408724ba675SRob Herring	label = "pm8058:red";
409724ba675SRob Herring	color = <LED_COLOR_ID_RED>;
410724ba675SRob Herring	default-state = "off";
411724ba675SRob Herring	status = "okay";
412724ba675SRob Herring};
413724ba675SRob Herring
414724ba675SRob Herring&pm8058_led132 {
415724ba675SRob Herring	/*
416724ba675SRob Herring	 * This is actually green too on my
417724ba675SRob Herring	 * board, but documented as yellow.
418724ba675SRob Herring	 */
419724ba675SRob Herring	label = "pm8058:yellow";
420724ba675SRob Herring	color = <LED_COLOR_ID_YELLOW>;
421724ba675SRob Herring	default-state = "off";
422724ba675SRob Herring	linux,default-trigger = "mmc0";
423724ba675SRob Herring	status = "okay";
424724ba675SRob Herring};
425724ba675SRob Herring
426724ba675SRob Herring&pm8058_led133 {
427724ba675SRob Herring	label = "pm8058:green";
428724ba675SRob Herring	function = LED_FUNCTION_HEARTBEAT;
429724ba675SRob Herring	color = <LED_COLOR_ID_GREEN>;
430724ba675SRob Herring	default-state = "on";
431724ba675SRob Herring	linux,default-trigger = "heartbeat";
432724ba675SRob Herring	status = "okay";
433724ba675SRob Herring};
434724ba675SRob Herring
435724ba675SRob Herring&pm8058_mpps {
436724ba675SRob Herring	dragon_cm3605_mpps: cm3605-mpps-state {
437724ba675SRob Herring		pins = "mpp5";
438724ba675SRob Herring		function = "analog";
439724ba675SRob Herring		input-enable;
440724ba675SRob Herring		bias-high-impedance;
441724ba675SRob Herring		/* Let's use channel 5 */
442724ba675SRob Herring		qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
443724ba675SRob Herring		power-source = <PM8058_GPIO_S3>;
444724ba675SRob Herring	};
445724ba675SRob Herring};
446724ba675SRob Herring
447724ba675SRob Herring&rpm {
448724ba675SRob Herring	/*
449724ba675SRob Herring	 * Set up of the PMIC RPM regulators for this board
450724ba675SRob Herring	 * PM8901 supplies "preliminary regulators" whatever
451724ba675SRob Herring	 * that means
452724ba675SRob Herring	 */
453724ba675SRob Herring	regulators-0 {
454724ba675SRob Herring		vdd_l0-supply = <&pm8901_s4>;
455724ba675SRob Herring		vdd_l1-supply = <&vph>;
456724ba675SRob Herring		vdd_l2-supply = <&vph>;
457724ba675SRob Herring		vdd_l3-supply = <&vph>;
458724ba675SRob Herring		vdd_l4-supply = <&vph>;
459724ba675SRob Herring		vdd_l5-supply = <&vph>;
460724ba675SRob Herring		vdd_l6-supply = <&vph>;
461724ba675SRob Herring		/* vdd_s0-supply, vdd_s1-supply: SAW regulators */
462724ba675SRob Herring		vdd_s2-supply = <&vph>;
463724ba675SRob Herring		vdd_s3-supply = <&vph>;
464724ba675SRob Herring		vdd_s4-supply = <&vph>;
465724ba675SRob Herring		lvs0_in-supply = <&pm8058_s3>;
466724ba675SRob Herring		lvs1_in-supply = <&pm8901_s4>;
467724ba675SRob Herring		lvs2_in-supply = <&pm8058_l0>;
468724ba675SRob Herring		lvs3_in-supply = <&pm8058_s2>;
469724ba675SRob Herring		mvs_in-supply = <&pm8058_s3>;
470724ba675SRob Herring
471724ba675SRob Herring		l0 {
472724ba675SRob Herring			regulator-min-microvolt = <1200000>;
473724ba675SRob Herring			regulator-max-microvolt = <1200000>;
474724ba675SRob Herring			bias-pull-down;
475724ba675SRob Herring		};
476724ba675SRob Herring		l1 {
477724ba675SRob Herring			regulator-min-microvolt = <3300000>;
478724ba675SRob Herring			regulator-max-microvolt = <3300000>;
479724ba675SRob Herring			bias-pull-down;
480724ba675SRob Herring		};
481724ba675SRob Herring		l2 {
482724ba675SRob Herring			/* TMA340 requires strictly 3.3V */
483724ba675SRob Herring			regulator-min-microvolt = <3300000>;
484724ba675SRob Herring			regulator-max-microvolt = <3300000>;
485724ba675SRob Herring			bias-pull-down;
486724ba675SRob Herring		};
487724ba675SRob Herring		l3 {
488724ba675SRob Herring			regulator-min-microvolt = <3300000>;
489724ba675SRob Herring			regulator-max-microvolt = <3300000>;
490724ba675SRob Herring			bias-pull-down;
491724ba675SRob Herring		};
492724ba675SRob Herring		l4 {
493724ba675SRob Herring			regulator-min-microvolt = <2600000>;
494724ba675SRob Herring			regulator-max-microvolt = <2600000>;
495724ba675SRob Herring			bias-pull-down;
496724ba675SRob Herring		};
497724ba675SRob Herring		l5 {
498724ba675SRob Herring			regulator-min-microvolt = <2850000>;
499724ba675SRob Herring			regulator-max-microvolt = <2850000>;
500724ba675SRob Herring			bias-pull-down;
501724ba675SRob Herring		};
502724ba675SRob Herring		l6 {
503724ba675SRob Herring			regulator-min-microvolt = <2200000>;
504724ba675SRob Herring			regulator-max-microvolt = <2200000>;
505724ba675SRob Herring			bias-pull-down;
506724ba675SRob Herring		};
507724ba675SRob Herring
508724ba675SRob Herring		/* s0 and s1 are SAW regulators controlled over SPM */
509724ba675SRob Herring		s2 {
510724ba675SRob Herring			regulator-min-microvolt = <1300000>;
511724ba675SRob Herring			regulator-max-microvolt = <1300000>;
512724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
513724ba675SRob Herring			bias-pull-down;
514724ba675SRob Herring		};
515724ba675SRob Herring		s3 {
516724ba675SRob Herring			regulator-min-microvolt = <1100000>;
517724ba675SRob Herring			regulator-max-microvolt = <1100000>;
518724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
519724ba675SRob Herring			bias-pull-down;
520724ba675SRob Herring		};
521724ba675SRob Herring		s4 {
522724ba675SRob Herring			regulator-min-microvolt = <1225000>;
523724ba675SRob Herring			regulator-max-microvolt = <1225000>;
524724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
525724ba675SRob Herring			bias-pull-down;
526724ba675SRob Herring		};
527724ba675SRob Herring
528724ba675SRob Herring		/* LVS0 thru 3 and mvs are just switches */
529724ba675SRob Herring		lvs0 {
530724ba675SRob Herring			regulator-always-on;
531724ba675SRob Herring		};
532724ba675SRob Herring		lvs1 { };
533724ba675SRob Herring		lvs2 { };
534724ba675SRob Herring		lvs3 { };
535724ba675SRob Herring		mvs { };
536724ba675SRob Herring
537724ba675SRob Herring	};
538724ba675SRob Herring
539724ba675SRob Herring	regulators-1 {
540724ba675SRob Herring		vdd_l0_l1_lvs-supply = <&pm8058_s3>;
541724ba675SRob Herring		vdd_l2_l11_l12-supply = <&vph>;
542724ba675SRob Herring		vdd_l3_l4_l5-supply = <&vph>;
543724ba675SRob Herring		vdd_l6_l7-supply = <&vph>;
544724ba675SRob Herring		vdd_l8-supply = <&vph>;
545724ba675SRob Herring		vdd_l9-supply = <&vph>;
546724ba675SRob Herring		vdd_l10-supply = <&vph>;
547724ba675SRob Herring		vdd_l13_l16-supply = <&pm8058_s4>;
548724ba675SRob Herring		vdd_l14_l15-supply = <&vph>;
549724ba675SRob Herring		vdd_l17_l18-supply = <&vph>;
550724ba675SRob Herring		vdd_l19_l20-supply = <&vph>;
551724ba675SRob Herring		vdd_l21-supply = <&pm8058_s3>;
552724ba675SRob Herring		vdd_l22-supply = <&pm8058_s3>;
553724ba675SRob Herring		vdd_l23_l24_l25-supply = <&pm8058_s3>;
554724ba675SRob Herring		vdd_s0-supply = <&vph>;
555724ba675SRob Herring		vdd_s1-supply = <&vph>;
556724ba675SRob Herring		vdd_s2-supply = <&vph>;
557724ba675SRob Herring		vdd_s3-supply = <&vph>;
558724ba675SRob Herring		vdd_s4-supply = <&vph>;
559724ba675SRob Herring		vdd_ncp-supply = <&vph>;
560724ba675SRob Herring
561724ba675SRob Herring		l0 {
562724ba675SRob Herring			regulator-min-microvolt = <1200000>;
563724ba675SRob Herring			regulator-max-microvolt = <1200000>;
564724ba675SRob Herring			bias-pull-down;
565724ba675SRob Herring		};
566724ba675SRob Herring		l1 {
567724ba675SRob Herring			regulator-min-microvolt = <1200000>;
568724ba675SRob Herring			regulator-max-microvolt = <1200000>;
569724ba675SRob Herring			bias-pull-down;
570724ba675SRob Herring		};
571724ba675SRob Herring		l2 {
572724ba675SRob Herring			regulator-min-microvolt = <1800000>;
573724ba675SRob Herring			regulator-max-microvolt = <2600000>;
574724ba675SRob Herring			bias-pull-down;
575724ba675SRob Herring		};
576724ba675SRob Herring		l3 {
577724ba675SRob Herring			regulator-min-microvolt = <1800000>;
578724ba675SRob Herring			regulator-max-microvolt = <1800000>;
579724ba675SRob Herring			bias-pull-down;
580724ba675SRob Herring		};
581724ba675SRob Herring		l4 {
582724ba675SRob Herring			regulator-min-microvolt = <2850000>;
583724ba675SRob Herring			regulator-max-microvolt = <2850000>;
584724ba675SRob Herring			bias-pull-down;
585724ba675SRob Herring		};
586724ba675SRob Herring		l5 {
587724ba675SRob Herring			regulator-min-microvolt = <2850000>;
588724ba675SRob Herring			regulator-max-microvolt = <2850000>;
589724ba675SRob Herring			bias-pull-down;
590724ba675SRob Herring		};
591724ba675SRob Herring		l6 {
592724ba675SRob Herring			regulator-min-microvolt = <3000000>;
593724ba675SRob Herring			regulator-max-microvolt = <3600000>;
594724ba675SRob Herring			bias-pull-down;
595724ba675SRob Herring		};
596724ba675SRob Herring		l7 {
597724ba675SRob Herring			regulator-min-microvolt = <1800000>;
598724ba675SRob Herring			regulator-max-microvolt = <1800000>;
599724ba675SRob Herring			bias-pull-down;
600724ba675SRob Herring		};
601724ba675SRob Herring		l8 {
602724ba675SRob Herring			regulator-min-microvolt = <2900000>;
603724ba675SRob Herring			regulator-max-microvolt = <3050000>;
604724ba675SRob Herring			bias-pull-down;
605724ba675SRob Herring		};
606724ba675SRob Herring		l9 {
607724ba675SRob Herring			regulator-min-microvolt = <1800000>;
608724ba675SRob Herring			regulator-max-microvolt = <1800000>;
609724ba675SRob Herring			bias-pull-down;
610724ba675SRob Herring		};
611724ba675SRob Herring		l10 {
612724ba675SRob Herring			regulator-min-microvolt = <2600000>;
613724ba675SRob Herring			regulator-max-microvolt = <2600000>;
614724ba675SRob Herring			bias-pull-down;
615724ba675SRob Herring		};
616724ba675SRob Herring		l11 {
617724ba675SRob Herring			regulator-min-microvolt = <1500000>;
618724ba675SRob Herring			regulator-max-microvolt = <1500000>;
619724ba675SRob Herring			bias-pull-down;
620724ba675SRob Herring		};
621724ba675SRob Herring		l12 {
622724ba675SRob Herring			regulator-min-microvolt = <2900000>;
623724ba675SRob Herring			regulator-max-microvolt = <2900000>;
624724ba675SRob Herring			bias-pull-down;
625724ba675SRob Herring		};
626724ba675SRob Herring		l13 {
627724ba675SRob Herring			regulator-min-microvolt = <2050000>;
628724ba675SRob Herring			regulator-max-microvolt = <2050000>;
629724ba675SRob Herring			bias-pull-down;
630724ba675SRob Herring		};
631724ba675SRob Herring		l14 {
632724ba675SRob Herring			regulator-min-microvolt = <2850000>;
633724ba675SRob Herring			regulator-max-microvolt = <2850000>;
634724ba675SRob Herring		};
635724ba675SRob Herring		l15 {
636724ba675SRob Herring			regulator-min-microvolt = <2850000>;
637724ba675SRob Herring			regulator-max-microvolt = <2850000>;
638724ba675SRob Herring			bias-pull-down;
639724ba675SRob Herring		};
640724ba675SRob Herring		l16 {
641724ba675SRob Herring			regulator-min-microvolt = <1800000>;
642724ba675SRob Herring			regulator-max-microvolt = <1800000>;
643724ba675SRob Herring			bias-pull-down;
644724ba675SRob Herring			regulator-always-on;
645724ba675SRob Herring		};
646724ba675SRob Herring		l17 {
647724ba675SRob Herring			// 1.5V according to schematic
648724ba675SRob Herring			regulator-min-microvolt = <2600000>;
649724ba675SRob Herring			regulator-max-microvolt = <2600000>;
650724ba675SRob Herring			bias-pull-down;
651724ba675SRob Herring		};
652724ba675SRob Herring		l18 {
653724ba675SRob Herring			regulator-min-microvolt = <2200000>;
654724ba675SRob Herring			regulator-max-microvolt = <2200000>;
655724ba675SRob Herring			bias-pull-down;
656724ba675SRob Herring		};
657724ba675SRob Herring		l19 {
658724ba675SRob Herring			regulator-min-microvolt = <2500000>;
659724ba675SRob Herring			regulator-max-microvolt = <2500000>;
660724ba675SRob Herring			bias-pull-down;
661724ba675SRob Herring		};
662724ba675SRob Herring		l20 {
663724ba675SRob Herring			regulator-min-microvolt = <1800000>;
664724ba675SRob Herring			regulator-max-microvolt = <1800000>;
665724ba675SRob Herring			bias-pull-down;
666724ba675SRob Herring		};
667724ba675SRob Herring		l21 {
668724ba675SRob Herring			// 1.1 V according to schematic
669724ba675SRob Herring			regulator-min-microvolt = <1200000>;
670724ba675SRob Herring			regulator-max-microvolt = <1200000>;
671724ba675SRob Herring			bias-pull-down;
672724ba675SRob Herring			regulator-always-on;
673724ba675SRob Herring		};
674724ba675SRob Herring		l22 {
675724ba675SRob Herring			// 1.2 V according to schematic
676724ba675SRob Herring			regulator-min-microvolt = <1150000>;
677724ba675SRob Herring			regulator-max-microvolt = <1150000>;
678724ba675SRob Herring			bias-pull-down;
679724ba675SRob Herring		};
680724ba675SRob Herring		l23 {
681724ba675SRob Herring			// Unused
682724ba675SRob Herring			regulator-min-microvolt = <1200000>;
683724ba675SRob Herring			regulator-max-microvolt = <1200000>;
684724ba675SRob Herring			bias-pull-down;
685724ba675SRob Herring		};
686724ba675SRob Herring		l24 {
687724ba675SRob Herring			// Unused
688724ba675SRob Herring			regulator-min-microvolt = <1200000>;
689724ba675SRob Herring			regulator-max-microvolt = <1200000>;
690724ba675SRob Herring			bias-pull-down;
691724ba675SRob Herring		};
692724ba675SRob Herring		l25 {
693724ba675SRob Herring			regulator-min-microvolt = <1200000>;
694724ba675SRob Herring			regulator-max-microvolt = <1200000>;
695724ba675SRob Herring			bias-pull-down;
696724ba675SRob Herring		};
697724ba675SRob Herring
698724ba675SRob Herring		s0 {
699724ba675SRob Herring			// regulator-min-microvolt = <500000>;
700724ba675SRob Herring			// regulator-max-microvolt = <1325000>;
701724ba675SRob Herring			regulator-min-microvolt = <1100000>;
702724ba675SRob Herring			regulator-max-microvolt = <1100000>;
703724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
704724ba675SRob Herring			bias-pull-down;
705724ba675SRob Herring		};
706724ba675SRob Herring		s1 {
707724ba675SRob Herring			// regulator-min-microvolt = <500000>;
708724ba675SRob Herring			// regulator-max-microvolt = <1250000>;
709724ba675SRob Herring			regulator-min-microvolt = <1100000>;
710724ba675SRob Herring			regulator-max-microvolt = <1100000>;
711724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
712724ba675SRob Herring			bias-pull-down;
713724ba675SRob Herring		};
714724ba675SRob Herring		s2 {
715724ba675SRob Herring			// 1.3 V according to schematic
716724ba675SRob Herring			regulator-min-microvolt = <1200000>;
717724ba675SRob Herring			regulator-max-microvolt = <1400000>;
718724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
719724ba675SRob Herring			bias-pull-down;
720724ba675SRob Herring		};
721724ba675SRob Herring		s3 {
722724ba675SRob Herring			regulator-min-microvolt = <1800000>;
723724ba675SRob Herring			regulator-max-microvolt = <1800000>;
724724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
725724ba675SRob Herring			regulator-always-on;
726724ba675SRob Herring			bias-pull-down;
727724ba675SRob Herring		};
728724ba675SRob Herring		s4 {
729724ba675SRob Herring			regulator-min-microvolt = <2200000>;
730724ba675SRob Herring			regulator-max-microvolt = <2200000>;
731724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
732724ba675SRob Herring			regulator-always-on;
733724ba675SRob Herring			bias-pull-down;
734724ba675SRob Herring		};
735724ba675SRob Herring
736724ba675SRob Herring		/* LVS0 and LVS1 are just switches */
737724ba675SRob Herring		lvs0 {
738724ba675SRob Herring			bias-pull-down;
739724ba675SRob Herring		};
740724ba675SRob Herring		lvs1 {
741724ba675SRob Herring			bias-pull-down;
742724ba675SRob Herring		};
743724ba675SRob Herring
744724ba675SRob Herring		ncp {
745724ba675SRob Herring			regulator-min-microvolt = <1800000>;
746724ba675SRob Herring			regulator-max-microvolt = <1800000>;
747724ba675SRob Herring			qcom,switch-mode-frequency = <1600000>;
748724ba675SRob Herring		};
749724ba675SRob Herring	};
750724ba675SRob Herring};
751724ba675SRob Herring
752724ba675SRob Herring/* Internal 3.69 GiB eMMC */
753724ba675SRob Herring&sdcc1 {
754724ba675SRob Herring	pinctrl-names = "default";
755724ba675SRob Herring	pinctrl-0 = <&dragon_sdcc1_pins>;
756724ba675SRob Herring	vmmc-supply = <&pm8901_l5>;
757724ba675SRob Herring	vqmmc-supply = <&pm8901_lvs0>;
758724ba675SRob Herring	status = "okay";
759724ba675SRob Herring};
760724ba675SRob Herring
761724ba675SRob Herring/* External micro SD card, directly connected, pulled up to 2.85 V */
762724ba675SRob Herring&sdcc3 {
763724ba675SRob Herring	/* Enable SSBI GPIO 22 as input, use for card detect */
764724ba675SRob Herring	pinctrl-names = "default";
765724ba675SRob Herring	pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>;
766724ba675SRob Herring	cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>;
767724ba675SRob Herring	wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
768724ba675SRob Herring	vmmc-supply = <&pm8058_l14>;
769724ba675SRob Herring	status = "okay";
770724ba675SRob Herring};
771724ba675SRob Herring
772724ba675SRob Herring/*
773724ba675SRob Herring * Second external micro SD card, using two TXB104RGYR levelshifters
774724ba675SRob Herring * to lift from 1.8 V to 2.85 V
775724ba675SRob Herring */
776724ba675SRob Herring&sdcc5 {
777724ba675SRob Herring	/* Enable SSBI GPIO 26 as input, use for card detect */
778724ba675SRob Herring	pinctrl-names = "default";
779724ba675SRob Herring	pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>;
780724ba675SRob Herring	cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>;
781724ba675SRob Herring	wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
782724ba675SRob Herring	vmmc-supply = <&pm8058_l14>;
783724ba675SRob Herring	vqmmc-supply = <&dragon_vio_txb>;
784724ba675SRob Herring	status = "okay";
785724ba675SRob Herring};
786724ba675SRob Herring
787724ba675SRob Herring&tlmm {
788724ba675SRob Herring	/* eMMC pins, all 8 data lines connected */
789724ba675SRob Herring	dragon_sdcc1_pins: sdcc1-state {
790724ba675SRob Herring		clk-pins {
791724ba675SRob Herring			pins = "gpio167"; /* SDC1 CLK */
792724ba675SRob Herring			function = "sdc1";
793724ba675SRob Herring			drive-strength = <16>;
794724ba675SRob Herring			bias-disable;
795724ba675SRob Herring		};
796724ba675SRob Herring		cmd-pins {
797724ba675SRob Herring			pins = "gpio168"; /* SDC1 CMD */
798724ba675SRob Herring			function = "sdc1";
799724ba675SRob Herring			drive-strength = <10>;
800724ba675SRob Herring			bias-pull-up;
801724ba675SRob Herring		};
802724ba675SRob Herring		data-pins {
803724ba675SRob Herring			/* SDC1 D0 to D7 */
804724ba675SRob Herring			pins = "gpio159", "gpio160", "gpio161", "gpio162",
805724ba675SRob Herring			     "gpio163", "gpio164", "gpio165", "gpio166";
806724ba675SRob Herring			function = "sdc1";
807724ba675SRob Herring			drive-strength = <10>;
808724ba675SRob Herring			bias-pull-up;
809724ba675SRob Herring		};
810724ba675SRob Herring	};
811724ba675SRob Herring
812724ba675SRob Herring	/*
813724ba675SRob Herring	 * The SDCC3 pins are hardcoded (non-muxable) but need some pin
814724ba675SRob Herring	 * configuration.
815724ba675SRob Herring	 */
816724ba675SRob Herring	dragon_sdcc3_pins: sdcc3-state {
817724ba675SRob Herring		clk-pins {
818724ba675SRob Herring			pins = "sdc3_clk";
819724ba675SRob Herring			drive-strength = <8>;
820724ba675SRob Herring			bias-disable;
821724ba675SRob Herring		};
822724ba675SRob Herring		cmd-pins {
823724ba675SRob Herring			pins = "sdc3_cmd";
824724ba675SRob Herring			drive-strength = <8>;
825724ba675SRob Herring			bias-pull-up;
826724ba675SRob Herring		};
827724ba675SRob Herring		data-pins {
828724ba675SRob Herring			pins = "sdc3_data";
829724ba675SRob Herring			drive-strength = <8>;
830724ba675SRob Herring			bias-pull-up;
831724ba675SRob Herring		};
832724ba675SRob Herring	};
833724ba675SRob Herring
834724ba675SRob Herring	/* Second SD card slot pins */
835724ba675SRob Herring	dragon_sdcc5_pins: sdcc5-state {
836724ba675SRob Herring		clk-pins {
837724ba675SRob Herring			pins = "gpio97"; /* SDC5 CLK */
838724ba675SRob Herring			function = "sdc5";
839724ba675SRob Herring			drive-strength = <16>;
840724ba675SRob Herring			bias-disable;
841724ba675SRob Herring		};
842724ba675SRob Herring		cmd-pins {
843724ba675SRob Herring			pins = "gpio95"; /* SDC5 CMD */
844724ba675SRob Herring			function = "sdc5";
845724ba675SRob Herring			drive-strength = <10>;
846724ba675SRob Herring			bias-pull-up;
847724ba675SRob Herring		};
848724ba675SRob Herring		data-pins {
849724ba675SRob Herring			/* SDC5 D0 to D3 */
850724ba675SRob Herring			pins = "gpio96", "gpio98", "gpio99", "gpio100";
851724ba675SRob Herring			function = "sdc5";
852724ba675SRob Herring			drive-strength = <10>;
853724ba675SRob Herring			bias-pull-up;
854724ba675SRob Herring		};
855724ba675SRob Herring	};
856724ba675SRob Herring
857724ba675SRob Herring	dragon_gsbi3_i2c_pins: gsbi3-i2c-state {
858724ba675SRob Herring		pins = "gpio43", "gpio44";
859724ba675SRob Herring		function = "gsbi3";
860724ba675SRob Herring		drive-strength = <8>;
861724ba675SRob Herring		/* These have external pull-up 2.2kOhm to 1.8V */
862724ba675SRob Herring		bias-disable;
863724ba675SRob Herring	};
864724ba675SRob Herring
865724ba675SRob Herring	dragon_gsbi8_i2c_pins: gsbi8-i2c-state {
866724ba675SRob Herring		pins = "gpio64", "gpio65";
867724ba675SRob Herring		function = "gsbi8";
868724ba675SRob Herring		drive-strength = <16>;
869724ba675SRob Herring		/* These have external pull-up 2.2kOhm to 1.8V */
870724ba675SRob Herring		bias-disable;
871724ba675SRob Herring	};
872724ba675SRob Herring
873724ba675SRob Herring	dragon_gsbi12_i2c_pins: gsbi12-i2c-state {
874724ba675SRob Herring		pins = "gpio115", "gpio116";
875724ba675SRob Herring		function = "gsbi12";
876724ba675SRob Herring		drive-strength = <16>;
877724ba675SRob Herring		/* These have external pull-up 4.7kOhm to 1.8V */
878724ba675SRob Herring		bias-disable;
879724ba675SRob Herring	};
880724ba675SRob Herring
881724ba675SRob Herring	/* Primary serial port uart 0 pins */
882724ba675SRob Herring	dragon_gsbi12_serial_pins: gsbi12-serial-state {
883724ba675SRob Herring		tx-pins {
884724ba675SRob Herring			pins = "gpio117";
885724ba675SRob Herring			function = "gsbi12";
886724ba675SRob Herring			drive-strength = <8>;
887724ba675SRob Herring			bias-disable;
888724ba675SRob Herring		};
889724ba675SRob Herring		rx-pins {
890724ba675SRob Herring			pins = "gpio118";
891724ba675SRob Herring			function = "gsbi12";
892724ba675SRob Herring			drive-strength = <2>;
893724ba675SRob Herring			bias-pull-up;
894724ba675SRob Herring		};
895724ba675SRob Herring	};
896724ba675SRob Herring
897724ba675SRob Herring	dragon_ebi2_pins: ebi2-state {
898724ba675SRob Herring		/*
899724ba675SRob Herring		 * Pins used by EBI2 on the Dragonboard, actually only
900724ba675SRob Herring		 * CS2 is used by a real peripheral. CS0 is just
901724ba675SRob Herring		 * routed to a test point.
902724ba675SRob Herring		 */
903724ba675SRob Herring		mux0-pins {
904724ba675SRob Herring			pins =
905724ba675SRob Herring			    /* "gpio39", CS1A_N this is not good to mux */
906724ba675SRob Herring			    "gpio40", /* CS2A_N */
907724ba675SRob Herring			    "gpio134"; /* CS0_N testpoint TP29 */
908724ba675SRob Herring			function = "ebi2cs";
909724ba675SRob Herring		};
910724ba675SRob Herring		mux1-pins {
911724ba675SRob Herring			pins =
912724ba675SRob Herring			    /* EBI2_ADDR_7 downto EBI2_ADDR_0 address bus */
913724ba675SRob Herring			    "gpio123", "gpio124", "gpio125", "gpio126",
914724ba675SRob Herring			    "gpio127", "gpio128", "gpio129", "gpio130",
915724ba675SRob Herring			    /* EBI2_DATA_15 downto EBI2_DATA_0 data bus */
916724ba675SRob Herring			    "gpio135", "gpio136", "gpio137", "gpio138",
917724ba675SRob Herring			    "gpio139", "gpio140", "gpio141", "gpio142",
918724ba675SRob Herring			    "gpio143", "gpio144", "gpio145", "gpio146",
919724ba675SRob Herring			    "gpio147", "gpio148", "gpio149", "gpio150",
920724ba675SRob Herring			    "gpio151", /* EBI2_OE_N */
921724ba675SRob Herring			    "gpio153", /* EBI2_ADV */
922724ba675SRob Herring			    "gpio157"; /* EBI2_WE_N */
923724ba675SRob Herring			function = "ebi2";
924724ba675SRob Herring		};
925724ba675SRob Herring	};
926724ba675SRob Herring
927724ba675SRob Herring	/* Interrupt line for the KXSD9 accelerometer */
928724ba675SRob Herring	dragon_kxsd9_gpios: kxsd9-state {
929724ba675SRob Herring		pins = "gpio57"; /* IRQ line */
930724ba675SRob Herring		function = "gpio";
931724ba675SRob Herring		bias-pull-up;
932724ba675SRob Herring	};
933724ba675SRob Herring
934724ba675SRob Herring	dragon_tma340_gpios: tma340-state {
935724ba675SRob Herring		reset-pins {
936724ba675SRob Herring			/* RESET line, TS_ATTN, WAKE_CTP */
937724ba675SRob Herring			pins = "gpio58";
938724ba675SRob Herring			function = "gpio";
939724ba675SRob Herring			drive-strength = <6>;
940724ba675SRob Herring			bias-disable;
941724ba675SRob Herring		};
942724ba675SRob Herring		irq-pins {
943724ba675SRob Herring			pins = "gpio61"; /* IRQ line */
944724ba675SRob Herring			function = "gpio";
945724ba675SRob Herring			drive-strength = <2>;
946724ba675SRob Herring			bias-pull-up;
947724ba675SRob Herring		};
948724ba675SRob Herring	};
949724ba675SRob Herring};
950724ba675SRob Herring
951c6d86aa8SDmitry Baryshkov&pm8058_xoadc {
952724ba675SRob Herring	/* Reference voltage 2.2 V */
953724ba675SRob Herring	xoadc-ref-supply = <&pm8058_l18>;
954724ba675SRob Herring
955724ba675SRob Herring	/* Board-specific channels */
956724ba675SRob Herring	mpp5@5 {
957724ba675SRob Herring		/* Connected to AOUT of ALS sensor */
958724ba675SRob Herring		reg = <0x00 0x05>;
959724ba675SRob Herring	};
960724ba675SRob Herring	mpp6@6 {
961724ba675SRob Herring		/* Connected to test point TP43 */
962724ba675SRob Herring		reg = <0x00 0x06>;
963724ba675SRob Herring	};
964724ba675SRob Herring	mpp7@7 {
965724ba675SRob Herring		/* Connected to battery thermistor */
966724ba675SRob Herring		reg = <0x00 0x07>;
967724ba675SRob Herring	};
968724ba675SRob Herring	mpp8@8 {
969724ba675SRob Herring		/* Connected to battery ID detector */
970724ba675SRob Herring		reg = <0x00 0x08>;
971724ba675SRob Herring	};
972724ba675SRob Herring	mpp9@9 {
973724ba675SRob Herring		/* Connected to XO thermistor */
974724ba675SRob Herring		reg = <0x00 0x09>;
975724ba675SRob Herring	};
976724ba675SRob Herring};
977