Commit 8948e746 authored by Marcel Ziswiler's avatar Marcel Ziswiler Committed by Thierry Reding

ARM: tegra: apalis/colibri t30: Integrate audio

Integrate Freescale SGTL5000 analogue audio codec support.
Signed-off-by: default avatarMarcel Ziswiler <marcel@ziswiler.com>
Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarMarcel Ziswiler <marcel.ziswiler@toradex.com>
[treding@nvidia.com: remove leading 0 from unit-address]
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 5d831dd5
......@@ -48,6 +48,24 @@ pinmux@70000868 {
pinctrl-0 = <&state_default>;
state_default: pinmux {
/* Analogue Audio (On-module) */
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";
......@@ -429,6 +447,15 @@ i2c@7000d000 {
status = "okay";
clock-frequency = <100000>;
/* SGTL5000 audio codec */
sgtl5000: codec@a {
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 @@ pmc@7000e400 {
nvidia,sys-clock-req-active-high;
};
ahub@70080000 {
i2s@70080500 {
status = "okay";
};
};
/* eMMC */
sdhci@78000600 {
status = "okay";
......@@ -733,4 +766,20 @@ charge_pump_5v0_reg: regulator@103 {
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";
};
};
......@@ -29,6 +29,24 @@ pinmux@70000868 {
pinctrl-0 = <&state_default>;
state_default: pinmux {
/* Analogue Audio (On-module) */
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";
......@@ -207,6 +225,15 @@ i2c@7000d000 {
status = "okay";
clock-frequency = <100000>;
/* SGTL5000 audio codec */
sgtl5000: codec@a {
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 @@ pmc@7000e400 {
nvidia,sys-clock-req-active-high;
};
ahub@70080000 {
i2s@70080500 {
status = "okay";
};
};
/* eMMC */
sdhci@78000600 {
status = "okay";
......@@ -471,4 +504,20 @@ charge_pump_5v0_reg: regulator@103 {
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";
};
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment