summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts')
-rw-r--r--arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts109
1 files changed, 109 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts b/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
index 5ee919dce75b..5a39abd6f3ce 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
@@ -54,6 +54,31 @@
};
};
+&gsbi2 {
+ qcom,mode = <GSBI_PROT_I2C>;
+
+ status = "okay";
+};
+
+&gsbi2_i2c {
+ status = "okay";
+
+ light-sensor@39 {
+ compatible = "amstaos,tmd2772";
+ reg = <0x39>;
+ interrupts-extended = <&pm8921_gpio 6 IRQ_TYPE_EDGE_FALLING>;
+ vdd-supply = <&pm8921_l9>;
+ vddio-supply = <&pm8921_lvs4>;
+
+ /* TODO: Proximity doesn't work */
+ amstaos,proximity-diodes = <0>;
+ led-max-microamp = <100000>;
+
+ pinctrl-0 = <&prox_sensor_int>;
+ pinctrl-names = "default";
+ };
+};
+
&gsbi5 {
qcom,mode = <GSBI_PROT_I2C_UART>;
status = "okay";
@@ -157,12 +182,45 @@
bias-disable;
drive-strength = <2>;
};
+
+ nfc_default: nfc-default-state {
+ irq-pins {
+ pins = "gpio106";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ firmware-pins {
+ pins = "gpio92";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
};
&pm8921 {
interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
};
+&pm8921_gpio {
+ prox_sensor_int: prox-sensor-int-state {
+ pins = "gpio6";
+ function = "normal";
+ input-enable;
+ bias-disable;
+ };
+
+ nfc_enable: nfc-enable-state {
+ pins = "gpio21";
+ function = "normal";
+ bias-disable;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ power-source = <PM8921_GPIO_S4>;
+ };
+};
+
&rpm {
regulators {
compatible = "qcom,rpm-pm8921-regulators";
@@ -408,3 +466,54 @@
dr_mode = "otg";
status = "okay";
};
+
+&gsbi7 {
+ qcom,mode = <GSBI_PROT_I2C>;
+
+ status = "okay";
+};
+
+&gsbi7_i2c {
+ status = "okay";
+
+ nfc@2b {
+ compatible = "nxp,pn544-i2c";
+ reg = <0x2b>;
+ interrupts-extended = <&tlmm 106 IRQ_TYPE_EDGE_RISING>;
+ enable-gpios = <&pm8921_gpio 21 GPIO_ACTIVE_HIGH>;
+ firmware-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&nfc_default &nfc_enable>;
+ pinctrl-names = "default";
+ };
+};
+
+&gsbi12 {
+ qcom,mode = <GSBI_PROT_I2C>;
+
+ status = "okay";
+};
+
+&gsbi12_i2c {
+ status = "okay";
+
+ accelerometer@18 {
+ compatible = "bosch,bma254";
+ reg = <0x18>;
+ vdd-supply = <&pm8921_l9>;
+ vddio-supply = <&pm8921_lvs4>;
+
+ mount-matrix = "-1", "0", "0",
+ "0", "-1", "0",
+ "0", "0", "1";
+ };
+
+ magnetometer@2e {
+ compatible = "yamaha,yas532";
+ reg = <0x2e>;
+ vdd-supply = <&pm8921_l9>;
+ iovdd-supply = <&pm8921_lvs4>;
+
+ /* TODO: Figure out Mount Matrix */
+ };
+};