Пример #1
0
static int marimba_tsadc_shutdown(struct marimba_tsadc *tsadc)
{
    u8 val;
    int rc;

    /* force reset */
    val = TS_CTL0_XO_EN | TS_CTL0_EOC_EN | TS_CTL0_PENIRQ_EN |
          TS_CTL0_CLK_EN;
    rc = marimba_write_u8(tsadc, TS_CTL0, val);
    if (rc < 0)
        return rc;

    /* disable xo, clock */
    val = TS_CTL0_PENIRQ_EN | TS_CTL0_EOC_EN;
    rc = marimba_write_u8(tsadc, TS_CTL0, val);
    if (rc < 0)
        return rc;

    /* de-vote S2 1.3v */
    if (tsadc->pdata->level_vote)
        /* REVISIT: Ignore error for level_vote(0) for now*/
        tsadc->pdata->level_vote(0);

    return 0;
}
Пример #2
0
static int marimba_tsadc_shutdown(struct marimba_tsadc *tsadc)
{
	u8 val;

	/* force reset */
	val = TS_CTL0_XO_EN | TS_CTL0_EOC_EN | TS_CTL0_PENIRQ_EN |
				TS_CTL0_CLK_EN;
	marimba_write_u8(tsadc, TS_CTL0, val);

	/* disable xo, clock */
	val = TS_CTL0_PENIRQ_EN | TS_CTL0_EOC_EN;
	marimba_write_u8(tsadc, TS_CTL0, val);

	return 0;
}
Пример #3
0
static int marimba_tsadc_startup(struct marimba_tsadc *tsadc)
{
    u8 val;
    int rc = 0;

    /* vote for S2 1.3v */
    if (tsadc->pdata->level_vote) {
        rc = tsadc->pdata->level_vote(1);
        if (rc < 0)
            return rc;
    }

    /* disable XO, clock and output enables */
    rc = marimba_write_u8(tsadc, TS_CTL0, 0x00);
    if (rc < 0)
        goto fail_marimba_write;

    /* Enable output enables */
    val = TS_CTL0_XO_EN | TS_CTL0_EOC_EN | TS_CTL0_PENIRQ_EN;
    rc = marimba_write_u8(tsadc, TS_CTL0, val);
    if (rc < 0)
        goto fail_marimba_write;

    /* Enable clock */
    val = val | TS_CTL0_CLK_EN;
    rc = marimba_write_u8(tsadc, TS_CTL0, val);
    if (rc < 0)
        goto fail_marimba_write;

    /* remove reset */
    val = val | TS_CTL0_RESET;
    rc = marimba_write_u8(tsadc, TS_CTL0, val);
    if (rc < 0)
        goto fail_marimba_write;

    return 0;

fail_marimba_write:
    if (tsadc->pdata->level_vote)
        /* REVISIT: Ignore error for level_vote(0) for now*/
        tsadc->pdata->level_vote(0);
    return rc;
}
Пример #4
0
static int marimba_tsadc_startup(struct marimba_tsadc *tsadc)
{
	u8 val;

	/* disable XO, clock and output enables */
	marimba_write_u8(tsadc, TS_CTL0, 0x00);

	/* Enable output enables */
	val = TS_CTL0_XO_EN | TS_CTL0_EOC_EN | TS_CTL0_PENIRQ_EN;
	marimba_write_u8(tsadc, TS_CTL0, val);

	/* Enable clock */
	val = val | TS_CTL0_CLK_EN;
	marimba_write_u8(tsadc, TS_CTL0, val);

	/* remove reset */
	val = val | TS_CTL0_RESET;
	marimba_write_u8(tsadc, TS_CTL0, val);

	return 0;
}