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

Commit 9f384d67 authored by Andy Gross's avatar Andy Gross
Browse files

Merge tag 'qcom-dt-for-4.3' into v4.2-rc2

Qualcomm ARM Based Device Tree Updates for v4.3

* Switch to use pinctrl compatible for GPIOs
* Add RPM regulators for MSM8960
* Add SPI Ethernet support on MSM8960 CDP
* Add SMEM support along with dependencies
* Add PM8921 support for GPIO and MPP
* Fix GSBI cell index
* Switch to use real regulators on APQ8064 w/ SDCC
parents bc0195aa baff39e6
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -67,6 +67,12 @@
					bias-pull-down;
				};

				pm8921_l5: l5 {
					regulator-min-microvolt = <2750000>;
					regulator-max-microvolt = <3000000>;
					bias-pull-down;
				};

				pm8921_l23: l23 {
					regulator-min-microvolt = <1700000>;
					regulator-max-microvolt = <1900000>;
@@ -140,19 +146,33 @@
			status = "okay";
		};

		/* on board fixed 3.3v supply */
		v3p3_fixed: v3p3 {
			compatible = "regulator-fixed";
			regulator-name = "PCIE V3P3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		amba {
			/* eMMC */
			sdcc1: sdcc@12400000 {
				status = "okay";
				vmmc-supply = <&pm8921_l5>;
				vqmmc-supply = <&pm8921_s4>;
			};

			/* External micro SD card */
			sdcc3: sdcc@12180000 {
				status = "okay";
				vmmc-supply = <&v3p3_fixed>;
			};
			/* WLAN */
			sdcc4: sdcc@121c0000 {
				status = "okay";
				vmmc-supply = <&v3p3_fixed>;
				vqmmc-supply = <&v3p3_fixed>;
			};
		};
	};
+40 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@

	aliases {
		serial0 = &gsbi7_serial;
		serial1 = &gsbi6_serial;
	};

	soc {
@@ -73,6 +74,12 @@
					bias-pull-down;
				};

				pm8921_l5: l5 {
					regulator-min-microvolt = <2750000>;
					regulator-max-microvolt = <3000000>;
					bias-pull-down;
				};

				pm8921_l6: l6 {
					regulator-min-microvolt = <2950000>;
					regulator-max-microvolt = <2950000>;
@@ -84,8 +91,24 @@
					regulator-max-microvolt = <1900000>;
					bias-pull-down;
				};

				pm8921_lvs1: lvs1 {
					bias-pull-down;
				};
			};
		};

		ext_3p3v: regulator-fixed@1 {
			compatible = "regulator-fixed";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-name = "ext_3p3v";
			regulator-type = "voltage";
			startup-delay-us = <0>;
			gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
			enable-active-high;
			regulator-boot-on;
		};

		gsbi3: gsbi@16200000 {
			status = "okay";
@@ -115,6 +138,18 @@
			};
		};

		gsbi@16500000 {
			status = "ok";
			qcom,mode = <GSBI_PROT_I2C_UART>;

			serial@16540000 {
				status = "ok";

				pinctrl-names = "default";
				pinctrl-0 = <&uart_pins>;
			};
		};

		gsbi@16600000 {
			status = "ok";
			qcom,mode = <GSBI_PROT_I2C_UART>;
@@ -175,11 +210,14 @@
			/* eMMC */
			sdcc1: sdcc@12400000 {
				status = "okay";
				vmmc-supply = <&pm8921_l5>;
				vqmmc-supply = <&pm8921_s4>;
			};

			/* External micro SD card */
			sdcc3: sdcc@12180000 {
				status = "okay";
				vmmc-supply = <&pm8921_l6>;
				pinctrl-names	= "default";
				pinctrl-0	= <&card_detect>;
				cd-gpios	= <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
@@ -187,6 +225,8 @@
			/* WLAN */
			sdcc4: sdcc@121c0000 {
				status = "okay";
				vmmc-supply = <&ext_3p3v>;
				vqmmc-supply = <&pm8921_lvs1>;
			};
		};
	};
+77 −14
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@
#include <dt-bindings/clock/qcom,mmcc-msm8960.h>
#include <dt-bindings/soc/qcom,gsbi.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>

