summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.ppc
blob: 9d0ff3b86c3162d97b609fd1f96c22f8e0d7f0ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# Copyright 2022 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.

if PLATFORM_EC_USBC

menuconfig PLATFORM_EC_USBC_PPC
	bool "USB Type-C Power Path Controller"
	default y
	help
	  Enable this to support the USB Type-C PPC on your board. This enables
	  common routines for things like figuring out whether power is being
	  supplied to the Chromebook over USB-C, whether the Chromebook is
	  supplying power to another device, etc.

if PLATFORM_EC_USBC_PPC

config PLATFORM_EC_USBC_PPC_POLARITY
	bool
	help
	  Enable this if a Power Path Controller needs to be informed of
	  the polarity of the Configuration Channel (CC) pins. This can change
	  depending on which way up the USB-C cable is inserted into the
	  device.

	  This should be enabled by drivers which can detect this. It cannot be
	  set otherwise, even in prj.conf

config PLATFORM_EC_USBC_PPC_SBU
	bool
	help
	  Enable this if a Power Path Controller is capable of gating the
	  Sideband Use (SBU) lines. If so, the USB mux will use this feature
	  to isolate the lines before entering into alternate mode.

	  This should be enabled by drivers which can detect this. It cannot be
	  set otherwise, even in prj.conf

config PLATFORM_EC_USBC_PPC_VCONN
	bool
	depends on PLATFORM_EC_USBC_VCONN
	help
	  Enable this if a Power Path Controller is capable of providing
	  VCONN. If so, the USB stack will enable / disable VCONN as needed.

	  This should be enabled by drivers which can detect this. It cannot be
	  set otherwise, even in prj.conf

	  Note: This may not be true, as there may be scenarios where the board
	  might need to disable this feature (for instance when both the PPC and
	  TCPC can supply VCONN). We can cross that bridge when we come to it.

config PLATFORM_EC_USBC_PPC_AOZ1380
	bool "Alpha & Omega USB Type-C PD Sink and Source Protection Switch"
	select PLATFORM_EC_USBC_OCP
	help
	  AOZ1380DI integrates two power switches and control circuitry to
	  provide all the functionality and protection needed for sourcing
	  and sinking current through a USB Type-C port with PD capability.

config PLATFORM_EC_USBC_PPC_RT1718S
	bool "Richtek RT1718S TCPC/PPC"
	select PLATFORM_EC_USB_PD_TCPM_RT1718S
	select PLATFORM_EC_USBC_OCP
	select PLATFORM_EC_USBC_PPC_POLARITY
	select PLATFORM_EC_USBC_PPC_SBU
	select PLATFORM_EC_USBC_PPC_VCONN if PLATFORM_EC_USBC_VCONN
	help
	  RT1718S integrates several high voltage protection switch of
	  SBU1/SBU2/DP/DM from high voltage VBUS touching the adjacent pins. The
	  AMR of SBU OVP switch is 24V. High Voltage USB 2.0 Switches also
	  support HV DCP & fast charging protocols. The GPIOs in RT1718S can
	  be also configured to control system block such as USB3.0 to DP Mux
	  for alternated mode usage. VCONN Switch with OVP/OCP/RVP/RCP/UVP
	  protection is also integrated.

config PLATFORM_EC_USBC_PPC_KTU1125
	bool "Kinetic KTU1125 Power Path Controller"
	select PLATFORM_EC_USBC_OCP
	help
	  KTU1125 integrates power switches to provide a compact protection
	  solution to USB Type-C applications by eliminating the dependence
	  on external components.

config PLATFORM_EC_USBC_PPC_NX20P3483
	bool "NX20P3483 High Voltage Sink/Source Combo Switch"
	select PLATFORM_EC_USBC_OCP
	help
	  The NX20P3483 is a product with combined multiple power switches
	  and a LDO for USB PD application.

