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

Commit d4714a5a authored by Andy Gross's avatar Andy Gross
Browse files

Merge tag 'qcom-dts-for-4.10-1' into dts-for-4.10-2

Qualcomm Device Tree Changes for v4.10 - v2

* Add EBI2 support to MSM8660
* Add SMSC ethernet support to APQ8060
* Add support for display, pstore, iommu, and hdmi to APQ8064
* Add SDHCI node to MSM8974 Hammerhead
* Add WP8548 MangOH board support (MDM9615)
parents 1001354c 4c52ffc7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ The 'SoC' element must be one of the following strings:
	msm8916
	msm8974
	msm8996
	mdm9615

The 'board' element must be one of the following strings:

+12 −0
Original line number Diff line number Diff line
Sierra Wireless Modules device tree bindings
--------------------------------------------

Supported Modules :
 - WP8548 : Includes MDM9615 and PM8018 in a module

Sierra Wireless modules shall have the following properties :
  Required root node property
   - compatible: "swir,wp8548" for the WP8548 CF3 Module

Board compatible values:
  - "swir,mangoh-green-wp8548" for the mangOH green board with the WP8548 module
+2 −1
Original line number Diff line number Diff line
@@ -620,7 +620,8 @@ dtb-$(CONFIG_ARCH_QCOM) += \
	qcom-msm8660-surf.dtb \
	qcom-msm8960-cdp.dtb \
	qcom-msm8974-lge-nexus5-hammerhead.dtb \
	qcom-msm8974-sony-xperia-honami.dtb
	qcom-msm8974-sony-xperia-honami.dtb \
	qcom-mdm9615-wp8548-mangoh-green.dtb
dtb-$(CONFIG_ARCH_REALVIEW) += \
	arm-realview-pb1176.dtb \
	arm-realview-pb11mp.dtb \
