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 #include <dt-bindings/leds/common.h>
0009
0010 / {
0011 model = "BQ Aquaris X5 (Longcheer L8910)";
0012 compatible = "longcheer,l8910", "qcom,msm8916";
0013 chassis-type = "handset";
0014
0015 aliases {
0016 serial0 = &blsp1_uart2;
0017 };
0018
0019 chosen {
0020 stdout-path = "serial0";
0021 };
0022
0023 gpio-keys {
0024 compatible = "gpio-keys";
0025
0026 pinctrl-names = "default";
0027 pinctrl-0 = <&gpio_keys_default>;
0028
0029 label = "GPIO Buttons";
0030
0031 button-volume-up {
0032 label = "Volume Up";
0033 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
0034 linux,code = <KEY_VOLUMEUP>;
0035 };
0036 };
0037
0038 leds {
0039 compatible = "gpio-leds";
0040
0041 led-0 {
0042 gpios = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
0043 color = <LED_COLOR_ID_WHITE>;
0044 default-state = "off";
0045 function = LED_FUNCTION_KBD_BACKLIGHT;
0046
0047 pinctrl-names = "default";
0048 pinctrl-0 = <&button_backlight_default>;
0049 };
0050 };
0051
0052 usb_id: usb-id {
0053 compatible = "linux,extcon-usb-gpio";
0054 id-gpio = <&msmgpio 110 GPIO_ACTIVE_HIGH>;
0055 pinctrl-names = "default";
0056 pinctrl-0 = <&usb_id_default>;
0057 };
0058 };
0059
0060 &blsp_i2c3 {
0061 status = "okay";
0062
0063 magnetometer@d {
0064 compatible = "asahi-kasei,ak09911";
0065 reg = <0x0d>;
0066
0067 vdd-supply = <&pm8916_l17>;
0068 vid-supply = <&pm8916_l6>;
0069
0070 reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
0071
0072 pinctrl-names = "default";
0073 pinctrl-0 = <&mag_reset_default>;
0074 };
0075
0076 imu@68 {
0077 compatible = "bosch,bmi160";
0078 reg = <0x68>;
0079
0080 vdd-supply = <&pm8916_l17>;
0081 vddio-supply = <&pm8916_l6>;
0082
0083 mount-matrix = "0", "1", "0",
0084 "-1", "0", "0",
0085 "0", "0", "1";
0086 };
0087 };
0088
0089 &blsp1_uart2 {
0090 status = "okay";
0091 };
0092
0093 &pm8916_resin {
0094 status = "okay";
0095 linux,code = <KEY_VOLUMEDOWN>;
0096 };
0097
0098 &pm8916_vib {
0099 status = "okay";
0100 };
0101
0102 &pronto {
0103 status = "okay";
0104 };
0105
0106 &sdhc_1 {
0107 status = "okay";
0108
0109 pinctrl-names = "default", "sleep";
0110 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
0111 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
0112 };
0113
0114 &sdhc_2 {
0115 status = "okay";
0116
0117 pinctrl-names = "default", "sleep";
0118 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
0119 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
0120
0121 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
0122 };
0123
0124 &usb {
0125 status = "okay";
0126 extcon = <&usb_id>, <&usb_id>;
0127 };
0128
0129 &usb_hs_phy {
0130 extcon = <&usb_id>;
0131 };
0132
0133 &smd_rpm_regulators {
0134 vdd_l1_l2_l3-supply = <&pm8916_s3>;
0135 vdd_l4_l5_l6-supply = <&pm8916_s4>;
0136 vdd_l7-supply = <&pm8916_s4>;
0137
0138 s3 {
0139 regulator-min-microvolt = <1200000>;
0140 regulator-max-microvolt = <1300000>;
0141 };
0142
0143 s4 {
0144 regulator-min-microvolt = <1800000>;
0145 regulator-max-microvolt = <2100000>;
0146 };
0147
0148 l1 {
0149 regulator-min-microvolt = <1225000>;
0150 regulator-max-microvolt = <1225000>;
0151 };
0152
0153 l2 {
0154 regulator-min-microvolt = <1200000>;
0155 regulator-max-microvolt = <1200000>;
0156 };
0157
0158 l4 {
0159 regulator-min-microvolt = <2050000>;
0160 regulator-max-microvolt = <2050000>;
0161 };
0162
0163 l5 {
0164 regulator-min-microvolt = <1800000>;
0165 regulator-max-microvolt = <1800000>;
0166 };
0167
0168 l6 {
0169 regulator-min-microvolt = <1800000>;
0170 regulator-max-microvolt = <1800000>;
0171 };
0172
0173 l7 {
0174 regulator-min-microvolt = <1800000>;
0175 regulator-max-microvolt = <1800000>;
0176 };
0177
0178 l8 {
0179 regulator-min-microvolt = <2850000>;
0180 regulator-max-microvolt = <2900000>;
0181 };
0182
0183 l9 {
0184 regulator-min-microvolt = <3300000>;
0185 regulator-max-microvolt = <3300000>;
0186 };
0187
0188 l10 {
0189 regulator-min-microvolt = <2700000>;
0190 regulator-max-microvolt = <2800000>;
0191 };
0192
0193 l11 {
0194 regulator-min-microvolt = <1800000>;
0195 regulator-max-microvolt = <2950000>;
0196 regulator-allow-set-load;
0197 regulator-system-load = <200000>;
0198 };
0199
0200 l12 {
0201 regulator-min-microvolt = <1800000>;
0202 regulator-max-microvolt = <2950000>;
0203 };
0204
0205 l13 {
0206 regulator-min-microvolt = <3075000>;
0207 regulator-max-microvolt = <3075000>;
0208 };
0209
0210 l14 {
0211 regulator-min-microvolt = <1800000>;
0212 regulator-max-microvolt = <3300000>;
0213 };
0214
0215 l15 {
0216 regulator-min-microvolt = <1800000>;
0217 regulator-max-microvolt = <3300000>;
0218 };
0219
0220 l16 {
0221 regulator-min-microvolt = <1800000>;
0222 regulator-max-microvolt = <3300000>;
0223 };
0224
0225 l17 {
0226 regulator-min-microvolt = <2850000>;
0227 regulator-max-microvolt = <2850000>;
0228 };
0229
0230 l18 {
0231 regulator-min-microvolt = <2700000>;
0232 regulator-max-microvolt = <2700000>;
0233 };
0234 };
0235
0236 &msmgpio {
0237 button_backlight_default: button-backlight-default {
0238 pins = "gpio17";
0239 function = "gpio";
0240
0241 drive-strength = <2>;
0242 bias-disable;
0243 };
0244
0245 gpio_keys_default: gpio-keys-default {
0246 pins = "gpio107";
0247 function = "gpio";
0248
0249 drive-strength = <2>;
0250 bias-pull-up;
0251 };
0252
0253 mag_reset_default: mag-reset-default {
0254 pins = "gpio111";
0255 function = "gpio";
0256
0257 drive-strength = <2>;
0258 bias-disable;
0259 };
0260
0261 usb_id_default: usb-id-default {
0262 pins = "gpio110";
0263 function = "gpio";
0264
0265 drive-strength = <8>;
0266 bias-pull-up;
0267 };
0268 };