/ {
	model = "Qualcomm APQ8064";
	compatible = "qcom,apq8064";
@@ -127,6 +126,13 @@
					function = "gsbi3";
				};
			};

			uart_pins: uart_pins {
				mux {
					pins = "gpio14", "gpio15", "gpio16", "gpio17";
					function = "gsbi6";
				};
			};
		};

		intc: interrupt-controller@2000000 {
@@ -243,13 +249,13 @@
		gsbi3: gsbi@16200000 {
			status = "disabled";
			compatible = "qcom,gsbi-v1.0.0";
			cell-index = <3>;
			reg = <0x16200000 0x100>;
			clocks = <&gcc GSBI3_H_CLK>;
			clock-names = "iface";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			i2c3: i2c@16280000 {
				compatible = "qcom,i2c-qup-v1.1.1";
				reg = <0x16280000 0x1000>;
@@ -260,6 +266,28 @@
			};
		};

		gsbi6: gsbi@16500000 {
			status = "disabled";
			compatible = "qcom,gsbi-v1.0.0";
			cell-index = <6>;
			reg = <0x16500000 0x03>;
			clocks = <&gcc GSBI6_H_CLK>;
			clock-names = "iface";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			gsbi6_serial: serial@16540000 {
				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
				reg = <0x16540000 0x100>,
				      <0x16500000 0x03>;
				interrupts = <0 156 0x0>;
				clocks = <&gcc GSBI6_UART_CLK>, <&gcc GSBI6_H_CLK>;
				clock-names = "core", "iface";
				status = "disabled";
			};
		};

		gsbi7: gsbi@16600000 {
			status = "disabled";
			compatible = "qcom,gsbi-v1.0.0";
@@ -287,6 +315,53 @@
			compatible = "qcom,ssbi";
			reg = <0x00500000 0x1000>;
			qcom,controller-type = "pmic-arbiter";

			pmicintc: pmic@0 {
				compatible = "qcom,pm8921";
				interrupt-parent = <&tlmm_pinmux>;
				interrupts = <74 8>;
				#interrupt-cells = <2>;
				interrupt-controller;
				#address-cells = <1>;
				#size-cells = <0>;

				pm8921_gpio: gpio@150 {

					compatible = "qcom,pm8921-gpio";
					reg = <0x150>;
					interrupts = <192 1>, <193 1>, <194 1>,
						     <195 1>, <196 1>, <197 1>,
						     <198 1>, <199 1>, <200 1>,
						     <201 1>, <202 1>, <203 1>,
						     <204 1>, <205 1>, <206 1>,
						     <207 1>, <208 1>, <209 1>,
						     <210 1>, <211 1>, <212 1>,
						     <213 1>, <214 1>, <215 1>,
						     <216 1>, <217 1>, <218 1>,
						     <219 1>, <220 1>, <221 1>,
						     <222 1>, <223 1>, <224 1>,
						     <225 1>, <226 1>, <227 1>,
						     <228 1>, <229 1>, <230 1>,
						     <231 1>, <232 1>, <233 1>,
						     <234 1>, <235 1>;

					gpio-controller;
					#gpio-cells = <2>;

				};

				pm8921_mpps: mpps@50 {
					compatible = "qcom,pm8921-mpp";
					reg = <0x50>;
					gpio-controller;
					#gpio-cells = <2>;
					interrupts =
					<128 1>, <129 1>, <130 1>, <131 1>,
					<132 1>, <133 1>, <134 1>, <135 1>,
					<136 1>, <137 1>, <138 1>, <139 1>;
				};

			};
		};

		gcc: clock-controller@900000 {
@@ -448,14 +523,6 @@
		};

		/* Temporary fixed regulator */
		vsdcc_fixed: vsdcc-regulator {
			compatible = "regulator-fixed";
			regulator-name = "SDCC Power";
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <2700000>;
			regulator-always-on;
		};

		sdcc1bam:dma@12402000{
			compatible = "qcom,bam-v1.3.0";
			reg = <0x12402000 0x8000>;
@@ -505,7 +572,6 @@
				non-removable;
				cap-sd-highspeed;
				cap-mmc-highspeed;
				vmmc-supply = <&vsdcc_fixed>;
				dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
				dma-names = "tx", "rx";
			};
@@ -524,7 +590,6 @@
				cap-mmc-highspeed;
				max-frequency	= <192000000>;
				no-1-8-v;
				vmmc-supply = <&vsdcc_fixed>;
				dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
				dma-names = "tx", "rx";
			};
