.name = "msm_adspdec", .id = -1, .dev = { .platform_data = &msm_device_adspdec_database }, }; #define SNDDEV_CAP_NONE 0x0 #define SNDDEV_CAP_RX 0x1 /* */ #define SNDDEV_CAP_TX 0x2 /* */ #define SNDDEV_CAP_VOICE 0x4 /* */ #define SNDDEV_CAP_FM 0x10 /* */ #define SNDDEV_CAP_TTY 0x20 /* */ #define CAD(desc, num, cap) { .name = #desc, .id = num, .capability = cap, } static struct cad_endpoint cad_endpoints_list[] = { CAD(NONE, 0, SNDDEV_CAP_NONE), CAD(HANDSET_SPKR, 1, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(HANDSET_MIC, 2, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(HEADSET_MIC, 3, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(HEADSET_SPKR_MONO, 4, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(HEADSET_SPKR_STEREO, 5, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(SPEAKER_PHONE_MIC, 6, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(SPEAKER_PHONE_MONO, 7, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(SPEAKER_PHONE_STEREO, 8, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(BT_SCO_MIC, 9, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(BT_SCO_SPKR, 10, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(BT_A2DP_SPKR, 11, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(TTY_HEADSET_MIC, 12, (SNDDEV_CAP_TX | \ SNDDEV_CAP_VOICE | SNDDEV_CAP_TTY)), CAD(TTY_HEADSET_SPKR, 13, (SNDDEV_CAP_RX | \ SNDDEV_CAP_VOICE | SNDDEV_CAP_TTY)),
void sendToShiftRegister(byte value) { digitalWrite(LATCH_PIN, LOW); shiftOut(DATA_PIN, CLOCK_PIN, LSBFIRST, CAD(value)); digitalWrite(LATCH_PIN, HIGH); }
.name = "msm_adspdec", .id = -1, .dev = { .platform_data = &msm_device_adspdec_database }, }; #define SNDDEV_CAP_NONE 0x0 #define SNDDEV_CAP_RX 0x1 /* RX direction */ #define SNDDEV_CAP_TX 0x2 /* TX direction */ #define SNDDEV_CAP_VOICE 0x4 /* Support voice call */ #define SNDDEV_CAP_FM 0x10 /* Support FM radio */ #define SNDDEV_CAP_TTY 0x20 /* Support TTY */ #define CAD(desc, num, cap) { .name = #desc, .id = num, .capability = cap, } static struct cad_endpoint cad_endpoints_list[] = { CAD(NONE, 0, SNDDEV_CAP_NONE), CAD(HANDSET_SPKR, 1, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(HANDSET_MIC, 2, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(HEADSET_MIC, 3, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(HEADSET_SPKR_MONO, 4, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(HEADSET_SPKR_STEREO, 5, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(SPEAKER_PHONE_MIC, 6, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(SPEAKER_PHONE_MONO, 7, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(SPEAKER_PHONE_STEREO, 8, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(BT_SCO_MIC, 9, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)), CAD(BT_SCO_SPKR, 10, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(BT_A2DP_SPKR, 11, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(TTY_HEADSET_MIC, 12, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE | SNDDEV_CAP_TTY)), CAD(TTY_HEADSET_SPKR, 13, (SNDDEV_CAP_RX | SNDDEV_CAP_VOICE | SNDDEV_CAP_TTY)), CAD(HANDSET_SPKR_HAC, 14,(SNDDEV_CAP_RX | SNDDEV_CAP_VOICE)), CAD(HANDSET_MIC_ENDFIRE, 15, (SNDDEV_CAP_TX | SNDDEV_CAP_VOICE)),