Back to home page

OSCL-LXR

 
 

    


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/interrupt-controller/irq.h>
0009 #include <dt-bindings/leds/common.h>
0010 
0011 / {
0012         model = "Longcheer L8150";
0013         compatible = "longcheer,l8150", "qcom,msm8916-v1-qrd/9-v1", "qcom,msm8916";
0014         chassis-type = "handset";
0015 
0016         aliases {
0017                 serial0 = &blsp1_uart2;
0018         };
0019 
0020         chosen {
0021                 stdout-path = "serial0";
0022         };
0023 
0024         reserved-memory {
0025                 // wcnss.mdt is not relocatable, so it must be loaded at 0x8b600000
0026                 /delete-node/ wcnss@89300000;
0027 
0028                 wcnss_mem: wcnss@8b600000 {
0029                         reg = <0x0 0x8b600000 0x0 0x600000>;
0030                         no-map;
0031                 };
0032         };
0033 
0034         gpio-keys {
0035                 compatible = "gpio-keys";
0036 
0037                 pinctrl-names = "default";
0038                 pinctrl-0 = <&gpio_keys_default>;
0039 
0040                 label = "GPIO Buttons";
0041 
0042                 button-volume-up {
0043                         label = "Volume Up";
0044                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
0045                         linux,code = <KEY_VOLUMEUP>;
0046                 };
0047         };
0048 
0049         reg_ctp: regulator-ctp {
0050                 compatible = "regulator-fixed";
0051                 regulator-name = "ctp";
0052 
0053                 regulator-min-microvolt = <2800000>;
0054                 regulator-max-microvolt = <2800000>;
0055 
0056                 gpio = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
0057                 enable-active-high;
0058 
0059                 pinctrl-names = "default";
0060                 pinctrl-0 = <&ctp_pwr_en_default>;
0061         };
0062 
0063         flash-led-controller {
0064                 compatible = "sgmicro,sgm3140";
0065                 flash-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
0066                 enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
0067 
0068                 pinctrl-names = "default";
0069                 pinctrl-0 = <&camera_flash_default>;
0070 
0071                 flash_led: led {
0072                         function = LED_FUNCTION_FLASH;
0073                         color = <LED_COLOR_ID_WHITE>;
0074                         flash-max-timeout-us = <250000>;
0075                 };
0076         };
0077 };
0078 
0079 &blsp_i2c1 {
0080         status = "okay";
0081 
0082         led-controller@45 {
0083                 compatible = "awinic,aw2013";
0084                 reg = <0x45>;
0085                 #address-cells = <1>;
0086                 #size-cells = <0>;
0087 
0088                 vcc-supply = <&pm8916_l17>;
0089 
0090                 led@0 {
0091                         reg = <0>;
0092                         led-max-microamp = <5000>;
0093                         function = LED_FUNCTION_INDICATOR;
0094                         color = <LED_COLOR_ID_RED>;
0095                 };
0096 
0097                 led@1 {
0098                         reg = <1>;
0099                         led-max-microamp = <5000>;
0100                         function = LED_FUNCTION_INDICATOR;
0101                         color = <LED_COLOR_ID_GREEN>;
0102                 };
0103 
0104                 led@2 {
0105                         reg = <2>;
0106                         led-max-microamp = <5000>;
0107                         function = LED_FUNCTION_INDICATOR;
0108                         color = <LED_COLOR_ID_BLUE>;
0109                 };
0110         };
0111 };
0112 
0113 &blsp_i2c2 {
0114         status = "okay";
0115 
0116         accelerometer@10 {
0117                 compatible = "bosch,bmc156_accel";
0118                 reg = <0x10>;
0119 
0120                 /*
0121                  * For some reason the interrupt line is usually not connected
0122                  * to the BMC156. However, there are two pads next to the chip
0123                  * that can be shorted to make it work if needed.
0124                  *
0125                  * interrupt-parent = <&msmgpio>;
0126                  * interrupts = <116 IRQ_TYPE_EDGE_RISING>;
0127                  */
0128 
0129                 pinctrl-names = "default";
0130                 pinctrl-0 = <&accel_int_default>;
0131 
0132                 vdd-supply = <&pm8916_l17>;
0133                 vddio-supply = <&pm8916_l6>;
0134 
0135                 mount-matrix = "0", "1", "0",
0136                               "-1", "0", "0",
0137                                "0", "0", "1";
0138         };
0139 
0140         magnetometer@12 {
0141                 compatible = "bosch,bmc156_magn";
0142                 reg = <0x12>;
0143 
0144                 interrupt-parent = <&msmgpio>;
0145                 interrupts = <113 IRQ_TYPE_EDGE_RISING>;
0146 
0147                 pinctrl-names = "default";
0148                 pinctrl-0 = <&magn_int_default>;
0149 
0150                 vdd-supply = <&pm8916_l17>;
0151                 vddio-supply = <&pm8916_l6>;
0152         };
0153 
0154         light-sensor@23 {
0155                 compatible = "liteon,ltr559";
0156                 reg = <0x23>;
0157                 proximity-near-level = <75>;
0158 
0159                 interrupt-parent = <&msmgpio>;
0160                 interrupts = <115 IRQ_TYPE_EDGE_FALLING>;
0161 
0162                 pinctrl-names = "default";
0163                 pinctrl-0 = <&light_int_default>;
0164 
0165                 vdd-supply = <&pm8916_l17>;
0166                 vio-supply = <&pm8916_l6>;
0167         };
0168 
0169         gyroscope@68 {
0170                 compatible = "bosch,bmg160";
0171                 reg = <0x68>;
0172 
0173                 interrupt-parent = <&msmgpio>;
0174                 interrupts = <23 IRQ_TYPE_EDGE_RISING>,
0175                              <22 IRQ_TYPE_EDGE_RISING>;
0176 
0177                 pinctrl-names = "default";
0178                 pinctrl-0 = <&gyro_int_default>;
0179 
0180                 vdd-supply = <&pm8916_l17>;
0181                 vddio-supply = <&pm8916_l6>;
0182         };
0183 };
0184 
0185 &blsp_i2c5 {
0186         status = "okay";
0187 
0188         rmi4@20 {
0189                 compatible = "syna,rmi4-i2c";
0190                 reg = <0x20>;
0191                 #address-cells = <1>;
0192                 #size-cells = <0>;
0193 
0194                 interrupt-parent = <&msmgpio>;
0195                 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
0196 
0197                 vdd-supply = <&reg_ctp>;
0198                 vio-supply = <&pm8916_l6>;
0199 
0200                 pinctrl-names = "default";
0201                 pinctrl-0 = <&tp_int_default>;
0202 
0203                 syna,startup-delay-ms = <10>;
0204 
0205                 rmi4-f01@1 {
0206                         reg = <0x1>;
0207                         syna,nosleep-mode = <1>; // Allow sleeping
0208                 };
0209 
0210                 rmi4-f12@12 {
0211                         reg = <0x12>;
0212                         syna,sensor-type = <1>; // Touchscreen
0213                 };
0214         };
0215 };
0216 
0217 &blsp1_uart2 {
0218         status = "okay";
0219 };
0220 
0221 &pm8916_resin {
0222         status = "okay";
0223         linux,code = <KEY_VOLUMEDOWN>;
0224 };
0225 
0226 &pm8916_usbin {
0227         status = "okay";
0228 };
0229 
0230 &pm8916_vib {
0231         status = "okay";
0232 };
0233 
0234 &pronto {
0235         status = "okay";
0236 };
0237 
0238 &sdhc_1 {
0239         status = "okay";
0240 
0241         pinctrl-names = "default", "sleep";
0242         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
0243         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
0244 };
0245 
0246 &sdhc_2 {
0247         status = "okay";
0248 
0249         pinctrl-names = "default", "sleep";
0250         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
0251         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
0252 
0253         non-removable;
0254 };
0255 
0256 &usb {
0257         status = "okay";
0258         dr_mode = "peripheral";
0259         extcon = <&pm8916_usbin>;
0260 };
0261 
0262 &usb_hs_phy {
0263         extcon = <&pm8916_usbin>;
0264 };
0265 
0266 &smd_rpm_regulators {
0267         vdd_l1_l2_l3-supply = <&pm8916_s3>;
0268         vdd_l4_l5_l6-supply = <&pm8916_s4>;
0269         vdd_l7-supply = <&pm8916_s4>;
0270 
0271         s3 {
0272                 regulator-min-microvolt = <1200000>;
0273                 regulator-max-microvolt = <1300000>;
0274         };
0275 
0276         s4 {
0277                 regulator-min-microvolt = <1800000>;
0278                 regulator-max-microvolt = <2100000>;
0279         };
0280 
0281         l1 {
0282                 regulator-min-microvolt = <1225000>;
0283                 regulator-max-microvolt = <1225000>;
0284         };
0285 
0286         l2 {
0287                 regulator-min-microvolt = <1200000>;
0288                 regulator-max-microvolt = <1200000>;
0289         };
0290 
0291         l4 {
0292                 regulator-min-microvolt = <2050000>;
0293                 regulator-max-microvolt = <2050000>;
0294         };
0295 
0296         l5 {
0297                 regulator-min-microvolt = <1800000>;
0298                 regulator-max-microvolt = <1800000>;
0299         };
0300 
0301         l6 {
0302                 regulator-min-microvolt = <1800000>;
0303                 regulator-max-microvolt = <1800000>;
0304         };
0305 
0306         l7 {
0307                 regulator-min-microvolt = <1800000>;
0308                 regulator-max-microvolt = <1800000>;
0309         };
0310 
0311         l8 {
0312                 regulator-min-microvolt = <2850000>;
0313                 regulator-max-microvolt = <2900000>;
0314         };
0315 
0316         l9 {
0317                 regulator-min-microvolt = <3300000>;
0318                 regulator-max-microvolt = <3300000>;
0319         };
0320 
0321         l10 {
0322                 regulator-min-microvolt = <2700000>;
0323                 regulator-max-microvolt = <2800000>;
0324         };
0325 
0326         l11 {
0327                 regulator-min-microvolt = <1800000>;
0328                 regulator-max-microvolt = <2950000>;
0329                 regulator-allow-set-load;
0330                 regulator-system-load = <200000>;
0331         };
0332 
0333         l12 {
0334                 regulator-min-microvolt = <1800000>;
0335                 regulator-max-microvolt = <2950000>;
0336         };
0337 
0338         l13 {
0339                 regulator-min-microvolt = <3075000>;
0340                 regulator-max-microvolt = <3075000>;
0341         };
0342 
0343         l14 {
0344                 regulator-min-microvolt = <1800000>;
0345                 regulator-max-microvolt = <3300000>;
0346         };
0347 
0348         l15 {
0349                 regulator-min-microvolt = <1800000>;
0350                 regulator-max-microvolt = <3300000>;
0351         };
0352 
0353         l16 {
0354                 regulator-min-microvolt = <1800000>;
0355                 regulator-max-microvolt = <3300000>;
0356         };
0357 
0358         l17 {
0359                 regulator-min-microvolt = <2850000>;
0360                 regulator-max-microvolt = <2850000>;
0361         };
0362 
0363         l18 {
0364                 regulator-min-microvolt = <2700000>;
0365                 regulator-max-microvolt = <2700000>;
0366         };
0367 };
0368 
0369 &msmgpio {
0370         accel_int_default: accel-int-default {
0371                 pins = "gpio116";
0372                 function = "gpio";
0373 
0374                 drive-strength = <2>;
0375                 bias-disable;
0376         };
0377 
0378         camera_flash_default: camera-flash-default {
0379                 pins = "gpio31", "gpio32";
0380                 function = "gpio";
0381 
0382                 drive-strength = <2>;
0383                 bias-disable;
0384         };
0385 
0386         ctp_pwr_en_default: ctp-pwr-en-default {
0387                 pins = "gpio17";
0388                 function = "gpio";
0389 
0390                 drive-strength = <2>;
0391                 bias-disable;
0392         };
0393 
0394         gpio_keys_default: gpio-keys-default {
0395                 pins = "gpio107";
0396                 function = "gpio";
0397 
0398                 drive-strength = <2>;
0399                 bias-pull-up;
0400         };
0401 
0402         gyro_int_default: gyro-int-default {
0403                 pins = "gpio22", "gpio23";
0404                 function = "gpio";
0405 
0406                 drive-strength = <2>;
0407                 bias-disable;
0408         };
0409 
0410         light_int_default: light-int-default {
0411                 pins = "gpio115";
0412                 function = "gpio";
0413 
0414                 drive-strength = <2>;
0415                 bias-disable;
0416         };
0417 
0418         magn_int_default: magn-int-default {
0419                 pins = "gpio113";
0420                 function = "gpio";
0421 
0422                 drive-strength = <2>;
0423                 bias-disable;
0424         };
0425 
0426         tp_int_default: tp-int-default {
0427                 pins = "gpio13";
0428                 function = "gpio";
0429 
0430                 drive-strength = <2>;
0431                 bias-disable;
0432         };
0433 };