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

Commit b796e99c authored by Nicholas Troast's avatar Nicholas Troast
Browse files

ARM: dts: msm: refactor smb138x device to its own dtsi



The smb138x device has been duplicated across many board level files.
Refactor the smb138x device to a separate dtsi file so it can be
included in any board level files.

Change-Id: I9520595f2a40e197ad2227a8391bed79412b19f8
Signed-off-by: default avatarNicholas Troast <ntroast@codeaurora.org>
parent d43553d4
Loading
Loading
Loading
Loading
+103 −0
Original line number Diff line number Diff line
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <dt-bindings/interrupt-controller/irq.h>

&i2c_7 {
	status = "okay";
	qcom,smb138x@8 {
		compatible = "qcom,i2c-pmic";
		reg = <0x8>;
		#address-cells = <2>;
		#size-cells = <0>;
		interrupt-parent = <&spmi_bus>;
		interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>;
		interrupt_names = "smb138x";
		interrupt-controller;
		#interrupt-cells = <3>;
		qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>;

		smb138x_revid: qcom,revid@100 {
			compatible = "qcom,qpnp-revid";
			reg = <0x100 0x100>;
		};

		smb138x_tadc: qcom,tadc@3600 {
			compatible = "qcom,tadc";
			reg = <0x3600 0x100>;
			#address-cells = <1>;
			#size-cells = <0>;
			#io-channel-cells = <1>;
			interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>;
			interrupt-names = "eoc";

			batt_temp@0 {
				reg = <0>;
				qcom,rbias = <68100>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			skin_temp@1 {
				reg = <1>;
				qcom,rbias = <33000>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			die_temp@2 {
				reg = <2>;
				qcom,scale = <(-1032)>;
				qcom,offset = <344125>;
			};

			batt_i@3 {
				reg = <3>;
				qcom,channel = <3>;
				qcom,scale = <(-20000000)>;
			};

			batt_v@4 {
				reg = <4>;
				qcom,scale = <5000000>;
			};

			input_i@5 {
				reg = <5>;
				qcom,scale = <14285714>;
			};

			input_v@6 {
				reg = <6>;
				qcom,scale = <25000000>;
			};

			otg_i@7 {
				reg = <7>;
				qcom,scale = <5714286>;
			};
		};

		smb138x_parallel_slave: qcom,smb138x-parallel-slave@1000 {
			compatible = "qcom,smb138x-parallel-slave";
			qcom,pmic-revid = <&smb138x_revid>;
			reg = <0x1000 0x700>;

			io-channels = <&smb138x_tadc 2>,
				      <&smb138x_tadc 12>,
				      <&smb138x_tadc 3>;
			io-channel-names = "charger_temp",
					   "charger_temp_max",
					   "batt_i";
		};
	};
};
+0 −62
Original line number Diff line number Diff line
@@ -207,68 +207,6 @@
	};
};

&i2c_7 {
	status = "okay";
	qcom,smb138x@8 {
		compatible = "qcom,i2c-pmic";
		reg = <0x8>;
		#address-cells = <2>;
		#size-cells = <0>;
		interrupt-parent = <&spmi_bus>;
		interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>;
		interrupt_names = "smb138x";
		interrupt-controller;
		#interrupt-cells = <3>;
		qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>;

		smb138x_tadc: qcom,tadc@3600 {
			compatible = "qcom,tadc";
			reg = <0x3600 0x100>;

			interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>;
			interrupt-names = "eoc";

			batt_therm {
				qcom,rbias = <68100>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			skin_temp {
				qcom,rbias = <33000>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			die_temp {
				qcom,scale = <(-1032)>;
				qcom,offset = <344125>;
			};

			batt_i {
				qcom,channel = <3>;
				qcom,scale = <20000000>;
			};

			batt_v {
				qcom,scale = <5000000>;
			};

			input_i {
				qcom,scale = <14285714>;
			};

			input_v {
				qcom,scale = <25000000>;
			};

			otg_i {
				qcom,scale = <5714286>;
			};
		};
	};
};

&mdss_mdp {
	qcom,mdss-pref-prim-intf = "dsi";
};
+0 −62
Original line number Diff line number Diff line
@@ -205,68 +205,6 @@
	};
};

