[PATCH v2 0/6] ARM: DT/davinci: Audio for da850-evm in DT boot

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 0/6] ARM: DT/davinci: Audio for da850-evm in DT boot

Peter Ujfalusi
Hi,

Changes since v1:
- fixed the address missmatch for tlv320aic3106 codec (@1b -> 18)
- The edma patches has been taken by Vinod, they should be in linux-next soon.

The following series will enable audio via simple card on the board when booted
with DT.

For edma one patch is needed to have working dma:
http://marc.info/?l=linux-omap&m=140680159327749&w=2

Regards,
Peter
---
Peter Ujfalusi (6):
  ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for mcasp0
  ARM: DTS: da850: Add node for edma0
  ARM: DTS: da850: Add node for McASP
  ARM: DTS: da850-evm: Enable McASP via DT boot
  ARM: DTS: da850-evm: Add node for tlv320aic3106 codec
  ARM: DTS: da850-evm: Enable audio via simple-card

 arch/arm/boot/dts/da850-evm.dts  | 72 ++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/da850.dtsi     | 19 +++++++++++
 arch/arm/mach-davinci/da8xx-dt.c |  1 +
 3 files changed, 92 insertions(+)

--
2.0.2

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 1/6] ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for mcasp0

Peter Ujfalusi
Add OF_DEV_AUXDATA for mcasp to be able to use clocks.

Signed-off-by: Peter Ujfalusi <[hidden email]>
---
 arch/arm/mach-davinci/da8xx-dt.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index ed1928740b5f..f703d82f08a8 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -46,6 +46,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
  OF_DEV_AUXDATA("ti,davinci_mdio", 0x01e24000, "davinci_mdio.0", NULL),
  OF_DEV_AUXDATA("ti,davinci-dm6467-emac", 0x01e20000, "davinci_emac.1",
        NULL),
+ OF_DEV_AUXDATA("ti,da830-mcasp-audio", 0x01d00000, "davinci-mcasp.0", NULL),
  {}
 };
 
--
2.0.2

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 2/6] ARM: DTS: da850: Add node for edma0

Peter Ujfalusi
In reply to this post by Peter Ujfalusi
Add DT node for edma0.

Signed-off-by: Peter Ujfalusi <[hidden email]>
---
 arch/arm/boot/dts/da850.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index b695548dbb4e..41ce4e8bf227 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -150,6 +150,12 @@
  };
 
  };
+ edma0: edma@01c00000 {
+ compatible = "ti,edma3";
+ reg = <0x0 0x10000>;
+ interrupts = <11 13 12>;
+ #dma-cells = <1>;
+ };
  serial0: serial@1c42000 {
  compatible = "ns16550a";
  reg = <0x42000 0x100>;
--
2.0.2

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 3/6] ARM: DTS: da850: Add node for McASP

Peter Ujfalusi
In reply to this post by Peter Ujfalusi
Node for mcasp0

Signed-off-by: Peter Ujfalusi <[hidden email]>
---
 arch/arm/boot/dts/da850.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index 41ce4e8bf227..0bd98cd00816 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -276,6 +276,19 @@
  ti,davinci-gpio-unbanked = <0>;
  status = "disabled";
  };
+
+ mcasp0: mcasp@01d00000 {
+ compatible = "ti,da830-mcasp-audio";
+ reg = <0x100000 0x2000>,
+      <0x102000 0x400000>;
+ reg-names = "mpu", "dat";
+ interrupts = <54>;
+ interrupt-names = "common";
+ status = "disabled";
+ dmas = <&edma0 1>,
+ <&edma0 0>;
+ dma-names = "tx", "rx";
+ };
  };
  nand_cs3@62000000 {
  compatible = "ti,davinci-nand";
--
2.0.2

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 4/6] ARM: DTS: da850-evm: Enable McASP via DT boot

Peter Ujfalusi
In reply to this post by Peter Ujfalusi
Add pinctrl nodes for the McASP0 pins and configure McASP to the desired
mode for the board.

Signed-off-by: Peter Ujfalusi <[hidden email]>
---
 arch/arm/boot/dts/da850-evm.dts | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 1e11e5a5f723..1422c311af4c 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -17,6 +17,18 @@
  soc {
  pmx_core: pinmux@1c14120 {
  status = "okay";
+
+ mcasp0_pins: pinmux_mcasp0_pins {
+ pinctrl-single,bits = <
+ /*
+ * AHCLKX, ACLKX, AFSX, AHCLKR, ACLKR,
+ * AFSR, AMUTE
+ */
+ 0x00 0x11111111 0xffffffff
+ /* AXR11, AXR12 */
+ 0x04 0x00011000 0x000ff000
+ >;
+ };
  };
  serial0: serial@1c42000 {
  status = "okay";
@@ -170,3 +182,21 @@
  };
  };
 };
