Merge tag 'v5.11-rc1' into spi-5.11
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / msm8916-longcheer-l8150.dts
index b9d3c5d..1e893c0 100644 (file)
@@ -5,6 +5,8 @@
 #include "msm8916-pm8916.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/leds/common.h>
 
 / {
        model = "Longcheer L8150";
                        linux,code = <KEY_VOLUMEUP>;
                };
        };
+
+       reg_ctp: regulator-ctp {
+               compatible = "regulator-fixed";
+               regulator-name = "ctp";
+
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+
+               gpio = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&ctp_pwr_en_default>;
+       };
+
+       flash-led-controller {
+               compatible = "sgmicro,sgm3140";
+               flash-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
+               enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&camera_flash_default>;
+
+               flash_led: led {
+                       function = LED_FUNCTION_FLASH;
+                       color = <LED_COLOR_ID_WHITE>;
+                       flash-max-timeout-us = <250000>;
+               };
+       };
+};
+
+&blsp_i2c1 {
+       status = "okay";
+
+       led-controller@45 {
+               compatible = "awinic,aw2013";
+               reg = <0x45>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               vcc-supply = <&pm8916_l17>;
+
+               led@0 {
+                       reg = <0>;
+                       led-max-microamp = <5000>;
+                       function = LED_FUNCTION_INDICATOR;
+                       color = <LED_COLOR_ID_RED>;
+               };
+
+               led@1 {
+                       reg = <1>;
+                       led-max-microamp = <5000>;
+                       function = LED_FUNCTION_INDICATOR;
+                       color = <LED_COLOR_ID_GREEN>;
+               };
+
+               led@2 {
+                       reg = <2>;
+                       led-max-microamp = <5000>;
+                       function = LED_FUNCTION_INDICATOR;
+                       color = <LED_COLOR_ID_BLUE>;
+               };
+       };
+};
+
+&blsp_i2c2 {
+       status = "okay";
+
+       accelerometer@10 {
+               compatible = "bosch,bmc150_accel";
+               reg = <0x10>;
+
+               vdd-supply = <&pm8916_l17>;
+               vddio-supply = <&pm8916_l6>;
+
+               mount-matrix = "0", "1", "0",
+                             "-1", "0", "0",
+                              "0", "0", "1";
+       };
+
+       magnetometer@12 {
+               compatible = "bosch,bmc150_magn";
+               reg = <0x12>;
+
+               vdd-supply = <&pm8916_l17>;
+               vddio-supply = <&pm8916_l6>;
+       };
+
+       gyroscope@68 {
+               compatible = "bosch,bmg160";
+               reg = <0x68>;
+
+               interrupt-parent = <&msmgpio>;
+               interrupts = <23 IRQ_TYPE_EDGE_RISING>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&gyro_int_default>;
+
+               vdd-supply = <&pm8916_l17>;
+               vddio-supply = <&pm8916_l6>;
+       };
+};
+
+&blsp_i2c5 {
+       status = "okay";
+
+       rmi4@20 {
+               compatible = "syna,rmi4-i2c";
+               reg = <0x20>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               interrupt-parent = <&msmgpio>;
+               interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+
+               vdd-supply = <&reg_ctp>;
+               vio-supply = <&pm8916_l6>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&tp_int_default>;
+
+               syna,startup-delay-ms = <10>;
+
+               rmi4-f01@1 {
+                       reg = <0x1>;
+                       syna,nosleep-mode = <1>; // Allow sleeping
+               };
+
+               rmi4-f12@12 {
+                       reg = <0x12>;
+                       syna,sensor-type = <1>; // Touchscreen
+               };
+       };
 };
 
 &blsp1_uart2 {
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_vib {
+       status = "okay";
+};
+
 &pronto {
        status = "okay";
 };
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
        vdd_l7-supply = <&pm8916_s4>;
 
-       s1 {
-               regulator-min-microvolt = <500000>;
-               regulator-max-microvolt = <1300000>;
-       };
-
        s3 {
                regulator-min-microvolt = <1200000>;
                regulator-max-microvolt = <1300000>;
                regulator-max-microvolt = <1200000>;
        };
 
-       l3 {
-               regulator-min-microvolt = <500000>;
-               regulator-max-microvolt = <1287500>;
-       };
-
        l4 {
                regulator-min-microvolt = <2050000>;
                regulator-max-microvolt = <2050000>;
 };
 
 &msmgpio {
+       camera_flash_default: camera-flash-default {
+               pins = "gpio31", "gpio32";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       ctp_pwr_en_default: ctp-pwr-en-default {
+               pins = "gpio17";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        gpio_keys_default: gpio-keys-default {
                pins = "gpio107";
                function = "gpio";
                bias-pull-up;
        };
 
+       gyro_int_default: gyro-int-default {
+               pins = "gpio23";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       tp_int_default: tp-int-default {
+               pins = "gpio13";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        usb_vbus_default: usb-vbus-default {
                pins = "gpio62";
                function = "gpio";