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