Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
From: Shawn Guo
Date: Fri Apr 07 2017 - 09:17:22 EST
On Thu, Apr 06, 2017 at 11:32:07PM +0530, Jagan Teki wrote:
> From: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>
>
> Add support for Sound card and related codec(via i2c1) nodes
> on Engicam Is.IoT MX6UL variant module boards.
>
> Cc: Shawn Guo <shawnguo@xxxxxxxxxx>
> Cc: Matteo Lisi <matteo.lisi@xxxxxxxxxxx>
> Cc: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>
> ---
> Changes for v3:
> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
> Changes for v2:
> - Use proper [label:] node-name[@unit-address] for codec
> - Remove incorrect codec property 'wlf,shared-lrclk'
> - Remove 'gpr' from sound card node
>
> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
> arch/arm/boot/dts/imx6ul-isiot.dtsi | 44 ++++++++++++++++++++++++++++++
Can you help me understand how these two files are related? Why is
sgtl5000 added into one and sound node added into the other?
Shawn
> 2 files changed, 54 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> index 2beaab6..d456080 100644
> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> @@ -41,6 +41,16 @@
> */
>
> &i2c1 {
> + sgtl5000: codec@a {
> + compatible = "fsl,sgtl5000";
> + reg = <0x0a>;
> + clocks = <&clks IMX6UL_CLK_OSC>;
> + clock-names = "mclk";
> + VDDA-supply = <®_3p3v>;
> + VDDIO-supply = <®_3p3v>;
> + VDDD-supply = <®_1p8v>;
> + };
> +
> stmpe811: gpio-expander@44 {
> compatible = "st,stmpe811";
> reg = <0x44>;
> diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
> index ea30380..7e947e5 100644
> --- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
> @@ -69,6 +69,50 @@
> 100>;
> default-brightness-level = <100>;
> };
> +
> + reg_1p8v: regulator-1p8v {
> + compatible = "regulator-fixed";
> + regulator-name = "1P8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + reg_3p3v: regulator-3p3v {
> + compatible = "regulator-fixed";
> + regulator-name = "3P3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "imx6ul-isiot-sgtl5000";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,bitclock-master = <&dailink_master>;
> + simple-audio-card,frame-master = <&dailink_master>;
> + simple-audio-card,widgets =
> + "Microphone", "Mic Jack",
> + "Line", "Line In",
> + "Line", "Line Out",
> + "Headphone", "Headphone Jack";
> + simple-audio-card,routing =
> + "MIC_IN", "Mic Jack",
> + "Mic Jack", "Mic Bias",
> + "Headphone Jack", "HP_OUT";
> +
> + simple-audio-card,cpu {
> + sound-dai = <&sai2>;
> + };
> +
> + dailink_master: simple-audio-card,codec {
> + sound-dai = <&sgtl5000>;
> + clocks = <&clks IMX6UL_CLK_SAI2>;
> + };
> + };
> };
>
> &i2c1 {
> --
> 1.9.1
>