Example #1
0
static int i2c_init(blsp_qup_id_t id)
{
	qup_config_t *qup_config;

	switch (id) {
	case BLSP_QUP_ID_0:
		qup_config = &blsp1_qup0_config;
		break;
	case BLSP_QUP_ID_1:
		qup_config = &blsp1_qup1_config;
		break;
	case BLSP_QUP_ID_2:
		qup_config = &blsp1_qup2_config;
		break;
	case BLSP_QUP_ID_3:
		qup_config = &blsp1_qup3_config;
		break;
	default:
		printk(BIOS_ERR, "QUP configuration not defined for BLSP%d.\n",
		       id);
		return 1;
	}

	if (qup_config->initialized)
		return 0;

	if (blsp_i2c_init(id)) {
		printk(BIOS_ERR, "failed to initialize blsp\n");
		return 1;
	}

	if (qup_init(id, qup_config)) {
		printk(BIOS_ERR, "failed to initialize qup\n");
		return 1;
	}

	if (qup_reset_i2c_master_status(id)) {
		printk(BIOS_ERR, "failed to reset i2c master status\n");
		return 1;
	}

	qup_config->initialized = 1;
	return 0;
}
Example #2
0
static int i2c_init(unsigned bus)
{
	unsigned gsbi_id = bus;
	qup_config_t *qup_config;

	switch (gsbi_id) {
	case GSBI_ID_1:
		qup_config = &gsbi1_qup_config;
		break;
	case GSBI_ID_4:
		qup_config = &gsbi4_qup_config;
		break;
	case GSBI_ID_7:
		qup_config = &gsbi7_qup_config;
		break;
	default:
		printk(BIOS_ERR, "QUP configuration not defind for GSBI%d.\n",
		       gsbi_id);
		return 1;
	}

	if (qup_config->initialized)
		return 0;

	if (gsbi_init(gsbi_id, GSBI_PROTO_I2C_ONLY)) {
		printk(BIOS_ERR, "failed to initialize gsbi\n");
		return 1;
	}

	if (qup_init(gsbi_id, qup_config)) {
		printk(BIOS_ERR, "failed to initialize qup\n");
		return 1;
	}

	if (qup_reset_i2c_master_status(gsbi_id)) {
		printk(BIOS_ERR, "failed to reset i2c master status\n");
		return 1;
	}

	qup_config->initialized = 1;
	return 0;
}
Example #3
0
static int i2c_init(unsigned gsbi_id)
{
	gsbi_return_t gsbi_ret = 0;
	qup_return_t qup_ret = 0;
	qup_config_t *qup_config;

	switch (gsbi_id) {
	case 1:
		qup_config = &gsbi1_qup_config;
		break;
	case 4:
		qup_config = &gsbi4_qup_config;
		break;
	case 7:
		qup_config = &gsbi7_qup_config;
		break;
	default:
		printf("QUP configuration not defined for GSBI%d\n", gsbi_id);
		return 1;
	}

	gsbi_ret = gsbi_init(gsbi_id, GSBI_PROTO_I2C_ONLY);
	if (GSBI_SUCCESS != gsbi_ret) {
		printf("%s: gsbi_init failed\n", __func__);
		return 1;
	}

	qup_ret = qup_init(gsbi_id, qup_config);
	if (QUP_SUCCESS != qup_ret) {
		printf("%s: qup_init failed\n", __func__);
		return 1;
	}


	qup_ret = qup_reset_i2c_master_status(gsbi_id);
	if (QUP_SUCCESS != qup_ret) {
		printf("%s: qup_reset failed\n", __func__);
		return 1;
	}

	return 0;
}
Example #4
0
static int i2c_init(blsp_qup_id_t id)
{
	qup_config_t *qup_config;

	switch (id) {
	case BLSP_QUP_ID_0:
		qup_config = &blsp1_qup0_config;
		break;
	case BLSP_QUP_ID_1:
		qup_config = &blsp1_qup1_config;
		break;
	case BLSP_QUP_ID_2:
		qup_config = &blsp1_qup2_config;
		break;
	case BLSP_QUP_ID_3:
		qup_config = &blsp1_qup3_config;
		break;
	default:
		printf("QUP configuration not defind for GSBI%d.\n", id);
		return 1;
	}

	if (blsp_init(id, BLSP_PROTO_I2C_ONLY)) {
		printf("failed to initialize blsp\n");
		return 1;
	}

	if (qup_init(id, qup_config)) {
		printf("failed to initialize qup\n");
		return 1;
	}

	if (qup_reset_i2c_master_status(id)) {
		printf("failed to reset i2c master status\n");
		return 1;
	}

	return 0;
}