1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ OR MIT 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Device Tree Source for Sierra Wireless WP8548 Module 4f126890aSEmmanuel Vadot * 5f126890aSEmmanuel Vadot * Copyright (C) 2016 BayLibre, SAS. 6f126890aSEmmanuel Vadot * Author : Neil Armstrong <narmstrong@baylibre.com> 7f126890aSEmmanuel Vadot */ 8f126890aSEmmanuel Vadot 9f126890aSEmmanuel Vadot#include "qcom-mdm9615.dtsi" 10*8d13bc63SEmmanuel Vadot#include "pm8018.dtsi" 11f126890aSEmmanuel Vadot 12f126890aSEmmanuel Vadot/ { 13f126890aSEmmanuel Vadot model = "Sierra Wireless WP8548 Module"; 14f126890aSEmmanuel Vadot compatible = "swir,wp8548", "qcom,mdm9615"; 15f126890aSEmmanuel Vadot 16f126890aSEmmanuel Vadot memory@48000000 { 17f126890aSEmmanuel Vadot device_type = "memory"; 18f126890aSEmmanuel Vadot reg = <0x48000000 0x7F00000>; 19f126890aSEmmanuel Vadot }; 20f126890aSEmmanuel Vadot}; 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot&msmgpio { 23f126890aSEmmanuel Vadot pinctrl-0 = <&reset_out_pins>; 24f126890aSEmmanuel Vadot pinctrl-names = "default"; 25f126890aSEmmanuel Vadot 26f126890aSEmmanuel Vadot gsbi3_pins: gsbi3-state { 27f126890aSEmmanuel Vadot gsbi3-pins { 28f126890aSEmmanuel Vadot pins = "gpio8", "gpio9", "gpio10", "gpio11"; 29f126890aSEmmanuel Vadot function = "gsbi3"; 30f126890aSEmmanuel Vadot drive-strength = <8>; 31f126890aSEmmanuel Vadot bias-disable; 32f126890aSEmmanuel Vadot }; 33f126890aSEmmanuel Vadot }; 34f126890aSEmmanuel Vadot 35f126890aSEmmanuel Vadot gsbi4_pins: gsbi4-state { 36f126890aSEmmanuel Vadot gsbi4-pins { 37f126890aSEmmanuel Vadot pins = "gpio12", "gpio13", "gpio14", "gpio15"; 38f126890aSEmmanuel Vadot function = "gsbi4"; 39f126890aSEmmanuel Vadot drive-strength = <8>; 40f126890aSEmmanuel Vadot bias-disable; 41f126890aSEmmanuel Vadot }; 42f126890aSEmmanuel Vadot }; 43f126890aSEmmanuel Vadot 44f126890aSEmmanuel Vadot gsbi5_i2c_pins: gsbi5-i2c-state { 45f126890aSEmmanuel Vadot sda-pins { 46f126890aSEmmanuel Vadot pins = "gpio16"; 47f126890aSEmmanuel Vadot function = "gsbi5_i2c"; 48f126890aSEmmanuel Vadot drive-strength = <8>; 49f126890aSEmmanuel Vadot bias-disable; 50f126890aSEmmanuel Vadot }; 51f126890aSEmmanuel Vadot 52f126890aSEmmanuel Vadot scl-pins { 53f126890aSEmmanuel Vadot pins = "gpio17"; 54f126890aSEmmanuel Vadot function = "gsbi5_i2c"; 55f126890aSEmmanuel Vadot drive-strength = <2>; 56f126890aSEmmanuel Vadot bias-disable; 57f126890aSEmmanuel Vadot }; 58f126890aSEmmanuel Vadot }; 59f126890aSEmmanuel Vadot 60f126890aSEmmanuel Vadot gsbi5_uart_pins: gsbi5-uart-state { 61f126890aSEmmanuel Vadot gsbi5-uart-pins { 62f126890aSEmmanuel Vadot pins = "gpio18", "gpio19"; 63f126890aSEmmanuel Vadot function = "gsbi5_uart"; 64f126890aSEmmanuel Vadot drive-strength = <8>; 65f126890aSEmmanuel Vadot bias-disable; 66f126890aSEmmanuel Vadot }; 67f126890aSEmmanuel Vadot }; 68f126890aSEmmanuel Vadot 69f126890aSEmmanuel Vadot reset_out_pins: reset-out-state { 70f126890aSEmmanuel Vadot reset-out-pins { 71f126890aSEmmanuel Vadot pins = "gpio66"; 72f126890aSEmmanuel Vadot function = "gpio"; 73f126890aSEmmanuel Vadot drive-strength = <2>; 74f126890aSEmmanuel Vadot bias-pull-up; 75f126890aSEmmanuel Vadot output-high; 76f126890aSEmmanuel Vadot }; 77f126890aSEmmanuel Vadot }; 78f126890aSEmmanuel Vadot}; 79f126890aSEmmanuel Vadot 80*8d13bc63SEmmanuel Vadot&pm8018 { 81*8d13bc63SEmmanuel Vadot interrupts-extended = <&intc GIC_PPI 226 IRQ_TYPE_LEVEL_HIGH>; 82*8d13bc63SEmmanuel Vadot}; 83*8d13bc63SEmmanuel Vadot 84*8d13bc63SEmmanuel Vadot&pm8018_gpio { 85f126890aSEmmanuel Vadot usb_vbus_5v_pins: usb-vbus-5v-state { 86f126890aSEmmanuel Vadot pins = "gpio4"; 87f126890aSEmmanuel Vadot function = "normal"; 88f126890aSEmmanuel Vadot output-high; 89f126890aSEmmanuel Vadot bias-disable; 90f126890aSEmmanuel Vadot qcom,drive-strength = <1>; 91f126890aSEmmanuel Vadot power-source = <2>; 92f126890aSEmmanuel Vadot }; 93f126890aSEmmanuel Vadot}; 94f126890aSEmmanuel Vadot 95f126890aSEmmanuel Vadot&gsbi3 { 96f126890aSEmmanuel Vadot status = "okay"; 97f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_SPI>; 98f126890aSEmmanuel Vadot}; 99f126890aSEmmanuel Vadot 100f126890aSEmmanuel Vadot&gsbi3_spi { 101f126890aSEmmanuel Vadot status = "okay"; 102f126890aSEmmanuel Vadot pinctrl-0 = <&gsbi3_pins>; 103f126890aSEmmanuel Vadot pinctrl-names = "default"; 104f126890aSEmmanuel Vadot assigned-clocks = <&gcc GSBI3_QUP_CLK>; 105f126890aSEmmanuel Vadot assigned-clock-rates = <24000000>; 106f126890aSEmmanuel Vadot}; 107f126890aSEmmanuel Vadot 108f126890aSEmmanuel Vadot&gsbi4 { 109f126890aSEmmanuel Vadot status = "okay"; 110f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_UART_W_FC>; 111f126890aSEmmanuel Vadot}; 112f126890aSEmmanuel Vadot 113f126890aSEmmanuel Vadot&gsbi4_serial { 114f126890aSEmmanuel Vadot status = "okay"; 115f126890aSEmmanuel Vadot pinctrl-0 = <&gsbi4_pins>; 116f126890aSEmmanuel Vadot pinctrl-names = "default"; 117f126890aSEmmanuel Vadot}; 118f126890aSEmmanuel Vadot 119f126890aSEmmanuel Vadot&gsbi5 { 120f126890aSEmmanuel Vadot status = "okay"; 121f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C_UART>; 122f126890aSEmmanuel Vadot}; 123f126890aSEmmanuel Vadot 124f126890aSEmmanuel Vadot&gsbi5_i2c { 125f126890aSEmmanuel Vadot status = "okay"; 126f126890aSEmmanuel Vadot clock-frequency = <200000>; 127f126890aSEmmanuel Vadot pinctrl-0 = <&gsbi5_i2c_pins>; 128f126890aSEmmanuel Vadot pinctrl-names = "default"; 129f126890aSEmmanuel Vadot}; 130f126890aSEmmanuel Vadot 131f126890aSEmmanuel Vadot&gsbi5_serial { 132f126890aSEmmanuel Vadot status = "okay"; 133f126890aSEmmanuel Vadot pinctrl-0 = <&gsbi5_uart_pins>; 134f126890aSEmmanuel Vadot pinctrl-names = "default"; 135f126890aSEmmanuel Vadot}; 136f126890aSEmmanuel Vadot 137*8d13bc63SEmmanuel Vadot&rpm { 138*8d13bc63SEmmanuel Vadot regulators { 139*8d13bc63SEmmanuel Vadot compatible = "qcom,rpm-pm8018-regulators"; 140*8d13bc63SEmmanuel Vadot 141*8d13bc63SEmmanuel Vadot vin_lvs1-supply = <&pm8018_s3>; 142*8d13bc63SEmmanuel Vadot 143*8d13bc63SEmmanuel Vadot vdd_l7-supply = <&pm8018_s4>; 144*8d13bc63SEmmanuel Vadot vdd_l8-supply = <&pm8018_s3>; 145*8d13bc63SEmmanuel Vadot vdd_l9_l10_l11_l12-supply = <&pm8018_s5>; 146*8d13bc63SEmmanuel Vadot 147*8d13bc63SEmmanuel Vadot /* Buck SMPS */ 148*8d13bc63SEmmanuel Vadot pm8018_s1: s1 { 149*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <500000>; 150*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1150000>; 151*8d13bc63SEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 152*8d13bc63SEmmanuel Vadot bias-pull-down; 153*8d13bc63SEmmanuel Vadot }; 154*8d13bc63SEmmanuel Vadot 155*8d13bc63SEmmanuel Vadot pm8018_s2: s2 { 156*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1225000>; 157*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1300000>; 158*8d13bc63SEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 159*8d13bc63SEmmanuel Vadot bias-pull-down; 160*8d13bc63SEmmanuel Vadot }; 161*8d13bc63SEmmanuel Vadot 162*8d13bc63SEmmanuel Vadot pm8018_s3: s3 { 163*8d13bc63SEmmanuel Vadot regulator-always-on; 164*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 165*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 166*8d13bc63SEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 167*8d13bc63SEmmanuel Vadot bias-pull-down; 168*8d13bc63SEmmanuel Vadot }; 169*8d13bc63SEmmanuel Vadot 170*8d13bc63SEmmanuel Vadot pm8018_s4: s4 { 171*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <2100000>; 172*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2200000>; 173*8d13bc63SEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 174*8d13bc63SEmmanuel Vadot bias-pull-down; 175*8d13bc63SEmmanuel Vadot }; 176*8d13bc63SEmmanuel Vadot 177*8d13bc63SEmmanuel Vadot pm8018_s5: s5 { 178*8d13bc63SEmmanuel Vadot regulator-always-on; 179*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1350000>; 180*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1350000>; 181*8d13bc63SEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 182*8d13bc63SEmmanuel Vadot bias-pull-down; 183*8d13bc63SEmmanuel Vadot }; 184*8d13bc63SEmmanuel Vadot 185*8d13bc63SEmmanuel Vadot /* PMOS LDO */ 186*8d13bc63SEmmanuel Vadot pm8018_l2: l2 { 187*8d13bc63SEmmanuel Vadot regulator-always-on; 188*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 189*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 190*8d13bc63SEmmanuel Vadot bias-pull-down; 191*8d13bc63SEmmanuel Vadot }; 192*8d13bc63SEmmanuel Vadot 193*8d13bc63SEmmanuel Vadot pm8018_l3: l3 { 194*8d13bc63SEmmanuel Vadot regulator-always-on; 195*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 196*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 197*8d13bc63SEmmanuel Vadot bias-pull-down; 198*8d13bc63SEmmanuel Vadot }; 199*8d13bc63SEmmanuel Vadot 200*8d13bc63SEmmanuel Vadot pm8018_l4: l4 { 201*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 202*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 203*8d13bc63SEmmanuel Vadot bias-pull-down; 204*8d13bc63SEmmanuel Vadot }; 205*8d13bc63SEmmanuel Vadot 206*8d13bc63SEmmanuel Vadot pm8018_l5: l5 { 207*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <2850000>; 208*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2850000>; 209*8d13bc63SEmmanuel Vadot bias-pull-down; 210*8d13bc63SEmmanuel Vadot }; 211*8d13bc63SEmmanuel Vadot 212*8d13bc63SEmmanuel Vadot pm8018_l6: l6 { 213*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 214*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2850000>; 215*8d13bc63SEmmanuel Vadot bias-pull-down; 216*8d13bc63SEmmanuel Vadot }; 217*8d13bc63SEmmanuel Vadot 218*8d13bc63SEmmanuel Vadot pm8018_l7: l7 { 219*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1850000>; 220*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1900000>; 221*8d13bc63SEmmanuel Vadot bias-pull-down; 222*8d13bc63SEmmanuel Vadot }; 223*8d13bc63SEmmanuel Vadot 224*8d13bc63SEmmanuel Vadot pm8018_l8: l8 { 225*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1200000>; 226*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1200000>; 227*8d13bc63SEmmanuel Vadot bias-pull-down; 228*8d13bc63SEmmanuel Vadot }; 229*8d13bc63SEmmanuel Vadot 230*8d13bc63SEmmanuel Vadot pm8018_l9: l9 { 231*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <750000>; 232*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1150000>; 233*8d13bc63SEmmanuel Vadot bias-pull-down; 234*8d13bc63SEmmanuel Vadot }; 235*8d13bc63SEmmanuel Vadot 236*8d13bc63SEmmanuel Vadot pm8018_l10: l10 { 237*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1050000>; 238*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1050000>; 239*8d13bc63SEmmanuel Vadot bias-pull-down; 240*8d13bc63SEmmanuel Vadot }; 241*8d13bc63SEmmanuel Vadot 242*8d13bc63SEmmanuel Vadot pm8018_l11: l11 { 243*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1050000>; 244*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1050000>; 245*8d13bc63SEmmanuel Vadot bias-pull-down; 246*8d13bc63SEmmanuel Vadot }; 247*8d13bc63SEmmanuel Vadot 248*8d13bc63SEmmanuel Vadot pm8018_l12: l12 { 249*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1050000>; 250*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1050000>; 251*8d13bc63SEmmanuel Vadot bias-pull-down; 252*8d13bc63SEmmanuel Vadot }; 253*8d13bc63SEmmanuel Vadot 254*8d13bc63SEmmanuel Vadot pm8018_l13: l13 { 255*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1850000>; 256*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2950000>; 257*8d13bc63SEmmanuel Vadot bias-pull-down; 258*8d13bc63SEmmanuel Vadot }; 259*8d13bc63SEmmanuel Vadot 260*8d13bc63SEmmanuel Vadot pm8018_l14: l14 { 261*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <2850000>; 262*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <2850000>; 263*8d13bc63SEmmanuel Vadot bias-pull-down; 264*8d13bc63SEmmanuel Vadot }; 265*8d13bc63SEmmanuel Vadot 266*8d13bc63SEmmanuel Vadot /* Low Voltage Switch */ 267*8d13bc63SEmmanuel Vadot pm8018_lvs1: lvs1 { 268*8d13bc63SEmmanuel Vadot bias-pull-down; 269*8d13bc63SEmmanuel Vadot }; 270*8d13bc63SEmmanuel Vadot }; 271*8d13bc63SEmmanuel Vadot}; 272*8d13bc63SEmmanuel Vadot 273f126890aSEmmanuel Vadot&sdcc1 { 274f126890aSEmmanuel Vadot status = "okay"; 275f126890aSEmmanuel Vadot}; 276