@@ -542,8 +607,6 @@
				cap-sd-highspeed;
				cap-mmc-highspeed;
				max-frequency	= <48000000>;
				vmmc-supply = <&vsdcc_fixed>;
				vqmmc-supply = <&vsdcc_fixed>;
				dmas = <&sdcc4bam 2>, <&sdcc4bam 1>;
				dma-names = "tx", "rx";
				pinctrl-names = "default";
+6 −5
Original line number Diff line number Diff line
@@ -67,15 +67,16 @@
			cpu-offset = <0x40000>;
		};

		msmgpio: gpio@800000 {
			compatible = "qcom,msm-gpio";
			reg = <0x00800000 0x4000>;
		tlmm: pinctrl@800000 {
			compatible = "qcom,msm8660-pinctrl";
			reg = <0x800000 0x4000>;

			gpio-controller;
			#gpio-cells = <2>;
			ngpio = <173>;
			interrupts = <0 16 0x4>;
			interrupt-controller;
			#interrupt-cells = <2>;

		};

		gcc: clock-controller@900000 {
@@ -115,7 +116,7 @@

			pmicintc: pmic@0 {
				compatible = "qcom,pm8058";
				interrupt-parent = <&msmgpio>;
				interrupt-parent = <&tlmm>;
				interrupts = <88 8>;
				#interrupt-cells = <2>;
				interrupt-controller;
+302 −0
Original line number Diff line number Diff line
@@ -26,6 +26,308 @@
				status = "okay";
			};
		};

		rpm@108000 {
			regulators {
				compatible = "qcom,rpm-pm8921-regulators";
				vin_lvs1_3_6-supply = <&pm8921_s4>;
				vin_lvs2-supply = <&pm8921_s4>;
				vin_lvs4_5_7-supply = <&pm8921_s4>;
				vdd_ncp-supply = <&pm8921_l6>;
				vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
				vdd_l21_l23_l29-supply = <&pm8921_s8>;
				vdd_l24-supply = <&pm8921_s1>;
				vdd_l25-supply = <&pm8921_s1>;
				vdd_l27-supply = <&pm8921_s7>;
				vdd_l28-supply = <&pm8921_s7>;

				/* Buck SMPS */
				pm8921_s1: s1 {
					regulator-always-on;
					regulator-min-microvolt = <1225000>;
					regulator-max-microvolt = <1225000>;
					qcom,switch-mode-frequency = <3200000>;
					bias-pull-down;
				};

				pm8921_s2: s2 {
					regulator-min-microvolt = <1300000>;
					regulator-max-microvolt = <1300000>;
					qcom,switch-mode-frequency = <1600000>;
					bias-pull-down;
				};

				pm8921_s3: s3 {
					regulator-min-microvolt = <500000>;
					regulator-max-microvolt = <1150000>;
					qcom,switch-mode-frequency = <4800000>;
					bias-pull-down;
				};

				pm8921_s4: s4 {
					regulator-always-on;
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,switch-mode-frequency = <1600000>;
					bias-pull-down;
					qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
				};

				pm8921_s7: s7 {
					regulator-min-microvolt = <1150000>;
					regulator-max-microvolt = <1150000>;
					qcom,switch-mode-frequency = <3200000>;
					bias-pull-down;
				};

				pm8921_s8: s8 {
					regulator-always-on;
					regulator-min-microvolt = <2050000>;
					regulator-max-microvolt = <2050000>;
					qcom,switch-mode-frequency = <1600000>;
					bias-pull-down;
				};

				/* PMOS LDO */
				pm8921_l1: l1 {
					regulator-always-on;
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					bias-pull-down;
				};

				pm8921_l2: l2 {
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					bias-pull-down;
				};

				pm8921_l3: l3 {
					regulator-min-microvolt = <3075000>;
					regulator-max-microvolt = <3075000>;
					bias-pull-down;
				};

				pm8921_l4: l4 {
					regulator-always-on;
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					bias-pull-down;
				};

				pm8921_l5: l5 {
					regulator-min-microvolt = <2950000>;
					regulator-max-microvolt = <2950000>;
					bias-pull-down;
				};

				pm8921_l6: l6 {
					regulator-min-microvolt = <2950000>;
					regulator-max-microvolt = <2950000>;
					bias-pull-down;
				};

				pm8921_l7: l7 {
					regulator-always-on;
					regulator-min-microvolt = <1850000>;
					regulator-max-microvolt = <2950000>;
					bias-pull-down;
				};

				pm8921_l8: l8 {
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <3000000>;
					bias-pull-down;
				};

				pm8921_l9: l9 {
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					bias-pull-down;
				};

				pm8921_l10: l10 {
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					bias-pull-down;
				};

				pm8921_l11: l11 {
					regulator-min-microvolt = <2850000>;
					regulator-max-microvolt = <2850000>;
					bias-pull-down;
				};

				pm8921_l12: l12 {
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					bias-pull-down;
				};

				pm8921_l14: l14 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					bias-pull-down;
				};

				pm8921_l15: l15 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <2950000>;
					bias-pull-down;
				};

				pm8921_l16: l16 {
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					bias-pull-down;
				};

				pm8921_l17: l17 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <2950000>;
					bias-pull-down;
				};

				pm8921_l18: l18 {
					regulator-min-microvolt = <1300000>;
					regulator-max-microvolt = <1300000>;
					bias-pull-down;
				};

				pm8921_l21: l21 {
					regulator-min-microvolt = <1900000>;
					regulator-max-microvolt = <1900000>;
					bias-pull-down;
				};

				pm8921_l22: l22 {
					regulator-min-microvolt = <2750000>;
					regulator-max-microvolt = <2750000>;
					bias-pull-down;
				};

				pm8921_l23: l23 {
					regulator-always-on;
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					bias-pull-down;
				};

				pm8921_l24: l24 {
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt = <1150000>;
					bias-pull-down;
				};

				pm8921_l25: l25 {
					regulator-always-on;
					regulator-min-microvolt = <1250000>;
					regulator-max-microvolt = <1250000>;
					bias-pull-down;
				};

				/* Low Voltage Switch */
				pm8921_lvs1: lvs1 {
					bias-pull-down;
				};

				pm8921_lvs2: lvs2 {
					bias-pull-down;
				};

				pm8921_lvs3: lvs3 {
					bias-pull-down;
				};

				pm8921_lvs4: lvs4 {
					bias-pull-down;
				};

				pm8921_lvs5: lvs5 {
					bias-pull-down;
				};

				pm8921_lvs6: lvs6 {
					bias-pull-down;
				};

				pm8921_lvs7: lvs7 {
					bias-pull-down;
				};

				pm8921_ncp: ncp {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,switch-mode-frequency = <1600000>;
				};
			};
		};

		gsbi@16000000 {
			status = "ok";
			qcom,mode = <GSBI_PROT_SPI>;
			pinctrl-names = "default";
			pinctrl-0 = <&spi1_default>;
			spi@16080000 {
				status = "ok";
				eth@0 {
					compatible = "micrel,ks8851";
					reg = <0>;
					interrupt-parent = <&msmgpio>;
					interrupts = <90 8>;
					spi-max-frequency = <5400000>;
					vdd-supply = <&ext_l2>;
					vdd-io-supply = <&pm8921_lvs6>;
					reset-gpios = <&msmgpio 89 0>;
				};
			};
		};

		pinctrl@800000 {
			spi1_default: spi1_default {
				mux {
					pins = "gpio6", "gpio7", "gpio9";
					function = "gsbi1";
				};

				mosi {
					pins = "gpio6";
					drive-strength = <12>;
					bias-disable;
				};

				miso {
					pins = "gpio7";
					drive-strength = <12>;
					bias-disable;
				};

				cs {
					pins = "gpio8";
					drive-strength = <12>;
					bias-disable;
					output-low;
				};

				clk {
					pins = "gpio9";
					drive-strength = <12>;
					bias-disable;
				};
			};
		};
	};

	regulators {
		compatible = "simple-bus";

		ext_l2: gpio-regulator@91 {
			compatible = "regulator-fixed";
			regulator-name = "ext_l2";
			gpio = <&msmgpio 91 0>;
			startup-delay-us = <10000>;
			enable-active-high;
		};
	};
};

Loading