summaryrefslogtreecommitdiff
path: root/board/munna/board.h
diff options
context:
space:
mode:
authorBossen WU <bossen.wu@stmicro.corp-partner.google.com>2021-05-20 18:36:51 +0800
committerCommit Bot <commit-bot@chromium.org>2021-07-20 03:50:07 +0000
commit4ce3683f04cdca8339d8dda171bd0e3620cc38e5 (patch)
tree26b5b85bf7a10283646b84c7b3f41d06360a99c5 /board/munna/board.h
parent43d48363f12aed7635cc079bb7038985c6156a5a (diff)
downloadchrome-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.h182
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 */