diff options
author | Bossen WU <bossen.wu@stmicro.corp-partner.google.com> | 2021-05-20 18:36:51 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-07-20 03:50:07 +0000 |
commit | 4ce3683f04cdca8339d8dda171bd0e3620cc38e5 (patch) | |
tree | 26b5b85bf7a10283646b84c7b3f41d06360a99c5 /board/munna/board.h | |
parent | 43d48363f12aed7635cc079bb7038985c6156a5a (diff) | |
download | chrome-ec-4ce3683f04cdca8339d8dda171bd0e3620cc38e5.tar.gz |
munna: munna board with STM32L431 ec
munna board initialization.
BRANCH=main
BUG=b:188117811
TEST=make BOARD=munna; make buidall
Signed-off-by: Bossen WU <bossen.wu@stmicro.corp-partner.google.com>
Change-Id: I7de980f61d00f1b050924812265b7068d937a112
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2909958
Reviewed-by: Shou-Chieh Hsu <shouchieh@chromium.org>
Diffstat (limited to 'board/munna/board.h')
-rw-r--r-- | board/munna/board.h | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/board/munna/board.h b/board/munna/board.h new file mode 100644 index 0000000000..50cd6111ca --- /dev/null +++ b/board/munna/board.h @@ -0,0 +1,182 @@ +/* Copyright 2021 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. + */ + +/* Configuration for Munna */ + +#ifndef __CROS_EC_BOARD_H +#define __CROS_EC_BOARD_H + +#define VARIANT_KUKUI_JACUZZI +#define VARIANT_KUKUI_BATTERY_SMART +#define VARIANT_KUKUI_CHARGER_ISL9238 +#define VARIANT_KUKUI_EC_STM32L431 + +#ifndef SECTION_IS_RW +#define VARIANT_KUKUI_NO_SENSORS +#endif /* SECTION_IS_RW */ + +#include "baseboard.h" + +#undef CONFIG_CHIPSET_POWER_SEQ_VERSION +#define CONFIG_CHIPSET_POWER_SEQ_VERSION 1 +#undef CONFIG_SYSTEM_UNLOCKED + +/* PLL configuration. Freq = STM32_HSE_CLOCK or HSI (16MHz) * n/m/r */ +#undef STM32_PLLM +#undef STM32_PLLN +#undef STM32_PLLR +#define STM32_PLLM 1 +#ifdef STM32_HSE_CLOCK +#define STM32_PLLN 12 +#else +#define STM32_PLLN 10 +#endif +#define STM32_PLLR 2 + +#define STM32_USE_PLL + +#define CONFIG_BATTERY_HW_PRESENT_CUSTOM + +#define CONFIG_CHARGER_PSYS + +#define CONFIG_CHARGER_RUNTIME_CONFIG + +#define CONFIG_BC12_DETECT_PI3USB9201 + +#define CONFIG_EXTPOWER_GPIO +#undef CONFIG_EXTPOWER_DEBOUNCE_MS +#define CONFIG_EXTPOWER_DEBOUNCE_MS 200 + +#define CONFIG_I2C_BITBANG +#undef I2C_BITBANG_PORT_COUNT +#define I2C_BITBANG_PORT_COUNT 1 +#undef CONFIG_I2C_NACK_RETRY_COUNT +#define CONFIG_I2C_NACK_RETRY_COUNT 10 +#define CONFIG_SMBUS_PEC + +#define CONFIG_USB_PD_TCPM_FUSB302 +#define CONFIG_USB_PD_DISCHARGE_GPIO +#define CONFIG_USB_PD_TCPC_LOW_POWER + +#define CONFIG_USB_MUX_IT5205 + +#define CONFIG_LED_ONOFF_STATES +#define CONFIG_LED_POWER_LED + +#undef CONFIG_WATCHDOG_PERIOD_MS +#define CONFIG_WATCHDOG_PERIOD_MS 4000 + + +/* Motion Sensors */ +#ifndef VARIANT_KUKUI_NO_SENSORS +#define CONFIG_ACCEL_LIS2DWL /* Lid accel */ +#define CONFIG_ACCELGYRO_BMI160 /* Base accel */ +#define CONFIG_ACCEL_INTERRUPTS +#define CONFIG_ACCELGYRO_BMI160_INT_EVENT \ + TASK_EVENT_MOTION_SENSOR_INTERRUPT(BASE_ACCEL) +#define CONFIG_ALS +#define CONFIG_CMD_ACCEL_INFO + +#define CONFIG_LID_ANGLE +#define CONFIG_LID_ANGLE_UPDATE +#define CONFIG_LID_ANGLE_SENSOR_BASE BASE_ACCEL +#define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL + +#define CONFIG_ACCEL_FORCE_MODE_MASK BIT(LID_ACCEL) + +#ifdef SECTION_IS_RW +#define CONFIG_IO_EXPANDER_IT8801_PWM +#define CONFIG_KEYBOARD_BACKLIGHT +#endif + +#endif /* VARIANT_KUKUI_NO_SENSORS */ + +/* I2C ports */ +#define I2C_PORT_BC12 0 +#define I2C_PORT_TCPC0 0 +#define I2C_PORT_USB_MUX 0 +#define I2C_PORT_CHARGER 2 +#define I2C_PORT_SENSORS 2 +#define I2C_PORT_IO_EXPANDER_IT8801 2 +#define I2C_PORT_VIRTUAL_BATTERY I2C_PORT_BATTERY +#define I2C_PORT_BATTERY 3 +#define I2C_PORT_TCPC0 0 + +#undef I2C_CONTROLLER_COUNT +#undef I2C_PORT_COUNT +#define I2C_CONTROLLER_COUNT 3 +#define I2C_PORT_COUNT 3 + +/* Enable Accel over SPI */ +#define CONFIG_SPI_ACCEL_PORT 0 /* The first SPI master port (SPI2) */ + +#define CONFIG_KEYBOARD_PROTOCOL_MKBP +#define CONFIG_MKBP_EVENT +#define CONFIG_MKBP_USE_GPIO +/* Define the MKBP events which are allowed to wakeup AP in S3. */ +#define CONFIG_MKBP_HOST_EVENT_WAKEUP_MASK \ + (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\ + EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON)) + +#ifndef __ASSEMBLER__ + +enum adc_channel { + /* Real ADC channels begin here */ + ADC_BOARD_ID = 0, + ADC_EC_SKU_ID, + ADC_CH_COUNT +}; + +/* power signal definitions */ +enum power_signal { + AP_IN_S3_L, + PMIC_PWR_GOOD, + + /* Number of signals */ + POWER_SIGNAL_COUNT, +}; + +/* Motion sensors */ +enum sensor_id { + LID_ACCEL = 0, + BASE_ACCEL, + BASE_GYRO, + SENSOR_COUNT, +}; + +enum charge_port { + CHARGE_PORT_USB_C, +}; + +enum battery_type { + BATTERY_LGC, + BATTERY_SUNWODA, + BATTERY_SMP, + BATTERY_TYPE_COUNT, +}; + +enum pwm_channel { + IT8801_PWM_CH_KBLIGHT = 0, +}; + +#include "gpio_signal.h" +#include "registers.h" + +#ifdef SECTION_IS_RO +/* Interrupt handler for emmc task */ +void emmc_cmd_interrupt(enum gpio_signal signal); +#endif + +void bc12_interrupt(enum gpio_signal signal); +void board_reset_pd_mcu(void); +int board_get_version(void); + +/* returns the i2c port number of charger/battery */ +int board_get_charger_i2c(void); +int board_get_battery_i2c(void); + +#endif /* !__ASSEMBLER__ */ + +#endif /* __CROS_EC_BOARD_H */ |