+119 −0
Original line number Diff line number Diff line
@@ -51,6 +51,29 @@
			regulator-boot-on;
		};

		/* GPIO controlled ethernet power regulator */
		dragon_veth: xc622a331mrg {
			compatible = "regulator-fixed";
			regulator-name = "XC6222A331MR-G";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			vin-supply = <&vph>;
			gpio = <&pm8058_gpio 40 GPIO_ACTIVE_HIGH>;
			enable-active-high;
			pinctrl-names = "default";
			pinctrl-0 = <&dragon_veth_gpios>;
			regulator-always-on;
		};

		/* VDDvario fixed regulator */
		dragon_vario: nds332p {
			compatible = "regulator-fixed";
			regulator-name = "NDS332P";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			vin-supply = <&pm8058_s3>;
		};

		/* This is a levelshifter for SDCC5 */
		dragon_vio_txb: txb0104rgyr {
			compatible = "regulator-fixed";
@@ -167,6 +190,36 @@
					bias-pull-up;
				};
			};

			dragon_ebi2_pins: ebi2 {
				/*
				 * Pins used by EBI2 on the Dragonboard, actually only
				 * CS2 is used by a real peripheral. CS0 is just
				 * routed to a test point.
				 */
				mux0 {
					pins =
					    /* "gpio39", CS1A_N this is not good to mux */
					    "gpio40", /* CS2A_N */
					    "gpio134"; /* CS0_N testpoint TP29 */
					function = "ebi2cs";
				};
				mux1 {
					pins =
					    /* EBI2_ADDR_7 downto EBI2_ADDR_0 address bus */
					    "gpio123", "gpio124", "gpio125", "gpio126",
					    "gpio127", "gpio128", "gpio129", "gpio130",
					    /* EBI2_DATA_15 downto EBI2_DATA_0 data bus */
					    "gpio135", "gpio136", "gpio137", "gpio138",
					    "gpio139", "gpio140", "gpio141", "gpio142",
					    "gpio143", "gpio144", "gpio145", "gpio146",
					    "gpio147", "gpio148", "gpio149", "gpio150",
					    "gpio151", /* EBI2_OE_N */
					    "gpio153", /* EBI2_ADV */
					    "gpio157"; /* EBI2_WE_N */
					function = "ebi2";
				};
			};
		};

		qcom,ssbi@500000 {
@@ -201,6 +254,15 @@
				};

				gpio@150 {
					dragon_ethernet_gpios: ethernet-gpios {
						pinconf {
							pins = "gpio7";
							function = "normal";
							input-enable;
							bias-disable;
							power-source = <PM8058_GPIO_S3>;
						};
					};
					dragon_bmp085_gpios: bmp085-gpios {
						pinconf {
							pins = "gpio16";
@@ -238,6 +300,14 @@
							power-source = <PM8058_GPIO_S3>;
						};
					};
					dragon_veth_gpios: veth-gpios {
						pinconf {
							pins = "gpio40";
							function = "normal";
							bias-disable;
							drive-push-pull;
						};
					};
				};

				led@48 {
@@ -322,6 +392,55 @@
			};
		};

		external-bus@1a100000 {
			/* The EBI2 will instantiate first, then populate its children */
			status = "ok";
			pinctrl-names = "default";
			pinctrl-0 = <&dragon_ebi2_pins>;

			/*
			 * An on-board SMSC LAN9221 chip for "debug ethernet",
			 * which is actually just an ordinary ethernet on the
			 * EBI2. This has a 25MHz chrystal next to it, so no
			 * clocking is needed.
			 */
			ethernet-ebi2@2,0 {
				compatible = "smsc,lan9221", "smsc,lan9115";
				reg = <2 0x0 0x100>;
				/*
				 * GPIO7 has interrupt 198 on the PM8058
				 * The second interrupt is the PME interrupt
				 * for network wakeup, connected to the TLMM.
				 */
				interrupts-extended = <&pmicintc 198 IRQ_TYPE_EDGE_FALLING>,
						    <&tlmm 29 IRQ_TYPE_EDGE_RISING>;
				reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
				vdd33a-supply = <&dragon_veth>;
				vddvario-supply = <&dragon_vario>;
				pinctrl-names = "default";
				pinctrl-0 = <&dragon_ethernet_gpios>;
				phy-mode = "mii";
				reg-io-width = <2>;
				smsc,force-external-phy;
				/* IRQ on edge falling = active low */
				smsc,irq-active-low;
				smsc,irq-push-pull;

				/*
				 * SLOW chipselect config
				 * Delay 9 cycles (140ns@64MHz) between SMSC
				 * LAN9221 Ethernet controller reads and writes
				 * on CS2.
				 */
				qcom,xmem-recovery-cycles = <0>;
				qcom,xmem-write-hold-cycles = <3>;
				qcom,xmem-write-delta-cycles = <31>;
				qcom,xmem-read-delta-cycles = <28>;
				qcom,xmem-write-wait-cycles = <9>;
				qcom,xmem-read-wait-cycles = <9>;
			};
		};

		rpm@104000 {
			/*
			 * Set up of the PMIC RPM regulators for this board
+75 −2
Original line number Diff line number Diff line
@@ -15,6 +15,20 @@
		stdout-path = "serial0:115200n8";
	};

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		ramoops@88d00000{
			compatible = "ramoops";
			reg = <0x88d00000 0x100000>;
			record-size     = <0x00020000>;
			console-size    = <0x00020000>;
			ftrace-size     = <0x00020000>;
		};
	};

	ext_3p3v: regulator-fixed@1 {
		compatible = "regulator-fixed";
		regulator-min-microvolt = <3300000>;
@@ -99,6 +113,7 @@
				l2 {
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
				};

				/* msm_otg-HSUSB_3p3 */
@@ -133,13 +148,14 @@
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					bias-pull-down;
					regulator-always-on;
				};

				/* pwm_power for backlight */
				l17 {
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3600000>;
					bias-pull-down;
					regulator-max-microvolt = <3000000>;
					regulator-always-on;
				};

				/* camera, qdsp6 */
@@ -184,6 +200,63 @@
			};
		};

		mdp@5100000 {
			status = "okay";
			ports {
				port@1 {
					mdp_dsi1_out: endpoint {
						remote-endpoint = <&dsi0_in>;
					};
				};
			};
		};

		dsi0: mdss_dsi@4700000 {
			status = "okay";
			vdda-supply = <&pm8921_l2>;/*VDD_MIPI1 to 4*/
			vdd-supply = <&pm8921_l8>;
			vddio-supply = <&pm8921_lvs7>;
			avdd-supply = <&pm8921_l11>;
			vcss-supply = <&ext_3p3v>;

			panel@0 {
				reg = <0>;
				compatible = "jdi,lt070me05000";

				vddp-supply = <&pm8921_l17>;
				iovcc-supply = <&pm8921_lvs7>;

				enable-gpios = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>;
				reset-gpios = <&tlmm_pinmux 54 GPIO_ACTIVE_LOW>;
				dcdc-en-gpios = <&pm8921_gpio 23 GPIO_ACTIVE_HIGH>;

				port {
					panel_in: endpoint {
						remote-endpoint = <&dsi0_out>;
					};
				};
			};
			ports {
				port@0 {
					dsi0_in: endpoint {
						remote-endpoint = <&mdp_dsi1_out>;
					};
				};

				port@1 {
					dsi0_out: endpoint {
						remote-endpoint = <&panel_in>;
						data-lanes = <0 1 2 3>;
					};
				};
			};
		};

		dsi-phy@4700200 {
			status = "okay";
			vddio-supply = <&pm8921_lvs7>;/*VDD_PLL2_1 to 7*/
		};

		gsbi@16200000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_I2C>;
Loading