[PATCH] dts: ls1021a: audio: Add dts nodes for audio on LS1021A
Huan Wang
alison.wang at freescale.com
Tue Jul 14 03:09:04 PDT 2015
Shawn,
> On Fri, Jul 03, 2015 at 11:58:32AM +0800, Alison Wang wrote:
> > This patch adds dts nodes for audio on LS1021A.
> >
> > Signed-off-by: Alison Wang <alison.wang at freescale.com>
> > ---
> > arch/arm/boot/dts/ls1021a-qds.dts | 71
> > +++++++++++++++++++++++++++++++++++++++
> > arch/arm/boot/dts/ls1021a-twr.dts | 63
> ++++++++++++++++++++++++++++++++++
> > arch/arm/boot/dts/ls1021a.dtsi | 14 ++++----
> > 3 files changed, 142 insertions(+), 6 deletions(-)
> >
> > diff --git a/arch/arm/boot/dts/ls1021a-qds.dts
> > b/arch/arm/boot/dts/ls1021a-qds.dts
> > index f16a061..9533f1d 100644
> > --- a/arch/arm/boot/dts/ls1021a-qds.dts
> > +++ b/arch/arm/boot/dts/ls1021a-qds.dts
> > @@ -58,6 +58,57 @@
> > enet0_sgmii_phy = &sgmii_phy1c;
> > enet1_sgmii_phy = &sgmii_phy1d;
> > };
> > +
> > + clocks {
> > + sys_mclk: clock {
>
> The generic node name works only when there is a @unit-address after it.
> Otherwise, when you have more clocks to add, they will have the same
> node name.
>
> But one of the device tree maintainer doesn't like the idea of "clocks"
> container at all. So you may just want to put the node directly under
> root with a unit node name, something like the following.
>
> sys_mclk: clock-mclk {
> compatible = "fixed-clock";
> #clock-cells = <0>;
> clock-frequency = <24576000>;
> };
[Alison Wang] Thanks for your explanation and suggestion.
I will change in v2.
>
> Shawn
>
> > + compatible = "fixed-clock";
> > + #clock-cells = <0>;
> > + clock-frequency = <24576000>;
> > + };
> > + };
> > +
> > + regulators {
> > + compatible = "simple-bus";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + reg_3p3v: regulator at 0 {
> > + compatible = "regulator-fixed";
> > + reg = <0>;
> > + regulator-name = "3P3V";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-always-on;
> > + };
> > + };
> > +
> > + sound {
> > + compatible = "simple-audio-card";
> > + simple-audio-card,format = "i2s";
> > + simple-audio-card,widgets =
> > + "Microphone", "Microphone Jack",
> > + "Headphone", "Headphone Jack",
> > + "Speaker", "Speaker Ext",
> > + "Line", "Line In Jack";
> > + simple-audio-card,routing =
> > + "MIC_IN", "Microphone Jack",
> > + "Microphone Jack", "Mic Bias",
> > + "LINE_IN", "Line In Jack",
> > + "Headphone Jack", "HP_OUT",
> > + "Speaker Ext", "LINE_OUT";
> > +
> > + simple-audio-card,cpu {
> > + sound-dai = <&sai2>;
> > + frame-master;
> > + bitclock-master;
> > + };
> > +
> > + simple-audio-card,codec {
> > + sound-dai = <&codec>;
> > + frame-master;
> > + bitclock-master;
> > + };
> > + };
> > };
> >
> > &dspi0 {
> > @@ -99,6 +150,7 @@
> > status = "okay";
> >
> > pca9547: mux at 77 {
> > + compatible = "nxp,pca9547";
> > reg = <0x77>;
> > #address-cells = <1>;
> > #size-cells = <0>;
> > @@ -153,6 +205,21 @@
> > reg = <0x4c>;
> > };
> > };
> > +
> > + i2c at 4 {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + reg = <0x4>;
> > +
> > + codec: sgtl5000 at 2a {
> > + #sound-dai-cells = <0>;
> > + compatible = "fsl,sgtl5000";
> > + reg = <0x2a>;
> > + VDDA-supply = <®_3p3v>;
> > + VDDIO-supply = <®_3p3v>;
> > + clocks = <&sys_mclk 1>;
> > + };
> > + };
> > };
> > };
> >
> > @@ -251,6 +318,10 @@
> > };
> > };
> >
> > +&sai2 {
> > + status = "okay";
> > +};
> > +
> > &uart0 {
> > status = "okay";
> > };
> > diff --git a/arch/arm/boot/dts/ls1021a-twr.dts
> > b/arch/arm/boot/dts/ls1021a-twr.dts
> > index 4b61766..a0d9ad6 100644
> > --- a/arch/arm/boot/dts/ls1021a-twr.dts
> > +++ b/arch/arm/boot/dts/ls1021a-twr.dts
> > @@ -56,6 +56,57 @@
> > enet0_sgmii_phy = &sgmii_phy2;
> > enet1_sgmii_phy = &sgmii_phy0;
> > };
> > +
> > + clocks {
> > + sys_mclk: clock {
> > + compatible = "fixed-clock";
> > + #clock-cells = <0>;
> > + clock-frequency = <24576000>;
> > + };
> > + };
> > +
> > + regulators {
> > + compatible = "simple-bus";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + reg_3p3v: regulator at 0 {
> > + compatible = "regulator-fixed";
> > + reg = <0>;
> > + regulator-name = "3P3V";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-always-on;
> > + };
> > + };
> > +
> > + sound {
> > + compatible = "simple-audio-card";
> > + simple-audio-card,format = "i2s";
> > + simple-audio-card,widgets =
> > + "Microphone", "Microphone Jack",
> > + "Headphone", "Headphone Jack",
> > + "Speaker", "Speaker Ext",
> > + "Line", "Line In Jack";
> > + simple-audio-card,routing =
> > + "MIC_IN", "Microphone Jack",
> > + "Microphone Jack", "Mic Bias",
> > + "LINE_IN", "Line In Jack",
> > + "Headphone Jack", "HP_OUT",
> > + "Speaker Ext", "LINE_OUT";
> > +
> > + simple-audio-card,cpu {
> > + sound-dai = <&sai1>;
> > + frame-master;
> > + bitclock-master;
> > + };
> > +
> > + simple-audio-card,codec {
> > + sound-dai = <&codec>;
> > + frame-master;
> > + bitclock-master;
> > + };
> > + };
> > };
> >
> > &dspi1 {
> > @@ -99,6 +150,14 @@
> >
> > &i2c1 {
> > status = "okay";
> > + codec: sgtl5000 at a {
> > + #sound-dai-cells = <0>;
> > + compatible = "fsl,sgtl5000";
> > + reg = <0x0a>;
> > + VDDA-supply = <®_3p3v>;
> > + VDDIO-supply = <®_3p3v>;
> > + clocks = <&sys_mclk 1>;
> > + };
> > };
> >
> > &ifc {
> > @@ -138,6 +197,10 @@
> > };
> > };
> >
> > +&sai1 {
> > + status = "okay";
> > +};
> > +
> > &uart0 {
> > status = "okay";
> > };
> > diff --git a/arch/arm/boot/dts/ls1021a.dtsi
> > b/arch/arm/boot/dts/ls1021a.dtsi index 6c41b10..4ad30d0 100644
> > --- a/arch/arm/boot/dts/ls1021a.dtsi
> > +++ b/arch/arm/boot/dts/ls1021a.dtsi
> > @@ -345,28 +345,30 @@
> > };
> >
> > sai1: sai at 2b50000 {
> > + #sound-dai-cells = <0>;
> > compatible = "fsl,vf610-sai";
> > reg = <0x0 0x2b50000 0x0 0x10000>;
> > interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
> > - clocks = <&platform_clk 1>;
> > - clock-names = "sai";
> > + clocks = <&platform_clk 1>, <&platform_clk 1>,
> > + <&platform_clk 1>, <&platform_clk 1>;
> > + clock-names = "bus", "mclk1", "mclk2", "mclk3";
> > dma-names = "tx", "rx";
> > dmas = <&edma0 1 47>,
> > <&edma0 1 46>;
> > - big-endian;
> > status = "disabled";
> > };
> >
> > sai2: sai at 2b60000 {
> > + #sound-dai-cells = <0>;
> > compatible = "fsl,vf610-sai";
> > reg = <0x0 0x2b60000 0x0 0x10000>;
> > interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
> > - clocks = <&platform_clk 1>;
> > - clock-names = "sai";
> > + clocks = <&platform_clk 1>, <&platform_clk 1>,
> > + <&platform_clk 1>, <&platform_clk 1>;
> > + clock-names = "bus", "mclk1", "mclk2", "mclk3";
> > dma-names = "tx", "rx";
> > dmas = <&edma0 1 45>,
> > <&edma0 1 44>;
> > - big-endian;
> > status = "disabled";
> > };
> >
> > --
> > 2.1.0.27.g96db324
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> > linux-kernel" in the body of a message to majordomo at vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
More information about the linux-arm-kernel
mailing list