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

Commit da6330fe authored by Veera Vegivada's avatar Veera Vegivada
Browse files

ARM: dts: msm: Reorganize the apps_rsc and mxlvl node for sa8195

Move the 'apps_rsc' node to the beginning of the 'soc'
node such that the rpmh-regulator devices are populated
early in the boot process. As many consumers' probe depend
on these regulator devices, placing 'apps_rsc' at the beginning
would satisfy the consumer devices as soon as they are
populated later in the boot. This way, the drivers no longer
have to wait for the regulator devices to be populated, thus
optimizing the boot performance.

Change-Id: I8f760a8e3eb3c0e301e5866d83e828208743c183
parent 60da1ce9
Loading
Loading
Loading
Loading
+65 −65
Original line number Diff line number Diff line
@@ -31,6 +31,71 @@
		};
	};

	/* PM8150C S3 + S4 = VDD_MX supply */
	rpmh-regulator-mxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		qcom,resource-name = "mx.lvl";

		VDD_MX_LEVEL: S3C_LEVEL:
		pm8150c_s3_level: regulator-pm8150c-s3-level {
			regulator-name = "pm8150c_s3_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
		};

		VDD_MX_LEVEL_AO: S3C_LEVEL_AO:
		pm8150c_s3_level_ao: regulator-pm8150c-s3-level-ao {
			regulator-name = "pm8150c_s3_level_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
		};
	};

	/* PM8150_2 regulators */
	/* PM8150_2 S3 + S2 + S1 = VDD_CX supply */
	rpmh-regulator-cxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		qcom,resource-name = "cx.lvl";
		pm8150_2_s3_level-parent-supply = <&VDD_MX_LEVEL>;
		pm8150_2_s3_level_ao-parent-supply = <&VDD_MX_LEVEL_AO>;

		VDD_CX_LEVEL: S3E_LEVEL:
		pm8150_2_s3_level: regulator-pm8150_2-s3-level {
			regulator-name = "pm8150_2_s3_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			qcom,min-dropout-voltage-level = <(-1)>;
		};

		VDD_CX_LEVEL_AO: S3E_LEVEL_AO:
		pm8150_2_s3_level_ao: regulator-pm8150_2-s3-level-ao {
			regulator-name = "pm8150_2_s3_level_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			qcom,min-dropout-voltage-level = <(-1)>;
		};
	};

	rpmh-regulator-ldoa3 {
		compatible = "qcom,rpmh-vrm-regulator";
		qcom,resource-name = "ldoa3";
@@ -248,41 +313,6 @@
		};
	};

	/* PM8150_2 regulators */
	/* PM8150_2 S3 + S2 + S1 = VDD_CX supply */
	rpmh-regulator-cxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		qcom,resource-name = "cx.lvl";
		pm8150_2_s3_level-parent-supply = <&VDD_MX_LEVEL>;
		pm8150_2_s3_level_ao-parent-supply = <&VDD_MX_LEVEL_AO>;

		VDD_CX_LEVEL: S3E_LEVEL:
		pm8150_2_s3_level: regulator-pm8150_2-s3-level {
			regulator-name = "pm8150_2_s3_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			qcom,min-dropout-voltage-level = <(-1)>;
		};

		VDD_CX_LEVEL_AO: S3E_LEVEL_AO:
		pm8150_2_s3_level_ao: regulator-pm8150_2-s3-level-ao {
			regulator-name = "pm8150_2_s3_level_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			qcom,min-dropout-voltage-level = <(-1)>;
		};
	};

	rpmh-regulator-smpe4 {
		compatible = "qcom,rpmh-vrm-regulator";
		qcom,resource-name = "smpe4";
@@ -585,36 +615,6 @@
		};
	};

	/* PM8150C S3 + S4 = VDD_MX supply */
	rpmh-regulator-mxlvl {
		compatible = "qcom,rpmh-arc-regulator";
		qcom,resource-name = "mx.lvl";

		VDD_MX_LEVEL: S3C_LEVEL:
		pm8150c_s3_level: regulator-pm8150c-s3-level {
			regulator-name = "pm8150c_s3_level";
			qcom,set = <RPMH_REGULATOR_SET_ALL>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
		};

		VDD_MX_LEVEL_AO: S3C_LEVEL_AO:
		pm8150c_s3_level_ao: regulator-pm8150c-s3-level-ao {
			regulator-name = "pm8150c_s3_level_ao";
			qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
			regulator-min-microvolt
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
			regulator-max-microvolt
				= <RPMH_REGULATOR_LEVEL_MAX>;
			qcom,init-voltage-level
				= <RPMH_REGULATOR_LEVEL_RETENTION>;
		};
	};

	/* PM8150C S5 = VDDA_EBI supply */
	rpmh-regulator-ebilvl {
		compatible = "qcom,rpmh-arc-regulator";
+32 −32
Original line number Diff line number Diff line
@@ -469,6 +469,38 @@
		interrupt-controller;
	};

	apps_rsc: rsc@18200000 {
		label = "apps_rsc";
		compatible = "qcom,rpmh-rsc";
		reg = <0x18200000 0x10000>,
		      <0x18210000 0x10000>,
		      <0x18220000 0x10000>;
		reg-names = "drv-0", "drv-1", "drv-2";
		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
		qcom,tcs-offset = <0xd00>;
		qcom,drv-id = <2>;
		qcom,tcs-config = <ACTIVE_TCS  2>,
				  <SLEEP_TCS   3>,
				  <WAKE_TCS    3>,
				  <CONTROL_TCS 1>;

		apps_bcm_voter: bcm_voter {
			compatible = "qcom,bcm-voter";
		};

		rpmhcc: clock-controller {
			compatible = "qcom,sm8150-rpmh-clk";
			#clock-cells = <1>;
			status = "okay";
		};

		system_pm {
			compatible = "qcom,system-pm";
		};
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <1 1 0xf08>,
@@ -1021,38 +1053,6 @@
		clock-frequency = <32768>;
	};

	apps_rsc: rsc@18200000 {
		label = "apps_rsc";
		compatible = "qcom,rpmh-rsc";
		reg = <0x18200000 0x10000>,
		      <0x18210000 0x10000>,
		      <0x18220000 0x10000>;
		reg-names = "drv-0", "drv-1", "drv-2";
		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
		qcom,tcs-offset = <0xd00>;
		qcom,drv-id = <2>;
		qcom,tcs-config = <ACTIVE_TCS  2>,
				  <SLEEP_TCS   3>,
				  <WAKE_TCS    3>,
				  <CONTROL_TCS 1>;

		apps_bcm_voter: bcm_voter {
			compatible = "qcom,bcm-voter";
		};

		rpmhcc: clock-controller {
			compatible = "qcom,sm8150-rpmh-clk";
			#clock-cells = <1>;
			status = "okay";
		};

		system_pm {
			compatible = "qcom,system-pm";
		};
	};

	disp_rsc: rsc@af20000 {
		label = "disp_rsc";
		compatible = "qcom,rpmh-rsc";