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