From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751309AbcFSBBP (ORCPT ); Sat, 18 Jun 2016 21:01:15 -0400 Received: from mout.perfora.net ([74.208.4.196]:55385 "EHLO mout.perfora.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751177AbcFSBBJ (ORCPT ); Sat, 18 Jun 2016 21:01:09 -0400 From: Marcel Ziswiler To: linux-tegra@vger.kernel.org Cc: Marcel Ziswiler , Marcel Ziswiler , devicetree@vger.kernel.org, Thierry Reding , linux-kernel@vger.kernel.org, Stephen Warren , Rob Herring , Mark Rutland , Alexandre Courbot , Russell King , linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 2/3] ARM: tegra: apalis/colibri t30: integrate audio Date: Sun, 19 Jun 2016 03:00:01 +0200 Message-Id: <1466298002-12576-3-git-send-email-marcel.ziswiler@toradex.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1466298002-12576-1-git-send-email-marcel.ziswiler@toradex.com> References: <1466298002-12576-1-git-send-email-marcel.ziswiler@toradex.com> X-Provags-ID: V03:K0:cQORjvMxe9eqOOdcdbjvbRDUogyqP4atukBfRBOtrdL6TlGAccF nkyGSQuGqqN7jQEqSHPMNY687tyAQ5wDMUVjFUAJWeMLpKImpzHgQXOr0I2hEPRHI9/H27C 1XXwaUrOzGc/dQYKZ/bn/uAQYe2WCb6t01VNgigzG1PIz/6I8ON7bkaHJduhQqH5Jz/9Iwq UjCf8gic8Qj/ncbCGellg== X-UI-Out-Filterresults: notjunk:1;V01:K0:MxaxEtURCqk=:IcOAjwEvlIevqjjlj37zJ/ q/9ulnR7y9zp89KlRIOYlM5fgrQ4F71tE8fOEXjvUwnBiyVHokNscFrQaJD+BzJ8wt/rGOMyo 5GXqMGXpV0HXGgBocmDMo9+3YjQUFKpxB5WRCwKcZUYIVNPg1DjjkeFb7+odpfl6xlfjmJeiv c1lxafupHgxytUv4+7KtlLJBWq7BXrGWSUUEJMcqv1d6bzQohr16XFksUoCPv/Ur1ux6xYMX+ 8Uanqdj4NKbaEt/02STipwqqx92ozBaPZsi3um95yzhb+Fb7u7zWgkSC41VPXQg0aT/hNQkoP ps8lC843JprpCZJ3uCaYxm/ghRzyU0NBpWY8LrfG9OoDe1WOeFyxm9HV48nOs4iW4H/qGBf+V 0OQPoy+lnd+oiAwcoMNbQ6UCTMQTr4LR8sYY7d5IGrIgd01R2BGBsRRZrcW7+TwWukjsqOSSy WyD9BcyyUS3s3LLu2hH4GQ/vLGVYFIaJcUNO6o7qlZn0lxKoSSIU7BLkeVX5McFkQ7vLUN/1y AeH6qhmUmJq+vetWxLPmnNNhw97UBJoaNWFZsgdrq7G/hqCCa1dF9QnLEmWXEs/jACBjttjzA 3Y4P5RZyk0Q+DGZ5In47r1TM0wjYQGW0W51dUk0eNzRITO/N7aWmc+oRjGmU22oGFH9gOIFvv By5D1/XPDcTZ0vu/1g+2FOQ9OG+qJAsxuPd1rYIgt9YvbDqT2khrcSwHmUp+uOJnWcvg= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Integrate Freescale SGTL5000 analogue audio codec support. Signed-off-by: Marcel Ziswiler Reviewed-by: Stephen Warren Signed-off-by: Marcel Ziswiler --- Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/boot/dts/tegra30-apalis.dtsi | 49 ++++++++++++++++++++++++++++++++++ arch/arm/boot/dts/tegra30-colibri.dtsi | 49 ++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi index 192b951..96865ea 100644 --- a/arch/arm/boot/dts/tegra30-apalis.dtsi +++ b/arch/arm/boot/dts/tegra30-apalis.dtsi @@ -48,6 +48,24 @@ pinctrl-0 = <&state_default>; state_default: pinmux { + /* Analogue Audio (On-module) */ + clk1_out_pw4 { + nvidia,pins = "clk1_out_pw4"; + nvidia,function = "extperiph1"; + nvidia,pull = ; + nvidia,tristate = ; + nvidia,enable-input = ; + }; + dap3_fs_pp0 { + nvidia,pins = "dap3_fs_pp0", + "dap3_sclk_pp3", + "dap3_din_pp1", + "dap3_dout_pp2"; + nvidia,function = "i2s2"; + nvidia,pull = ; + nvidia,tristate = ; + }; + /* Apalis BKL1_ON */ pv2 { nvidia,pins = "pv2"; @@ -429,6 +447,15 @@ status = "okay"; clock-frequency = <100000>; + /* SGTL5000 audio codec */ + sgtl5000: codec@0a { + compatible = "fsl,sgtl5000"; + reg = <0x0a>; + VDDA-supply = <&sys_3v3_reg>; + VDDIO-supply = <&sys_3v3_reg>; + clocks = <&tegra_car TEGRA30_CLK_EXTERN1>; + }; + pmic: tps65911@2d { compatible = "ti,tps65911"; reg = <0x2d>; @@ -660,6 +687,12 @@ nvidia,sys-clock-req-active-high; }; + ahub@70080000 { + i2s@70080500 { + status = "okay"; + }; + }; + /* eMMC */ sdhci@78000600 { status = "okay"; @@ -733,4 +766,20 @@ regulator-always-on; }; }; + + sound { + compatible = "toradex,tegra-audio-sgtl5000-apalis_t30", + "nvidia,tegra-audio-sgtl5000"; + nvidia,model = "Toradex Apalis T30"; + nvidia,audio-routing = + "Headphone Jack", "HP_OUT", + "LINE_IN", "Line In Jack", + "MIC_IN", "Mic Jack"; + nvidia,i2s-controller = <&tegra_i2s2>; + nvidia,audio-codec = <&sgtl5000>; + clocks = <&tegra_car TEGRA30_CLK_PLL_A>, + <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, + <&tegra_car TEGRA30_CLK_EXTERN1>; + clock-names = "pll_a", "pll_a_out0", "mclk"; + }; }; diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi index a265534..7b7af78 100644 --- a/arch/arm/boot/dts/tegra30-colibri.dtsi +++ b/arch/arm/boot/dts/tegra30-colibri.dtsi @@ -29,6 +29,24 @@ pinctrl-0 = <&state_default>; state_default: pinmux { + /* Analogue Audio (On-module) */ + clk1_out_pw4 { + nvidia,pins = "clk1_out_pw4"; + nvidia,function = "extperiph1"; + nvidia,pull = ; + nvidia,tristate = ; + nvidia,enable-input = ; + }; + dap3_fs_pp0 { + nvidia,pins = "dap3_fs_pp0", + "dap3_sclk_pp3", + "dap3_din_pp1", + "dap3_dout_pp2"; + nvidia,function = "i2s2"; + nvidia,pull = ; + nvidia,tristate = ; + }; + /* Colibri BL_ON */ pv2 { nvidia,pins = "pv2"; @@ -207,6 +225,15 @@ status = "okay"; clock-frequency = <100000>; + /* SGTL5000 audio codec */ + sgtl5000: codec@0a { + compatible = "fsl,sgtl5000"; + reg = <0x0a>; + VDDA-supply = <&sys_3v3_reg>; + VDDIO-supply = <&sys_3v3_reg>; + clocks = <&tegra_car TEGRA30_CLK_EXTERN1>; + }; + pmic: tps65911@2d { compatible = "ti,tps65911"; reg = <0x2d>; @@ -396,6 +423,12 @@ nvidia,sys-clock-req-active-high; }; + ahub@70080000 { + i2s@70080500 { + status = "okay"; + }; + }; + /* eMMC */ sdhci@78000600 { status = "okay"; @@ -471,4 +504,20 @@ regulator-always-on; }; }; + + sound { + compatible = "toradex,tegra-audio-sgtl5000-colibri_t30", + "nvidia,tegra-audio-sgtl5000"; + nvidia,model = "Toradex Colibri T30"; + nvidia,audio-routing = + "Headphone Jack", "HP_OUT", + "LINE_IN", "Line In Jack", + "MIC_IN", "Mic Jack"; + nvidia,i2s-controller = <&tegra_i2s2>; + nvidia,audio-codec = <&sgtl5000>; + clocks = <&tegra_car TEGRA30_CLK_PLL_A>, + <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, + <&tegra_car TEGRA30_CLK_EXTERN1>; + clock-names = "pll_a", "pll_a_out0", "mclk"; + }; }; -- 2.5.5