From 6f89b8c5eddeb91e64808c89ff7f45ac69f68660 Mon Sep 17 00:00:00 2001 From: Walter Yang Date: Mon, 18 Jul 2016 19:27:32 -0700 Subject: [PATCH] ARM: dts: msm: add node for msmcobalt hardware switches Add gpio controller node for msmcolbalt, so that we can initialize and control us_euro/hifi_hph_en switches on board. Change-Id: I5e39d88ab2e814d7bfb386b0355a65ee166cfbb0 Signed-off-by: Walter Yang --- arch/arm/boot/dts/qcom/msmcobalt-audio.dtsi | 3 + arch/arm/boot/dts/qcom/msmcobalt-wcd.dtsi | 87 +++++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/arch/arm/boot/dts/qcom/msmcobalt-audio.dtsi b/arch/arm/boot/dts/qcom/msmcobalt-audio.dtsi index 1ef5e6351aa6..45e7c8732cfd 100644 --- a/arch/arm/boot/dts/qcom/msmcobalt-audio.dtsi +++ b/arch/arm/boot/dts/qcom/msmcobalt-audio.dtsi @@ -140,6 +140,9 @@ qcom,msm-mbhc-hphl-swh = <0>; qcom,msm-mbhc-gnd-swh = <0>; + qcom,us-euro-gpios = <&tavil_us_euro_sw>; + qcom,hph-en0-gpio = <&tavil_hph_en0>; + qcom,hph-en1-gpio = <&tavil_hph_en1>; qcom,tavil-mclk-clk-freq = <9600000>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, diff --git a/arch/arm/boot/dts/qcom/msmcobalt-wcd.dtsi b/arch/arm/boot/dts/qcom/msmcobalt-wcd.dtsi index 7ae084debe06..29f4ccaede9f 100644 --- a/arch/arm/boot/dts/qcom/msmcobalt-wcd.dtsi +++ b/arch/arm/boot/dts/qcom/msmcobalt-wcd.dtsi @@ -34,6 +34,28 @@ gpio-controller; #gpio-cells = <2>; + us_euro_sw_wcd_active: us_euro_sw_wcd_active { + mux { + pins = "gpio1"; + }; + + config { + pins = "gpio1"; + output-high; + }; + }; + + us_euro_sw_wcd_sleep: us_euro_sw_wcd_sleep { + mux { + pins = "gpio1"; + }; + + config { + pins = "gpio1"; + output-low; + }; + }; + spkr_1_wcd_en_active: spkr_1_wcd_en_active { mux { pins = "gpio2"; @@ -77,6 +99,50 @@ input-enable; }; }; + + hph_en0_wcd_active: hph_en0_wcd_active { + mux { + pins = "gpio4"; + }; + + config { + pins = "gpio4"; + output-high; + }; + }; + + hph_en0_wcd_sleep: hph_en0_wcd_sleep { + mux { + pins = "gpio4"; + }; + + config { + pins = "gpio4"; + output-low; + }; + }; + + hph_en1_wcd_active: hph_en1_wcd_active { + mux { + pins = "gpio5"; + }; + + config { + pins = "gpio5"; + output-high; + }; + }; + + hph_en1_wcd_sleep: hph_en1_wcd_sleep { + mux { + pins = "gpio5"; + }; + + config { + pins = "gpio5"; + output-low; + }; + }; }; wsa_spkr_wcd_sd1: msm_cdc_pinctrll { @@ -92,5 +158,26 @@ pinctrl-0 = <&spkr_2_wcd_en_active>; pinctrl-1 = <&spkr_2_wcd_en_sleep>; }; + + tavil_us_euro_sw: msm_cdc_pinctrl_us_euro_sw { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&us_euro_sw_wcd_active>; + pinctrl-1 = <&us_euro_sw_wcd_sleep>; + }; + + tavil_hph_en0: msm_cdc_pinctrl_hph_en0 { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&hph_en0_wcd_active>; + pinctrl-1 = <&hph_en0_wcd_sleep>; + }; + + tavil_hph_en1: msm_cdc_pinctrl_hph_en1 { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&hph_en1_wcd_active>; + pinctrl-1 = <&hph_en1_wcd_sleep>; + }; }; };