void dg_init(struct oxygen *chip) { struct dg *data = chip->model_data; data->output_sel = PLAYBACK_DST_HP_FP; data->input_sel = CAPTURE_SRC_MIC; cs4245_init(chip); oxygen_write16(chip, OXYGEN_GPIO_CONTROL, GPIO_OUTPUT_ENABLE | GPIO_HP_REAR | GPIO_INPUT_ROUTE); /* anti-pop delay, wait some time before enabling the output */ msleep(2500); oxygen_write16(chip, OXYGEN_GPIO_DATA, GPIO_OUTPUT_ENABLE | GPIO_INPUT_ROUTE); }
static void dg_init(struct oxygen *chip) { struct dg *data = chip->model_data; data->output_sel = 0; data->input_sel = 3; data->hp_vol_att = 2 * 16; cs4245_init(chip); oxygen_clear_bits16(chip, OXYGEN_GPIO_CONTROL, GPIO_MAGIC | GPIO_HP_DETECT); oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, GPIO_INPUT_ROUTE | GPIO_HP_REAR | GPIO_OUTPUT_ENABLE); oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, GPIO_INPUT_ROUTE | GPIO_HP_REAR); dg_output_enable(chip); }