/* Copyright 2019 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. */ /* Volteer family-specific configuration */ #include "baseboard.h" #include "battery.h" #include "charge_state.h" #include "gpio.h" #include "i2c.h" #include "pwm.h" #include "pwm_chip.h" /******************************************************************************/ /* Wake up pins */ const enum gpio_signal hibernate_wake_pins[] = { GPIO_LID_OPEN, GPIO_ACOK_OD, GPIO_POWER_BUTTON_L, GPIO_EC_RST_ODL, }; const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins); /******************************************************************************/ /* I2C port map configuration */ const struct i2c_port_t i2c_ports[] = { { .name = "sensor", .port = I2C_PORT_SENSOR, .kbps = 400, .scl = GPIO_EC_I2C0_SENSOR_SCL, .sda = GPIO_EC_I2C0_SENSOR_SDA, }, { .name = "usb_c0", .port = I2C_PORT_USB_C0, /* TODO: design supports 1 MHz, set to 100 KHz for bringup */ .kbps = 100, .scl = GPIO_EC_I2C1_USB_C0_SCL, .sda = GPIO_EC_I2C1_USB_C0_SDA, }, { .name = "usb_c1", .port = I2C_PORT_USB_C1, /* TODO: design supports 1 MHz, set to 100 KHz for bringup */ .kbps = 100, .scl = GPIO_EC_I2C2_USB_C1_SCL, .sda = GPIO_EC_I2C2_USB_C1_SDA, }, { .name = "usb_1_mix", .port = I2C_PORT_USB_1_MIX, .kbps = 100, .scl = GPIO_EC_I2C3_USB_1_MIX_SCL, .sda = GPIO_EC_I2C3_USB_1_MIX_SDA, }, { .name = "power", .port = I2C_PORT_POWER, .kbps = 400, .scl = GPIO_EC_I2C5_POWER_SCL, .sda = GPIO_EC_I2C5_POWER_SDA, }, { .name = "eeprom", .port = I2C_PORT_EEPROM, .kbps = 400, .scl = GPIO_EC_I2C7_EEPROM_SCL, .sda = GPIO_EC_I2C7_EEPROM_SDA, }, }; const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); const struct pwm_t pwm_channels[] = { [PWM_CH_LED1_BLUE] = { .channel = 2, .flags = PWM_CONFIG_ACTIVE_LOW | PWM_CONFIG_DSLEEP, .freq = 100, }, [PWM_CH_LED2_GREEN] = { .channel = 0, .flags = PWM_CONFIG_ACTIVE_LOW | PWM_CONFIG_DSLEEP, .freq = 100, }, [PWM_CH_LED3_RED] = { .channel = 1, .flags = PWM_CONFIG_ACTIVE_LOW | PWM_CONFIG_DSLEEP, .freq = 100, }, }; BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT); /* Stub out battery and charging functions to compile common LED code. * TODO(b/140557020): Define these for real. */ #ifdef CONFIG_CHARGER #error "Write real definitions for charger and battery functions." #endif enum charge_state charge_get_state(void) { return PWR_STATE_UNCHANGE; } enum battery_present battery_is_present(void) { return BP_NOT_SURE; } int charge_get_percent(void) { return 0; }