lkml.org 
[lkml]   [2014]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/3] ARM: tegra: apalis/colibri t30: integrate audio support
    Date
    Integrate Freescale SGTL5000 analogue audio codec support.

    Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
    ---
    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 a5446cb..9fe3e4d 100644
    --- a/arch/arm/boot/dts/tegra30-apalis.dtsi
    +++ b/arch/arm/boot/dts/tegra30-apalis.dtsi
    @@ -47,6 +47,24 @@
    pinctrl-0 = <&state_default>;

    state_default: pinmux {
    + /* Apalis Analogue Audio */
    + clk1_out_pw4 {
    + nvidia,pins = "clk1_out_pw4";
    + nvidia,function = "extperiph1";
    + nvidia,pull = <TEGRA_PIN_PULL_NONE>;
    + nvidia,tristate = <TEGRA_PIN_DISABLE>;
    + nvidia,enable-input = <TEGRA_PIN_DISABLE>;
    + };
    + dap3_fs_pp0 {
    + nvidia,pins = "dap3_fs_pp0",
    + "dap3_sclk_pp3",
    + "dap3_din_pp1",
    + "dap3_dout_pp2";
    + nvidia,function = "i2s2";
    + nvidia,pull = <TEGRA_PIN_PULL_NONE>;
    + nvidia,tristate = <TEGRA_PIN_DISABLE>;
    + };
    +
    /* Apalis BKL1_ON */
    pv2 {
    nvidia,pins = "pv2";
    @@ -404,6 +422,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>;
    @@ -635,6 +662,12 @@
    nvidia,sys-clock-req-active-high;
    };

    + ahub@70080000 {
    + i2s@70080500 {
    + status = "okay";
    + };
    + };
    +
    sdhci@78000600 {
    status = "okay";
    bus-width = <8>;
    @@ -684,4 +717,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 c4ed1be..e8ac72e 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 {
    + /* Colibri Analogue Audio */
    + clk1_out_pw4 {
    + nvidia,pins = "clk1_out_pw4";
    + nvidia,function = "extperiph1";
    + nvidia,pull = <TEGRA_PIN_PULL_NONE>;
    + nvidia,tristate = <TEGRA_PIN_DISABLE>;
    + nvidia,enable-input = <TEGRA_PIN_DISABLE>;
    + };
    + dap3_fs_pp0 {
    + nvidia,pins = "dap3_fs_pp0",
    + "dap3_sclk_pp3",
    + "dap3_din_pp1",
    + "dap3_dout_pp2";
    + nvidia,function = "i2s2";
    + nvidia,pull = <TEGRA_PIN_PULL_NONE>;
    + nvidia,tristate = <TEGRA_PIN_DISABLE>;
    + };
    +
    /* Colibri BL_ON */
    pv2 {
    nvidia,pins = "pv2";
    @@ -182,6 +200,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>;
    @@ -331,6 +358,12 @@
    nvidia,sys-clock-req-active-high;
    };

    + ahub@70080000 {
    + i2s@70080500 {
    + status = "okay";
    + };
    + };
    +
    emmc: sdhci@78000600 {
    status = "okay";
    bus-width = <8>;
    @@ -383,4 +416,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";
    + };
    };
    --
    1.9.3


    \
     
     \ /
      Last update: 2014-09-09 18:01    [W:3.055 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site