LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Password
Linux - Kernel This forum is for all discussion relating to the Linux kernel.

Notices


Reply
  Search this Thread
Old 10-12-2017, 07:51 AM   #1
rafiq380
LQ Newbie
 
Registered: Jun 2005
Location: Dhaka
Distribution: RedHat 9
Posts: 1

Rep: Reputation: 0
How to add codec driver direct into board specific file


I am trying to replace the codec TLV320AIC32X4 with sierra wireless modem (MSM9615) stopped.
Since the kernel (3.4.91) don't support device tree, it required to specify the driver into the board file(s).

But unfortunately I'm not finding a good information that specifies the procedures.

Would like to have a guide line from experts.

Thanks.
 
Old 10-16-2017, 05:31 PM   #2
daveolson
LQ Newbie
 
Registered: Oct 2017
Distribution: Yocto/Kubuntu
Posts: 2

Rep: Reputation: Disabled
I'm not claiming to be an expert but I am currently porting code based on a circa 2.8 kernel w/o device tree to a circa 4.4 kernel w/ device tree. I can't tell you anything about the MXM9615 but I can tell you how my board file looked when interfacing to a TLV320AIC3104 codec under the non-device tree kernel.

There are two key pieces: configuration and board file. The configuration controls, among other things, whether or not the driver is compiled. In my case, I've used 'make menuconfig' to enable SND_SOC_TLV320AIC3X.

Here's the heavily edited chain of declarations/functions from my board file. They're presented top down though the order they exist in the board file is bottom up so that references are resolved correctly. The essential flow is that the board "probe" function eventually registers the I2C bus to which is attached the TLV320AIC3104 at I2C address 0x18.

/* code */
MACHINE_START(DM385IPNC, "dm385ipnc")
...
.init_machine = dm385_evm_init,
...
MACHINE_END

static void __init dm385_evm_init(void)
{
...
ti814x_evm_i2c_init();
...
}

static void __init ti814x_evm_i2c_init(void)
{
omap_register_i2c_bus(1, 400, ti814x_i2c_boardinfo,
ARRAY_SIZE(ti814x_i2c_boardinfo));
}

static struct i2c_board_info ti814x_i2c_boardinfo[] __initdata = {
#ifdef CONFIG_SND_SOC_TLV320AIC3X /* Codec */
{
I2C_BOARD_INFO("tlv320aic3104", 0x18),
},
#endif
...
}
/* end of code */
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
openSUSE Leap Add Direct Delete Option In File Manager ColJohnHannibalSmith SUSE / openSUSE 2 02-11-2016 03:43 PM
[SOLVED] Direct specific client to specific server via DNS !! shahzaibcb Linux - Newbie 15 07-12-2014 03:09 AM
how to Add board specific code into the kernel tree. zahidul Linux - Software 2 09-26-2008 03:17 AM
What is the best driver for On board HD 7.1 CH Audio CODEC in 6.10? kc5hwb Ubuntu 4 04-17-2007 09:11 PM
NFS - How can I direct traffic to a specific nic? gislil Linux - Networking 2 10-25-2006 05:59 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel

All times are GMT -5. The time now is 07:43 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration