0001 // SPDX-License-Identifier: GPL-2.0-only
0002
0003 /dts-v1/;
0004
0005 #include "msm8916-pm8916.dtsi"
0006 #include <dt-bindings/gpio/gpio.h>
0007 #include <dt-bindings/input/input.h>
0008
0009 / {
0010 model = "Alcatel OneTouch Idol 3 (4.7)";
0011 compatible = "alcatel,idol347", "qcom,msm8916";
0012 chassis-type = "handset";
0013
0014 aliases {
0015 serial0 = &blsp1_uart2;
0016 };
0017
0018 chosen {
0019 stdout-path = "serial0";
0020 };
0021
0022 gpio-keys {
0023 compatible = "gpio-keys";
0024
0025 pinctrl-names = "default";
0026 pinctrl-0 = <&gpio_keys_default>;
0027
0028 label = "GPIO Buttons";
0029
0030 button-volume-up {
0031 label = "Volume Up";
0032 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
0033 linux,code = <KEY_VOLUMEUP>;
0034 };
0035 };
0036
0037 usb_id: usb-id {
0038 compatible = "linux,extcon-usb-gpio";
0039 id-gpio = <&msmgpio 69 GPIO_ACTIVE_HIGH>;
0040 pinctrl-names = "default";
0041 pinctrl-0 = <&usb_id_default>;
0042 };
0043 };
0044
0045 &blsp1_uart2 {
0046 status = "okay";
0047 };
0048
0049 &blsp_i2c4 {
0050 status = "okay";
0051
0052 touchscreen@26 {
0053 compatible = "mstar,msg2638";
0054 reg = <0x26>;
0055 interrupt-parent = <&msmgpio>;
0056 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
0057 reset-gpios = <&msmgpio 100 GPIO_ACTIVE_LOW>;
0058 pinctrl-names = "default";
0059 pinctrl-0 = <&ts_int_reset_default>;
0060 vdd-supply = <&pm8916_l17>;
0061 vddio-supply = <&pm8916_l5>;
0062 touchscreen-size-x = <2048>;
0063 touchscreen-size-y = <2048>;
0064 };
0065 };
0066
0067 &blsp_i2c5 {
0068 status = "okay";
0069
0070 magnetometer@c {
0071 compatible = "asahi-kasei,ak09911";
0072 reg = <0x0c>;
0073 vdd-supply = <&pm8916_l17>;
0074 vid-supply = <&pm8916_l6>;
0075 reset-gpios = <&msmgpio 8 GPIO_ACTIVE_LOW>;
0076 pinctrl-names = "default";
0077 pinctrl-0 = <&mag_reset_default>;
0078 mount-matrix = "0", "1", "0",
0079 "-1", "0", "0",
0080 "0", "0", "1";
0081 };
0082
0083 accelerometer@f {
0084 compatible = "kionix,kxtj21009";
0085 reg = <0x0f>;
0086 vdd-supply = <&pm8916_l17>;
0087 vddio-supply = <&pm8916_l6>;
0088 interrupt-parent = <&msmgpio>;
0089 interrupts = <31 IRQ_TYPE_EDGE_RISING>;
0090 pinctrl-names = "default";
0091 pinctrl-0 = <&accel_int_default>;
0092 mount-matrix = "-1", "0", "0",
0093 "0", "1", "0",
0094 "0", "0", "-1";
0095 };
0096
0097 proximity@48 {
0098 compatible = "sensortek,stk3310";
0099 reg = <0x48>;
0100 interrupt-parent = <&msmgpio>;
0101 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
0102 pinctrl-names = "default";
0103 pinctrl-0 = <&proximity_int_default>;
0104 };
0105
0106 gyroscope@68 {
0107 compatible = "bosch,bmg160";
0108 reg = <0x68>;
0109 vdd-supply = <&pm8916_l17>;
0110 vddio-supply = <&pm8916_l6>;
0111 interrupt-parent = <&msmgpio>;
0112 interrupts = <97 IRQ_TYPE_EDGE_RISING>,
0113 <98 IRQ_TYPE_EDGE_RISING>;
0114 pinctrl-names = "default";
0115 pinctrl-0 = <&gyro_int_default>;
0116 };
0117 };
0118
0119 &pm8916_resin {
0120 status = "okay";
0121 linux,code = <KEY_VOLUMEDOWN>;
0122 };
0123
0124 &pm8916_vib {
0125 status = "okay";
0126 };
0127
0128 &pronto {
0129 status = "okay";
0130 };
0131
0132 &sdhc_1 {
0133 status = "okay";
0134
0135 pinctrl-names = "default", "sleep";
0136 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
0137 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
0138 };
0139
0140 &sdhc_2 {
0141 status = "okay";
0142
0143 pinctrl-names = "default", "sleep";
0144 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
0145 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
0146
0147 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
0148 };
0149
0150 &usb {
0151 status = "okay";
0152 extcon = <&usb_id>, <&usb_id>;
0153 };
0154
0155 &usb_hs_phy {
0156 extcon = <&usb_id>;
0157 };
0158
0159 &smd_rpm_regulators {
0160 vdd_l1_l2_l3-supply = <&pm8916_s3>;
0161 vdd_l4_l5_l6-supply = <&pm8916_s4>;
0162 vdd_l7-supply = <&pm8916_s4>;
0163
0164 s3 {
0165 regulator-min-microvolt = <1200000>;
0166 regulator-max-microvolt = <1300000>;
0167 };
0168
0169 s4 {
0170 regulator-min-microvolt = <1800000>;
0171 regulator-max-microvolt = <2100000>;
0172 };
0173
0174 l1 {
0175 regulator-min-microvolt = <1225000>;
0176 regulator-max-microvolt = <1225000>;
0177 };
0178
0179 l2 {
0180 regulator-min-microvolt = <1200000>;
0181 regulator-max-microvolt = <1200000>;
0182 };
0183
0184 l4 {
0185 regulator-min-microvolt = <2050000>;
0186 regulator-max-microvolt = <2050000>;
0187 };
0188
0189 l5 {
0190 regulator-min-microvolt = <1800000>;
0191 regulator-max-microvolt = <1800000>;
0192 };
0193
0194 l6 {
0195 regulator-min-microvolt = <1800000>;
0196 regulator-max-microvolt = <1800000>;
0197 };
0198
0199 l7 {
0200 regulator-min-microvolt = <1800000>;
0201 regulator-max-microvolt = <1800000>;
0202 };
0203
0204 l8 {
0205 regulator-min-microvolt = <2850000>;
0206 regulator-max-microvolt = <2900000>;
0207 };
0208
0209 l9 {
0210 regulator-min-microvolt = <3300000>;
0211 regulator-max-microvolt = <3300000>;
0212 };
0213
0214 l10 {
0215 regulator-min-microvolt = <2700000>;
0216 regulator-max-microvolt = <2800000>;
0217 };
0218
0219 l11 {
0220 regulator-min-microvolt = <1800000>;
0221 regulator-max-microvolt = <2950000>;
0222 regulator-allow-set-load;
0223 regulator-system-load = <200000>;
0224 };
0225
0226 l12 {
0227 regulator-min-microvolt = <1800000>;
0228 regulator-max-microvolt = <2950000>;
0229 };
0230
0231 l13 {
0232 regulator-min-microvolt = <3075000>;
0233 regulator-max-microvolt = <3075000>;
0234 };
0235
0236 l14 {
0237 regulator-min-microvolt = <1800000>;
0238 regulator-max-microvolt = <3300000>;
0239 };
0240
0241 l15 {
0242 regulator-min-microvolt = <1800000>;
0243 regulator-max-microvolt = <3300000>;
0244 };
0245
0246 l16 {
0247 regulator-min-microvolt = <1800000>;
0248 regulator-max-microvolt = <3300000>;
0249 };
0250
0251 l17 {
0252 regulator-min-microvolt = <2850000>;
0253 regulator-max-microvolt = <2850000>;
0254 };
0255
0256 l18 {
0257 regulator-min-microvolt = <2700000>;
0258 regulator-max-microvolt = <2700000>;
0259 };
0260 };
0261
0262 &msmgpio {
0263 accel_int_default: accel-int-default {
0264 pins = "gpio31";
0265 function = "gpio";
0266
0267 drive-strength = <2>;
0268 bias-disable;
0269 };
0270
0271 gpio_keys_default: gpio-keys-default {
0272 pins = "gpio107";
0273 function = "gpio";
0274
0275 drive-strength = <2>;
0276 bias-pull-up;
0277 };
0278
0279 gyro_int_default: gyro-int-default {
0280 pins = "gpio97", "gpio98";
0281 function = "gpio";
0282
0283 drive-strength = <2>;
0284 bias-disable;
0285 };
0286
0287 mag_reset_default: mag-reset-default {
0288 pins = "gpio8";
0289 function = "gpio";
0290
0291 drive-strength = <2>;
0292 bias-disable;
0293 };
0294
0295 proximity_int_default: proximity-int-default {
0296 pins = "gpio12";
0297 function = "gpio";
0298
0299 drive-strength = <6>;
0300 bias-pull-up;
0301 };
0302
0303 ts_int_reset_default: ts-int-reset-default {
0304 pins = "gpio13", "gpio100";
0305 function = "gpio";
0306
0307 drive-strength = <2>;
0308 bias-disable;
0309 };
0310
0311 usb_id_default: usb-id-default {
0312 pins = "gpio69";
0313 function = "gpio";
0314
0315 drive-strength = <8>;
0316 bias-pull-up;
0317 };
0318 };