TLV320AIC3105 with i.MX6 running Linux 3.14 and Debian 8

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TLV320AIC3105 with i.MX6 running Linux 3.14 and Debian 8

2,859 Views
steffendoster
Contributor IV

Hi everyone,

I'm working on a custom board which uses a TLV320AIC3105 Audio Codec connected to an i.MX6.

I already managed to get Linux 3.14 and Debian 8 running with it.

The Linux Kernel is from here:

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/snapshot/rel_imx_3.14.28_1.0.0_ga.tar.gz

Debian is installed by debootstrap as described here:

https://community.freescale.com/docs/DOC-95044#comment-27229

My next step after the GUI (KDE) is to get some sound out of the machine. And now I have a weird Problem:

The driver I need for this codec isn't available in the kernel's menuconfig. I have searched for it and got following result:

Symbol: SND_SOC_TLV320AIC3X [=n]

Type  : tristate

Defined at sound/soc/codecs/Kconfig:380

Depends on: SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y]

Selected by: SND_DAVINCI_SOC_GENERIC_EVM [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y]

          || SND_OMAP_SOC_N810 [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && SND_OMAP_SOC [=n] && MACH_NOKIA_N810 [=n] && I2C [=y] && OMAP_MUX [=n]

          || SND_OMAP_SOC_RX51 [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && SND_OMAP_SOC [=n] && ARM [=y] && (MACH_NOKIA_RX51 [=n]

          || COMPILE_TEST [=n]) && GPIOLIB [=y]

          || SND_SOC_SAMSUNG_SIMTEC_HERMES [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_SAMSUNG [=n] && ARCH_S3C24XX [=n]

          || SND_S6000_SOC_S6IPCAM [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && SND_S6000_SOC [=n] && XTENSA_PLATFORM_S6105

          || SND_SOC_ALL_CODECS [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && COMPILE_TEST [=n] && I2C [=y]

         

This gives me the answer, that the driver will not be compiled and the option isn't available, because there is no Path to this option.         

In my opinion, the dependencies are OK. So why is the Driver not available?

I also merged the mentioned Kconfig with the corresponding Kconfig of Kernel 3.19. After this merge, the Driver was available. But the compiled Kernel boots straight into an Oops with a NULL-Pointer-Exception.

Manually add the entry "CONFIG_SND_SOC_TLV320AIC3X=y" to the .config without the merge doesn't work. The driver will not be compiled and the entry is gone after compilation.

The Codec is connected to I2C3. Here's my device tree:

i2c3: i2c@021a8000 {

    #address-cells = <1>;

    #size-cells = <0>;

    compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";

    reg = <0x021a8000 0x4000>;

    interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;

    clocks = <&clks IMX6QDL_CLK_I2C3>;

    clock-frequency = <100000>;

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_i2c3>;

    status = "okay";

    tlv320aic3105: tlv320aic3105@18 {

        compatible = "ti,tlv320aic3x";

        reg = <0x18>;

    };

};

The Codec is also shown in the Output of "i2cdetect -y 2" with address 0x18.

Any Ideas how to solve this?

Labels (3)
0 Kudos
Reply
4 Replies

1,348 Views
saurabh206
Senior Contributor III

Hi

Steffen

You need to enable driver in

    sound/soc/codec

Platform specific code in

    sound/soc/fsl

Once this is done check your sound card is registered.

For more detail check attached document

Chapter 8

Porting Audio Codecs to a Custom Board

Thanks

Saurabh

0 Kudos
Reply

1,348 Views
steffendoster
Contributor IV

Thanks for the fast answer, but:

You need to enable driver in

    sound/soc/codec

- The driver TLV320AIC3X(.c) is in this folder, OK. But it is NOT available in the kernel menuconfig. So I can not enable it. Why is this driver not available?

  The whole Codec-Driver menu is not available!

Platform specific code in

    sound/soc/fsl

- In the Platform specific code ther is an "Eukrea TLV320". Is this Compatible with TI TLV320AIC3105? I don't think so, but if yes, what is the compatible string?

For more detail check attached document

Chapter 8

Porting Audio Codecs to a Custom Board

This chapter is far to short to answer all of my questions:

- I need three nodes in my device tree: ssi, codec and sound. Correct?

- The "codec" is the I2C-connection in my first post, right?

- We don't supply the codec by imx, we supply it by on-board power sources. So the AVDD, DCVDD etc. entries are not nessesary?

  The only connections between imx and the codec is I2C and I2S.

- There is no "fsl-*-tlv320aic3x" compatible string (therefore there is no such driver or vice versa). Do I have to write something by my own, or can I use something like "simple-audio-card"?

0 Kudos
Reply

1,348 Views
saurabh206
Senior Contributor III

Hi

Steffen

You need to modify following files to add support for your driver.

You can refer WM8962 and make change accordingly.

sound/soc/codecs/Kconfig 

sound/soc/codecs/Makefile

sound/soc/fsl/Kconfig                

sound/soc/fsl/Makefile

Thanks

Saurabh

0 Kudos
Reply

1,348 Views
steffendoster
Contributor IV

I tried this patch:

[PATCH 2/5] ASoC: fsl: add imx-tlv320aic3x machine driver

It should make the tlv320aic3x driver available by accomodating

sound/soc/fsl/Kconfig        and        sound/soc/fsl/Makefile

it doesn't change something in

sound/soc/codecs/Kconfig      and       sound/soc/codecs/Makefile

Also it adds the imx-tlv320aicx.c driver and some documentation.

Then I editet my devicetree like this:

    sound {

        compatible = "fsl,imx-audio-tlv320aic3x";

        model = "imx6q-phyflex-tlv320aic3007";

        ssi-controller = <&ssi2>;

        audio-codec = <&tlv320aic3105>;

        audio-routing =

            "Line Out", "LLOUT",

            "Line Out", "RLOUT",

            "Headphone Jack", "HPLOUT",

            "Headphone Jack", "HPROUT";

    };

                ssi2: ssi@0202c000 {

                    compatible = "fsl,imx6q-ssi","fsl,imx21-ssi";

                    reg = <0x0202c000 0x4000>;

                    interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;

                    clocks = <&clks IMX6QDL_CLK_SSI2_IPG>,

                         <&clks IMX6QDL_CLK_SSI2>;

                    clock-names = "ipg", "baud";

                    dmas = <&sdma 41 1 0>,

                           <&sdma 42 1 0>;

                    dma-names = "rx", "tx";

                    fsl,fifo-depth = <15>;

                    fsl,ssi-dma-events = <42 41>;

                    fsl,mode = "i2s-slave";

                    status = "okay";

                };

           

            /* I2C to Touch, Audio, Camera */

            i2c3: i2c@021a8000 {

                #address-cells = <1>;

                #size-cells = <0>;

                compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";

                reg = <0x021a8000 0x4000>;

                interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;

                clocks = <&clks IMX6QDL_CLK_I2C3>;

                clock-frequency = <100000>;

                pinctrl-names = "default";

                pinctrl-0 = <&pinctrl_i2c3>;

                status = "okay";

                tlv320aic3105: tlv320aic3105@18 {

                    compatible = "ti,tlv320aic310x", "ti,tlv320aic3x";

                    reg = <0x18>;

                    clocks = <&clks 201>;

                };

            };

And this is what I get after compilation and start of the kernel: 

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

ci_hdrc ci_hdrc.1: EHCI Host Controller

ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2

ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 1 port detected

mousedev: PS/2 mouse device common for all mice

input: EP0810M09 as /devices/soc0/soc.8/2100000.aips-bus/21a8000.i2c/i2c-2/2-0038/input/input0

snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0

i2c /dev entries driver

IR NEC protocol handler initialized

IR RC5(x) protocol handler initialized

IR RC6 protocol handler initialized

IR JVC protocol handler initialized

IR Sony protocol handler initialized

IR RC5 (streamzap) protocol handler initialized

IR SANYO protocol handler initialized

IR MCE Keyboard/mouse protocol handler initialized

mxc_v4l2_output v4l2_out.24: V4L2 device registered as video16

mxc_v4l2_output v4l2_out.24: V4L2 device registered as video17

lm75 0-0048: hwmon0: sensor 'lm75'

lm75 1-0048: hwmon1: sensor 'lm75'

i2c-core: driver [mag3110] using legacy suspend method

i2c-core: driver [mag3110] using legacy resume method

0-001c supply vdd not found, using dummy regulator

0-001c supply vddio not found, using dummy regulator

input: mma845x as /devices/virtual/input/input1

imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)

Bluetooth: HCI UART driver ver 2.2

Bluetooth: HCI H4 protocol initialized

Bluetooth: HCI BCSP protocol initialized

Bluetooth: HCIATH3K protocol initialized

usbcore: registered new interface driver bcm203x

usbcore: registered new interface driver btusb

Bluetooth: Generic Bluetooth SDIO driver ver 0.1

usbcore: registered new interface driver ath3k

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

sdhci-pltfm: SDHCI platform and OF driver helper

sdhci-esdhc-imx 2190000.usdhc: could not get ultra high speed state, work on normal mode

mmc0: no vqmmc regulator found

usb 1-1: new high-speed USB device number 2 using ci_hdrc

mmc0: no vmmc regulator found

mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA

ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

ata1.00: ATA-7: SFCA32GBH1BR4TO-I-NC-236-STD, 20111021, max UDMA/133

ata1.00: 62586880 sectors, multi 0: LBA48

ata1.00: configured for UDMA/133

scsi 0:0:0:0: Direct-Access     ATA      SFCA32GBH1BR4TO- 1021 PQ: 0 ANSI: 5

sd 0:0:0:0: [sda] 62586880 512-byte logical blocks: (32.0 GB/29.8 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode

sda: sda1

sd 0:0:0:0: [sda] Attached SCSI disk

mmc2: no vqmmc regulator found

mmc2: no vmmc regulator found

mmc0: new high speed SDHC card at address 59b4

mmcblk0: mmc0:59b4 SDC   29.4 GiB

mmcblk0: p1 p2 p3

mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA

mmc3: no vqmmc regulator found

mmc3: no vmmc regulator found

hub 1-1:1.0: USB hub found

hub 1-1:1.0: 4 ports detected

mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA

/soc/aips-bus@02000000/vpu@02040000: could not get #power-domain-cells for /soc/aips-bus@02000000/gpc@020dc000

mxc_vpu 2040000.vpu: VPU initialized

Job Ring Device allocation for transform failed

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

Unable to handle kernel NULL pointer dereference at virtual address 00000014

pgd = 80004000

[00000014] *pgd=00000000

Internal error: Oops: 5 [#1] PREEMPT SMP ARM

Modules linked in:

CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.28 #113

task: a8080000 ti: a8062000 task.ti: a8062000

PC is at aic3x_i2c_probe+0x84/0x310

LR is at _raw_spin_unlock_irqrestore+0x28/0x54

pc : [<805e97d0>]    lr : [<8077fc6c>]    psr: a0000113

sp : a8063e48  ip : a8063e14  fp : 00000000

r10: ab7508cc  r9 : a8062000  r8 : 00000000

r7 : 00000000  r6 : a81af420  r5 : a840a910  r4 : a83aee50

r3 : 00000000  r2 : 00000000  r1 : a0000113  r0 : ffffffff

Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 10c53c7d  Table: 1000404a  DAC: 00000015

Process swapper/0 (pid: 1, stack limit = 0xa8062238)

Stack: (0xa8063e48 to 0xa8064000)

3e40:                   00000000 a81af420 80ea5ecc a81af420 80ea5ecc a81af400

3e60: 80ea5ecc 00000000 80dfc510 804dfa3c a81af420 80f111ac 00000000 803dc3d0

3e80: a81af420 80ea5ecc a81af454 00000000 80e31cc4 803dc584 00000000 80ea5ecc

3ea0: 803dc4f8 803daba0 a80d4a5c a8199934 80ea5ecc a840ea00 80e8f4d8 803dbb60

3ec0: 80d6e5a8 80ea5ecc 00000006 80ea5ecc 00000006 80e416f8 80eb6f00 803dcba4

3ee0: 80e8f4d8 80ea5ea8 00000006 804e1810 00000000 80e4d3e0 00000006 800088a8

3f00: 80efcaa4 a810c100 807840c4 0000009f 80eb6f00 80dbd520 00000000 8012201c

3f20: 00000000 80e64b10 abfff9d8 807a6c48 00000118 80044ee4 80e64b04 80e4cb18

3f40: 80d492b4 80dbc3a0 00000006 00000006 80e64ae0 80e4d3e0 00000006 80e416f8

3f60: 80eb6f00 00000118 80e41704 80dfc510 00000000 80dfcbf8 00000006 00000006

3f80: 80dfc510 8004dc2c 00000000 807720bc 00000000 00000000 00000000 00000000

3fa0: 00000000 807720c4 00000000 8000e5b8 00000000 00000000 00000000 00000000

3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 44322cc0 0f9a83c8

[<805e97d0>] (aic3x_i2c_probe) from [<804dfa3c>] (i2c_device_probe+0x80/0xa8)

[<804dfa3c>] (i2c_device_probe) from [<803dc3d0>] (driver_probe_device+0x114/0x23c)

[<803dc3d0>] (driver_probe_device) from [<803dc584>] (__driver_attach+0x8c/0x90)

[<803dc584>] (__driver_attach) from [<803daba0>] (bus_for_each_dev+0x54/0x88)

[<803daba0>] (bus_for_each_dev) from [<803dbb60>] (bus_add_driver+0xd4/0x1d0)

[<803dbb60>] (bus_add_driver) from [<803dcba4>] (driver_register+0x78/0xf4)

[<803dcba4>] (driver_register) from [<804e1810>] (i2c_register_driver+0x2c/0xb4)

[<804e1810>] (i2c_register_driver) from [<800088a8>] (do_one_initcall+0xe4/0x140)

[<800088a8>] (do_one_initcall) from [<80dfcbf8>] (kernel_init_freeable+0xfc/0x1c8)

[<80dfcbf8>] (kernel_init_freeable) from [<807720c4>] (kernel_init+0x8/0xec)

[<807720c4>] (kernel_init) from [<8000e5b8>] (ret_from_fork+0x14/0x3c)

Code: e5973004 e5843078 e5973008 e5843098 (e5983014)

---[ end trace 22ed2c2097f97d93 ]---

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

CPU2: stopping

CPU: 2 PID: 0 Comm: swapper/2 Tainted: G      D      3.14.28 #113

[<800155a0>] (unwind_backtrace) from [<800116bc>] (show_stack+0x10/0x14)

[<800116bc>] (show_stack) from [<8077909c>] (dump_stack+0x6c/0xb8)

[<8077909c>] (dump_stack) from [<8001455c>] (handle_IPI+0x130/0x15c)

[<8001455c>] (handle_IPI) from [<800085a0>] (gic_handle_irq+0x54/0x5c)

[<800085a0>] (gic_handle_irq) from [<80012180>] (__irq_svc+0x40/0x70)

Exception stack(0xa80a9fa0 to 0xa80a9fe8)

9fa0: ffffffed 2a8e5000 80e5b374 8001d4c0 a80a8000 80e5a574 807835cc 80eb6c91

9fc0: 00000001 412fc09a 80eb6c91 00000000 00000000 a80a9fe8 8000f15c 8000f14c

9fe0: 60000113 ffffffff

[<80012180>] (__irq_svc) from [<8000f14c>] (arch_cpu_idle+0x28/0x44)

[<8000f14c>] (arch_cpu_idle) from [<80064ff4>] (cpu_startup_entry+0x5c/0x148)

[<80064ff4>] (cpu_startup_entry) from [<10008644>] (0x10008644)

CPU1: stopping

CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D      3.14.28 #113

[<800155a0>] (unwind_backtrace) from [<800116bc>] (show_stack+0x10/0x14)

[<800116bc>] (show_stack) from [<8077909c>] (dump_stack+0x6c/0xb8)

[<8077909c>] (dump_stack) from [<8001455c>] (handle_IPI+0x130/0x15c)

[<8001455c>] (handle_IPI) from [<800085a0>] (gic_handle_irq+0x54/0x5c)

[<800085a0>] (gic_handle_irq) from [<80012180>] (__irq_svc+0x40/0x70)

Exception stack(0xa80a7fa0 to 0xa80a7fe8)

7fa0: ffffffed 2a8dd000 80e5b374 8001d4c0 a80a6000 80e5a574 807835cc 80eb6c91

7fc0: 00000001 412fc09a 80eb6c91 00000000 00000000 a80a7fe8 8000f15c 8000f14c

7fe0: 60000113 ffffffff

[<80012180>] (__irq_svc) from [<8000f14c>] (arch_cpu_idle+0x28/0x44)

[<8000f14c>] (arch_cpu_idle) from [<80064ff4>] (cpu_startup_entry+0x5c/0x148)

[<80064ff4>] (cpu_startup_entry) from [<10008644>] (0x10008644)

CPU3: stopping

CPU: 3 PID: 0 Comm: swapper/3 Tainted: G      D      3.14.28 #113

[<800155a0>] (unwind_backtrace) from [<800116bc>] (show_stack+0x10/0x14)

[<800116bc>] (show_stack) from [<8077909c>] (dump_stack+0x6c/0xb8)

[<8077909c>] (dump_stack) from [<8001455c>] (handle_IPI+0x130/0x15c)

[<8001455c>] (handle_IPI) from [<800085a0>] (gic_handle_irq+0x54/0x5c)

[<800085a0>] (gic_handle_irq) from [<80012180>] (__irq_svc+0x40/0x70)

Exception stack(0xa80abfa0 to 0xa80abfe8)

bfa0: ffffffed 2a8ed000 80e5b374 8001d4c0 a80aa000 80e5a574 807835cc 80eb6c91

bfc0: 00000001 412fc09a 80eb6c91 00000000 00000000 a80abfe8 8000f15c 8000f14c

bfe0: 60000113 ffffffff

[<80012180>] (__irq_svc) from [<8000f14c>] (arch_cpu_idle+0x28/0x44)

[<8000f14c>] (arch_cpu_idle) from [<80064ff4>] (cpu_startup_entry+0x5c/0x148)

[<80064ff4>] (cpu_startup_entry) from [<10008644>] (0x10008644)

------------[ cut here ]------------

WARNING: CPU: 0 PID: 1 at kernel/workqueue.c:829 wq_worker_waking_up+0x68/0x80()

Modules linked in:

CPU: 0 PID: 1 Comm: swapper/0 Tainted: G      D      3.14.28 #113

[<800155a0>] (unwind_backtrace) from [<800116bc>] (show_stack+0x10/0x14)

[<800116bc>] (show_stack) from [<8077909c>] (dump_stack+0x6c/0xb8)

[<8077909c>] (dump_stack) from [<8002ced0>] (warn_slowpath_common+0x64/0x88)

[<8002ced0>] (warn_slowpath_common) from [<8002cf10>] (warn_slowpath_null+0x1c/0x24)

[<8002cf10>] (warn_slowpath_null) from [<80041a30>] (wq_worker_waking_up+0x68/0x80)

[<80041a30>] (wq_worker_waking_up) from [<8004ed24>] (ttwu_do_activate.constprop.72+0x4c/0x60)

[<8004ed24>] (ttwu_do_activate.constprop.72) from [<80051890>] (try_to_wake_up+0x1b4/0x298)

[<80051890>] (try_to_wake_up) from [<8005d840>] (__wake_up_common+0x4c/0x80)

[<8005d840>] (__wake_up_common) from [<8005d888>] (__wake_up_locked+0x14/0x1c)

[<8005d888>] (__wake_up_locked) from [<8005dfbc>] (complete+0x34/0x44)

[<8005dfbc>] (complete) from [<804a649c>] (__usb_hcd_giveback_urb+0x5c/0xd4)

[<804a649c>] (__usb_hcd_giveback_urb) from [<804a659c>] (usb_giveback_urb_bh+0x88/0xc4)

[<804a659c>] (usb_giveback_urb_bh) from [<80031154>] (tasklet_action+0x64/0xf4)

[<80031154>] (tasklet_action) from [<80030924>] (__do_softirq+0xf4/0x204)

[<80030924>] (__do_softirq) from [<80030c9c>] (irq_exit+0xa8/0xec)

[<80030c9c>] (irq_exit) from [<8000ee04>] (handle_IRQ+0x3c/0x94)

[<8000ee04>] (handle_IRQ) from [<80008574>] (gic_handle_irq+0x28/0x5c)

[<80008574>] (gic_handle_irq) from [<80012180>] (__irq_svc+0x40/0x70)

Exception stack(0xa8063b90 to 0xa8063bd8)

3b80:                                     00000001 00000000 80ebbdfc 00000000

3ba0: 80eb89f0 80ce6774 a8080000 00000000 00000000 a8080000 805e97d2 805e97d4

3bc0: 000008d8 a8063bd8 8077fc6c 80774a10 60000113 ffffffff

[<80012180>] (__irq_svc) from [<80774a10>] (panic+0x14c/0x1bc)

[<80774a10>] (panic) from [<8002f104>] (do_exit+0x7e8/0x884)

[<8002f104>] (do_exit) from [<800118b8>] (die+0x1f8/0x3c0)

[<800118b8>] (die) from [<807748a4>] (__do_kernel_fault.part.9+0x54/0x74)

[<807748a4>] (__do_kernel_fault.part.9) from [<8001a194>] (do_page_fault+0x1a4/0x378)

[<8001a194>] (do_page_fault) from [<800083b4>] (do_DataAbort+0x34/0x98)

[<800083b4>] (do_DataAbort) from [<80012118>] (__dabt_svc+0x38/0x60)

Exception stack(0xa8063e00 to 0xa8063e48)

3e00: ffffffff a0000113 00000000 00000000 a83aee50 a840a910 a81af420 00000000

3e20: 00000000 a8062000 ab7508cc 00000000 a8063e14 a8063e48 8077fc6c 805e97d0

3e40: a0000113 ffffffff

[<80012118>] (__dabt_svc) from [<805e97d0>] (aic3x_i2c_probe+0x84/0x310)

[<805e97d0>] (aic3x_i2c_probe) from [<804dfa3c>] (i2c_device_probe+0x80/0xa8)

[<804dfa3c>] (i2c_device_probe) from [<803dc3d0>] (driver_probe_device+0x114/0x23c)

[<803dc3d0>] (driver_probe_device) from [<803dc584>] (__driver_attach+0x8c/0x90)

[<803dc584>] (__driver_attach) from [<803daba0>] (bus_for_each_dev+0x54/0x88)

[<803daba0>] (bus_for_each_dev) from [<803dbb60>] (bus_add_driver+0xd4/0x1d0)

[<803dbb60>] (bus_add_driver) from [<803dcba4>] (driver_register+0x78/0xf4)

[<803dcba4>] (driver_register) from [<804e1810>] (i2c_register_driver+0x2c/0xb4)

[<804e1810>] (i2c_register_driver) from [<800088a8>] (do_one_initcall+0xe4/0x140)

[<800088a8>] (do_one_initcall) from [<80dfcbf8>] (kernel_init_freeable+0xfc/0x1c8)

[<80dfcbf8>] (kernel_init_freeable) from [<807720c4>] (kernel_init+0x8/0xec)

[<807720c4>] (kernel_init) from [<8000e5b8>] (ret_from_fork+0x14/0x3c)

---[ end trace 22ed2c2097f97d94 ]---

Please Help, I'm not good In kernel debugging. (In fact I really have no clue!)

What does that mean?

0 Kudos
Reply