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