1// SPDX-License-Identifier: GPL-2.0-only 2 3/dts-v1/; 4 5#include "msm8916-pm8916.dtsi" 6#include <dt-bindings/gpio/gpio.h> 7#include <dt-bindings/input/input.h> 8 9/ { 10 model = "Alcatel OneTouch Idol 3 (4.7)"; 11 compatible = "alcatel,idol347", "qcom,msm8916"; 12 chassis-type = "handset"; 13 14 aliases { 15 serial0 = &blsp1_uart2; 16 }; 17 18 chosen { 19 stdout-path = "serial0"; 20 }; 21 22 gpio-keys { 23 compatible = "gpio-keys"; 24 25 pinctrl-names = "default"; 26 pinctrl-0 = <&gpio_keys_default>; 27 28 label = "GPIO Buttons"; 29 30 button-volume-up { 31 label = "Volume Up"; 32 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 33 linux,code = <KEY_VOLUMEUP>; 34 }; 35 }; 36 37 usb_id: usb-id { 38 compatible = "linux,extcon-usb-gpio"; 39 id-gpio = <&msmgpio 69 GPIO_ACTIVE_HIGH>; 40 pinctrl-names = "default"; 41 pinctrl-0 = <&usb_id_default>; 42 }; 43}; 44 45&blsp1_uart2 { 46 status = "okay"; 47}; 48 49&blsp_i2c4 { 50 status = "okay"; 51 52 touchscreen@26 { 53 compatible = "mstar,msg2638"; 54 reg = <0x26>; 55 interrupt-parent = <&msmgpio>; 56 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 57 reset-gpios = <&msmgpio 100 GPIO_ACTIVE_LOW>; 58 pinctrl-names = "default"; 59 pinctrl-0 = <&ts_int_reset_default>; 60 vdd-supply = <&pm8916_l17>; 61 vddio-supply = <&pm8916_l5>; 62 touchscreen-size-x = <2048>; 63 touchscreen-size-y = <2048>; 64 }; 65}; 66 67&blsp_i2c5 { 68 status = "okay"; 69 70 magnetometer@c { 71 compatible = "asahi-kasei,ak09911"; 72 reg = <0x0c>; 73 vdd-supply = <&pm8916_l17>; 74 vid-supply = <&pm8916_l6>; 75 reset-gpios = <&msmgpio 8 GPIO_ACTIVE_LOW>; 76 pinctrl-names = "default"; 77 pinctrl-0 = <&mag_reset_default>; 78 mount-matrix = "0", "1", "0", 79 "-1", "0", "0", 80 "0", "0", "1"; 81 }; 82 83 accelerometer@f { 84 compatible = "kionix,kxtj21009"; 85 reg = <0x0f>; 86 vdd-supply = <&pm8916_l17>; 87 vddio-supply = <&pm8916_l6>; 88 interrupt-parent = <&msmgpio>; 89 interrupts = <31 IRQ_TYPE_EDGE_RISING>; 90 pinctrl-names = "default"; 91 pinctrl-0 = <&accel_int_default>; 92 mount-matrix = "-1", "0", "0", 93 "0", "1", "0", 94 "0", "0", "-1"; 95 }; 96 97 proximity@48 { 98 compatible = "sensortek,stk3310"; 99 reg = <0x48>; 100 interrupt-parent = <&msmgpio>; 101 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; 102 pinctrl-names = "default"; 103 pinctrl-0 = <&proximity_int_default>; 104 }; 105 106 gyroscope@68 { 107 compatible = "bosch,bmg160"; 108 reg = <0x68>; 109 vdd-supply = <&pm8916_l17>; 110 vddio-supply = <&pm8916_l6>; 111 interrupt-parent = <&msmgpio>; 112 interrupts = <97 IRQ_TYPE_EDGE_RISING>, 113 <98 IRQ_TYPE_EDGE_RISING>; 114 pinctrl-names = "default"; 115 pinctrl-0 = <&gyro_int_default>; 116 }; 117}; 118 119&pm8916_resin { 120 status = "okay"; 121 linux,code = <KEY_VOLUMEDOWN>; 122}; 123 124&pm8916_vib { 125 status = "okay"; 126}; 127 128&pronto { 129 status = "okay"; 130}; 131 132&sdhc_1 { 133 status = "okay"; 134 135 pinctrl-names = "default", "sleep"; 136 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 137 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 138}; 139 140&sdhc_2 { 141 status = "okay"; 142 143 pinctrl-names = "default", "sleep"; 144 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 145 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 146 147 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>; 148}; 149 150&usb { 151 status = "okay"; 152 extcon = <&usb_id>, <&usb_id>; 153}; 154 155&usb_hs_phy { 156 extcon = <&usb_id>; 157}; 158 159&smd_rpm_regulators { 160 vdd_l1_l2_l3-supply = <&pm8916_s3>; 161 vdd_l4_l5_l6-supply = <&pm8916_s4>; 162 vdd_l7-supply = <&pm8916_s4>; 163 164 s3 { 165 regulator-min-microvolt = <1200000>; 166 regulator-max-microvolt = <1300000>; 167 }; 168 169 s4 { 170 regulator-min-microvolt = <1800000>; 171 regulator-max-microvolt = <2100000>; 172 }; 173 174 l1 { 175 regulator-min-microvolt = <1225000>; 176 regulator-max-microvolt = <1225000>; 177 }; 178 179 l2 { 180 regulator-min-microvolt = <1200000>; 181 regulator-max-microvolt = <1200000>; 182 }; 183 184 l4 { 185 regulator-min-microvolt = <2050000>; 186 regulator-max-microvolt = <2050000>; 187 }; 188 189 l5 { 190 regulator-min-microvolt = <1800000>; 191 regulator-max-microvolt = <1800000>; 192 }; 193 194 l6 { 195 regulator-min-microvolt = <1800000>; 196 regulator-max-microvolt = <1800000>; 197 }; 198 199 l7 { 200 regulator-min-microvolt = <1800000>; 201 regulator-max-microvolt = <1800000>; 202 }; 203 204 l8 { 205 regulator-min-microvolt = <2850000>; 206 regulator-max-microvolt = <2900000>; 207 }; 208 209 l9 { 210 regulator-min-microvolt = <3300000>; 211 regulator-max-microvolt = <3300000>; 212 }; 213 214 l10 { 215 regulator-min-microvolt = <2700000>; 216 regulator-max-microvolt = <2800000>; 217 }; 218 219 l11 { 220 regulator-min-microvolt = <1800000>; 221 regulator-max-microvolt = <2950000>; 222 regulator-allow-set-load; 223 regulator-system-load = <200000>; 224 }; 225 226 l12 { 227 regulator-min-microvolt = <1800000>; 228 regulator-max-microvolt = <2950000>; 229 }; 230 231 l13 { 232 regulator-min-microvolt = <3075000>; 233 regulator-max-microvolt = <3075000>; 234 }; 235 236 l14 { 237 regulator-min-microvolt = <1800000>; 238 regulator-max-microvolt = <3300000>; 239 }; 240 241 l15 { 242 regulator-min-microvolt = <1800000>; 243 regulator-max-microvolt = <3300000>; 244 }; 245 246 l16 { 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <3300000>; 249 }; 250 251 l17 { 252 regulator-min-microvolt = <2850000>; 253 regulator-max-microvolt = <2850000>; 254 }; 255 256 l18 { 257 regulator-min-microvolt = <2700000>; 258 regulator-max-microvolt = <2700000>; 259 }; 260}; 261 262&msmgpio { 263 accel_int_default: accel-int-default { 264 pins = "gpio31"; 265 function = "gpio"; 266 267 drive-strength = <2>; 268 bias-disable; 269 }; 270 271 gpio_keys_default: gpio-keys-default { 272 pins = "gpio107"; 273 function = "gpio"; 274 275 drive-strength = <2>; 276 bias-pull-up; 277 }; 278 279 gyro_int_default: gyro-int-default { 280 pins = "gpio97", "gpio98"; 281 function = "gpio"; 282 283 drive-strength = <2>; 284 bias-disable; 285 }; 286 287 mag_reset_default: mag-reset-default { 288 pins = "gpio8"; 289 function = "gpio"; 290 291 drive-strength = <2>; 292 bias-disable; 293 }; 294 295 proximity_int_default: proximity-int-default { 296 pins = "gpio12"; 297 function = "gpio"; 298 299 drive-strength = <6>; 300 bias-pull-up; 301 }; 302 303 ts_int_reset_default: ts-int-reset-default { 304 pins = "gpio13", "gpio100"; 305 function = "gpio"; 306 307 drive-strength = <2>; 308 bias-disable; 309 }; 310 311 usb_id_default: usb-id-default { 312 pins = "gpio69"; 313 function = "gpio"; 314 315 drive-strength = <8>; 316 bias-pull-up; 317 }; 318}; 319