您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ssp_enable函数代码示例

51自学网 2021-06-03 08:20:13
  C++
这篇教程C++ ssp_enable函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ssp_enable函数的典型用法代码示例。如果您正苦于以下问题:C++ ssp_enable函数的具体用法?C++ ssp_enable怎么用?C++ ssp_enable使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ssp_enable函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: reset_mcu

void reset_mcu(struct ssp_data *data) {	func_dbg();	ssp_enable(data, false);	clean_pending_list(data);	toggle_mcu_reset(data);	ssp_enable(data, true);}
开发者ID:ench0,项目名称:android_kernel_samsung_hltet,代码行数:7,


示例2: reset_mcu

void reset_mcu(struct ssp_data *data) {	func_dbg();	ssp_enable(data, false);	clean_pending_list(data);#ifdef CONFIG_SENSORS_SSP_BBD        bbd_mcu_reset();#else	toggle_mcu_reset(data);	ssp_enable(data, true);#endif}
开发者ID:bju2000,项目名称:android_kernel_samsung_slteskt,代码行数:11,


示例3: forced_to_download_binary

int forced_to_download_binary(struct ssp_data *data, int iBinType){	int iRet = 0;	int retry = 3;	ssp_dbg("[SSP] %s, mcu binany update!/n", __func__);	ssp_enable(data, false);#if SSP_STATUS_MONITOR	cancel_delayed_work_sync(&data->polling_work);#endif	data->fw_dl_state = FW_DL_STATE_DOWNLOADING;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	data->spi->max_speed_hz = BOOT_SPI_HZ;	if (spi_setup(data->spi))		pr_err("failed to setup spi for ssp_boot/n");	do {		pr_info("[SSP] %d try/n", 3 - retry);		iRet = update_mcu_bin(data, iBinType);	} while (retry -- > 0 && iRet < 0);	data->spi->max_speed_hz = NORM_SPI_HZ;	if (spi_setup(data->spi))		pr_err("failed to setup spi for ssp_norm/n");	if (iRet < 0) {		ssp_dbg("[SSP] %s, update_mcu_bin failed!/n", __func__);		goto out;	}	data->fw_dl_state = FW_DL_STATE_SYNC;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	ssp_enable(data, true);	get_proximity_threshold(data);	proximity_open_calibration(data);	accel_open_calibration(data);	gyro_open_calibration(data);	pressure_open_calibration(data);	data->fw_dl_state = FW_DL_STATE_DONE;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);#if SSP_STATUS_MONITOR	schedule_delayed_work(&data->polling_work, msecs_to_jiffies(7000));#endif	iRet = SUCCESS;out:	return iRet;}
开发者ID:sakuraba001,项目名称:android_kernel_samsung_tblte,代码行数:53,


示例4: forced_to_download_binary

int forced_to_download_binary(struct ssp_data *data, int iBinType){    int iRet = 0;    int retry = 3;    ssp_dbg("[SSP]: %s - mcu binany update!/n", __func__);    ssp_enable(data, false);    data->fw_dl_state = FW_DL_STATE_DOWNLOADING;    pr_info("[SSP] %s, DL state = %d/n", __func__,            data->fw_dl_state);    data->spi->max_speed_hz = BOOT_SPI_HZ;    if (spi_setup(data->spi))        pr_err("failed to setup spi for ssp_boot/n");    do {        pr_info("[SSP] %d try/n", 3 - retry);        iRet = update_mcu_bin(data, iBinType);    } while (retry -- > 0 && iRet < 0);    data->spi->max_speed_hz = NORM_SPI_HZ;    if (spi_setup(data->spi))        pr_err("failed to setup spi for ssp_norm/n");    if (iRet < 0) {        ssp_dbg("[SSP]: %s - update_mcu_bin failed!/n", __func__);        goto out;    }    data->fw_dl_state = FW_DL_STATE_SYNC;    pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);    ssp_enable(data, true);    iRet = initialize_mcu(data);    if (iRet < 0) {        iRet = ERROR;        ssp_dbg("[SSP]: %s - initialize_mcu failed!/n", __func__);        goto out;    }    sync_sensor_state(data);#ifdef CONFIG_SENSORS_SSP_SENSORHUB    ssp_sensorhub_report_notice(data, MSG2SSP_AP_STATUS_RESET);#endif    data->fw_dl_state = FW_DL_STATE_DONE;    pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);    iRet = SUCCESS;out:    return iRet;}
开发者ID:vantjnh1991,项目名称:leanKernel-note3,代码行数:53,


示例5: forced_to_download_binary

int forced_to_download_binary(struct ssp_data *data, int iBinType){	int iRet = 0;	int retry = 3;	ssp_dbg("[SSP] %s, mcu binany update!/n", __func__);	ssp_enable(data, false);	data->fw_dl_state = FW_DL_STATE_DOWNLOADING;	data->spi->mode = SPI_MODE_0;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	data->spi->max_speed_hz = BOOT_SPI_HZ;	if (spi_setup(data->spi))		pr_err("failed to setup spi for ssp_boot/n");	do {		pr_info("[SSP] %d try/n", 3 - retry);		iRet = update_mcu_bin(data, iBinType);		pr_info("======[SSP] SCHEDULE!!!!!/n");		schedule(); /*Defence for cpu schedule blocking watchdog*/		msleep(3);	} while (retry -- > 0 && iRet < 0);	data->spi->max_speed_hz = NORM_SPI_HZ;	data->spi->mode = SPI_MODE_1;	if (spi_setup(data->spi))		pr_err("failed to setup spi for ssp_norm/n");	if (iRet < 0) {		ssp_dbg("[SSP] %s, update_mcu_bin failed!/n", __func__);		goto out;	}	data->fw_dl_state = FW_DL_STATE_SYNC;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	ssp_enable(data, true);	proximity_open_lcd_ldi(data);	proximity_open_calibration(data);	accel_open_calibration(data);	gyro_open_calibration(data);	pressure_open_calibration(data);	data->fw_dl_state = FW_DL_STATE_DONE;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	iRet = SUCCESS;out:	return iRet;}
开发者ID:engine95,项目名称:exynos5433-MM-NNKernel,代码行数:52,


示例6: debug_work_func

static void debug_work_func(struct work_struct *work){	unsigned int uSensorCnt;	struct ssp_data *data = container_of(work, struct ssp_data, work_debug);	ssp_dbg("[SSP]: %s(%u) - Sensor state: 0x%x, RC: %u, CC: %u, TC: %u/n", 		__func__, data->uIrqCnt, data->uSensorState, data->uResetCnt,		data->uComFailCnt, data->uTimeOutCnt);	for (uSensorCnt = 0; uSensorCnt < SENSOR_MAX; uSensorCnt++)		if ((atomic_read(&data->aSensorEnable) & (1 << uSensorCnt))			|| data->batchLatencyBuf[uSensorCnt])			print_sensordata(data, uSensorCnt);	if (((atomic_read(&data->aSensorEnable) & (1 << ACCELEROMETER_SENSOR))		&& (data->batchLatencyBuf[ACCELEROMETER_SENSOR] == 0)		&& (data->uIrqCnt == 0) && (data->uTimeOutCnt > 0))		|| (data->uTimeOutCnt > LIMIT_TIMEOUT_CNT)) {		if (data->uResetCnt < LIMIT_RESET_CNT) {			pr_info("[SSP] : %s - uTimeOutCnt(%u), pending(%u)/n",				__func__, data->uTimeOutCnt,				!list_empty(&data->pending_list));			reset_mcu(data);		} else			ssp_enable(data, false);		data->uTimeOutCnt = 0;		data->uComFailCnt = 0;	}	data->uIrqCnt = 0;}
开发者ID:MikeForeskin,项目名称:Vindicator-S6,代码行数:33,


示例7: spi_format

void spi_format(spi_t *obj, int bits, int mode, int slave) {    MBED_ASSERT(((bits >= 4) && (bits <= 16)) && ((mode >= 0) && (mode <= 3)));    ssp_disable(obj);        int polarity = (mode & 0x2) ? 1 : 0;    int phase = (mode & 0x1) ? 1 : 0;        // set it up    int DSS = bits - 1;            // DSS (data select size)    int SPO = (polarity) ? 1 : 0;  // SPO - clock out polarity    int SPH = (phase) ? 1 : 0;     // SPH - clock out phase        int FRF = 0;                   // FRF (frame format) = SPI    uint32_t tmp = obj->spi->CR0;    tmp &= ~(0xFFFF);    tmp |= DSS << 0        | FRF << 4        | SPO << 6        | SPH << 7;    obj->spi->CR0 = tmp;        tmp = obj->spi->CR1;    tmp &= ~(0xD);    tmp |= 0 << 0                   // LBM - loop back mode - off        | ((slave) ? 1 : 0) << 2   // MS - master slave mode, 1 = slave        | 0 << 3;                  // SOD - slave output disable - na    obj->spi->CR1 = tmp;        ssp_enable(obj);}
开发者ID:1deus,项目名称:tmk_keyboard,代码行数:30,


示例8: spi_frequency

void spi_frequency(spi_t *obj, int hz) {    ssp_disable(obj);    // SPI1 runs from PCLK2, which runs at SystemCoreClock / 2.  SPI2 and SPI3    // run from PCLK1, which runs at SystemCoreClock / 4.    uint32_t PCLK = SystemCoreClock;    switch ((int)obj->spi) {        case SPI_1: PCLK = PCLK >> 1; break;        case SPI_2: PCLK = PCLK >> 2; break;        case SPI_3: PCLK = PCLK >> 2; break;    }    // Choose the baud rate divisor (between 2 and 256)    uint32_t divisor = PCLK / hz;    // Find the nearest power-of-2    divisor = divisor > 0 ? divisor-1 : 0;    divisor |= divisor >> 1;    divisor |= divisor >> 2;    divisor |= divisor >> 4;    divisor |= divisor >> 8;    divisor |= divisor >> 16;    divisor++;    uint32_t baud_rate = __builtin_ffs(divisor) - 1;    baud_rate = baud_rate > 0x7 ? 0x7 : baud_rate;    obj->spi->CR1 &= ~(0x7 << 3);    obj->spi->CR1 |= baud_rate << 3;    ssp_enable(obj);}
开发者ID:23chrischen,项目名称:mbed,代码行数:32,


示例9: spi_frequency

void spi_frequency(spi_t *obj, int hz) {    ssp_disable(obj);       uint32_t PCLK = SystemCoreClock;            int prescaler;        for (prescaler = 2; prescaler <= 254; prescaler += 2) {        int prescale_hz = PCLK / prescaler;                // calculate the divider        int divider = floor(((float)prescale_hz / (float)hz) + 0.5f);                // check we can support the divider        if (divider < 256) {            // prescaler            obj->spi->CPSR = prescaler;                        // divider            obj->spi->CR0 &= ~(0xFFFF << 8);            obj->spi->CR0 |= (divider - 1) << 8;            ssp_enable(obj);            return;        }    }    error("Couldn't setup requested SPI frequency");}
开发者ID:NXPmicro,项目名称:mbed,代码行数:27,


示例10: spi_format

void spi_format(spi_t *obj, int bits, int mode, int slave) {    MBED_ASSERT(((bits >= 1) && (bits <= 16)) && ((mode >= 0) && (mode <= 3)));    ssp_disable(obj);        int polarity = (mode & 0x2) ? 1 : 0;    int phase = (mode & 0x1) ? 1 : 0;        // set it up    int DSS = bits - 1;            // DSS (data select size)    int SPO = (polarity) ? 1 : 0;  // SPO - clock out polarity    int SPH = (phase) ? 1 : 0;     // SPH - clock out phase        uint32_t tmp = obj->spi->CFG;    tmp &= ~((1 << 2) | (1 << 4) | (1 << 5));    tmp |= (SPH << 4) | (SPO << 5) | ((slave ? 0 : 1) << 2);    obj->spi->CFG = tmp;        // select frame length    tmp = obj->spi->TXDATCTL;    tmp &= ~(0xf << 24);    tmp |= (DSS << 24);    obj->spi->TXDATCTL = tmp;        ssp_enable(obj);}
开发者ID:Archcady,项目名称:mbed-os,代码行数:25,


示例11: ssp_shutdown

static void ssp_shutdown(struct spi_device *spi){	struct ssp_data *data = spi_get_drvdata(spi);	pr_err("[SSP] %s, data->fw_dl_state[%d]*******************!/n",			__func__,data->fw_dl_state);	pr_err("[SSP]  lpm %d recovery /n",lpcharge /*, recovery_mode*/);	func_dbg();	if (data->bProbeIsDone == false)		goto exit;	disable_debug_timer(data);	if (data->fw_dl_state >= FW_DL_STATE_SCHEDULED &&		data->fw_dl_state < FW_DL_STATE_DONE) {		pr_err("[SSP] %s, cancel_delayed_work_sync state = %d/n",			__func__, data->fw_dl_state);		cancel_delayed_work_sync(&data->work_firmware);	}	if (SUCCESS != ssp_send_cmd(data, MSG2SSP_AP_STATUS_SHUTDOWN, 0))		pr_err("[SSP]: %s MSG2SSP_AP_STATUS_SHUTDOWN failed/n",			__func__);	ssp_enable(data, false);	clean_pending_list(data);#ifdef CONFIG_HAS_EARLYSUSPEND	unregister_early_suspend(&data->early_suspend);#endif	free_irq(data->iIrq, data);	gpio_free(data->mcu_int1);	remove_event_symlink(data);	remove_sysfs(data);	remove_input_dev(data);#ifdef CONFIG_SENSORS_SSP_SENSORHUB	ssp_sensorhub_remove(data);#endif	del_timer_sync(&data->debug_timer);	cancel_work_sync(&data->work_debug);	cancel_delayed_work_sync(&data->work_refresh);	destroy_workqueue(data->debug_wq);	wake_lock_destroy(&data->ssp_wake_lock);#ifdef CONFIG_SENSORS_SSP_SHTC1	mutex_destroy(&data->bulk_temp_read_lock);	mutex_destroy(&data->cp_temp_adc_lock);#endif#ifdef CONFIG_SENSORS_SSP_ATMEL	mutex_destroy(&data->comm_mutex);	mutex_destroy(&data->pending_mutex);#endif	toggle_mcu_reset(data);	pr_info("[SSP] %s done/n", __func__);exit:	kfree(data);}
开发者ID:GAXUSXX,项目名称:G935FGaXusKernel2,代码行数:60,


示例12: forced_to_download_binary

int forced_to_download_binary(struct ssp_data *data, int iBinType){	int iRet = 0;	int retry = 3;	ssp_dbg("[SSP]: %s - mcu binany update!/n", __func__);	ssp_enable(data, false);	data->fw_dl_state = FW_DL_STATE_DOWNLOADING;	pr_info("[SSP] %s, DL state = %d/n", __func__,	data->fw_dl_state);	data->spi->max_speed_hz = BOOT_SPI_HZ;	if (spi_setup(data->spi))		pr_err("failed to setup spi for ssp_boot/n");	do {		pr_info("[SSP] %d try/n", 3 - retry);		iRet = update_mcu_bin(data, iBinType);	} while (retry -- > 0 && iRet < 0);	data->spi->max_speed_hz = NORM_SPI_HZ;	if (spi_setup(data->spi))		pr_err("failed to setup spi for ssp_norm/n");	if (iRet < 0) {		ssp_dbg("[SSP]: %s - update_mcu_bin failed!/n", __func__);		goto out;	}	data->fw_dl_state = FW_DL_STATE_SYNC;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	ssp_enable(data, true);	proximity_open_lcd_ldi(data);	proximity_open_calibration(data);	accel_open_calibration(data);	gyro_open_calibration(data);#ifdef CONFIG_SENSORS_SSP_BMP182	pressure_open_calibration(data);#endif	data->fw_dl_state = FW_DL_STATE_DONE;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	iRet = SUCCESS;out:	return iRet;}
开发者ID:thanhltd,项目名称:android_kernel_sm_g800h_kk,代码行数:47,


示例13: RunValidator

void RunValidator(SSP_PORT port, const unsigned char ssp_address){    SSP_COMMAND_SETUP ssp_setup;    SSP_POLL_DATA poll;    //setup the required information	ssp_setup.port = port;	ssp_setup.Timeout = 1000;	ssp_setup.RetryLevel = 3;	ssp_setup.SSPAddress = ssp_addressc-coholic/eSSP;	ssp_setup.EncryptionStatus = NO_ENCRYPTION;    //check validator is present	if (ssp_sync(ssp_setup) != SSP_RESPONSE_OK)	{	    printf("NO VALIDATOR FOUND/n");	    return;	}	printf ("Validator Found/n");    //try to setup encryption using the default key/*	if (ssp_setup_encryption(&ssp_setup,(unsigned long long)0x123456701234567LL) != SSP_RESPONSE_OK)        printf("Encryption Failed/n");    else        printf("Encryption Setup/n");*/    //enable the unit	if (ssp_enable(ssp_setup) != SSP_RESPONSE_OK)	{	    printf("Enable Failed/n");        return;	}    if (ssp_enable_higher_protocol_events(ssp_setup) != SSP_RESPONSE_OK)    {        printf("Higher Protocol Failed/n");        return;    }    //set the inhibits (enable all note acceptance)	if (ssp_set_inhibits(ssp_setup,0xFF,0xFF) != SSP_RESPONSE_OK)	{	    printf("Inhibits Failed/n");        return;	}	while (1)	{	    //poll the unit	    if (ssp_poll(ssp_setup,&poll) != SSP_RESPONSE_OK)        {            printf("SSP_POLL_ERROR/n");            return;        }	    ParsePoll(&poll, ssp_setup);        usleep(500000); //500 ms delay between polls	}}
开发者ID:muccc,项目名称:fnordload,代码行数:59,


示例14: forced_to_download_binary

int forced_to_download_binary(struct ssp_data *data, int iBinType){	int iRet = 0;	int retry = 3;	ssp_infof("mcu binany update!");	ssp_enable(data, false);	data->fw_dl_state = FW_DL_STATE_DOWNLOADING;	ssp_infof("DL state = %d", data->fw_dl_state);	data->spi->max_speed_hz = BOOT_SPI_HZ;	if (spi_setup(data->spi))		ssp_err("failed to setup spi for ssp_boot");	do {		ssp_info("%d try", 3 - retry);		iRet = update_mcu_bin(data, iBinType);	} while (retry-- > 0 && iRet < 0);	data->spi->max_speed_hz = NORM_SPI_HZ;	if (spi_setup(data->spi))		ssp_err("failed to setup spi for ssp_norm");	if (iRet < 0) {		ssp_infof("update_mcu_bin failed!");		goto out;	}	data->fw_dl_state = FW_DL_STATE_SYNC;	ssp_infof("DL state = %d", data->fw_dl_state);	ssp_enable(data, true);	get_proximity_threshold(data);	proximity_open_calibration(data);	accel_open_calibration(data);	gyro_open_calibration(data);	pressure_open_calibration(data);	data->fw_dl_state = FW_DL_STATE_DONE;	ssp_infof("DL state = %d", data->fw_dl_state);	iRet = SUCCESS;out:	return iRet;}
开发者ID:GAXUSXX,项目名称:G935FGaXusKernel2,代码行数:45,


示例15: forced_to_download_binary

int forced_to_download_binary(struct ssp_data *data, int iBinType){	int iRet = 0;	ssp_dbg("[SSP]: %s - mcu binany update!/n", __func__);	ssp_enable(data, false);	data->fw_dl_state = FW_DL_STATE_DOWNLOADING;	pr_info("[SSP] %s, DL state = %d/n", __func__,	data->fw_dl_state);	iRet = update_mcu_bin(data, iBinType);	if (iRet < 0) {		ssp_dbg("[SSP]: %s - update_mcu_bin failed!/n", __func__);		goto out;	}	data->fw_dl_state = FW_DL_STATE_SYNC;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	iRet = initialize_mcu(data);    if (iRet == ERROR) {        data->uResetCnt++;        toggle_mcu_reset(data);        msleep(SSP_SW_RESET_TIME);        initialize_mcu(data);    } else if (iRet < ERROR) {        pr_err("[SSP]: %s - initialize_mcu failed/n", __func__);		goto out;    }	ssp_enable(data, true);	sync_sensor_state(data);#ifdef CONFIG_SENSORS_SSP_SENSORHUB	ssp_sensorhub_report_notice(data, MSG2SSP_AP_STATUS_RESET);#endif	data->fw_dl_state = FW_DL_STATE_DONE;	pr_info("[SSP] %s, DL state = %d/n", __func__, data->fw_dl_state);	iRet = SUCCESS;out:	return iRet;}
开发者ID:civato,项目名称:sm-n9005-Note5port-kernel,代码行数:45,


示例16: spi_init

void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel) {    int spi_n = get_available_spi();    if (spi_n == -1) {        error("No available SPI");    }    obj->spi_n = spi_n;    spi_used |= (1 << spi_n);        obj->spi = (spi_n) ? (LPC_SPI_TypeDef *)(LPC_SPI1_BASE) : (LPC_SPI_TypeDef *)(LPC_SPI0_BASE);        const SWM_Map *swm;    uint32_t regVal;        swm = &SWM_SPI_SCLK[obj->spi_n];    regVal = LPC_SWM->PINASSIGN[swm->n] & ~(0xFF << swm->offset);    LPC_SWM->PINASSIGN[swm->n] = regVal |  (sclk   << swm->offset);        swm = &SWM_SPI_MOSI[obj->spi_n];    regVal = LPC_SWM->PINASSIGN[swm->n] & ~(0xFF << swm->offset);    LPC_SWM->PINASSIGN[swm->n] = regVal |  (mosi   << swm->offset);        swm = &SWM_SPI_MISO[obj->spi_n];    regVal = LPC_SWM->PINASSIGN[swm->n] & ~(0xFF << swm->offset);    LPC_SWM->PINASSIGN[swm->n] = regVal |  (miso   << swm->offset);        swm = &SWM_SPI_SSEL[obj->spi_n];    regVal = LPC_SWM->PINASSIGN[swm->n] & ~(0xFF << swm->offset);    LPC_SWM->PINASSIGN[swm->n] = regVal |  (ssel   << swm->offset);        // clear interrupts    obj->spi->INTENCLR = 0x3f;        // enable power and clocking    switch (obj->spi_n) {        case 0:            LPC_SYSCON->SYSAHBCLKCTRL |= (1<<11);            LPC_SYSCON->PRESETCTRL &= ~(0x1<<0);            LPC_SYSCON->PRESETCTRL |= (0x1<<0);            break;        case 1:            LPC_SYSCON->SYSAHBCLKCTRL |= (1<<12);            LPC_SYSCON->PRESETCTRL &= ~(0x1<<1);            LPC_SYSCON->PRESETCTRL |= (0x1<<1);            break;    }        // set default format and frequency    if (ssel == NC) {        spi_format(obj, 8, 0, 0);  // 8 bits, mode 0, master    } else {        spi_format(obj, 8, 0, 1);  // 8 bits, mode 0, slave    }    spi_frequency(obj, 1000000);        // enable the ssp channel    ssp_enable(obj);}
开发者ID:Fadis,项目名称:lpc810,代码行数:57,


示例17: spi_frequency

void spi_frequency(spi_t *obj, int hz) {    ssp_disable(obj);        uint32_t PCLK = SystemCoreClock;        obj->spi->DIV = PCLK/hz - 1;    obj->spi->DLY = 0;    ssp_enable(obj);}
开发者ID:Archcady,项目名称:mbed-os,代码行数:9,


示例18: ssp_shutdown

static void ssp_shutdown(struct spi_device *spi){	struct ssp_data *data = spi_get_drvdata(spi);	pr_err("[SSP] lpm %d recovery/n", lpcharge);	func_dbg();	if (data->bProbeIsDone == false)		goto exit;	disable_debug_timer(data);//hoi//	if (SUCCESS != ssp_send_cmd(data, MSG2SSP_AP_STATUS_SHUTDOWN, 0))//		pr_err("[SSP]: %s MSG2SSP_AP_STATUS_SHUTDOWN failed/n",//			__func__);	ssp_enable(data, false);	clean_pending_list(data);#ifdef CONFIG_HAS_EARLYSUSPEND	unregister_early_suspend(&data->early_suspend);#endif	bbd_register(NULL, NULL);//hoi	cancel_work_sync(&data->work_bbd_on_packet);	// should be cancelled before removing iio dev	destroy_workqueue(data->bbd_on_packet_wq);	cancel_work_sync(&data->work_bbd_mcu_ready);	destroy_workqueue(data->bbd_mcu_ready_wq);//hoi	remove_event_symlink(data);	remove_sysfs(data);	remove_input_dev(data);#ifdef CONFIG_SENSORS_SSP_SENSORHUB	ssp_sensorhub_remove(data);#endif	del_timer_sync(&data->debug_timer);	cancel_work_sync(&data->work_debug);	destroy_workqueue(data->debug_wq);	wake_lock_destroy(&data->ssp_wake_lock);#ifdef CONFIG_SENSORS_SSP_SHTC1	mutex_destroy(&data->bulk_temp_read_lock);	mutex_destroy(&data->cp_temp_adc_lock);#endif	mutex_destroy(&data->comm_mutex);	mutex_destroy(&data->pending_mutex);	mutex_destroy(&data->enable_mutex);	pr_info("[SSP] %s done/n", __func__);exit:	kfree(data);}
开发者ID:bigzz,项目名称:Galaxy_S6_920F_Kernel,代码行数:56,


示例19: reset_mcu

void reset_mcu(struct ssp_data *data){	func_dbg();	data->uResetCnt++;	ssp_enable(data, false);	clean_pending_list(data);        bbd_mcu_reset();}
开发者ID:MikeForeskin,项目名称:Vindicator-S6,代码行数:10,


示例20: debug_work_func

static void debug_work_func(struct work_struct *work){	unsigned int uSensorCnt;	struct ssp_data *data = container_of(work, struct ssp_data, work_debug);	ssp_dbg("[SSP]: %s(%u) - Sensor state: 0x%x, RC: %u, MS: %u/n",		__func__, data->uIrqCnt, data->uSensorState, data->uResetCnt,		data->uMissSensorCnt);	if (data->fw_dl_state >= FW_DL_STATE_DOWNLOADING &&		data->fw_dl_state < FW_DL_STATE_DONE) {		pr_info("[SSP] : %s firmware downloading state = %d/n",			__func__, data->fw_dl_state);		return;	} else if (data->fw_dl_state == FW_DL_STATE_FAIL) {		pr_err("[SSP] : %s firmware download failed = %d/n",			__func__, data->fw_dl_state);		return;	}	for (uSensorCnt = 0; uSensorCnt < (SENSOR_MAX - 1); uSensorCnt++)		if (atomic_read(&data->aSensorEnable) & (1 << uSensorCnt))			print_sensordata(data, uSensorCnt);	if ((atomic_read(&data->aSensorEnable) & SSP_BYPASS_SENSORS_EN_ALL)/			&& (data->uIrqCnt == 0))		data->uIrqFailCnt++;	else		data->uIrqFailCnt = 0;	if (((data->uSsdFailCnt >= LIMIT_SSD_FAIL_CNT)		|| (data->uInstFailCnt >= LIMIT_INSTRUCTION_FAIL_CNT)		|| (data->uIrqFailCnt >= LIMIT_IRQ_FAIL_CNT)		|| ((data->uTimeOutCnt + data->uBusyCnt) > LIMIT_TIMEOUT_CNT))		&& (data->bSspShutdown == false)) {		if (data->uResetCnt < LIMIT_RESET_CNT) {			pr_info("[SSP] : %s - uSsdFailCnt(%u), uInstFailCnt(%u),"/				"uIrqFailCnt(%u), uTimeOutCnt(%u), uBusyCnt(%u)/n",				__func__, data->uSsdFailCnt, data->uInstFailCnt, data->uIrqFailCnt,				data->uTimeOutCnt, data->uBusyCnt);			reset_mcu(data);			data->uResetCnt++;		} else			ssp_enable(data, false);		data->uSsdFailCnt = 0;		data->uInstFailCnt = 0;		data->uTimeOutCnt = 0;		data->uBusyCnt = 0;		data->uIrqFailCnt = 0;	}	data->uIrqCnt = 0;}
开发者ID:NoDEAL,项目名称:Dokdo-Leak-Kernel,代码行数:55,


示例21: ssp_shutdown

static void ssp_shutdown(struct spi_device *spi_dev){	struct ssp_data *data = spi_get_drvdata(spi_dev);	func_dbg();	if (data->bProbeIsDone == false)		goto exit;	if (data->fw_dl_state >= FW_DL_STATE_SCHEDULED &&		data->fw_dl_state < FW_DL_STATE_DONE) {		pr_err("%s, cancel_delayed_work_sync state = %d/n",			__func__, data->fw_dl_state);		cancel_delayed_work_sync(&data->work_firmware);	}	ssp_enable(data, false);	clean_pending_list(data);#ifdef CONFIG_HAS_EARLYSUSPEND	unregister_early_suspend(&data->early_suspend);#endif	disable_debug_timer(data);	free_irq(data->iIrq, data);	gpio_free(data->mcu_int1);	remove_event_symlink(data);	remove_sysfs(data);	remove_input_dev(data);#ifdef CONFIG_SENSORS_SSP_SENSORHUB	ssp_sensorhub_remove(data);#endif	del_timer_sync(&data->debug_timer);	cancel_work_sync(&data->work_debug);	destroy_workqueue(data->debug_wq);	wake_lock_destroy(&data->ssp_wake_lock);#ifdef CONFIG_SENSORS_SSP_SHTC1	mutex_destroy(&data->cp_temp_adc_lock);	mutex_destroy(&data->bulk_temp_read_lock);#endif	mutex_destroy(&data->comm_mutex);	mutex_destroy(&data->pending_mutex);#if defined(CONFIG_MACH_VIKALCU)	proximity_ldo_enable(0);#endif	toggle_mcu_reset(data);/*	gpio_set_value_cansleep(data->rst, 0); */	pr_info("[SSP]: %s done/n", __func__);exit:	kfree(data);}
开发者ID:LGaljo,项目名称:android_kernel_samsung_s3ve3g,代码行数:54,


示例22: a716_ssp_resume

static int a716_ssp_resume(struct platform_device *pdev){	a716_gpo_set(0x4000);	ssp_restore_state(&a716_ssp_dev, &a716_ssp_state);	ssp_enable(&a716_ssp_dev);	irq_disable = 0;	touch_pressed = 0;	enable_irq(IRQ_GPIO(GPIO_NR_A716_STYLUS_IRQ_N));	return 0;}
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:13,


示例23: pxa_ssp_resume

static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai){	struct ssp_priv *priv = cpu_dai->private_data;	if (!cpu_dai->active)		return 0;	clk_enable(priv->dev.ssp->clk);	ssp_restore_state(&priv->dev, &priv->state);	ssp_enable(&priv->dev);	return 0;}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:13,


示例24: recovery_mcu

static void recovery_mcu(struct ssp_data *data){	if (data->uComFailCnt < LIMIT_RESET_CNT) {		ssp_infof("- uTimeOutCnt(%u), pending(%u)",			data->uTimeOutCnt, !list_empty(&data->pending_list));		data->uComFailCnt++;		reset_mcu(data);	} else {		ssp_enable(data, false);	}	data->uTimeOutCnt = 0;}
开发者ID:MikeForeskin,项目名称:Vindicator-S6-MM,代码行数:13,


示例25: spi_init

void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel) {    // determine the SPI to use    SPIName spi_mosi = (SPIName)pinmap_peripheral(mosi, PinMap_SPI_MOSI);    SPIName spi_miso = (SPIName)pinmap_peripheral(miso, PinMap_SPI_MISO);    SPIName spi_sclk = (SPIName)pinmap_peripheral(sclk, PinMap_SPI_SCLK);    SPIName spi_ssel = (SPIName)pinmap_peripheral(ssel, PinMap_SPI_SSEL);    SPIName spi_data = (SPIName)pinmap_merge(spi_mosi, spi_miso);    SPIName spi_cntl = (SPIName)pinmap_merge(spi_sclk, spi_ssel);    obj->spi = (SPI_TypeDef*)pinmap_merge(spi_data, spi_cntl);    MBED_ASSERT((int)obj->spi != NC)    // enable power and clocking    switch ((int)obj->spi) {        case SPI_1:            RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN | RCC_AHB1ENR_GPIOBEN;            RCC->APB2ENR |= RCC_APB2ENR_SPI1EN;            break;        case SPI_2:            RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN | RCC_AHB1ENR_GPIOCEN;            RCC->APB1ENR |= RCC_APB1ENR_SPI2EN;            break;        case SPI_3:            RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN | RCC_AHB1ENR_GPIOCEN;            RCC->APB1ENR |= RCC_APB1ENR_SPI3EN;            break;    }        // set default format and frequency    if (ssel == NC) {        spi_format(obj, 8, 0, 0);  // 8 bits, mode 0, master    } else {        spi_format(obj, 8, 0, 1);  // 8 bits, mode 0, slave    }    spi_frequency(obj, 1000000);        // enable the ssp channel    ssp_enable(obj);    // pin out the spi pins    pinmap_pinout(mosi, PinMap_SPI_MOSI);    pinmap_pinout(miso, PinMap_SPI_MISO);    pinmap_pinout(sclk, PinMap_SPI_SCLK);    if (ssel != NC) {        pinmap_pinout(ssel, PinMap_SPI_SSEL);    }    else {        // Use software slave management        obj->spi->CR1 |= SPI_CR1_SSM | SPI_CR1_SSI;    }}
开发者ID:23chrischen,项目名称:mbed,代码行数:51,


示例26: reset_mcu

void reset_mcu(struct ssp_data *data){	func_dbg();	ssp_enable(data, false);	clean_pending_list(data);	toggle_mcu_reset(data);	msleep(SSP_SW_RESET_TIME);	ssp_enable(data, true);	if (initialize_mcu(data) < 0)		return;	sync_sensor_state(data);#ifdef CONFIG_SENSORS_SSP_SENSORHUB	ssp_sensorhub_report_notice(data, MSG2SSP_AP_STATUS_RESET);#endif	if (data->uLastAPState != 0)		ssp_send_cmd(data, data->uLastAPState, 0);	if (data->uLastResumeState != 0)		ssp_send_cmd(data, data->uLastResumeState, 0);}
开发者ID:Svard73,项目名称:SM-T700-T705-Kernel,代码行数:23,


示例27: reset_mcu

void reset_mcu(struct ssp_data *data) {#if SSP_STATUS_MONITOR	data->bRefreshing = true;#endif	func_dbg();	ssp_enable(data, false);	clean_pending_list(data);#if SSP_STATUS_MONITOR	if( (data->reg_hub) && ((current_cable_type==POWER_SUPPLY_TYPE_MAINS)		|| (current_cable_type==POWER_SUPPLY_TYPE_HV_MAINS)))		toggle_mcu_hw_reset(data);	else#endif		toggle_mcu_reset(data);	ssp_enable(data, true);#if SSP_STATUS_MONITOR	if((data->reg_hub) && ( (current_cable_type==POWER_SUPPLY_TYPE_MAINS)		|| (current_cable_type==POWER_SUPPLY_TYPE_HV_MAINS)))		queue_refresh_task(data, 0);#endif}
开发者ID:AndroidGX,项目名称:SimpleGX-L-5.0.2_BOE2_G901F,代码行数:23,


示例28: palmtt3_ssp_init

void palmtt3_ssp_init(void){	printk(KERN_WARNING "palmtt3_tsc2101: Resetting SSP, move this to garux?/n");	SSCR0 &= ~SSCR0_SSE;	SSCR1 = SSCR1 & 0x3FFC;	if (ssp_init(&palmtt3_ssp_dev, 1, 0))		printk(KERN_ERR "palmtt3_tsc2101: Unable to register SSP handler!/n");	else {		ssp_enable(&palmtt3_ssp_dev);		printk(KERN_INFO "palmtt3_tsc2101: SSP device initialized/n");	}	return;}
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:15,



注:本文中的ssp_enable函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ssp_readable函数代码示例
C++ ssp_dbg函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。