+
+&mcasp0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcasp0_pins>;
+
+ op-mode = <0>;          /* MCASP_IIS_MODE */
+ tdm-slots = <2>;
+ /* 4 serializer */
+ serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+ 0 0 0 0
+ 0 0 0 0
+ 0 0 0 1
+ 2 0 0 0
+ >;
+ tx-num-evt = <32>;
+ rx-num-evt = <32>;
+};
--
2.0.2

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 5/6] ARM: DTS: da850-evm: Add node for tlv320aic3106 codec

Peter Ujfalusi
In reply to this post by Peter Ujfalusi
The board uses aic3106 for audio.

Signed-off-by: Peter Ujfalusi <[hidden email]>
---
 arch/arm/boot/dts/da850-evm.dts | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 1422c311af4c..41715b495861 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -51,6 +51,19 @@
  tps: tps@48 {
  reg = <0x48>;
  };
+ tlv320aic3106: tlv320aic3106@18 {
+ compatible = "ti,tlv320aic3106";
+ reg = <0x18>;
+ status = "okay";
+
+ /* Regulators */
+ IOVDD-supply = <&vdcdc2_reg>;
+ /* Derived from VBAT: Baseboard 3.3V / 1.8V */
+ AVDD-supply = <&vbat>;
+ DRVDD-supply = <&vbat>;
+ DVDD-supply = <&vbat>;
+ };
+
  };
  wdt: wdt@1c21000 {
  status = "okay";
--
2.0.2

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 6/6] ARM: DTS: da850-evm: Enable audio via simple-card

Peter Ujfalusi
In reply to this post by Peter Ujfalusi
The audio on the board is using McASP <-> tlv320aic3106 codec and we have
LineIn and LineOut jacks.

Signed-off-by: Peter Ujfalusi <[hidden email]>
---
 arch/arm/boot/dts/da850-evm.dts | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 41715b495861..4f935ad9f27b 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -52,6 +52,7 @@
  reg = <0x48>;
  };
  tlv320aic3106: tlv320aic3106@18 {
+ #sound-dai-cells = <0>;
  compatible = "ti,tlv320aic3106";
  reg = <0x18>;
  status = "okay";
@@ -142,6 +143,33 @@
  regulator-max-microvolt = <5000000>;
  regulator-boot-on;
  };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "DA850/OMAP-L138 EVM";
+ simple-audio-card,widgets =
+ "Line", "Line In",
+ "Line", "Line Out";
+ simple-audio-card,routing =
+ "LINE1L", "Line In",
+ "LINE1R", "Line In",
+ "Line Out", "LLOUT",
+ "Line Out", "RLOUT";
+ simple-audio-card,format = "dsp_b";
+ simple-audio-card,bitclock-master = <&link0_codec>;
+ simple-audio-card,frame-master = <&link0_codec>;
+ simple-audio-card,bitclock-inversion;
+
+ simple-audio-card,cpu {
+ sound-dai = <&mcasp0>;
+ system-clock-frequency = <24576000>;
+ };
+
+ link0_codec: simple-audio-card,codec {
+ sound-dai = <&tlv320aic3106>;
+ system-clock-frequency = <24576000>;
+ };
+ };
 };
 
 /include/ "tps6507x.dtsi"
@@ -197,6 +225,7 @@
 };
 
 &mcasp0 {
+ #sound-dai-cells = <0>;
  status = "okay";
  pinctrl-names = "default";
  pinctrl-0 = <&mcasp0_pins>;
--
2.0.2

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 0/6] ARM: DT/davinci: Audio for da850-evm in DT boot

Sekhar Nori
In reply to this post by Peter Ujfalusi
On Friday 01 August 2014 11:43 AM, Peter Ujfalusi wrote:
> Hi,
>
> Changes since v1:
> - fixed the address missmatch for tlv320aic3106 codec (@1b -> 18)
> - The edma patches has been taken by Vinod, they should be in linux-next soon.

I assume all of these 6 patches are meant to go through ARM SoC. I have
applied all of them for v3.18.

> The following series will enable audio via simple card on the board when booted
> with DT.

Thanks for doing this.

Regards,
Sekhar

_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 0/6] ARM: DT/davinci: Audio for da850-evm in DT boot

Sekhar Nori
On Tuesday 26 August 2014 03:54 PM, Sekhar Nori wrote:

> On Friday 01 August 2014 11:43 AM, Peter Ujfalusi wrote:
>> Hi,
>>
>> Changes since v1:
>> - fixed the address missmatch for tlv320aic3106 codec (@1b -> 18)
>> - The edma patches has been taken by Vinod, they should be in linux-next soon.
>
> I assume all of these 6 patches are meant to go through ARM SoC. I have
> applied all of them for v3.18.
>
>> The following series will enable audio via simple card on the board when booted
>> with DT.
>
> Thanks for doing this.

Also tested audio playback and record on DA850 EVM. Works great!

Thanks,
Sekhar
_______________________________________________
Davinci-linux-open-source mailing list
[hidden email]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source