&i2c_7 {
	status = "okay";
	qcom,smb138x@8 {
		compatible = "qcom,i2c-pmic";
		reg = <0x8>;
		#address-cells = <2>;
		#size-cells = <0>;
		interrupt-parent = <&spmi_bus>;
		interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>;
		interrupt_names = "smb138x";
		interrupt-controller;
		#interrupt-cells = <3>;
		qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>;

		smb138x_tadc: qcom,tadc@3600 {
			compatible = "qcom,tadc";
			reg = <0x3600 0x100>;

			interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>;
			interrupt-names = "eoc";

			batt_therm {
				qcom,rbias = <68100>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			skin_temp {
				qcom,rbias = <33000>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			die_temp {
				qcom,scale = <(-1032)>;
				qcom,offset = <344125>;
			};

			batt_i {
				qcom,channel = <3>;
				qcom,scale = <20000000>;
			};

			batt_v {
				qcom,scale = <5000000>;
			};

			input_i {
				qcom,scale = <14285714>;
			};

			input_v {
				qcom,scale = <25000000>;
			};

			otg_i {
				qcom,scale = <5714286>;
			};
		};
	};
};

&mdss_mdp {
	qcom,mdss-pref-prim-intf = "dsi";
};
+0 −90
Original line number Diff line number Diff line
@@ -206,96 +206,6 @@
	};
};

&i2c_7 {
	status = "okay";
	qcom,smb138x@8 {
		compatible = "qcom,i2c-pmic";
		reg = <0x8>;
		#address-cells = <2>;
		#size-cells = <0>;
		interrupt-parent = <&spmi_bus>;
		interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>;
		interrupt_names = "smb138x";
		interrupt-controller;
		#interrupt-cells = <3>;
		qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>;

		smb138x_revid: qcom,revid@100 {
			compatible = "qcom,qpnp-revid";
			reg = <0x100 0x100>;
		};

		smb138x_tadc: qcom,tadc@3600 {
			compatible = "qcom,tadc";
			reg = <0x3600 0x100>;
			#address-cells = <1>;
			#size-cells = <0>;
			#io-channel-cells = <1>;
			interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>;
			interrupt-names = "eoc";

			batt_temp@0 {
				reg = <0>;
				qcom,rbias = <68100>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			skin_temp@1 {
				reg = <1>;
				qcom,rbias = <33000>;
				qcom,rtherm-at-25degc = <68000>;
				qcom,beta-coefficient = <3450>;
			};

			die_temp@2 {
				reg = <2>;
				qcom,scale = <(-1032)>;
				qcom,offset = <344125>;
			};

			batt_i@3 {
				reg = <3>;
				qcom,channel = <3>;
				qcom,scale = <20000000>;
			};

			batt_v@4 {
				reg = <4>;
				qcom,scale = <5000000>;
			};

			input_i@5 {
				reg = <5>;
				qcom,scale = <14285714>;
			};

			input_v@6 {
				reg = <6>;
				qcom,scale = <25000000>;
			};

			otg_i@7 {
				reg = <7>;
				qcom,scale = <5714286>;
			};
		};

		smb138x_parallel_slave: qcom,smb138x-parallel-slave@1000 {
			compatible = "qcom,smb138x-parallel-slave";
			qcom,pmic-revid = <&smb138x_revid>;
			reg = <0x1000 0x700>;

			io-channels = <&smb138x_tadc 2>,
				      <&smb138x_tadc 12>,
				      <&smb138x_tadc 3>;
			io-channel-names = "charger_temp",
					   "charger_temp_max",
					   "batt_i";
		};
	};
};

&mdss_hdmi_tx {
	pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active",
				"hdmi_active", "hdmi_sleep";
+1 −0
Original line number Diff line number Diff line
@@ -3088,6 +3088,7 @@
#include "msm8998-blsp.dtsi"
#include "msm-audio.dtsi"
#include "msmfalcon-audio.dtsi"
#include "msm-smb138x.dtsi"

/* GPU overrides */
&msm_gpu {
Loading