summaryrefslogtreecommitdiff
path: root/board/coffeecake
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2021-10-18 23:03:09 +0000
committerCommit Bot <commit-bot@chromium.org>2021-11-05 19:24:34 +0000
commita311557a3165950a5ef3d0a36e46764ecb428f32 (patch)
treebad21b73cb0cf601d06e1913a1d209096bdbb69e /board/coffeecake
parentc1c881e4c88b298f34a5e776ec2bb1291a4c3d4d (diff)
downloadchrome-ec-a311557a3165950a5ef3d0a36e46764ecb428f32.tar.gz
tree: Create usb_pd_pdo.c
genvif depends on usb_pd_policy.c. However, the usb_pd_policy.c files often depend on other symbols that are not included when building genvif. genvif only needs the pd_src_pdo and pd_src_pdo_count variables (and charge_manager_get_source_pdo() in one case). Extract these variables into their own files. BRANCH=none BUG=b:172020503 TEST=CC=clang make BOARD=zinger -j TEST=make buildall TEST=compare generated *_vif.xml files before and after change: => MATCH Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I765750cd86243a0a355dcc6a29b80fc23403d99f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3231026 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'board/coffeecake')
-rw-r--r--board/coffeecake/build.mk2
-rw-r--r--board/coffeecake/usb_pd_pdo.c26
-rw-r--r--board/coffeecake/usb_pd_pdo.h25
-rw-r--r--board/coffeecake/usb_pd_policy.c29
4 files changed, 53 insertions, 29 deletions
diff --git a/board/coffeecake/build.mk b/board/coffeecake/build.mk
index fb5a6fccdb..59ca88486b 100644
--- a/board/coffeecake/build.mk
+++ b/board/coffeecake/build.mk
@@ -14,4 +14,4 @@ CHIP_VARIANT:=stm32f07x
test-list-y=
board-y=board.o
-board-$(CONFIG_USB_POWER_DELIVERY)+=usb_pd_policy.o
+board-$(CONFIG_USB_POWER_DELIVERY)+=usb_pd_policy.o usb_pd_pdo.o
diff --git a/board/coffeecake/usb_pd_pdo.c b/board/coffeecake/usb_pd_pdo.c
new file mode 100644
index 0000000000..a766d7dbe5
--- /dev/null
+++ b/board/coffeecake/usb_pd_pdo.c
@@ -0,0 +1,26 @@
+/* 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.
+ */
+
+#include "compile_time_macros.h"
+#include "usb_pd.h"
+#include "usb_pd_pdo.h"
+
+#define PDO_FIXED_FLAGS_EXT (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\
+ PDO_FIXED_COMM_CAP | PDO_FIXED_UNCONSTRAINED)
+
+#define PDO_FIXED_FLAGS (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\
+ PDO_FIXED_COMM_CAP)
+
+const uint32_t pd_src_pdo[] = {
+ [PDO_IDX_5V] = PDO_FIXED(5000, 3000, PDO_FIXED_FLAGS_EXT),
+ [PDO_IDX_9V] = PDO_FIXED(9000, 2500, PDO_FIXED_FLAGS),
+};
+const int pd_src_pdo_cnt = ARRAY_SIZE(pd_src_pdo);
+BUILD_ASSERT(ARRAY_SIZE(pd_src_pdo) == PDO_IDX_COUNT);
+
+const uint32_t pd_snk_pdo[] = {
+ PDO_FIXED(5000, 1500, PDO_FIXED_FLAGS),
+};
+const int pd_snk_pdo_cnt = ARRAY_SIZE(pd_snk_pdo);
diff --git a/board/coffeecake/usb_pd_pdo.h b/board/coffeecake/usb_pd_pdo.h
new file mode 100644
index 0000000000..f695defddb
--- /dev/null
+++ b/board/coffeecake/usb_pd_pdo.h
@@ -0,0 +1,25 @@
+/* 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.
+ */
+
+#ifndef __CROS_EC_BOARD_COFFEECAKE_USB_PD_PDO_H
+#define __CROS_EC_BOARD_COFFEECAKE_USB_PD_PDO_H
+
+#include "stdint.h"
+
+/* Voltage indexes for the PDOs */
+enum volt_idx {
+ PDO_IDX_5V = 0,
+ PDO_IDX_9V = 1,
+ /* TODO: add PPS support */
+ PDO_IDX_COUNT
+};
+
+extern const uint32_t pd_src_pdo[2];
+extern const int pd_src_pdo_cnt;
+
+extern const uint32_t pd_snk_pdo[1];
+extern const int pd_snk_pdo_cnt;
+
+#endif /* __CROS_EC_BOARD_COFFEECAKE_USB_PD_PDO_H */
diff --git a/board/coffeecake/usb_pd_policy.c b/board/coffeecake/usb_pd_policy.c
index dc19207a0e..c8c74688a8 100644
--- a/board/coffeecake/usb_pd_policy.c
+++ b/board/coffeecake/usb_pd_policy.c
@@ -18,40 +18,13 @@
#include "usb_api.h"
#include "usb_bb.h"
#include "usb_pd.h"
+#include "usb_pd_pdo.h"
#include "usb_pd_tcpm.h"
#include "util.h"
#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
-#define PDO_FIXED_FLAGS_EXT (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\
- PDO_FIXED_COMM_CAP | PDO_FIXED_UNCONSTRAINED)
-
-#define PDO_FIXED_FLAGS (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\
- PDO_FIXED_COMM_CAP)
-
-
-/* Voltage indexes for the PDOs */
-enum volt_idx {
- PDO_IDX_5V = 0,
- PDO_IDX_9V = 1,
- /* TODO: add PPS support */
- PDO_IDX_COUNT
-};
-
-/* PDOs */
-const uint32_t pd_src_pdo[] = {
- [PDO_IDX_5V] = PDO_FIXED(5000, 3000, PDO_FIXED_FLAGS_EXT),
- [PDO_IDX_9V] = PDO_FIXED(9000, 2500, PDO_FIXED_FLAGS),
-};
-const int pd_src_pdo_cnt = ARRAY_SIZE(pd_src_pdo);
-BUILD_ASSERT(ARRAY_SIZE(pd_src_pdo) == PDO_IDX_COUNT);
-
-const uint32_t pd_snk_pdo[] = {
- PDO_FIXED(5000, 1500, PDO_FIXED_FLAGS),
-};
-const int pd_snk_pdo_cnt = ARRAY_SIZE(pd_snk_pdo);
-
/* Holds valid object position (opos) for entered mode */
static int alt_mode[PD_AMODE_COUNT];