Dear All,
my plaform AM3352, SDK is 6.0,my Audio IC is SGTL5000,I2C address is 0X0A
pin mux set is:
/* Module pin mux for mcasp0 */
static struct pinmux_config mcasp0_pin_mux[] = {
{"mii1_txclk.mcasp0_aclkx", OMAP_MUX_MODE6 | AM33XX_PIN_INPUT_PULLDOWN},
{"mii1_rxclk.mcasp0_fsx", OMAP_MUX_MODE6 | AM33XX_PIN_INPUT_PULLDOWN},
{"mii1_rxd0.mcasp0_axr3", OMAP_MUX_MODE6 | AM33XX_PIN_INPUT_PULLDOWN},
{"mii1_rxd3.mcasp0_axr0", OMAP_MUX_MODE6 | AM33XX_PIN_INPUT_PULLDOWN},
{NULL, 0},
};
mcasp0 init:
static u8 am335x_iis_serializer_direction0[] = {
INACTIVE_MODE, INACTIVE_MODE, TX_MODE, RX_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
};
static struct snd_platform_data am335x_evm_snd_data0 = {
.tx_dma_offset = 0x46000000, /* McASP0 */
.rx_dma_offset = 0x46000000,
.op_mode = DAVINCI_MCASP_IIS_MODE,
.num_serializer = ARRAY_SIZE(am335x_iis_serializer_direction0),
.tdm_slots = 2,
.serial_dir = am335x_iis_serializer_direction0,
.asp_chan_q = EVENTQ_2,
.version = MCASP_VERSION_3,
.txnumevt = 32,
.rxnumevt = 32,
.get_context_loss_count =
omap_pm_get_dev_context_loss_count,
};
static void mcasp0_init(int evm_id, int profile)
{
am335x_register_mcasp(&am335x_evm_snd_data0, 0);
}
But debug driver: linux/sound/soc/codes/sgtl5000.c
I find code can't run function:
sgtl5000_probe(struct snd_soc_codec *codec)
Debug code find funtion:
sgtl5000_i2c_probe(struct i2c_client *client,const struct i2c_device_id *id)
run OK
So I have no idea!
I hope you can give some advice!