blob: a18b8b3b70798d498dc7e0ae3481e47724c8835c [file] [log] [blame]
/* Copyright 2013 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/* IT83xx development board configuration */
#include "adc_chip.h"
#include "pwm.h"
#include "pwm_chip.h"
/*
* PWM channels. Must be in the exactly same order as in enum pwm_channel.
* There total three 16 bits clock prescaler registers for all pwm channels,
* so use the same frequency and prescaler register setting is required if
* number of pwm channel greater than three.
*/
const struct pwm_t pwm_channels[] = {
[PWM_CH_FAN] = {
.channel = PWM_HW_CH_DCR7,
.flags = 0,
.freq_hz = 30000,
.pcfsr_sel = PWM_PRESCALER_C4,
},
[PWM_CH_WITH_DSLEEP_FLAG] = {
.channel = PWM_HW_CH_DCR0,
.flags = PWM_CONFIG_DSLEEP,
.freq_hz = 100,
.pcfsr_sel = PWM_PRESCALER_C6,
},
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
/* ADC channels. Must be in the exactly same order as in enum adc_channel. */
const struct adc_t adc_channels[] = {
/* Convert to mV (3000mV/1024). */
[ADC_VBUSSA] = {
.name = "ADC_VBUSSA",
.factor_mul = ADC_MAX_MVOLT,
.factor_div = ADC_READ_MAX + 1,
.shift = 0,
.channel = CHIP_ADC_CH0, /* GPI0, ADC0 */
},
[ADC_VBUSSB] = {
.name = "ADC_VBUSSB",
.factor_mul = ADC_MAX_MVOLT,
.factor_div = ADC_READ_MAX + 1,
.shift = 0,
.channel = CHIP_ADC_CH1, /* GPI1, ADC1 */
},
[ADC_EVB_CH_13] = {
.name = "ADC_EVB_CH_13",
.factor_mul = ADC_MAX_MVOLT,
.factor_div = ADC_READ_MAX + 1,
.shift = 0,
.channel = CHIP_ADC_CH13, /* GPL0, ADC13 */
},
[ADC_EVB_CH_14] = {
.name = "ADC_EVB_CH_14",
.factor_mul = ADC_MAX_MVOLT,
.factor_div = ADC_READ_MAX + 1,
.shift = 0,
.channel = CHIP_ADC_CH14, /* GPL1, ADC14 */
},
[ADC_EVB_CH_15] = {
.name = "ADC_EVB_CH_15",
.factor_mul = ADC_MAX_MVOLT,
.factor_div = ADC_READ_MAX + 1,
.shift = 0,
.channel = CHIP_ADC_CH15, /* GPL2, ADC15 */
},
[ADC_EVB_CH_16] = {
.name = "ADC_EVB_CH_16",
.factor_mul = ADC_MAX_MVOLT,
.factor_div = ADC_READ_MAX + 1,
.shift = 0,
.channel = CHIP_ADC_CH16, /* GPL3, ADC16 */
},
};
BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);