config PLATFORM_EC_USBC_PPC_RT1739
	bool "Richtek RT1739 Type-C Power Path Controller"
	help
	  RT1739 is a highly integrated USB-C Bi-Directional Power Mux and
	  Protection IC which includes IEC-61000-4-2 ESD protection cell for
	  VBUS/CC/SBU/DP/DM.

config PLATFORM_EC_USBC_PPC_SN5S330
	bool "TI SN5S330 PD 3.0 power mux"
	select PLATFORM_EC_USBC_OCP
	select PLATFORM_EC_USBC_PPC_POLARITY
	select PLATFORM_EC_USBC_PPC_SBU
	select PLATFORM_EC_USBC_PPC_VCONN if PLATFORM_EC_USBC_VCONN
	help
	  This is a USB Type-C Power Delivery 3.0 Bidirectional Power Mux with
	  CC and SBU short-to-VBUS Protection and Integrated Dead Battery
	  LDO. This chips provides protection against pins shorting to Vbus as
	  well as ESD (Electostatic discharge) protection. It provides a simple
	  I2C interface for for Mode Selection, Fast Role Swap, and Fault
	  Reporting.

config PLATFORM_EC_USBC_PPC_SYV682X
	bool "SYV682X which is a Power Mux for USB PD"
	select PLATFORM_EC_USBC_OCP
	select PLATFORM_EC_USBC_PPC_POLARITY
	select PLATFORM_EC_USBC_PPC_VCONN if PLATFORM_EC_USBC_VCONN
	help
	  The SYV682A is a 2 to 1 power mux switch for USB PD applications. The
	  SYV682A supports dead battery wake up function and Fast Role Swap
	  features. It provides protection against overcurrent, overvoltage,
	  thermal shutdown, and undervoltage conditions.

config PLATFORM_EC_USBC_PPC_SYV682C
	bool "SYV682C Power Mux for USB PD (subset of SYV682X)"
	depends on PLATFORM_EC_USBC_PPC_SYV682X
	help
	  The C version of this chip won't block I2C accessing to the CONTROL4
	  rer (to on/off Vconn) when smart discahrge is enabled. This allows us
	  to re-enable the smart discharge on boards using SYV682C.

config PLATFORM_EC_USBC_PPC_SYV682X_HV_ILIM
	int "SYV682X high-voltage current limit"
	depends on PLATFORM_EC_USBC_PPC_SYV682X
	default 2
	help
	  SYV682x PPC high voltage power path current limit. Valid values are
	  0 (1.25A), 1 (1.75A), 2 (3.3A), or 3 (5.5A). See syv682x.h.

config PLATFORM_EC_USBC_PPC_SYV682X_NO_CC
	bool "SYV682X does not pass through CC"
	help
	  Enable this if a SYV682X does not pass through CC.
	  There is a 3.6V limit on the HOST_CC signals, so the TCPC
	  should not source 5V VCONN. This config determines if
	  sourcing VCONN should be enabled by default.

config PLATFORM_EC_USBC_PPC_SYV682X_SMART_DISCHARGE
	bool "Enable smart discharge on the SYV682X PPC"
	help
	  Enable the smart discharge feature on VBUS provided by the SYV682x
	  PPC.  This should be enabled for revision C and above of the SYV682X.
	  Earlier revisions of the chip block I2C transactions during smart
	  discharge, causing USB PD compliance issues.

config PLATFORM_EC_USBC_PPC_DEDICATED_INT
	bool "Power Power Controller has a dedicated interrupt pin"
	help
	  Enable this if the Power Power Controller (PPC) has level interrupts
	  (as opposed to edge) and a dedicated interrupt pin to check the
	  current state.

	  If this is enabled the USB Power Delivery (PD) stack will call
	  ppc_get_alert_status() to find out he interrupt status for a port.
	  This function should be provided by the board code.

endif  # PLATFORM_EC_USBC_PPC

endif # PLATFORM_EC_USBC