Loading Documentation/devicetree/bindings/sound/rt5616.txt 0 → 100644 +26 −0 Original line number Diff line number Diff line RT5616 audio CODEC This device supports I2C only. Required properties: - compatible : "realtek,rt5616". - reg : The I2C address of the device. Pins on the device (for linking into audio routes) for RT5616: * IN1P * IN2P * IN2N * LOUTL * LOUTR * HPOL * HPOR Example: codec: rt5616@1b { compatible = "realtek,rt5616"; reg = <0x1b>; }; Documentation/devicetree/bindings/sound/rt5659.txt 0 → 100644 +75 −0 Original line number Diff line number Diff line RT5659/RT5658 audio CODEC This device supports I2C only. Required properties: - compatible : One of "realtek,rt5659" or "realtek,rt5658". - reg : The I2C address of the device. - interrupts : The CODEC's interrupt output. Optional properties: - realtek,in1-differential - realtek,in3-differential - realtek,in4-differential Boolean. Indicate MIC1/3/4 input are differential, rather than single-ended. - realtek,dmic1-data-pin 0: dmic1 is not used 1: using IN2N pin as dmic1 data pin 2: using GPIO5 pin as dmic1 data pin 3: using GPIO9 pin as dmic1 data pin 4: using GPIO11 pin as dmic1 data pin - realtek,dmic2-data-pin 0: dmic2 is not used 1: using IN2P pin as dmic2 data pin 2: using GPIO6 pin as dmic2 data pin 3: using GPIO10 pin as dmic2 data pin 4: using GPIO12 pin as dmic2 data pin - realtek,jd-src 0: No JD is used 1: using JD3 as JD source - realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin. - realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin. Pins on the device (for linking into audio routes) for RT5659/RT5658: * DMIC L1 * DMIC R1 * DMIC L2 * DMIC R2 * IN1P * IN1N * IN2P * IN2N * IN3P * IN3N * IN4P * IN4N * HPOL * HPOR * SPOL * SPOR * LOUTL * LOUTR * MONOOUT * PDML * PDMR * SPDIF Example: rt5659 { compatible = "realtek,rt5659"; reg = <0x1b>; interrupt-parent = <&gpio>; interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>; realtek,ldo1-en-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; }; Documentation/devicetree/bindings/sound/rt5677.txt +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ Required properties: Optional properties: - realtek,pow-ldo2-gpio : The GPIO that controls the CODEC's POW_LDO2 pin. - realtek,reset-gpio : The GPIO that controls the CODEC's RESET pin. - realtek,reset-gpio : The GPIO that controls the CODEC's RESET pin. Active low. - realtek,in1-differential - realtek,in2-differential Loading include/sound/rt5659.h 0 → 100644 +49 −0 Original line number Diff line number Diff line /* * linux/sound/rt5659.h -- Platform data for RT5659 * * Copyright 2013 Realtek Microelectronics * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __LINUX_SND_RT5659_H #define __LINUX_SND_RT5659_H enum rt5659_dmic1_data_pin { RT5659_DMIC1_NULL, RT5659_DMIC1_DATA_IN2N, RT5659_DMIC1_DATA_GPIO5, RT5659_DMIC1_DATA_GPIO9, RT5659_DMIC1_DATA_GPIO11, }; enum rt5659_dmic2_data_pin { RT5659_DMIC2_NULL, RT5659_DMIC2_DATA_IN2P, RT5659_DMIC2_DATA_GPIO6, RT5659_DMIC2_DATA_GPIO10, RT5659_DMIC2_DATA_GPIO12, }; enum rt5659_jd_src { RT5659_JD_NULL, RT5659_JD3, }; struct rt5659_platform_data { bool in1_diff; bool in3_diff; bool in4_diff; int ldo1_en; /* GPIO for LDO1_EN */ int reset; /* GPIO for RESET */ enum rt5659_dmic1_data_pin dmic1_data_pin; enum rt5659_dmic2_data_pin dmic2_data_pin; enum rt5659_jd_src jd_src; }; #endif sound/soc/codecs/Kconfig +12 −0 Original line number Diff line number Diff line Loading @@ -95,10 +95,12 @@ config SND_SOC_ALL_CODECS select SND_SOC_PCM512x_SPI if SPI_MASTER select SND_SOC_RT286 if I2C select SND_SOC_RT298 if I2C select SND_SOC_RT5616 if I2C select SND_SOC_RT5631 if I2C select SND_SOC_RT5640 if I2C select SND_SOC_RT5645 if I2C select SND_SOC_RT5651 if I2C select SND_SOC_RT5659 if I2C select SND_SOC_RT5670 if I2C select SND_SOC_RT5677 if I2C && SPI_MASTER select SND_SOC_SGTL5000 if I2C Loading Loading @@ -563,14 +565,18 @@ config SND_SOC_PCM512x_SPI config SND_SOC_RL6231 tristate default y if SND_SOC_RT5616=y default y if SND_SOC_RT5640=y default y if SND_SOC_RT5645=y default y if SND_SOC_RT5651=y default y if SND_SOC_RT5659=y default y if SND_SOC_RT5670=y default y if SND_SOC_RT5677=y default m if SND_SOC_RT5616=m default m if SND_SOC_RT5640=m default m if SND_SOC_RT5645=m default m if SND_SOC_RT5651=m default m if SND_SOC_RT5659=m default m if SND_SOC_RT5670=m default m if SND_SOC_RT5677=m Loading @@ -589,6 +595,9 @@ config SND_SOC_RT298 tristate depends on I2C config SND_SOC_RT5616 tristate config SND_SOC_RT5631 tristate "Realtek ALC5631/RT5631 CODEC" depends on I2C Loading @@ -602,6 +611,9 @@ config SND_SOC_RT5645 config SND_SOC_RT5651 tristate config SND_SOC_RT5659 tristate config SND_SOC_RT5670 tristate Loading Loading
Documentation/devicetree/bindings/sound/rt5616.txt 0 → 100644 +26 −0 Original line number Diff line number Diff line RT5616 audio CODEC This device supports I2C only. Required properties: - compatible : "realtek,rt5616". - reg : The I2C address of the device. Pins on the device (for linking into audio routes) for RT5616: * IN1P * IN2P * IN2N * LOUTL * LOUTR * HPOL * HPOR Example: codec: rt5616@1b { compatible = "realtek,rt5616"; reg = <0x1b>; };
Documentation/devicetree/bindings/sound/rt5659.txt 0 → 100644 +75 −0 Original line number Diff line number Diff line RT5659/RT5658 audio CODEC This device supports I2C only. Required properties: - compatible : One of "realtek,rt5659" or "realtek,rt5658". - reg : The I2C address of the device. - interrupts : The CODEC's interrupt output. Optional properties: - realtek,in1-differential - realtek,in3-differential - realtek,in4-differential Boolean. Indicate MIC1/3/4 input are differential, rather than single-ended. - realtek,dmic1-data-pin 0: dmic1 is not used 1: using IN2N pin as dmic1 data pin 2: using GPIO5 pin as dmic1 data pin 3: using GPIO9 pin as dmic1 data pin 4: using GPIO11 pin as dmic1 data pin - realtek,dmic2-data-pin 0: dmic2 is not used 1: using IN2P pin as dmic2 data pin 2: using GPIO6 pin as dmic2 data pin 3: using GPIO10 pin as dmic2 data pin 4: using GPIO12 pin as dmic2 data pin - realtek,jd-src 0: No JD is used 1: using JD3 as JD source - realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin. - realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin. Pins on the device (for linking into audio routes) for RT5659/RT5658: * DMIC L1 * DMIC R1 * DMIC L2 * DMIC R2 * IN1P * IN1N * IN2P * IN2N * IN3P * IN3N * IN4P * IN4N * HPOL * HPOR * SPOL * SPOR * LOUTL * LOUTR * MONOOUT * PDML * PDMR * SPDIF Example: rt5659 { compatible = "realtek,rt5659"; reg = <0x1b>; interrupt-parent = <&gpio>; interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>; realtek,ldo1-en-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; };
Documentation/devicetree/bindings/sound/rt5677.txt +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ Required properties: Optional properties: - realtek,pow-ldo2-gpio : The GPIO that controls the CODEC's POW_LDO2 pin. - realtek,reset-gpio : The GPIO that controls the CODEC's RESET pin. - realtek,reset-gpio : The GPIO that controls the CODEC's RESET pin. Active low. - realtek,in1-differential - realtek,in2-differential Loading
include/sound/rt5659.h 0 → 100644 +49 −0 Original line number Diff line number Diff line /* * linux/sound/rt5659.h -- Platform data for RT5659 * * Copyright 2013 Realtek Microelectronics * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __LINUX_SND_RT5659_H #define __LINUX_SND_RT5659_H enum rt5659_dmic1_data_pin { RT5659_DMIC1_NULL, RT5659_DMIC1_DATA_IN2N, RT5659_DMIC1_DATA_GPIO5, RT5659_DMIC1_DATA_GPIO9, RT5659_DMIC1_DATA_GPIO11, }; enum rt5659_dmic2_data_pin { RT5659_DMIC2_NULL, RT5659_DMIC2_DATA_IN2P, RT5659_DMIC2_DATA_GPIO6, RT5659_DMIC2_DATA_GPIO10, RT5659_DMIC2_DATA_GPIO12, }; enum rt5659_jd_src { RT5659_JD_NULL, RT5659_JD3, }; struct rt5659_platform_data { bool in1_diff; bool in3_diff; bool in4_diff; int ldo1_en; /* GPIO for LDO1_EN */ int reset; /* GPIO for RESET */ enum rt5659_dmic1_data_pin dmic1_data_pin; enum rt5659_dmic2_data_pin dmic2_data_pin; enum rt5659_jd_src jd_src; }; #endif
sound/soc/codecs/Kconfig +12 −0 Original line number Diff line number Diff line Loading @@ -95,10 +95,12 @@ config SND_SOC_ALL_CODECS select SND_SOC_PCM512x_SPI if SPI_MASTER select SND_SOC_RT286 if I2C select SND_SOC_RT298 if I2C select SND_SOC_RT5616 if I2C select SND_SOC_RT5631 if I2C select SND_SOC_RT5640 if I2C select SND_SOC_RT5645 if I2C select SND_SOC_RT5651 if I2C select SND_SOC_RT5659 if I2C select SND_SOC_RT5670 if I2C select SND_SOC_RT5677 if I2C && SPI_MASTER select SND_SOC_SGTL5000 if I2C Loading Loading @@ -563,14 +565,18 @@ config SND_SOC_PCM512x_SPI config SND_SOC_RL6231 tristate default y if SND_SOC_RT5616=y default y if SND_SOC_RT5640=y default y if SND_SOC_RT5645=y default y if SND_SOC_RT5651=y default y if SND_SOC_RT5659=y default y if SND_SOC_RT5670=y default y if SND_SOC_RT5677=y default m if SND_SOC_RT5616=m default m if SND_SOC_RT5640=m default m if SND_SOC_RT5645=m default m if SND_SOC_RT5651=m default m if SND_SOC_RT5659=m default m if SND_SOC_RT5670=m default m if SND_SOC_RT5677=m Loading @@ -589,6 +595,9 @@ config SND_SOC_RT298 tristate depends on I2C config SND_SOC_RT5616 tristate config SND_SOC_RT5631 tristate "Realtek ALC5631/RT5631 CODEC" depends on I2C Loading @@ -602,6 +611,9 @@ config SND_SOC_RT5645 config SND_SOC_RT5651 tristate config SND_SOC_RT5659 tristate config SND_SOC_RT5670 tristate Loading