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

Commit 30c686a1 authored by Jayadev K's avatar Jayadev K
Browse files

ARM: dts: qcom: Add HS-I2S device tree support on SA8155



Adding device nodes and pinctrl definitions for HS-I2S driver.

Change-Id: I49a18d052ed9f269ee887e0fc9c36a66cd2ec9a8
Signed-off-by: default avatarJayadev K <jayak@codeaurora.org>
parent 4f2db477
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
@@ -499,6 +499,60 @@
#include <dt-bindings/gpio/gpio.h>

&soc {
	hsi2s: qcom,hsi2s {
		compatible = "qcom,sa8155-hsi2s", "qcom,hsi2s";
		number-of-interfaces = <3>;
		reg = <0x172C0000 0x28000>,
		      <0x17080000 0xE000>;
		reg-names = "lpa_if", "lpass_tcsr";
		interrupts = <GIC_SPI 267 0>;

		sdr0: qcom,hs0_i2s {
			compatible = "qcom,hsi2s-interface";
			minor-number = <0>;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&hs1_i2s_mclk_active &hs1_i2s_sck_active
				     &hs1_i2s_ws_active &hs1_i2s_data0_active
				     &hs1_i2s_data1_active>;
			pinctrl-1 = <&hs1_i2s_mclk_sleep &hs1_i2s_sck_sleep
				     &hs1_i2s_ws_sleep &hs1_i2s_data0_sleep
				     &hs1_i2s_data1_sleep>;
			iommus = <&apps_smmu 0x1B5C 0x0>;
			qcom,smmu-s1-bypass;
			qcom,iova-mapping = <0x0 0xFFFFFFFF>;
		};

		sdr1: qcom,hs1_i2s {
			compatible = "qcom,hsi2s-interface";
			minor-number = <1>;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&hs2_i2s_mclk_active &hs2_i2s_sck_active
				     &hs2_i2s_ws_active &hs2_i2s_data0_active
				     &hs2_i2s_data1_active>;
			pinctrl-1 = <&hs2_i2s_mclk_sleep &hs2_i2s_sck_sleep
				     &hs2_i2s_ws_sleep &hs2_i2s_data0_sleep
				     &hs2_i2s_data1_sleep>;
			iommus = <&apps_smmu 0x1B5D 0x0>;
			qcom,smmu-s1-bypass;
			qcom,iova-mapping = <0x0 0xFFFFFFFF>;
		};

		sdr2: qcom,hs2_i2s {
			compatible = "qcom,hsi2s-interface";
			minor-number = <2>;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&hs3_i2s_mclk_active &hs3_i2s_sck_active
				     &hs3_i2s_ws_active &hs3_i2s_data0_active
				     &hs3_i2s_data1_active>;
			pinctrl-1 = <&hs3_i2s_mclk_sleep &hs3_i2s_sck_sleep
				     &hs3_i2s_ws_sleep &hs3_i2s_data0_sleep
				     &hs3_i2s_data1_sleep>;
			iommus = <&apps_smmu 0x1B5E 0x0>;
			qcom,smmu-s1-bypass;
			qcom,iova-mapping = <0x0 0xFFFFFFFF>;
		};
	};

	emac_hw: qcom,emac@00020000 {
		compatible = "qcom,emac-dwc-eqos";
		qcom,arm-smmu;
+450 −0
Original line number Diff line number Diff line
@@ -4285,6 +4285,456 @@
			};
		};

		hs1_i2s_mclk {
			hs1_i2s_mclk_sleep: hs1_i2s_mclk_sleep {
				mux {
					pins = "gpio155";
					function = "gpio";
				};

				config {
					pins = "gpio155";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs1_i2s_mclk_active: hs1_i2s_mclk_active {
				mux {
					pins = "gpio155";
					function = "hs1_mi2s";
				};

				config {
					pins = "gpio155";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs1_i2s_sck {
			hs1_i2s_sck_sleep: hs1_i2s_sck_sleep {
				mux {
					pins = "gpio156";
					function = "gpio";
				};

				config {
					pins = "gpio156";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs1_i2s_sck_active: hs1_i2s_sck_active {
				mux {
					pins = "gpio156";
					function = "hs1_mi2s";
				};

				config {
					pins = "gpio156";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs1_i2s_ws {
			hs1_i2s_ws_sleep: hs1_i2s_ws_sleep {
				mux {
					pins = "gpio157";
					function = "gpio";
				};

				config {
					pins = "gpio157";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs1_i2s_ws_active: hs1_i2s_ws_active {
				mux {
					pins = "gpio157";
					function = "hs1_mi2s";
				};

				config {
					pins = "gpio157";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs1_i2s_data0 {
			hs1_i2s_data0_sleep: hs1_i2s_data0_sleep {
				mux {
					pins = "gpio158";
					function = "sleep";
				};

				config {
					pins = "gpio158";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs1_i2s_data0_active: hs1_i2s_data0_active {
				mux {
					pins = "gpio158";
					function = "hs1_mi2s";
				};

				config {
					pins = "gpio158";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs1_i2s_data1 {
			hs1_i2s_data1_sleep: hs1_i2s_data1_sleep {
				mux {
					pins = "gpio159";
					function = "gpio";
				};

				config {
					pins = "gpio159";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs1_i2s_data1_active: hs1_i2s_data1_active {
				mux {
					pins = "gpio159";
					function = "hs1_mi2s";
				};

				config {
					pins = "gpio159";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					input-enable;
				};
			};
		};

		hs2_i2s_mclk {
			hs2_i2s_mclk_sleep: hs2_i2s_mclk_sleep {
				mux {
					pins = "gpio160";
					function = "gpio";
				};

				config {
					pins = "gpio160";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs2_i2s_mclk_active: hs2_i2s_mclk_active {
				mux {
					pins = "gpio160";
					function = "hs2_mi2s";
				};

				config {
					pins = "gpio160";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs2_i2s_sck {
			hs2_i2s_sck_sleep: hs2_i2s_sck_sleep {
				mux {
					pins = "gpio161";
					function = "gpio";
				};

				config {
					pins = "gpio161";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs2_i2s_sck_active: hs2_i2s_sck_active {
				mux {
					pins = "gpio161";
					function = "hs2_mi2s";
				};

				config {
					pins = "gpio161";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs2_i2s_ws {
			hs2_i2s_ws_sleep: hs2_i2s_ws_sleep {
				mux {
					pins = "gpio162";
					function = "gpio";
				};

				config {
					pins = "gpio162";
					drive-strength = <2>;   /* 8 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs2_i2s_ws_active: hs2_i2s_ws_active {
				mux {
					pins = "gpio162";
					function = "hs2_mi2s";
				};

				config {
					pins = "gpio162";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs2_i2s_data0 {
			hs2_i2s_data0_sleep: hs2_i2s_data0_sleep {
				mux {
					pins = "gpio163";
					function = "gpio";
				};

				config {
					pins = "gpio163";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs2_i2s_data0_active: hs2_i2s_data0_active {
				mux {
					pins = "gpio163";
					function = "hs2_mi2s";
				};

				config {
					pins = "gpio163";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs2_i2s_data1 {
			hs2_i2s_data1_sleep: hs2_i2s_data1_sleep {
				mux {
					pins = "gpio164";
					function = "gpio";
				};

				config {
					pins = "gpio164";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs2_i2s_data1_active: hs2_i2s_data1_active {
				mux {
					pins = "gpio164";
					function = "hs2_mi2s";
				};

				config {
					pins = "gpio164";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					input-enable;
				};
			};
		};

		hs3_i2s_mclk {
			hs3_i2s_mclk_sleep: hs3_i2s_mclk_sleep {
				mux {
					pins = "gpio125";
					function = "gpio";
				};

				config {
					pins = "gpio125";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs3_i2s_mclk_active: hs3_i2s_mclk_active {
				mux {
					pins = "gpio125";
					function = "hs3_mi2s";
				};

				config {
					pins = "gpio125";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs3_i2s_sck {
			hs3_i2s_sck_sleep: hs3_i2s_sck_sleep {
				mux {
					pins = "gpio165";
					function = "gpio";
				};

				config {
					pins = "gpio165";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs3_i2s_sck_active: hs3_i2s_sck_active {
				mux {
					pins = "gpio165";
					function = "hs3_mi2s";
				};

				config {
					pins = "gpio165";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs3_i2s_ws {
			hs3_i2s_ws_sleep: hs3_i2s_ws_sleep {
				mux {
					pins = "gpio166";
					function = "gpio";
				};

				config {
					pins = "gpio166";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs3_i2s_ws_active: hs3_i2s_ws_active {
				mux {
					pins = "gpio166";
					function = "hs3_mi2s";
				};

				config {
					pins = "gpio166";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs3_i2s_data0 {
			hs3_i2s_data0_sleep: hs3_i2s_data0_sleep {
				mux {
					pins = "gpio167";
					function = "gpio";
				};

				config {
					pins = "gpio167";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs3_i2s_data0_active: hs3_i2s_data0_active {
				mux {
					pins = "gpio167";
					function = "hs3_mi2s";
				};

				config {
					pins = "gpio167";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};

		hs3_i2s_data1 {
			hs3_i2s_data1_sleep: hs3_i2s_data1_sleep {
				mux {
					pins = "gpio168";
					function = "gpio";
				};

				config {
					pins = "gpio168";
					drive-strength = <2>;   /* 2 mA */
					bias-pull-down;         /* PULL DOWN */
					input-enable;
				};
			};

			hs3_i2s_data1_active: hs3_i2s_data1_active {
				mux {
					pins = "gpio168";
					function = "hs3_mi2s";
				};

				config {
					pins = "gpio168";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					input-enable;
				};
			};
		};

		emac {
			emac_mdc: emac_mdc {
				mux {