1// SPDX-License-Identifier: GPL-2.0-only 2 3#include "msm8916.dtsi" 4#include "pm8916.dtsi" 5#include <dt-bindings/gpio/gpio.h> 6#include <dt-bindings/input/input.h> 7#include <dt-bindings/interrupt-controller/irq.h> 8 9/ { 10 aliases { 11 serial0 = &blsp1_uart2; 12 }; 13 14 chosen { 15 stdout-path = "serial0"; 16 }; 17 18 soc { 19 sdhci@7824000 { 20 status = "okay"; 21 22 vmmc-supply = <&pm8916_l8>; 23 vqmmc-supply = <&pm8916_l5>; 24 25 pinctrl-names = "default", "sleep"; 26 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 27 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 28 }; 29 30 sdhci@7864000 { 31 status = "okay"; 32 33 vmmc-supply = <&pm8916_l11>; 34 vqmmc-supply = <&pm8916_l12>; 35 36 pinctrl-names = "default", "sleep"; 37 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 38 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 39 40 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>; 41 }; 42 43 serial@78b0000 { 44 status = "okay"; 45 pinctrl-names = "default", "sleep"; 46 pinctrl-0 = <&blsp1_uart2_default>; 47 pinctrl-1 = <&blsp1_uart2_sleep>; 48 }; 49 50 usb@78d9000 { 51 status = "okay"; 52 extcon = <&muic>, <&muic>; 53 54 hnp-disable; 55 srp-disable; 56 adp-disable; 57 58 ulpi { 59 phy { 60 extcon = <&muic>; 61 v1p8-supply = <&pm8916_l7>; 62 v3p3-supply = <&pm8916_l13>; 63 }; 64 }; 65 }; 66 67 wcnss@a21b000 { 68 status = "okay"; 69 }; 70 71 /* 72 * Attempting to enable these devices causes a "synchronous 73 * external abort". Suspected cause is that the debug power 74 * domain is not enabled by default on this device. 75 * Disable these devices for now to avoid the crash. 76 * 77 * See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/ 78 */ 79 tpiu@820000 { status = "disabled"; }; 80 funnel@821000 { status = "disabled"; }; 81 replicator@824000 { status = "disabled"; }; 82 etf@825000 { status = "disabled"; }; 83 etr@826000 { status = "disabled"; }; 84 funnel@841000 { status = "disabled"; }; 85 debug@850000 { status = "disabled"; }; 86 debug@852000 { status = "disabled"; }; 87 debug@854000 { status = "disabled"; }; 88 debug@856000 { status = "disabled"; }; 89 etm@85c000 { status = "disabled"; }; 90 etm@85d000 { status = "disabled"; }; 91 etm@85e000 { status = "disabled"; }; 92 etm@85f000 { status = "disabled"; }; 93 }; 94 95 gpio-keys { 96 compatible = "gpio-keys"; 97 98 pinctrl-names = "default"; 99 pinctrl-0 = <&gpio_keys_default>; 100 101 label = "GPIO Buttons"; 102 103 volume-up { 104 label = "Volume Up"; 105 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 106 linux,code = <KEY_VOLUMEUP>; 107 }; 108 109 home { 110 label = "Home"; 111 gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>; 112 linux,code = <KEY_HOMEPAGE>; 113 }; 114 }; 115 116 gpio-hall-sensor { 117 compatible = "gpio-keys"; 118 119 pinctrl-names = "default"; 120 pinctrl-0 = <&gpio_hall_sensor_default>; 121 122 label = "GPIO Hall Effect Sensor"; 123 124 hall-sensor { 125 label = "Hall Effect Sensor"; 126 gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>; 127 linux,input-type = <EV_SW>; 128 linux,code = <SW_LID>; 129 linux,can-disable; 130 }; 131 }; 132 133 i2c-muic { 134 compatible = "i2c-gpio"; 135 sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 136 scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 137 138 #address-cells = <1>; 139 #size-cells = <0>; 140 141 muic: sm5502@25 { 142 compatible = "siliconmitus,sm5502-muic"; 143 144 reg = <0x25>; 145 interrupt-parent = <&msmgpio>; 146 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; 147 148 pinctrl-names = "default"; 149 pinctrl-0 = <&muic_int_default>; 150 }; 151 }; 152}; 153 154&msmgpio { 155 gpio_keys_default: gpio_keys_default { 156 pinmux { 157 function = "gpio"; 158 pins = "gpio107", "gpio109"; 159 }; 160 pinconf { 161 pins = "gpio107", "gpio109"; 162 drive-strength = <2>; 163 bias-pull-up; 164 }; 165 }; 166 167 gpio_hall_sensor_default: gpio_hall_sensor_default { 168 pinmux { 169 function = "gpio"; 170 pins = "gpio52"; 171 }; 172 pinconf { 173 pins = "gpio52"; 174 drive-strength = <2>; 175 bias-disable; 176 }; 177 }; 178 179 muic_int_default: muic_int_default { 180 pinmux { 181 function = "gpio"; 182 pins = "gpio12"; 183 }; 184 pinconf { 185 pins = "gpio12"; 186 drive-strength = <2>; 187 bias-disable; 188 }; 189 }; 190}; 191 192&smd_rpm_regulators { 193 vdd_l1_l2_l3-supply = <&pm8916_s3>; 194 vdd_l4_l5_l6-supply = <&pm8916_s4>; 195 vdd_l7-supply = <&pm8916_s4>; 196 197 s1 { 198 regulator-min-microvolt = <500000>; 199 regulator-max-microvolt = <1300000>; 200 }; 201 202 s3 { 203 regulator-min-microvolt = <1200000>; 204 regulator-max-microvolt = <1300000>; 205 }; 206 207 s4 { 208 regulator-min-microvolt = <1800000>; 209 regulator-max-microvolt = <2100000>; 210 }; 211 212 l1 { 213 regulator-min-microvolt = <1225000>; 214 regulator-max-microvolt = <1225000>; 215 }; 216 217 l2 { 218 regulator-min-microvolt = <1200000>; 219 regulator-max-microvolt = <1200000>; 220 }; 221 222 l3 { 223 regulator-min-microvolt = <500000>; 224 regulator-max-microvolt = <1287500>; 225 }; 226 227 l4 { 228 regulator-min-microvolt = <2050000>; 229 regulator-max-microvolt = <2050000>; 230 }; 231 232 l5 { 233 regulator-min-microvolt = <1800000>; 234 regulator-max-microvolt = <1800000>; 235 }; 236 237 l6 { 238 regulator-min-microvolt = <1800000>; 239 regulator-max-microvolt = <1800000>; 240 }; 241 242 l7 { 243 regulator-min-microvolt = <1800000>; 244 regulator-max-microvolt = <1800000>; 245 }; 246 247 l8 { 248 regulator-min-microvolt = <2850000>; 249 regulator-max-microvolt = <2900000>; 250 }; 251 252 l9 { 253 regulator-min-microvolt = <3300000>; 254 regulator-max-microvolt = <3300000>; 255 }; 256 257 l10 { 258 regulator-min-microvolt = <2700000>; 259 regulator-max-microvolt = <2800000>; 260 }; 261 262 l11 { 263 regulator-min-microvolt = <1800000>; 264 regulator-max-microvolt = <2950000>; 265 regulator-allow-set-load; 266 regulator-system-load = <200000>; 267 }; 268 269 l12 { 270 regulator-min-microvolt = <1800000>; 271 regulator-max-microvolt = <2950000>; 272 }; 273 274 l13 { 275 regulator-min-microvolt = <3075000>; 276 regulator-max-microvolt = <3075000>; 277 }; 278 279 l14 { 280 regulator-min-microvolt = <1800000>; 281 regulator-max-microvolt = <3300000>; 282 }; 283 284 l15 { 285 regulator-min-microvolt = <1800000>; 286 regulator-max-microvolt = <3300000>; 287 }; 288 289 l16 { 290 regulator-min-microvolt = <1800000>; 291 regulator-max-microvolt = <3300000>; 292 }; 293 294 l17 { 295 regulator-min-microvolt = <2850000>; 296 regulator-max-microvolt = <2850000>; 297 }; 298 299 l18 { 300 regulator-min-microvolt = <2700000>; 301 regulator-max-microvolt = <2700000>; 302 }; 303}; 304 305&spmi_bus { 306 pm8916@0 { 307 pon@800 { 308 volume-down { 309 compatible = "qcom,pm8941-resin"; 310 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; 311 bias-pull-up; 312 linux,code = <KEY_VOLUMEDOWN>; 313 }; 314 }; 315 }; 316}; 317