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

Commit 2764315c authored by Mohammed Javid's avatar Mohammed Javid Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: EMAC changes for qcs405



- Added support for EMAC in dts
- Added support for GPIOs mapped for EMAC.

Change-Id: I34e6eb03a52738042358f4650e0a896719e83bba
Acked-by: default avatarSuraj Jaiswal <jsuraj@qti.qualcomm.com>
Acked-by: default avatarvravik <vravik@qti.qualcomm.com>
Signed-off-by: default avatarMohammed Javid <mjavid@codeaurora.org>
parent 70908b04
Loading
Loading
Loading
Loading
+187 −0
Original line number Diff line number Diff line
@@ -1403,5 +1403,192 @@
				};
			};
		};
		emac {
			emac_mdc: emac_mdc {
				mux {
					pins = "gpio76";
					function = "rgmii_mdc";
				};

				config {
					pins = "gpio76";
					bias-pull-up;
				};
			};
			emac_mdio: emac_mdio {
				mux {
					pins = "gpio75";
					function = "rgmii_mdio";
				};

				config {
					pins = "gpio75";
					bias-pull-up;
				};
			};

			emac_rgmii_txd0: emac_rgmii_txd0 {
				mux {
					pins = "gpio67";
					function = "rgmii_tx";
				};

				config {
					pins = "gpio67";
					bias-pull-up;
					drive-strength = <16>;
				};
			};

			emac_rgmii_txd1: emac_rgmii_txd1 {
				mux {
					pins = "gpio66";
					function = "rgmii_tx";
				};

				config {
					pins = "gpio66";
					bias-pull-up;
					drive-strength = <16>;
				};
			};

			emac_rgmii_txd2: emac_rgmii_txd2 {
				mux {
					pins = "gpio65";
					function = "rgmii_tx";
				};

				config {
					pins = "gpio65";
					bias-pull-up;
					drive-strength = <16>;
				};
			};
			emac_rgmii_txd3: emac_rgmii_txd3 {
				mux {
					pins = "gpio64";
					function = "rgmii_tx";
				};

				config {
					pins = "gpio64";
					bias-pull-up;
					drive-strength = <16>;
				};
			};
			emac_rgmii_txc: emac_rgmii_txc {
				mux {
					pins = "gpio63";
					function = "rgmii_ck";
				};

				config {
					pins = "gpio63";
					bias-pull-up;
					drive-strength = <16>;
				};
			};
			emac_rgmii_tx_ctl: emac_rgmii_tx_ctl {
				mux {
					pins = "gpio68";
					function = "rgmii_ctl";
				};

				config {
					pins = "gpio68";
					bias-pull-up;
					drive-strength = <16>;
				};
			};


			emac_rgmii_rxd0: emac_rgmii_rxd0 {
				mux {
					pins = "gpio73";
					function = "rgmii_rx";
				};

				config {
					pins = "gpio73";
					bias-disable;  /* NO pull */
					drive-strength = <2>;  /* 2MA */
				};
			};

			emac_rgmii_rxd1: emac_rgmii_rxd1 {
				mux {
					pins = "gpio72";
					function = "rgmii_rx";
				};

				config {
					pins = "gpio72";
					bias-disable;  /* NO pull */
					drive-strength = <2>;
				};
			};

			emac_rgmii_rxd2: emac_rgmii_rxd2 {
				mux {
					pins = "gpio71";
					function = "rgmii_rx";
				};

				config {
					pins = "gpio71";
					bias-disable;	/* NO pull */
					drive-strength = <2>;
				};
			};
			emac_rgmii_rxd3: emac_rgmii_rxd3 {
				mux {
					pins = "gpio70";
					function = "rgmii_rx";
				};

				config {
					pins = "gpio70";
					bias-disable;	/* NO pull */
					drive-strength = <2>;
				};
			};
			emac_rgmii_rxc: emac_rgmii_rxc {
				mux {
					pins = "gpio69";
					function = "rgmii_ck";
				};

				config {
					pins = "gpio69";
					bias-disable;	/* NO pull */
					drive-strength = <2>;
				};
			};
			emac_rgmii_rx_ctl: emac_rgmii_rx_ctl {
				mux {
					pins = "gpio74";
					function = "rgmii_ctl";
				};

				config {
					pins = "gpio74";
					bias-disable;  /* NO pull */
					drive-strength = <2>;
				};
			};
			emac_phy_intr: emac_phy_intr {
				mux {
					pins = "gpio61";
					function = "rgmii_int";
				};

				config {
					pins = "gpio61";
					bias-disable;  /* NO pull */
					drive-strength = <2>;
				};
			};
		};
	};
};
+68 −0
Original line number Diff line number Diff line
@@ -1188,6 +1188,74 @@
			< 1267200 MHZ_TO_MBPS( 597, 4) >;
	};

	emac_hw: qcom,emac@07A80000 {
		compatible = "qcom,emac-dwc-eqos";
		reg = <0x07A80000 0x10000>,
			  <0x7A96000 0x100>;
		reg-names = "emac-base", "rgmii-base";
		dma-bit-mask = <32>;
		emac-core-version = <6>;
		interrupts-extended = <&wakegic 0 56 4>, <&wakegic 0 55 4>,
			<&tlmm 61 2>, <&wakegic 0 300 4>,
			<&wakegic 0 301 4>, <&wakegic 0 302 4>,
			<&wakegic 0 303 4>, <&wakegic 0 304 4>,
			<&wakegic 0 305 4>, <&wakegic 0 306 4>,
			<&wakegic 0 307 4>, <&wakegic 0 308 4>;
		interrupt-names = "sbd-intr", "lpi-intr",
			"rgmii_int", "tx-ch0-intr",
			"tx-ch1-intr", "tx-ch2-intr",
			"tx-ch3-intr", "tx-ch4-intr",
			"rx-ch0-intr", "rx-ch1-intr",
			"rx-ch2-intr", "rx-ch3-intr";
		qcom,msm-bus,name = "emac";
		qcom,msm-bus,num-cases = <4>;
		qcom,msm-bus,num-paths = <2>;
		qcom,msm-bus,vectors-KBps =
			<98 512 0 0>, <1 781 0 0>,  /* No vote */
			<98 512 1250 0>, <1 781 0 40000>,  /* 10Mbps vote */
			<98 512 12500 0>, <1 781 0 40000>,  /* 100Mbps vote */
			<98 512 125000 0>, <1 781 0 40000>; /* 1000Mbps vote */
		qcom,bus-vector-names = "0", "10", "100", "1000";
		clocks = <&clock_gcc GCC_ETH_AXI_CLK>,
				<&clock_gcc GCC_ETH_PTP_CLK>,
				<&clock_gcc GCC_ETH_RGMII_CLK>,
				<&clock_gcc GCC_ETH_SLAVE_AHB_CLK>;
		clock-names = "eth_axi_clk", "eth_ptp_clk",
				"eth_rgmii_clk", "eth_slave_ahb_clk";
		qcom,phy-reset = <&tlmm 60 GPIO_ACTIVE_HIGH>;
		qcom,phy-intr-redirect = <&tlmm 61 GPIO_ACTIVE_LOW>;
		/*gdsc_emac-supply = <&emac_gdsc>;*/
		pinctrl-names = "dev-emac-mdc", "dev-emac-mdio",
		"dev-emac-rgmii_txd0_state", "dev-emac-rgmii_txd1_state",
		"dev-emac-rgmii_txd2_state", "dev-emac-rgmii_txd3_state",
		"dev-emac-rgmii_txc_state",  "dev-emac-rgmii_tx_ctl_state",
		"dev-emac-rgmii_rxd0_state", "dev-emac-rgmii_rxd1_state",
		"dev-emac-rgmii_rxd2_state", "dev-emac-rgmii_rxd3_state",
		"dev-emac-rgmii_rxc_state", "dev-emac-rgmii_rx_ctl_state",
		"dev-emac-phy_intr";

		pinctrl-0 = <&emac_mdc>;
		pinctrl-1 = <&emac_mdio>;
		pinctrl-2 = <&emac_rgmii_txd0>;
		pinctrl-3 = <&emac_rgmii_txd1>;
		pinctrl-4 = <&emac_rgmii_txd2>;
		pinctrl-5 = <&emac_rgmii_txd3>;
		pinctrl-6 = <&emac_rgmii_txc>;
		pinctrl-7 = <&emac_rgmii_tx_ctl>;
		pinctrl-8 = <&emac_rgmii_rxd0>;
		pinctrl-9 = <&emac_rgmii_rxd1>;
		pinctrl-10 = <&emac_rgmii_rxd2>;
		pinctrl-11 = <&emac_rgmii_rxd3>;
		pinctrl-12 = <&emac_rgmii_rxc>;
		pinctrl-13 = <&emac_rgmii_rx_ctl>;
		pinctrl-14 = <&emac_phy_intr>;

		io-macro-info {
			io-macro-bypass-mode = <0>;
			io-interface = "rgmii";
		};
	};

	bluetooth: bt_wcn3990 {
		compatible = "qca,wcn3990";
		qca,bt-vdd-core-supply = <&pms405_l5>;