Home > Uncategorized > Check Audio Register Values in SGTL5000 driver in i.MX6

Check Audio Register Values in SGTL5000 driver in i.MX6

April 24th, 2013

Freescale's i.MX6 Sabre Lite board has the SGTL5000 Audio IC for Audio. The value of the registers of the Audio IC can be checked using the command

cat /sys/class/sound/card0/device/HiFi/codec_reg

A typical value found is as follows

0000: a011
0002: 0060
0004: 0008
0006: 0010
0008: 0010
000a: 0010
000c: 0000
000e: 320c
0010: 6666
0012: 3c3c
0014: 015f
0016: 0000
0018: 0000
001a: 0000
001c: cd2f
001e: 000e
0020: 0000
0022: 7f7f
0024: 0022
0026: 0008
0028: 0121
002a: 0000
002c: 0322
002e: 0404
0030: 5260
0032: 5000
0034: 0000
0036: 0017
0038: 01c0
003a: 0000
003c: 0000
003e: 0000
0040: 0000
0042: 0000
0044: 0000
0046: 0000
0048: 0000
004a: 0000
004c: 0000
004e: 0000
0050: 0000
0052: 0000
0054: 0000
0056: 0000
0058: 0000
005a: 0000
005c: 0000
005e: 0000
0060: 0000
0062: 0000
0064: 0000
0066: 0000
0068: 0000
006a: 0000
006c: 0000
006e: 0000
0070: 0000
0072: 0000
0074: 0000
0076: 0000
0078: 0000
007a: 0000
007c: 0000
007e: 0000
0080: 0000
0082: 0000
0084: 0000
0086: 0000
0088: 0000
008a: 0000
008c: 0000
008e: 0000
0090: 0000
0092: 0000
0094: 0000
0096: 0000
0098: 0000
009a: 0000
009c: 0000
009e: 0000
00a0: 0000
00a2: 0000
00a4: 0000
00a6: 0000
00a8: 0000
00aa: 0000
00ac: 0000
00ae: 0000
00b0: 0000
00b2: 0000
00b4: 0000
00b6: 0000
00b8: 0000
00ba: 0000
00bc: 0000
00be: 0000
00c0: 0000
00c2: 0000
00c4: 0000
00c6: 0000
00c8: 0000
00ca: 0000
00cc: 0000
00ce: 0000
00d0: 0000
00d2: 0000
00d4: 0000
00d6: 0000
00d8: 0000
00da: 0000
00dc: 0000
00de: 0000
00e0: 0000
00e2: 0000
00e4: 0000
00e6: 0000
00e8: 0000
00ea: 0000
00ec: 0000
00ee: 0000
00f0: 0000
00f2: 0000
00f4: 0000
00f6: 0000
00f8: 0000
00fa: 0000
00fc: 0000
00fe: 0000
0100: 0000
0102: 0000
0104: 8040
0106: 051f
0108: 0000
010a: 0040
010c: 0000
010e: 0000
0110: 0000
0112: 0000
0114: 0000
0116: 002f
0118: 002f
011a: 002f
011c: 002f
011e: 002f
0120: 8000
0122: 0000
0124: 5100
0126: 1473
0128: 0028
012a: 0050
012c: 0000
012e: 0000
0130: 0000
0132: 0000
0134: 0000
0136: 0000
0138: 0000

The command was printed from the Android command line. You may use Android tinymix to change the values of ( some of the) registers.

We were debugging some issue in the Freescale's Sabre Light board where the volume on the line out was not good enough. It turned out that the min value of the CHIP_DAC_VOL ( in register 0x0010) corresponding to the maximum volume reached only upto 0x60. Its lowest value is 0x32. The issue was fixed by changing the lowest reachable value to 0x3C.

Uncategorized

  1. anishkhanna
    September 30th, 2013 at 05:04 | #1

    Hi,

    I want to test ssi(I2S) on freescale board, which is communicating with sgtl5000 codec, i configured all the registered values by reading it from the kernel,
    eventhough i am not getting sound, my i2s is giving data on the data line, but codec is not giving the audio out.

    Please provide your valuable experience it, to troubleshoot it

    Regards,
    Anish

  2. admin
    October 5th, 2013 at 18:02 | #2

    Which freescale board are you using. Can you dump the codec register values ?

  1. No trackbacks yet.