这篇教程C++ sst_sc_reg_access函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sst_sc_reg_access函数的典型用法代码示例。如果您正苦于以下问题:C++ sst_sc_reg_access函数的具体用法?C++ sst_sc_reg_access怎么用?C++ sst_sc_reg_access使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sst_sc_reg_access函数的21个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: nc_set_selected_output_devstatic int nc_set_selected_output_dev(u8 value){ struct sc_reg_access sc_access_HP[] = { {LMUTE, 0x02, 0x06}, {RMUTE, 0x02, 0x06} }; struct sc_reg_access sc_access_IS[] = { {LMUTE, 0x04, 0x06}, {RMUTE, 0x04, 0x06} }; int retval = 0; snd_pmic_ops_nc.output_dev_id = value; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; pr_debug("nc set selected output:%d/n", value); switch (value) { case STEREO_HEADPHONE: retval = sst_sc_reg_access(sc_access_HP, PMIC_WRITE, 2); break; case INTERNAL_SPKR: retval = sst_sc_reg_access(sc_access_IS, PMIC_WRITE, 2); break; default: pr_err("rcvd illegal request: %d/n", value); return -EINVAL; } return retval;}
开发者ID:AbheekG,项目名称:XIA-for-Linux,代码行数:31,
示例2: fs_set_voice_portstatic int fs_set_voice_port(int status){ struct sc_reg_access sc_access[2]; int retval = 0; if (snd_pmic_ops_fs.card_status == SND_CARD_UN_INIT) retval = fs_init_card(); if (retval) return retval; if (status == DEACTIVATE) { /* Deactivate audio port-tristate and power */ sc_access[0].value = 0x00; sc_access[0].mask = MASK6|MASK7; sc_access[0].reg_addr = VOICEPORT1; sc_access[1].value = 0x00; sc_access[1].mask = MASK0|MASK1; sc_access[1].reg_addr = POWERCTRL2; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2); } else if (status == ACTIVATE) { /* activate audio port */ sc_access[0].value = 0xC0; sc_access[0].mask = MASK6|MASK7; sc_access[0].reg_addr = VOICEPORT1; sc_access[1].value = 0x03; sc_access[1].mask = MASK0|MASK1; sc_access[1].reg_addr = POWERCTRL2; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2); } else return -EINVAL;}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:30,
示例3: nc_set_audio_portstatic int nc_set_audio_port(int status){ struct sc_reg_access sc_access[2] = {{0,},}; int retval = 0; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; if (status == DEACTIVATE) { /* Deactivate audio port-tristate and power */ sc_access[0].value = 0x00; sc_access[0].mask = MASK4|MASK5; sc_access[0].reg_addr = AUDIOPORT1; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 1); } else if (status == ACTIVATE) { /* activate audio port */ nc_audio_init(); sc_access[0].value = 0x10; sc_access[0].mask = MASK4|MASK5 ; sc_access[0].reg_addr = AUDIOPORT1; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 1); } else return -EINVAL;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:27,
示例4: fs_set_selected_output_devstatic int fs_set_selected_output_dev(u8 value){ struct sc_reg_access sc_access_hp[] = { {0x191, 0x11, 0x0}, {0x192, 0x0E, 0x0}, }; struct sc_reg_access sc_access_is[] = { {0x191, 0x17, 0xFF}, {0x192, 0x08, 0xFF}, }; int retval = 0; if (snd_pmic_ops_fs.card_status == SND_CARD_UN_INIT) retval = fs_init_card(); if (retval) return retval; switch (value) { case STEREO_HEADPHONE: pr_debug("SST DBG:Selecting headphone/n"); return sst_sc_reg_access(sc_access_hp, PMIC_WRITE, 2); break; case MONO_EARPIECE: case INTERNAL_SPKR: pr_debug("SST DBG:Selecting internal spkr/n"); return sst_sc_reg_access(sc_access_is, PMIC_READ_MODIFY, 2); break; default: return -EINVAL; }}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:33,
示例5: mx_enable_audiodacstatic int mx_enable_audiodac(int value){ struct sc_reg_access sc_access[3]; int mute_val = 0; int mute_val1 = 0; int retval = 0; sc_access[0].reg_addr = AS_LEFT_HP_VOL_CTL; sc_access[1].reg_addr = AS_RIGHT_HP_VOL_CTL; if (value == UNMUTE) { mute_val = 0x1F; mute_val1 = 0x00; } else { mute_val = 0x00; mute_val1 = 0x40; } sc_access[0].mask = sc_access[1].mask = MASK0|MASK1|MASK2|MASK3|MASK4; sc_access[0].value = sc_access[1].value = (u8)mute_val; retval = sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2); if (retval) return retval; pr_debug("mute status = %d/n", snd_pmic_ops_mx.mute_status); if (snd_pmic_ops_mx.mute_status == MUTE || snd_pmic_ops_mx.master_mute == MUTE) return retval; sc_access[0].reg_addr = VOL_CTRL_LT; sc_access[1].reg_addr = VOL_CTRL_RT; sc_access[0].mask = sc_access[1].mask = MASK6; sc_access[0].value = sc_access[1].value = mute_val1; if (snd_pmic_ops_mx.num_channel == 1) sc_access[1].value = 0x40; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2);}
开发者ID:pbugalski,项目名称:linux,代码行数:35,
示例6: nc_set_voice_portstatic int nc_set_voice_port(int status){ struct sc_reg_access sc_access[2] = {{0,},}; int retval = 0; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; if (status == DEACTIVATE) { /* Activate Voice port */ sc_access[0].value = 0x00; sc_access[0].mask = MASK4; sc_access[0].reg_addr = VOICEPORT1; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 1); } else if (status == ACTIVATE) { /* Deactivate voice port */ nc_set_pcm_voice_params(); sc_access[0].value = 0x10; sc_access[0].mask = MASK4; sc_access[0].reg_addr = VOICEPORT1; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 1); } else return -EINVAL;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:26,
示例7: fs_set_volstatic int fs_set_vol(int dev_id, int value){ struct sc_reg_access sc_acces, sc_access[4] = {{0},}; int reg_num = 0; int retval = 0; if (snd_pmic_ops_fs.card_status == SND_CARD_UN_INIT) retval = fs_init_card(); if (retval) return retval; switch (dev_id) { case PMIC_SND_LEFT_PB_VOL: pr_debug("PMIC_SND_LEFT_PB_VOL:%d/n", value); sc_access[0].value = sc_access[1].value = value; sc_access[0].reg_addr = AUD16; sc_access[1].reg_addr = AUD15; sc_access[0].mask = sc_access[1].mask = (MASK0|MASK1|MASK2|MASK3|MASK4|MASK5); reg_num = 2; break; case PMIC_SND_RIGHT_PB_VOL: pr_debug("PMIC_SND_RIGHT_PB_VOL:%d/n", value); sc_access[0].value = sc_access[1].value = value; sc_access[0].reg_addr = AUD17; sc_access[1].reg_addr = AUD15; sc_access[0].mask = sc_access[1].mask = (MASK0|MASK1|MASK2|MASK3|MASK4|MASK5); if (snd_pmic_ops_fs.num_channel == 1) { sc_access[0].value = sc_access[1].value = 0x80; sc_access[0].mask = sc_access[1].mask = MASK7; } reg_num = 2; break; case PMIC_SND_CAPTURE_VOL: pr_debug("PMIC_SND_CAPTURE_VOL:%d/n", value); sc_access[0].reg_addr = MICLICTRL1; sc_access[1].reg_addr = MICLICTRL2; sc_access[2].reg_addr = DMICCTRL1; sc_access[2].value = value; sc_access[0].value = sc_access[1].value = value; sc_acces.reg_addr = MICLICTRL3; sc_acces.value = value; sc_acces.mask = (MASK0|MASK1|MASK2|MASK3|MASK5|MASK6|MASK7); retval = sst_sc_reg_access(&sc_acces, PMIC_READ_MODIFY, 1); sc_access[0].mask = sc_access[1].mask = sc_access[2].mask = (MASK0|MASK1|MASK2|MASK3|MASK4|MASK5); reg_num = 3; break; default: return -EINVAL; } return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, reg_num);}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:57,
示例8: nc_power_up_pbstatic int nc_power_up_pb(unsigned int port){ struct sc_reg_access sc_access[7]; int retval = 0; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; if (port == 0xFF) return 0; nc_enable_audiodac(MUTE); msleep(30); pr_debug("powering up pb..../n"); sc_access[0].reg_addr = VAUDIOCNT; sc_access[0].value = 0x27; sc_access[0].mask = 0x27; sc_access[1].reg_addr = VREFPLL; if (port == 0) { sc_access[1].value = 0x3A; sc_access[1].mask = 0x3A; } else if (port == 1) { sc_access[1].value = 0x35; sc_access[1].mask = 0x35; } retval = sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2); sc_access[0].reg_addr = POWERCTRL1; if (port == 0) { sc_access[0].value = 0x40; sc_access[0].mask = 0x40; } else if (port == 1) { sc_access[0].value = 0x01; sc_access[0].mask = 0x01; } sc_access[1].reg_addr = POWERCTRL2; sc_access[1].value = 0x0C; sc_access[1].mask = 0x0C; sc_access[2].reg_addr = DRVPOWERCTRL; sc_access[2].value = 0x86; sc_access[2].mask = 0x86; sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 3); msleep(30); return nc_enable_audiodac(UNMUTE);}
开发者ID:AbheekG,项目名称:XIA-for-Linux,代码行数:54,
示例9: nc_power_downstatic int nc_power_down(void){ int retval = 0; struct sc_reg_access sc_access[5]; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; nc_enable_audiodac(MUTE); pr_debug("powering dn nc_power_down ..../n"); if (snd_pmic_ops_nc.output_dev_id == MONO_EARPIECE || snd_pmic_ops_nc.output_dev_id == INTERNAL_SPKR) nc_set_amp_power(0); msleep(30); sc_access[0].reg_addr = DRVPOWERCTRL; sc_access[0].value = 0x00; sc_access[0].mask = 0x00; sst_sc_reg_access(sc_access, PMIC_WRITE, 1); sc_access[0].reg_addr = POWERCTRL1; sc_access[0].value = 0x00; sc_access[0].mask = 0x00; sc_access[1].reg_addr = POWERCTRL2; sc_access[1].value = 0x00; sc_access[1].mask = 0x00; sst_sc_reg_access(sc_access, PMIC_WRITE, 2); msleep(30); sc_access[0].reg_addr = VREFPLL; sc_access[0].value = 0x10; sc_access[0].mask = 0x10; sc_access[1].reg_addr = VAUDIOCNT; sc_access[1].value = 0x25; sc_access[1].mask = 0x25; retval = sst_sc_reg_access(sc_access, PMIC_WRITE, 2); msleep(30); return nc_enable_audiodac(UNMUTE);}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:53,
示例10: nc_power_up_cpstatic int nc_power_up_cp(unsigned int port){ struct sc_reg_access sc_access[5]; int retval = 0; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; pr_debug("powering up cp..../n"); if (port == 0xFF) return 0; sc_access[0].reg_addr = VAUDIOCNT; sc_access[0].value = 0x27; sc_access[0].mask = 0x27; sc_access[1].reg_addr = VREFPLL; if (port == 0) { sc_access[1].value = 0x3E; sc_access[1].mask = 0x3E; } else if (port == 1) { sc_access[1].value = 0x35; sc_access[1].mask = 0x35; } retval = sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2); sc_access[0].reg_addr = POWERCTRL1; if (port == 0) { sc_access[0].value = 0xB4; sc_access[0].mask = 0xB4; } else if (port == 1) { sc_access[0].value = 0xBF; sc_access[0].mask = 0xBF; } sc_access[1].reg_addr = POWERCTRL2; if (port == 0) { sc_access[1].value = 0x0C; sc_access[1].mask = 0x0C; } else if (port == 1) { sc_access[1].value = 0x02; sc_access[1].mask = 0x02; } return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2);}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:51,
示例11: mx_get_mutestatic int mx_get_mute(int dev_id, u8 *value){ struct sc_reg_access sc_access[4] = {{0},}; int retval = 0, num_reg = 0, mask = 0; if (snd_pmic_ops_mx.card_status == SND_CARD_UN_INIT) { retval = mx_init_card(); if (retval) return retval; } switch (dev_id) { case PMIC_SND_DMIC_MUTE: case PMIC_SND_AMIC_MUTE: case PMIC_SND_HP_MIC_MUTE: sc_access[0].reg_addr = 0x220; mask = MASK5|MASK6; num_reg = 1; retval = sst_sc_reg_access(sc_access, PMIC_READ, num_reg); if (retval) return retval; *value = sc_access[0].value & mask; if (*value) *value = UNMUTE; else *value = MUTE; return retval; case PMIC_SND_LEFT_HP_MUTE: case PMIC_SND_LEFT_SPEAKER_MUTE: sc_access[0].reg_addr = VOL_CTRL_LT; num_reg = 1; mask = MASK6; break; case PMIC_SND_RIGHT_HP_MUTE: case PMIC_SND_RIGHT_SPEAKER_MUTE: sc_access[0].reg_addr = VOL_CTRL_RT; num_reg = 1; mask = MASK6; break; } retval = sst_sc_reg_access(sc_access, PMIC_READ, num_reg); if (retval) return retval; *value = sc_access[0].value & mask; if (*value) *value = MUTE; else *value = UNMUTE; return retval;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:49,
示例12: nc_get_mutestatic int nc_get_mute(int dev_id, u8 *value){ int retval = 0, mask = 0; struct sc_reg_access sc_access = {0,}; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; pr_debug("get mute::%d/n", dev_id); switch (dev_id) { case PMIC_SND_AMIC_MUTE: pr_debug("PMIC_SND_INPUT_MUTE_MIC1/n"); sc_access.reg_addr = LILSEL; mask = MASK6; break; case PMIC_SND_HP_MIC_MUTE: pr_debug("PMIC_SND_INPUT_MUTE_MIC2/n"); sc_access.reg_addr = LIRSEL; mask = MASK6; break; case PMIC_SND_LEFT_HP_MUTE: case PMIC_SND_RIGHT_HP_MUTE: mask = MASK2; pr_debug("PMIC_SN_LEFT/RIGHT_HP_MUTE/n"); if (dev_id == PMIC_SND_RIGHT_HP_MUTE) sc_access.reg_addr = RMUTE; else sc_access.reg_addr = LMUTE; break; case PMIC_SND_LEFT_SPEAKER_MUTE: pr_debug("PMIC_MONO_EARPIECE_MUTE/n"); sc_access.reg_addr = RMUTE; mask = MASK1; break; case PMIC_SND_DMIC_MUTE: pr_debug("PMIC_SND_INPUT_MUTE_DMIC/n"); sc_access.reg_addr = 0x105; mask = MASK6; break; default: return -EINVAL; } retval = sst_sc_reg_access(&sc_access, PMIC_READ, 1); pr_debug("reg value = %d/n", sc_access.value); if (retval) return retval; *value = (sc_access.value) & mask; pr_debug("masked value = %d/n", *value); if (*value) *value = 0; else *value = 1; pr_debug("value returned = 0x%x/n", *value); return retval;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:60,
示例13: nc_enable_audiodacstatic int nc_enable_audiodac(int value){ struct sc_reg_access sc_access[3]; int mute_val = 0; if (snd_pmic_ops_nc.mute_status == MUTE) return 0; if (((snd_pmic_ops_nc.output_dev_id == MONO_EARPIECE) || (snd_pmic_ops_nc.output_dev_id == INTERNAL_SPKR)) && (value == UNMUTE)) return 0; if (value == UNMUTE) { /* unmute the system, set the 7th bit to zero */ mute_val = 0x00; } else { /* MUTE:Set the seventh bit */ mute_val = 0x04; } sc_access[0].reg_addr = LMUTE; sc_access[1].reg_addr = RMUTE; sc_access[0].mask = sc_access[1].mask = MASK2; sc_access[0].value = sc_access[1].value = mute_val; if (snd_pmic_ops_nc.num_channel == 1) sc_access[1].value = 0x04; return sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2);}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:30,
示例14: mx_get_volstatic int mx_get_vol(int dev_id, int *value){ struct sc_reg_access sc_access = {0,}; int retval = 0, mask = 0, num_reg = 0; if (snd_pmic_ops_mx.card_status == SND_CARD_UN_INIT) { retval = mx_init_card(); if (retval) return retval; } switch (dev_id) { case PMIC_SND_CAPTURE_VOL: sc_access.reg_addr = 0x220; mask = MASK0|MASK1|MASK2|MASK3|MASK4; num_reg = 1; break; case PMIC_SND_LEFT_PB_VOL: sc_access.reg_addr = VOL_CTRL_LT; mask = MASK0|MASK1|MASK2|MASK3|MASK4|MASK5; num_reg = 1; break; case PMIC_SND_RIGHT_PB_VOL: sc_access.reg_addr = VOL_CTRL_RT; mask = MASK0|MASK1|MASK2|MASK3|MASK4|MASK5; num_reg = 1; break; } retval = sst_sc_reg_access(&sc_access, PMIC_READ, num_reg); if (retval) return retval; *value = -(sc_access.value & mask); pr_debug("get volume value extracted %d/n", *value); return retval;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:34,
示例15: mx_power_down_pbstatic int mx_power_down_pb(unsigned int device){ struct sc_reg_access sc_access[3]; int retval = 0; if (snd_pmic_ops_mx.card_status == SND_CARD_UN_INIT) { retval = mx_init_card(); if (retval) return retval; } retval = mx_enable_audiodac(MUTE); if (retval) return retval; sc_access[0].reg_addr = ENABLE_OPDEV_CTRL; sc_access[0].mask = MASK3|MASK2; sc_access[0].value = 0x00; retval = sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 1); if (retval) return retval; return mx_enable_audiodac(UNMUTE);}
开发者ID:pbugalski,项目名称:linux,代码行数:25,
示例16: nc_set_pcm_voice_paramsstatic int nc_set_pcm_voice_params(void){ struct sc_reg_access sc_access[] = { {0x100, 0xD5, 0}, {0x101, 0x08, 0}, {0x104, 0x03, 0}, {0x107, 0x10, 0}, {0x10B, 0x0E, 0}, {0x10E, 0x03, 0}, {0x10F, 0x03, 0}, {0x114, 0x13, 0}, {0x115, 0x00, 0}, {0x128, 0xFE, 0}, {0x129, 0xFE, 0}, {0x12A, 0xFE, 0}, {0x12B, 0xDE, 0}, {0x12C, 0xDE, 0}, }; int retval = 0; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; sst_sc_reg_access(sc_access, PMIC_WRITE, 14); pr_debug("Voice parameters set successfully!!/n"); return 0;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:29,
示例17: mx_set_pcm_voice_paramsstatic int mx_set_pcm_voice_params(void){ int retval = 0; struct sc_reg_access sc_access[] = { {0x200, 0x80, 0x00}, {0x201, 0xC0, 0x00}, {0x202, 0x00, 0x00}, {0x203, 0x00, 0x00}, {0x204, 0x0e, 0x00}, {0x205, 0x20, 0x00}, {0x206, 0x8f, 0x00}, {0x207, 0x21, 0x00}, {0x208, 0x18, 0x00}, {0x209, 0x32, 0x00}, {0x20a, 0x00, 0x00}, {0x20b, 0x5A, 0x00}, {0x20c, 0xBE, 0x00},/* 0x00 -> 0xBE Koski */ {0x20d, 0x00, 0x00}, /* DAI2 'off' */ {0x20e, 0x40, 0x00}, {0x20f, 0x00, 0x00}, {0x210, 0x84, 0x00}, {0x211, 0x33, 0x00}, /* Voice filter */ {0x212, 0x00, 0x00}, {0x213, 0x00, 0x00}, {0x214, 0x41, 0x00}, {0x215, 0x00, 0x00}, {0x216, 0x00, 0x00}, {0x217, 0x20, 0x00}, {0x218, 0x00, 0x00}, {0x219, 0x00, 0x00}, {0x21a, 0x40, 0x00}, {0x21b, 0x40, 0x00}, {0x21c, 0x09, 0x00}, {0x21d, 0x09, 0x00}, {0x21e, 0x00, 0x00}, {0x21f, 0x00, 0x00}, {0x220, 0x00, 0x00}, /* Microphone configurations */ {0x221, 0x00, 0x00}, /* Microphone configurations */ {0x222, 0x50, 0x00}, /* Microphone configurations */ {0x223, 0x21, 0x00}, /* Microphone configurations */ {0x224, 0x00, 0x00}, {0x225, 0x80, 0x00}, {0xf9, 0x40, 0x00}, {0xfa, 0x19, 0x00}, {0xfb, 0x19, 0x00}, {0xfc, 0x12, 0x00}, {0xfd, 0x12, 0x00}, {0xfe, 0x00, 0x00}, }; if (snd_pmic_ops_mx.card_status == SND_CARD_UN_INIT) { retval = mx_init_card(); if (retval) return retval; } pr_debug("SST DBG:mx_set_pcm_voice_params called/n"); return sst_sc_reg_access(sc_access, PMIC_WRITE, 44);}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:58,
示例18: nc_power_down_pbstatic int nc_power_down_pb(unsigned int device){ int retval = 0; struct sc_reg_access sc_access[5]; if (snd_pmic_ops_nc.card_status == SND_CARD_UN_INIT) retval = nc_init_card(); if (retval) return retval; pr_debug("powering dn pb..../n"); mutex_lock(&snd_pmic_ops_nc.lock); nc_enable_audiodac(MUTE); msleep(30); sc_access[0].reg_addr = DRVPOWERCTRL; sc_access[0].value = 0x00; sc_access[0].mask = 0x00; sst_sc_reg_access(sc_access, PMIC_WRITE, 1); msleep(30); sc_access[0].reg_addr = POWERCTRL1; sc_access[0].value = 0x00; sc_access[0].mask = 0x41; sc_access[1].reg_addr = POWERCTRL2; sc_access[1].value = 0x00; sc_access[1].mask = 0x0C; sst_sc_reg_access(sc_access, PMIC_READ_MODIFY, 2); msleep(30); snd_pmic_ops_nc.pb_on = 0; nc_enable_audiodac(UNMUTE); mutex_unlock(&snd_pmic_ops_nc.lock); return 0;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:45,
示例19: mx_get_jack_statusstatic u8 mx_get_jack_status(void){ struct sc_reg_access sc_access_read = {0,}; sc_access_read.reg_addr = 0x201; sst_sc_reg_access(&sc_access_read, PMIC_READ, 1); pr_debug("value returned = 0x%x/n", sc_access_read.value); return sc_access_read.value;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:9,
示例20: mx_init_card/** * mx_init_card - initialize the sound card * * This initializes the audio paths to know values in case of this sound card */static int mx_init_card(void){ struct sc_reg_access sc_access[] = { {0x200, 0x80, 0x00}, {0x201, 0xC0, 0x00}, {0x202, 0x00, 0x00}, {0x203, 0x00, 0x00}, {0x204, 0x02, 0x00}, {0x205, 0x10, 0x00}, {0x206, 0x60, 0x00}, {0x207, 0x00, 0x00}, {0x208, 0x90, 0x00}, {0x209, 0x51, 0x00}, {0x20a, 0x00, 0x00}, {0x20b, 0x10, 0x00}, {0x20c, 0x00, 0x00}, {0x20d, 0x00, 0x00}, {0x20e, 0x21, 0x00}, {0x20f, 0x00, 0x00}, {0x210, 0x84, 0x00}, {0x211, 0xB3, 0x00}, {0x212, 0x00, 0x00}, {0x213, 0x00, 0x00}, {0x214, 0x41, 0x00}, {0x215, 0x00, 0x00}, {0x216, 0x00, 0x00}, {0x217, 0x00, 0x00}, {0x218, 0x03, 0x00}, {0x219, 0x03, 0x00}, {0x21a, 0x00, 0x00}, {0x21b, 0x00, 0x00}, {0x21c, 0x00, 0x00}, {0x21d, 0x00, 0x00}, {0x21e, 0x00, 0x00}, {0x21f, 0x00, 0x00}, {0x220, 0x20, 0x00}, {0x221, 0x20, 0x00}, {0x222, 0x51, 0x00}, {0x223, 0x20, 0x00}, {0x224, 0x04, 0x00}, {0x225, 0x80, 0x00}, {0x226, 0x0F, 0x00}, {0x227, 0x08, 0x00}, {0xf9, 0x40, 0x00}, {0xfa, 0x1f, 0x00}, {0xfb, 0x1f, 0x00}, {0xfc, 0x1f, 0x00}, {0xfd, 0x1f, 0x00}, {0xfe, 0x00, 0x00}, {0xff, 0x0c, 0x00}, }; snd_pmic_ops_mx.card_status = SND_CARD_INIT_DONE; snd_pmic_ops_mx.num_channel = 2; snd_pmic_ops_mx.master_mute = UNMUTE; snd_pmic_ops_mx.mute_status = UNMUTE; return sst_sc_reg_access(sc_access, PMIC_WRITE, 47);}
开发者ID:pbugalski,项目名称:linux,代码行数:62,
示例21: fs_set_selected_input_devstatic int fs_set_selected_input_dev(u8 value){ struct sc_reg_access sc_access_dmic[] = { {MICCTRL, 0x81, 0xf7}, {MICLICTRL3, 0x00, 0xE0}, }; struct sc_reg_access sc_access_mic[] = { {MICCTRL, 0x40, MASK2|MASK4|MASK5|MASK6|MASK7}, {MICLICTRL3, 0x00, 0xE0}, }; struct sc_reg_access sc_access_hsmic[] = { {MICCTRL, 0x10, MASK2|MASK4|MASK5|MASK6|MASK7}, {MICLICTRL3, 0x00, 0xE0}, }; int retval = 0; if (snd_pmic_ops_fs.card_status == SND_CARD_UN_INIT) retval = fs_init_card(); if (retval) return retval; switch (value) { case AMIC: pr_debug("Selecting amic not supported in mono cfg/n"); return sst_sc_reg_access(sc_access_mic, PMIC_READ_MODIFY, 2); break; case HS_MIC: pr_debug("Selecting hsmic/n"); return sst_sc_reg_access(sc_access_hsmic, PMIC_READ_MODIFY, 2); break; case DMIC: pr_debug("Selecting dmic/n"); return sst_sc_reg_access(sc_access_dmic, PMIC_READ_MODIFY, 2); break; default: return -EINVAL; }}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:44,
注:本文中的sst_sc_reg_access函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ sstr函数代码示例 C++ sss_strerror函数代码示例 |