mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-10 17:41:54 +00:00
Servo_v4 requires the ability to have a different default state per port. In previous devices, the assumption was that each supported port had the same default usb pd state and power role. This CL moves the by the default power role which in turn is derived from CONFIG_USB_PD_DUAL_ROLE. In addiiton to moving the location, it now uses 'port' as argument so it can be port specific if required. PD_DEFAULT_STATE was a board.h specific config, but in practice each instance used to date was set to PD_STATE_SNK_DISCONNECTED if CONFIG_USB_PD_DUAL_ROLE was defined and set to PD_STATE_SRC_DISCONNECTED otherwise. BUG=chrome-os-partner:61878 BRANCH=servo TEST=Manual run 'make -j buildall' to verify that all instances of PD_DEFAULT_STATE were removed. Change-Id: Iaf40718668732f525485ed7942ee7fc246d3f75d Signed-off-by: Scott <scollyer@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/431787 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
97 lines
2.2 KiB
C
97 lines
2.2 KiB
C
/* Copyright 2015 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.
|
|
*/
|
|
|
|
/* STM32F072-discovery board based USB PD evaluation configuration */
|
|
|
|
#ifndef __BOARD_H
|
|
#define __BOARD_H
|
|
|
|
/* 48 MHz SYSCLK clock frequency */
|
|
#define CPU_CLOCK 48000000
|
|
|
|
/* the UART console is on USART2 (PA14/PA15) */
|
|
#undef CONFIG_UART_CONSOLE
|
|
#define CONFIG_UART_CONSOLE 2
|
|
|
|
/* Optional features */
|
|
#define CONFIG_HW_CRC
|
|
#define CONFIG_I2C
|
|
#define CONFIG_I2C_MASTER
|
|
#define CONFIG_STM_HWTIMER32
|
|
/* USB Power Delivery configuration */
|
|
#define CONFIG_USB_POWER_DELIVERY
|
|
#define CONFIG_USB_PD_ALT_MODE
|
|
#define CONFIG_USB_PD_ALT_MODE_DFP
|
|
#define CONFIG_USB_PD_CUSTOM_VDM
|
|
#define CONFIG_USB_PD_DUAL_ROLE
|
|
#define CONFIG_USB_PD_PORT_COUNT 2
|
|
#define CONFIG_USB_PD_TCPM_TCPCI
|
|
|
|
/* fake board specific type-C power constants */
|
|
#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */
|
|
#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */
|
|
|
|
/* Define typical operating power and max power */
|
|
#define PD_OPERATING_POWER_MW 15000
|
|
#define PD_MAX_POWER_MW 60000
|
|
#define PD_MAX_CURRENT_MA 3000
|
|
#define PD_MAX_VOLTAGE_MV 20000
|
|
|
|
/* I2C master port connected to the TCPC */
|
|
#define I2C_PORT_TCPC 0
|
|
#define I2C_PORT_PD_MCU 0
|
|
|
|
/* TCPC I2C slave addresses */
|
|
#define TCPC1_I2C_ADDR 0x9c
|
|
#define TCPC2_I2C_ADDR 0x9e
|
|
|
|
/* Timer selection */
|
|
|
|
/* USB Configuration */
|
|
#define CONFIG_USB
|
|
#define CONFIG_USB_PID 0x500f
|
|
#define CONFIG_USB_CONSOLE
|
|
|
|
/* USB interface indexes (use define rather than enum to expand them) */
|
|
#define USB_IFACE_CONSOLE 0
|
|
#define USB_IFACE_COUNT 1
|
|
|
|
/* USB endpoint indexes (use define rather than enum to expand them) */
|
|
#define USB_EP_CONTROL 0
|
|
#define USB_EP_CONSOLE 1
|
|
#define USB_EP_COUNT 2
|
|
|
|
#undef CONFIG_WATCHDOG_HELP
|
|
#undef CONFIG_LID_SWITCH
|
|
|
|
/*
|
|
* Allow dangerous commands all the time, since we don't have a write protect
|
|
* switch.
|
|
*/
|
|
#define CONFIG_SYSTEM_UNLOCKED
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
/* Timer selection */
|
|
#define TIM_CLOCK32 2
|
|
|
|
#include "gpio_signal.h"
|
|
|
|
/* USB string indexes */
|
|
enum usb_strings {
|
|
USB_STR_DESC = 0,
|
|
USB_STR_VENDOR,
|
|
USB_STR_PRODUCT,
|
|
USB_STR_VERSION,
|
|
USB_STR_CONSOLE_NAME,
|
|
|
|
USB_STR_COUNT
|
|
};
|
|
|
|
void board_reset_pd_mcu(void);
|
|
|
|
#endif /* !__ASSEMBLER__ */
|
|
#endif /* __BOARD_H */
|