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

Commit 3f519f34 authored by Tirupathi Reddy's avatar Tirupathi Reddy Committed by Anirudh Ghayal
Browse files

ARM: dts: msm: add PMS405 peripheral devices



Add new device tree files pms405-rpm-regulator.dtsi and
pms405.dtsi which contain devices for PMS405 peripherals.

Change-Id: Iae62b910c3f0574d7f77958268aa2b8e5d8aac61
Signed-off-by: default avatarTirupathi Reddy <tirupath@codeaurora.org>
parent 33a4e3e3
Loading
Loading
Loading
Loading
+304 −0
Original line number Diff line number Diff line
/* Copyright (c) 2018 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.
 */

&rpm_bus {
	/* VDD_MX/CX supply */
	rpm-regulator-smpa1 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "rwmx";
		qcom,resource-id = <1>;
		qcom,regulator-type = <1>;
		qcom,hpm-min-load = <100000>;
		status = "disabled";

		regulator-s1 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_s1";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	/* VDD_LPI_CX supply */
	rpm-regulator-smpa2 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "rwlc";
		qcom,resource-id = <2>;
		qcom,regulator-type = <1>;
		qcom,hpm-min-load = <100000>;
		status = "disabled";

		regulator-s2 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_s2";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-smpa3 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "smpa";
		qcom,resource-id = <3>;
		qcom,regulator-type = <1>;
		qcom,hpm-min-load = <100000>;
		status = "disabled";

		regulator-s3 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_s3";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-smpa4 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "smpa";
		qcom,resource-id = <4>;
		qcom,regulator-type = <1>;
		qcom,hpm-min-load = <100000>;
		status = "disabled";

		regulator-s4 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_s4";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-smpa5 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "smpa";
		qcom,resource-id = <5>;
		qcom,regulator-type = <1>;
		qcom,hpm-min-load = <100000>;
		status = "disabled";

		regulator-s5 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_s5";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa1 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <1>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l1 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l1";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa2 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <2>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l2 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l2";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa3 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <3>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l3 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l3";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa4 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <4>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l4 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l4";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa5 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <5>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l5 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l5";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa6 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <6>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l6 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l6";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa7 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <7>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l7 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l7";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa8 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <8>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l8 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l8";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	/* VDD_LPI_MX supply */
	rpm-regulator-ldoa9 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "rwlm";
		qcom,resource-id = <0>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l9 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l9";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa10 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <10>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l10 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l10";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa11 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <11>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l11 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l11";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa12 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <12>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l12 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l12";
			qcom,set = <3>;
			status = "disabled";
		};
	};

	rpm-regulator-ldoa13 {
		compatible = "qcom,rpm-smd-regulator-resource";
		qcom,resource-name = "ldoa";
		qcom,resource-id = <13>;
		qcom,regulator-type = <0>;
		qcom,hpm-min-load = <10000>;
		status = "disabled";

		regulator-l13 {
			compatible = "qcom,rpm-smd-regulator";
			regulator-name = "pms405_l13";
			qcom,set = <3>;
			status = "disabled";
		};
	};
};
+103 −0
Original line number Diff line number Diff line
/* Copyright (c) 2018, 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/spmi/spmi.h>
#include <dt-bindings/input/linux-event-codes.h>

&spmi_bus {
	qcom,pms405@0 {
		compatible ="qcom,spmi-pmic";
		reg = <0x0 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <1>;

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

		pms405_pon: qcom,power-on@800 {
			compatible = "qcom,qpnp-power-on";
			reg = <0x800 0x100>;
			interrupts = <0x0 0x8 0x0>;
			interrupt-names = "kpdpwr";
			qcom,pon-dbc-delay = <15625>;

			qcom,pon_1 {
				qcom,pon-type = <0>;
				qcom,pull-up = <1>;
				linux,code = <KEY_POWER>;
			};
		};

		pms405_misc: qcom,misc@900 {
			compatible = "qcom,qpnp-misc";
			reg = <0x900 0x100>;
		};

		/* QCS405 + PMS405 GPIO configuration */
		pms405_gpios: pinctrl@c000 {
			compatible = "qcom,spmi-gpio";
			reg = <0xc000 0xc00>;
			interrupts = <0x0 0xc1 0 IRQ_TYPE_NONE>,
				     <0x0 0xc2 0 IRQ_TYPE_NONE>,
				     <0x0 0xc3 0 IRQ_TYPE_NONE>,
				     <0x0 0xc4 0 IRQ_TYPE_NONE>,
				     <0x0 0xc5 0 IRQ_TYPE_NONE>,
				     <0x0 0xc6 0 IRQ_TYPE_NONE>,
				     <0x0 0xc7 0 IRQ_TYPE_NONE>,
				     <0x0 0xca 0 IRQ_TYPE_NONE>,
				     <0x0 0xcb 0 IRQ_TYPE_NONE>;
			interrupt-names = "pms405_gpio2",  "pms405_gpio3",
					  "pms405_gpio4",  "pms405_gpio5",
					  "pms405_gpio6",  "pms405_gpio7",
					  "pms405_gpio8",  "pms405_gpio11",
					  "pms405_gpio12";
			gpio-controller;
			#gpio-cells = <2>;
			#address-cells = <1>;
			#size-cells = <1>;
			qcom,gpios-disallowed = <1 9 10>;
		};

		qcom,pms405_rtc {
			compatible = "qcom,qpnp-rtc";
			#address-cells = <1>;
			#size-cells = <1>;
			qcom,qpnp-rtc-write = <0>;
			qcom,qpnp-rtc-alarm-pwrup = <0>;

			qcom,pms405_rtc_rw@6000 {
				reg = <0x6000 0x100>;
			};

			qcom,pms405_rtc_alarm@6100 {
				reg = <0x6100 0x100>;
				interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
			};
		};
	};

	qcom,pms405@1 {
		compatible = "qcom,spmi-pmic";
		reg = <0x1 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <1>;

		pms405_pwm: qcom,pwms@bc00 {
			compatible = "qcom,pwm-lpg";
			reg = <0xbc00 0x200>;
			reg-names = "lpg-base";
			#pwm-cells = <2>;
		};
	};
};