1// SPDX-License-Identifier: GPL-2.0-only 2 3/dts-v1/; 4 5#include "msm8916-pm8916.dtsi" 6#include "msm8916-modem-qdsp6.dtsi" 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/input/input.h> 10#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 11 12/ { 13 model = "Wiko Pulp 4G"; 14 compatible = "wiko,chuppito", "qcom,msm8916"; 15 chassis-type = "handset"; 16 17 aliases { 18 mmc0 = &sdhc_1; /* eMMC */ 19 mmc1 = &sdhc_2; /* SD card */ 20 serial0 = &blsp_uart2; 21 }; 22 23 chosen { 24 stdout-path = "serial0"; 25 }; 26 27 backlight: backlight { 28 compatible = "pwm-backlight"; 29 pwms = <&pm8916_pwm 0 100000>; 30 brightness-levels = <0 255>; 31 num-interpolated-steps = <255>; 32 default-brightness-level = <255>; 33 enable-gpios = <&tlmm 119 GPIO_ACTIVE_HIGH>; 34 pinctrl-0 = <&button_backlight_default>; 35 pinctrl-names = "default"; 36 }; 37 38 gpio-hall-sensor { 39 compatible = "gpio-keys"; 40 pinctrl-0 = <&gpio_hall_sensor_default>; 41 pinctrl-names = "default"; 42 label = "Hall Effect Sensor"; 43 44 event-hall-sensor { 45 label = "Hall Effect Sensor"; 46 gpios = <&tlmm 117 GPIO_ACTIVE_LOW>; 47 linux,input-type = <EV_SW>; 48 linux,code = <SW_LID>; 49 linux,can-disable; 50 }; 51 }; 52 53 gpio-keys { 54 compatible = "gpio-keys"; 55 pinctrl-0 = <&gpio_keys_default>; 56 pinctrl-names = "default"; 57 label = "Buttons"; 58 59 button-volume-up { 60 label = "Volume up"; 61 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 62 linux,code = <KEY_VOLUMEUP>; 63 }; 64 }; 65 66 usb_id: usb-id { 67 compatible = "linux,extcon-usb-gpio"; 68 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 69 pinctrl-0 = <&usb_id_default>; 70 pinctrl-names = "default"; 71 }; 72}; 73 74&blsp_i2c2 { 75 status = "okay"; 76 77 magnetometer@c { 78 compatible = "asahi-kasei,ak09911"; 79 reg = <0x0c>; 80 vdd-supply = <&pm8916_l17>; 81 vid-supply = <&pm8916_l6>; 82 reset-gpios = <&tlmm 120 GPIO_ACTIVE_LOW>; 83 pinctrl-0 = <&mag_reset_default>; 84 pinctrl-names = "default"; 85 mount-matrix = "1", "0", "0", 86 "0", "1", "0", 87 "0", "0", "1"; 88 }; 89 90 proximity@48 { 91 compatible = "sensortek,stk3310"; 92 reg = <0x48>; 93 interrupts-extended = <&tlmm 113 IRQ_TYPE_EDGE_FALLING>; 94 pinctrl-0 = <&proximity_int_default>; 95 pinctrl-names = "default"; 96 }; 97 98 imu@68 { 99 compatible = "invensense,mpu6880"; 100 reg = <0x68>; 101 interrupts-extended = <&tlmm 115 IRQ_TYPE_EDGE_FALLING>; 102 vdd-supply = <&pm8916_l17>; 103 vddio-supply = <&pm8916_l6>; 104 pinctrl-0 = <&imu_int_default>; 105 pinctrl-names = "default"; 106 mount-matrix = "0", "-1", "0", 107 "-1", "0", "0", 108 "0", "0", "-1"; 109 }; 110}; 111 112&blsp_i2c5 { 113 status = "okay"; 114 115 touchscreen@39 { 116 compatible = "syna,rmi4-i2c"; 117 reg = <0x39>; 118 interrupts-extended = <&tlmm 13 IRQ_TYPE_EDGE_FALLING>; 119 vdd-supply = <&pm8916_l17>; 120 vio-supply = <&pm8916_l6>; 121 pinctrl-0 = <&touchscreen_default>; 122 pinctrl-names = "default"; 123 #address-cells = <1>; 124 #size-cells = <0>; 125 syna,startup-delay-ms = <100>; 126 syna,reset-delay-ms = <160>; 127 128 rmi4-f01@1 { 129 reg = <0x1>; 130 syna,nosleep-mode = <1>; 131 }; 132 133 rmi4-f11@11 { 134 reg = <0x11>; 135 syna,sensor-type = <1>; 136 }; 137 }; 138}; 139 140&blsp_uart2 { 141 status = "okay"; 142}; 143 144&gpu { 145 status = "okay"; 146}; 147 148&mdss { 149 status = "okay"; 150}; 151 152&mpss_mem { 153 reg = <0x0 0x86800000 0x0 0x5600000>; 154}; 155 156&pm8916_codec { 157 qcom,hphl-jack-type-normally-open; 158}; 159 160&pm8916_mpps { 161 pwm_out: mpp4-state { 162 pins = "mpp4"; 163 function = "digital"; 164 power-source = <PM8916_MPP_VPH>; 165 output-low; 166 qcom,dtest = <1>; 167 }; 168}; 169 170&pm8916_pwm { 171 pinctrl-0 = <&pwm_out>; 172 pinctrl-names = "default"; 173 174 status = "okay"; 175}; 176 177&pm8916_resin { 178 linux,code = <KEY_VOLUMEDOWN>; 179 180 status = "okay"; 181}; 182 183&pm8916_rpm_regulators { 184 pm8916_l17: l17 { 185 regulator-min-microvolt = <2850000>; 186 regulator-max-microvolt = <2850000>; 187 }; 188}; 189 190&pm8916_vib { 191 status = "okay"; 192}; 193 194&sdhc_1 { 195 status = "okay"; 196}; 197 198&sdhc_2 { 199 pinctrl-0 = <&sdc2_default>, <&sdc2_cd_default>; 200 pinctrl-1 = <&sdc2_sleep>, <&sdc2_cd_default>; 201 pinctrl-names = "default", "sleep"; 202 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 203 204 status = "okay"; 205}; 206 207&sound { 208 audio-routing = "AMIC1", "MIC BIAS Internal1", 209 "AMIC2", "MIC BIAS Internal2"; 210}; 211 212&tlmm { 213 button_backlight_default: button-backlight-default-state { 214 pins = "gpio119"; 215 function = "gpio"; 216 drive-strength = <2>; 217 bias-disable; 218 }; 219 220 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 221 pins = "gpio117"; 222 function = "gpio"; 223 drive-strength = <6>; 224 bias-pull-up; 225 }; 226 227 gpio_keys_default: gpio-keys-default-state { 228 pins = "gpio107"; 229 function = "gpio"; 230 drive-strength = <2>; 231 bias-pull-up; 232 }; 233 234 imu_int_default: imu-int-default-state { 235 pins = "gpio115"; 236 function = "gpio"; 237 drive-strength = <2>; 238 bias-disable; 239 }; 240 241 mag_reset_default: mag-reset-default-state { 242 pins = "gpio120"; 243 function = "gpio"; 244 drive-strength = <2>; 245 bias-disable; 246 }; 247 248 proximity_int_default: proximity-int-default-state { 249 pins = "gpio113"; 250 function = "gpio"; 251 drive-strength = <6>; 252 bias-pull-up; 253 }; 254 255 sdc2_cd_default: sdc2-cd-default-state { 256 pins = "gpio38"; 257 function = "gpio"; 258 drive-strength = <2>; 259 bias-disable; 260 }; 261 262 touchscreen_default: touchscreen-default-state { 263 touchscreen-pins { 264 pins = "gpio13"; 265 function = "gpio"; 266 drive-strength = <2>; 267 bias-pull-up; 268 }; 269 270 reset-pins { 271 pins = "gpio12"; 272 function = "gpio"; 273 drive-strength = <2>; 274 bias-disable; 275 }; 276 }; 277 278 usb_id_default: usb-id-default-state { 279 pins = "gpio110"; 280 function = "gpio"; 281 drive-strength = <8>; 282 bias-pull-up; 283 }; 284}; 285 286&usb { 287 extcon = <&usb_id>, <&usb_id>; 288 289 status = "okay"; 290}; 291 292&usb_hs_phy { 293 extcon = <&usb_id>; 294}; 295 296&venus { 297 status = "okay"; 298}; 299 300&venus_mem { 301 status = "okay"; 302}; 303 304&wcnss { 305 status = "okay"; 306}; 307 308&wcnss_iris { 309 compatible = "qcom,wcn3620"; 310}; 311 312&wcnss_mem { 313 status = "okay"; 314}; 315