Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Add WP8548 based MangOH Green board DTS

Add support for the Sierra Wireless MangOH Green board with the
Sierra Wireless WP8548 Module.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>

authored by

Neil Armstrong and committed by
Andy Gross
8ab8a8c3 3106dba6

+283 -1
+2 -1
arch/arm/boot/dts/Makefile
··· 620 620 qcom-msm8660-surf.dtb \ 621 621 qcom-msm8960-cdp.dtb \ 622 622 qcom-msm8974-lge-nexus5-hammerhead.dtb \ 623 - qcom-msm8974-sony-xperia-honami.dtb 623 + qcom-msm8974-sony-xperia-honami.dtb \ 624 + qcom-mdm9615-wp8548-mangoh-green.dtb 624 625 dtb-$(CONFIG_ARCH_REALVIEW) += \ 625 626 arm-realview-pb1176.dtb \ 626 627 arm-realview-pb11mp.dtb \
+281
arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
··· 1 + /* 2 + * Device Tree Source for mangOH Green Board with WP8548 Module 3 + * 4 + * Copyright (C) 2016 BayLibre, SAS. 5 + * Author : Neil Armstrong <narmstrong@baylibre.com> 6 + * 7 + * This file is dual-licensed: you can use it either under the terms 8 + * of the GPL or the X11 license, at your option. Note that this dual 9 + * licensing only applies to this file, and not this project as a 10 + * whole. 11 + * 12 + * a) This file is free software; you can redistribute it and/or 13 + * modify it under the terms of the GNU General Public License as 14 + * published by the Free Software Foundation; either version 2 of the 15 + * License, or (at your option) any later version. 16 + * 17 + * This file is distributed in the hope that it will be useful, 18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 + * GNU General Public License for more details. 21 + * 22 + * Or, alternatively, 23 + * 24 + * b) Permission is hereby granted, free of charge, to any person 25 + * obtaining a copy of this software and associated documentation 26 + * files (the "Software"), to deal in the Software without 27 + * restriction, including without limitation the rights to use, 28 + * copy, modify, merge, publish, distribute, sublicense, and/or 29 + * sell copies of the Software, and to permit persons to whom the 30 + * Software is furnished to do so, subject to the following 31 + * conditions: 32 + * 33 + * The above copyright notice and this permission notice shall be 34 + * included in all copies or substantial portions of the Software. 35 + * 36 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43 + * OTHER DEALINGS IN THE SOFTWARE. 44 + */ 45 + 46 + #include <dt-bindings/input/input.h> 47 + 48 + #include "qcom-mdm9615-wp8548.dtsi" 49 + #include <dt-bindings/interrupt-controller/irq.h> 50 + #include <dt-bindings/gpio/gpio.h> 51 + 52 + / { 53 + model = "MangOH Green with WP8548 Module"; 54 + compatible = "swir,mangoh-green-wp8548", "swir,wp8548", "qcom,mdm9615"; 55 + 56 + aliases { 57 + spi0 = &gsbi3_spi; 58 + serial0 = &gsbi4_serial; 59 + serial1 = &gsbi5_serial; 60 + i2c0 = &gsbi5_i2c; 61 + mmc0 = &sdcc1; 62 + }; 63 + 64 + chosen { 65 + stdout-path = "serial1:115200n8"; 66 + }; 67 + }; 68 + 69 + &msmgpio { 70 + /* MangOH GPIO Mapping : 71 + * - 2 : GPIOEXP_INT2 72 + * - 7 : IOT1_GPIO2 73 + * - 8 : IOT0_GPIO4 74 + * - 13: IOT0_GPIO3 75 + * - 21: IOT1_GPIO4 76 + * - 22: IOT2_GPIO1 77 + * - 23: IOT2_GPIO2 78 + * - 24: IOT2_GPIO3 79 + * - 25: IOT1_GPIO1 80 + * - 32: IOT1_GPIO3 81 + * - 33: IOT0_GPIO2 82 + * - 42: IOT0_GPIO1 and SD Card Detect 83 + */ 84 + 85 + gpioext1_pins: gpioext1_pins { 86 + pins { 87 + pins = "gpio2"; 88 + function = "gpio"; 89 + input-enable; 90 + bias-disable; 91 + }; 92 + }; 93 + 94 + sdc_cd_pins: sdc_cd_pins { 95 + pins { 96 + pins = "gpio42"; 97 + function = "gpio"; 98 + drive-strength = <2>; 99 + bias-pull-up; 100 + }; 101 + }; 102 + }; 103 + 104 + &gsbi3_spi { 105 + spi@0 { 106 + compatible = "swir,mangoh-iotport-spi", "spidev"; 107 + spi-max-frequency = <24000000>; 108 + reg = <0>; 109 + }; 110 + }; 111 + 112 + &gsbi5_i2c { 113 + mux@71 { 114 + compatible = "nxp,pca9548"; 115 + #address-cells = <1>; 116 + #size-cells = <0>; 117 + reg = <0x71>; 118 + 119 + i2c_iot0: i2c@0 { 120 + #address-cells = <1>; 121 + #size-cells = <0>; 122 + reg = <0>; 123 + }; 124 + 125 + i2c_iot1: i2c@1 { 126 + #address-cells = <1>; 127 + #size-cells = <0>; 128 + reg = <1>; 129 + }; 130 + 131 + i2c_iot2: i2c@2 { 132 + #address-cells = <1>; 133 + #size-cells = <0>; 134 + reg = <2>; 135 + }; 136 + 137 + i2c@3 { 138 + #address-cells = <1>; 139 + #size-cells = <0>; 140 + reg = <3>; 141 + 142 + usbhub: hub@8 { 143 + compatible = "smsc,usb3503a"; 144 + reg = <0x8>; 145 + connect-gpios = <&gpioext2 1 GPIO_ACTIVE_HIGH>; 146 + intn-gpios = <&gpioext2 0 GPIO_ACTIVE_LOW>; 147 + initial-mode = <1>; 148 + }; 149 + }; 150 + 151 + i2c@4 { 152 + #address-cells = <1>; 153 + #size-cells = <0>; 154 + reg = <4>; 155 + 156 + gpioext0: gpio@3e { 157 + /* GPIO Expander 0 Mapping : 158 + * - 0: ARDUINO_RESET_Level shift 159 + * - 1: BattChrgr_PG_N 160 + * - 2: BattGauge_GPIO 161 + * - 3: LED_ON (out active high) 162 + * - 4: ATmega_reset_GPIO 163 + * - 5: X 164 + * - 6: PCM_ANALOG_SELECT (out active high) 165 + * - 7: X 166 + * - 8: Board_rev_res1 (in) 167 + * - 9: Board_rev_res2 (in) 168 + * - 10: UART_EXP1_ENn (out active low / pull-down) 169 + * - 11: UART_EXP1_IN (out pull-down) 170 + * - 12: UART_EXP2_IN (out pull-down) 171 + * - 13: SDIO_SEL (out pull-down) 172 + * - 14: SPI_EXP1_ENn (out active low / pull-down) 173 + * - 15: SPI_EXP1_IN (out pull-down) 174 + */ 175 + #gpio-cells = <2>; 176 + #interrupt-cells = <2>; 177 + compatible = "semtech,sx1509q"; 178 + reg = <0x3e>; 179 + interrupt-parent = <&gpioext1>; 180 + interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 181 + 182 + probe-reset; 183 + 184 + gpio-controller; 185 + interrupt-controller; 186 + }; 187 + }; 188 + 189 + i2c@5 { 190 + #address-cells = <1>; 191 + #size-cells = <0>; 192 + reg = <5>; 193 + 194 + gpioext1: gpio@3f { 195 + /* GPIO Expander 1 Mapping : 196 + * - 0: GPIOEXP_INT1 197 + * - 1: Battery detect 198 + * - 2: GPIO_SCF3_RESET 199 + * - 3: LED_CARD_DETECT_IOT0 (in) 200 + * - 4: LED_CARD_DETECT_IOT1 (in) 201 + * - 5: LED_CARD_DETECT_IOT2 (in) 202 + * - 6: UIM2_PWM_SELECT 203 + * - 7: UIM2_M2_S_SELECT 204 + * - 8: TP900 205 + * - 9: SENSOR_INT1 (in) 206 + * - 10: SENSOR_INT2 (in) 207 + * - 11: CARD_DETECT_IOT0 (in pull-up) 208 + * - 12: CARD_DETECT_IOT2 (in pull-up) 209 + * - 13: CARD_DETECT_IOT1 (in pull-up) 210 + * - 14: GPIOEXP_INT3 (in active low / pull-up) 211 + * - 15: BattChrgr_INT_N 212 + */ 213 + pinctrl-0 = <&gpioext1_pins>; 214 + pinctrl-names = "default"; 215 + 216 + #gpio-cells = <2>; 217 + #interrupt-cells = <2>; 218 + compatible = "semtech,sx1509q"; 219 + reg = <0x3f>; 220 + interrupt-parent = <&msmgpio>; 221 + interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 222 + 223 + probe-reset; 224 + 225 + gpio-controller; 226 + interrupt-controller; 227 + }; 228 + }; 229 + 230 + i2c@6 { 231 + #address-cells = <1>; 232 + #size-cells = <0>; 233 + reg = <6>; 234 + 235 + gpioext2: gpio@70 { 236 + /* GPIO Expander 2 Mapping : 237 + * - 0: USB_HUB_INTn 238 + * - 1: HUB_CONNECT 239 + * - 2: GPIO_IOT2_RESET (out active low / pull-up) 240 + * - 3: GPIO_IOT1_RESET (out active low / pull-up) 241 + * - 4: GPIO_IOT0_RESET (out active low / pull-up) 242 + * - 5: TP901 243 + * - 6: TP902 244 + * - 7: TP903 245 + * - 8: UART_EXP2_ENn (out active low / pull-down) 246 + * - 9: PCM_EXP1_ENn (out active low) 247 + * - 10: PCM_EXP1_SEL (out) 248 + * - 11: ARD_FTDI 249 + * - 12: TP904 250 + * - 13: TP905 251 + * - 14: TP906 252 + * - 15: RS232_Enable (out active high / pull-up) 253 + */ 254 + #gpio-cells = <2>; 255 + #interrupt-cells = <2>; 256 + compatible = "semtech,sx1509q"; 257 + reg = <0x70>; 258 + interrupt-parent = <&gpioext1>; 259 + interrupts = <14 IRQ_TYPE_EDGE_FALLING>; 260 + 261 + probe-reset; 262 + 263 + gpio-controller; 264 + interrupt-controller; 265 + }; 266 + }; 267 + 268 + i2c@7 { 269 + #address-cells = <1>; 270 + #size-cells = <0>; 271 + reg = <7>; 272 + }; 273 + }; 274 + }; 275 + 276 + &sdcc1 { 277 + pinctrl-0 = <&sdc_cd_pins>; 278 + pinctrl-names = "default"; 279 + disable-wp; 280 + cd-gpios = <&msmgpio 42 GPIO_ACTIVE_LOW>; /* Active low CD */ 281 + };