Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2ac9c46 authored by puneet's avatar puneet Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Enabled dt entry for bmi160 and iam20680



GPS QDR feature has dependency on BMI160 and IAM20680
sensor driver which is enabled through GPIO 10 and 11 pins.

Change-Id: Ib9c257fc385233c733c24fa0f7175f739ce75a19
Signed-off-by: default avatarpuneet <puneet@codeaurora.org>
parent e2a4721c
Loading
Loading
Loading
Loading
+83 −0
Original line number Diff line number Diff line
The IAM20680 sensor is 6-axis gyroscope+accelerometer combo
device which is made by InvenSense Inc.

Required properties:

 - compatible   : Should be "invn,iam20680".
 - reg          : the I2C address which depends on the AD0 pin.
 - gpios        : INVENSENSE GPIO in the format described by ../gpio/gpio.txt

Optional properties:
 - inven,vdd_ana-supply :
 - inven,vcc_i2c-supply :
 - inven,gpio_int1 :
 - axis_map_x :
 - axis_map_y :
 - axis_map_z :
 - negate_x   :
 - negate_y   :
 - negate_z   :
 - fs_range :
 - poll_interval :
 - min_interval :
 - inven,secondary_reg :
 - inven,secondary_type :
 - inven,secondary_name :
 - inven,secondary_axis_map_x :
 - inven,secondary_axis_map_y :
 - inven,secondary_axis_map_z :
 - inven,secondary_negate_x :
 - inven,secondary_negate_y :
 - inven,secondary_negate_z :
 - inven,aux_type :
 - inven,aux_name :
 - inven,aux_reg :
 - inven,read_only_slave_type :
 - inven,read_only_slave_name :
 - inven,read_only_slave_reg :

Example:
	iam20680@69 {
		compatible = "inven,iam20680";
		reg = <0x69>;
		pinctrl-names = "default";
		pinctrl-0 = <&int1_default>;
		interrupt-parent = <&tlmm_pinmux>;
		interrupts = <78 IRQ_TYPE_EDGE_RISING>;
		inven,vdd_ana-supply = <&pm8941_l17>;
		inven,vcc_i2c-supply = <&pm8941_lvs1>;
		inven,gpio_int1 = <&msmgpio 73 0x00>;
		axis_map_x = <1>;
		axis_map_y = <0>;
		axis_map_z = <2>;
		negate_x = <1>;
		negate_y = <0>;
		negate_z = <0>;
		fs_range = <0x00>;
		poll_interval = <200>;
		min_interval = <5>;
		inven,secondary_reg = <0x0c>;
		/* If no compass sensor,
		 * replace "compass" with "none"
		 */
		inven,secondary_type = "compass";
		inven,secondary_name = "ak09911";
		inven,secondary_axis_map_x = <1>;
		inven,secondary_axis_map_y = <0>;
		inven,secondary_axis_map_z = <2>;
		inven,secondary_negate_x = <1>;
		inven,secondary_negate_y = <1>;
		inven,secondary_negate_z = <1>;
		/* If no pressure sensor,
		 * replace "pressure" with "none"
		 */
		inven,aux_type = "pressure";
		inven,aux_name = "bmp280";
		inven,aux_reg = <0x76>;
		/* If no ALS sensor
		 * replace "als" with "none"
		 */
		inven,read_only_slave_type = "als";
		inven,read_only_slave_name = "apds9930";
		inven,read_only_slave_reg = <0x39>;
	};
+27 −0
Original line number Diff line number Diff line

The BMI160 is a highly integrated, low power inertial measurement unit (IMU)
that provides precise acceleration and angular rate (gyroscopic) measurement.

Required properties:

 - compatible    : Should be "bosch-sensortec,bmi160".
 - reg           : the Chip select ID.
 - gpios         : BMI GPIO in the format described by ../gpio/gpio.txt

Optional properties:
 - bmi,init-interval:
 - bmi,place   :


