Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.17.
  1// SPDX-License-Identifier: GPL-2.0+ OR MIT
  2/*
  3 * Device Tree Source for mangOH Green Board with WP8548 Module
  4 *
  5 * Copyright (C) 2016 BayLibre, SAS.
  6 * Author : Neil Armstrong <narmstrong@baylibre.com>
  7 */
  8
  9#include <dt-bindings/gpio/gpio.h>
 10#include <dt-bindings/input/input.h>
 11#include <dt-bindings/interrupt-controller/irq.h>
 12
 13#include "qcom-mdm9615-wp8548.dtsi"
 14
 15/ {
 16	model = "MangOH Green with WP8548 Module";
 17	compatible = "swir,mangoh-green-wp8548", "swir,wp8548", "qcom,mdm9615";
 18
 19	aliases {
 20		spi0 = &gsbi3_spi;
 21		serial0 = &gsbi4_serial;
 22		serial1 = &gsbi5_serial;
 23		i2c0 = &gsbi5_i2c;
 24		mmc0 = &sdcc1;
 25	};
 26
 27	chosen {
 28		stdout-path = "serial1:115200n8";
 29	};
 30};
 31
 32&msmgpio {
 33	/* MangOH GPIO Mapping :
 34	 * - 2 : GPIOEXP_INT2
 35	 * - 7 : IOT1_GPIO2
 36	 * - 8 : IOT0_GPIO4
 37	 * - 13: IOT0_GPIO3
 38	 * - 21: IOT1_GPIO4
 39	 * - 22: IOT2_GPIO1
 40	 * - 23: IOT2_GPIO2
 41	 * - 24: IOT2_GPIO3
 42	 * - 25: IOT1_GPIO1
 43	 * - 32: IOT1_GPIO3
 44	 * - 33: IOT0_GPIO2
 45	 * - 42: IOT0_GPIO1 and SD Card Detect
 46	 */
 47
 48	gpioext1_pins: gpioext1-state {
 49		gpioext1-pins {
 50			pins = "gpio2";
 51			function = "gpio";
 52			bias-disable;
 53		};
 54	};
 55
 56	sdc_cd_pins: sdc-cd-state {
 57		sdc-cd-pins {
 58			pins = "gpio42";
 59			function = "gpio";
 60			drive-strength = <2>;
 61			bias-pull-up;
 62		};
 63	};
 64};
 65
 66&gsbi3_spi {
 67	spi@0 {
 68		compatible = "swir,mangoh-iotport-spi";
 69		spi-max-frequency = <24000000>;
 70		reg = <0>;
 71	};
 72};
 73
 74&gsbi5_i2c {
 75	mux@71 {
 76		compatible = "nxp,pca9548";
 77		#address-cells = <1>;
 78		#size-cells = <0>;
 79		reg = <0x71>;
 80
 81		i2c_iot0: i2c@0 {
 82			#address-cells = <1>;
 83			#size-cells = <0>;
 84			reg = <0>;
 85		};
 86
 87		i2c_iot1: i2c@1 {
 88			#address-cells = <1>;
 89			#size-cells = <0>;
 90			reg = <1>;
 91		};
 92
 93		i2c_iot2: i2c@2 {
 94			#address-cells = <1>;
 95			#size-cells = <0>;
 96			reg = <2>;
 97		};
 98
 99		i2c@3 {
100			#address-cells = <1>;
101			#size-cells = <0>;
102			reg = <3>;
103
104			usbhub: hub@8 {
105				compatible = "smsc,usb3503a";
106				reg = <0x8>;
107				connect-gpios = <&gpioext2 1 GPIO_ACTIVE_HIGH>;
108				intn-gpios = <&gpioext2 0 GPIO_ACTIVE_HIGH>;
109				initial-mode = <1>;
110			};
111		};
112
113		i2c@4 {
114			#address-cells = <1>;
115			#size-cells = <0>;
116			reg = <4>;
117
118			gpioext0: pinctrl@3e {
119				/* GPIO Expander 0 Mapping :
120				 * - 0: ARDUINO_RESET_Level shift
121				 * - 1: BattChrgr_PG_N
122				 * - 2: BattGauge_GPIO
123				 * - 3: LED_ON (out active high)
124				 * - 4: ATmega_reset_GPIO
125				 * - 5: X
126				 * - 6: PCM_ANALOG_SELECT (out active high)
127				 * - 7: X
128				 * - 8: Board_rev_res1 (in)
129				 * - 9: Board_rev_res2 (in)
130				 * - 10: UART_EXP1_ENn (out active low / pull-down)
131				 * - 11: UART_EXP1_IN (out pull-down)
132				 * - 12: UART_EXP2_IN (out pull-down)
133				 * - 13: SDIO_SEL (out pull-down)
134				 * - 14: SPI_EXP1_ENn (out active low / pull-down)
135				 * - 15: SPI_EXP1_IN (out pull-down)
136				 */
137				#gpio-cells = <2>;
138				#interrupt-cells = <2>;
139				compatible = "semtech,sx1509q";
140				reg = <0x3e>;
141				interrupt-parent = <&gpioext1>;
142				interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
143
144				semtech,probe-reset;
145
146				gpio-controller;
147				interrupt-controller;
148			};
149		};
150
151		i2c@5 {
152			#address-cells = <1>;
153			#size-cells = <0>;
154			reg = <5>;
155
156			gpioext1: pinctrl@3f {
157				/* GPIO Expander 1 Mapping :
158				 * - 0: GPIOEXP_INT1
159				 * - 1: Battery detect
160				 * - 2: GPIO_SCF3_RESET
161				 * - 3: LED_CARD_DETECT_IOT0 (in)
162				 * - 4: LED_CARD_DETECT_IOT1 (in)
163				 * - 5: LED_CARD_DETECT_IOT2 (in)
164				 * - 6: UIM2_PWM_SELECT
165				 * - 7: UIM2_M2_S_SELECT
166				 * - 8: TP900
167				 * - 9: SENSOR_INT1 (in)
168				 * - 10: SENSOR_INT2 (in)
169				 * - 11: CARD_DETECT_IOT0 (in pull-up)
170				 * - 12: CARD_DETECT_IOT2 (in pull-up)
171				 * - 13: CARD_DETECT_IOT1 (in pull-up)
172				 * - 14: GPIOEXP_INT3 (in active low / pull-up)
173				 * - 15: BattChrgr_INT_N
174				 */
175				pinctrl-0 = <&gpioext1_pins>;
176				pinctrl-names = "default";
177
178				#gpio-cells = <2>;
179				#interrupt-cells = <2>;
180				compatible = "semtech,sx1509q";
181				reg = <0x3f>;
182				interrupt-parent = <&msmgpio>;
183				interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
184
185				semtech,probe-reset;
186
187				gpio-controller;
188				interrupt-controller;
189			};
190		};
191
192		i2c@6 {
193			#address-cells = <1>;
194			#size-cells = <0>;
195			reg = <6>;
196
197			gpioext2: pinctrl@70 {
198				/* GPIO Expander 2 Mapping :
199				 * - 0: USB_HUB_INTn
200				 * - 1: HUB_CONNECT
201				 * - 2: GPIO_IOT2_RESET (out active low / pull-up)
202				 * - 3: GPIO_IOT1_RESET (out active low / pull-up)
203				 * - 4: GPIO_IOT0_RESET (out active low / pull-up)
204				 * - 5: TP901
205				 * - 6: TP902
206				 * - 7: TP903
207				 * - 8: UART_EXP2_ENn (out active low / pull-down)
208				 * - 9: PCM_EXP1_ENn (out active low)
209				 * - 10: PCM_EXP1_SEL (out)
210				 * - 11: ARD_FTDI
211				 * - 12: TP904
212				 * - 13: TP905
213				 * - 14: TP906
214				 * - 15: RS232_Enable (out active high / pull-up)
215				 */
216				#gpio-cells = <2>;
217				#interrupt-cells = <2>;
218				compatible = "semtech,sx1509q";
219				reg = <0x70>;
220				interrupt-parent = <&gpioext1>;
221				interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
222
223				semtech,probe-reset;
224
225				gpio-controller;
226				interrupt-controller;
227			};
228		};
229
230		i2c@7 {
231			#address-cells = <1>;
232			#size-cells = <0>;
233			reg = <7>;
234		};
235	};
236};
237
238&sdcc1 {
239	pinctrl-0 = <&sdc_cd_pins>;
240	pinctrl-names = "default";
241	disable-wp;
242	cd-gpios = <&msmgpio 42 GPIO_ACTIVE_LOW>; /* Active low CD */
243};