Example:
	bmi160@68{
		compatible = "bosch-sensortec,bmi160";
		reg = <0x68>;
		pinctrl-names = "default";
		pinctrl-0 = <&bmi160_int1_default &bmi160_int2_default>;
		interrupt-parent = <&tlmm_pinmux>;
		interrupts = <78 0x2002>;
		bmi,init-interval = <200>;
		bmi,place = <1>;
		bmi,gpio_irq = <&tlmm_pinmux 78 0x2002>;
	};
+2 −0
Original line number Diff line number Diff line
@@ -259,6 +259,8 @@ xes Extreme Engineering Solutions (X-ES)
xillybus	Xillybus Ltd.
xlnx	Xilinx
zyxel	ZyXEL Communications Corp.
bosch-sensortec»    Bosch Sensortec GmbH
inven   InvenSense, Inc.
zarlink	Zarlink Semiconductor
zii	Zodiac Inflight Innovations
zte	ZTE Corp.
+35 −0
Original line number Diff line number Diff line
@@ -1488,6 +1488,41 @@
	};
};

&i2c_10 {
	 bmi160@68 {
		compatible = "bosch-sensortec,bmi160";
		reg = <0x68>;
		vdd-supply = <&pm8994_lvs2>;
		vio-supply = <&pm8994_lvs2>;
		pinctrl-names = "default";
		pinctrl-0 = <&sensor_int1_default &sensor_int2_default>;
		interrupt-parent = <&tlmm>;
		interrupts = <117 0x2002>;
		bmi,init-interval = <200>;
		bmi,place = <1>;
		bmi,gpio_irq = <&tlmm 117 0x2002>;
	};
	 iam20680@69 {
		 compatible = "inven,iam20680";
		 reg = <0x69>;
		 vdd-supply = <&pm8994_lvs2>;
		 vio-supply = <&pm8994_lvs2>;
		 pinctrl-names = "default";
		 pinctrl-0 = <&sensor_int1_default &sensor_int2_default>;
		 interrupt-parent = <&tlmm>;
		 interrupts = <118 IRQ_TYPE_EDGE_RISING>;
		 axis_map_x = <1>;
		 axis_map_y = <0>;
		 axis_map_z = <2>;
		 negate_x = <1>;
		 negate_y = <0>;
		 negate_z = <0>;
		 inven,secondary_type = "none";
		 inven,aux_type = "none";
		 inven,read_only_slave_type = "none";
	 };
};

&dsi_dual_jdi_video {
	/delete-property/ pwms;
	/delete-property/ qcom,5v-boost-gpio;
+52 −0
Original line number Diff line number Diff line
@@ -850,6 +850,58 @@
				};
			};
		};
		i2c_10 {
			i2c_10_active: i2c_10_active {
				mux {
					pins = "gpio10", "gpio11";
					function = "blsp_i2c10";
				};

				config {
					pins = "gpio10", "gpio11";
					drive-strength = <16>;
					bias-pull-up;
				};
			};

			i2c_10_sleep: i2c_10_sleep {
				mux {
					pins = "gpio10", "gpio11";
					function = "blsp_i2c10";
				};

				config {
					pins = "gpio10", "gpio11";
					drive-strength = <16>;
					bias-pull-up;
				};
			};
		};

		sensor_int1_default: sensor_int1_default {
			mux {
				pins = "gpio117";
				function = "gpio";
			};

			config {
				pins = "gpio117";
				drive-strength = <16>; /* 16 mA */
				bias-pull-down; /* pull down */
			};
		};
		sensor_int2_default: sensor_int2_default {
			mux {
				pins = "gpio118";
				function = "gpio";
			};

			config {
				pins = "gpio118";
				drive-strength = <16>; /* 16 mA */
				bias-pull-down; /* pull down */
			};
		};

		pmx_fm_int {
			fm_int_active: fm_int_active {
Loading