summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.usbc
Commit message (Collapse)AuthorAgeFilesLines
* usbpd: support dynamic PDO selectionEric Yilun Lin2021-09-011-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support dynamic PDO selection CONFIG_USB_PD_DPS. This config controls the charging voltage and power according to the input power and battery configuration. DPS would continuously evaluate the system load and current charging voltage, and decide a new one by below: 1. If the PDO can fulfill system desired power. 2. If the PDO is efficient for the battery configuration. To detect if the system load cannot be fulfilled by the current PDO, it checks: 1. if the input current closes to the PDO current limit. 2. if the input power closes to the PDO maximum power. To detect if the system load can be fulfilled by a more efficient PDO, it checks: - if the voltage of a new PDO is closer to the battery voltage than the current PDO, and the power is able fulfill the system load. BUG=b:169532537 TEST=1. tested on asurada, the charging voltage is able to switch to different PDOs under different system loads 2. tested that the DPS is able to switch charge port (e.g. C1 12V -> C0 9V) based on the provided PDOs. BRANCH=asurada Change-Id: I7c7706b331dc0d4f8ac68569dc7ed852fc9308e3 Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2897064 Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Eric Yilun Lin <yllin@google.com>
* zephyr: add support for CONFIG_USBC_PPC_SYV682X_SMART_DISCHARGEKeith Short2021-07-121-4/+12
| | | | | | | | | | | | | | | | Add Kconfig option to enable the CONFIG_USBC_PPC_SYV682X_SMART_DISCHARGE option on the SYV682x PPC. BUG=b:193195946 BRANCH=none TEST=zmake testall TEST=make buildall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I5530951f75e2d4b64756858b9799c7978be44ba3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3015868 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: add support for CONSOLE_CMD_MFALLOWKeith Short2021-07-081-0/+10
| | | | | | | | | | | | | | | Add Kconfig option to control the CONSOLE_CMD_MFALLOW cros-ec option. BUG=b:193159000 BRANCH=none TEST=make buildall TEST=zmake testalll Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I0f9296cfc72d52c26e6d012b5aaf68c449df2669 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3016955 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* KB800x: Add DriverEric Herrmann2021-06-181-0/+19
| | | | | | | | | | | | | Add KB800x driver. Add config options to Kconfig. BUG=b:168930682 TEST=On Volteer, check USB4, TBT3, DPMF, DP, and USB3 functionality BRANCH=none Signed-off-by: Eric Herrmann <eherrmann@chromium.org> Change-Id: Ic71b0d4236037522455a0561ba87fd9a874a4968 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2930581 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* zephyr: Add ANX7451 and PS8811 to KconfigRob Barnes2021-06-161-0/+16
| | | | | | | | | | | | | | Add ANX7451 and PS8811 retimer/mux to Zephyr kconfig. BUG=b:190191868 TEST=Build, ANX7451 and PS8811 configs not reported as missing BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: I86e1a8cb34360c13175766309152984254d117fc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2957030 Commit-Queue: Diana Z <dzigterman@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* zephyr: Add support for CONFIG_USBC_PPC_SYV682CSimon Glass2021-06-151-0/+8
| | | | | | | | | | | | | Allow this option to be enabled on Zephyr. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Change-Id: I73f49b46ebb9ebe58f06cea51ae570a411ba3010 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941890 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Complete Kconfig support for ITE TCPMSimon Glass2021-06-151-5/+17
| | | | | | | | | | | | | | | | | | Move PLATFORM_EC_USB_PD_TCPM_ITE_ON_CHIP down with the other TCPM options so that everything is together. Add an option to set the active port count. For now, hard-code the chip's USB PHY count. We don't seem to have access to that information from the zephyr side at present. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I8fd3c5c160f4baa74089730bad0371a01021c9f0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941889 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add support for the PS8743 USB muxSimon Glass2021-06-151-0/+7
| | | | | | | | | | | | | Add a Kconfig for this chip so it can be used with zephyr. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: If2eedaf9100462a9d591525d21bfa76c7e861af1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941888 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Support the IT5205 USB muxSimon Glass2021-06-151-0/+12
| | | | | | | | | | | | | Add support for this chip on Zephyr, needed for Asurada. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I868f46ee617003eef5ceba65be4241b502d6d280 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941886 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add support for the MT6360Simon Glass2021-06-151-0/+17
| | | | | | | | | | | | | Add a Kconfig for this driver so it can be used from zephyr. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I14434a52388b21d2f4200cea50c326ffb2788abe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941884 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Support DP hotplug detect with a GPIOSimon Glass2021-06-111-0/+20
| | | | | | | | | | | | | | | | Add Kconfig support for USB_PD_DP_HPD_GPIO and the associated option so we can support this feature. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Iffee7fea469ac85fb9b41715fdd5bb767994584e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941883 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Allow use of the custom bc12_ports[] arraySimon Glass2021-06-111-0/+15
| | | | | | | | | | | | | | | | At present we don't support this feature on Zephyr. It is needed for Asurada so add a proper Kconfig for it. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ifb4c79f3feeb7541339632bbccc575fa106ffb78 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941882 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add help for the ITE TCPM driversSimon Glass2021-06-111-3/+8
| | | | | | | | | | | | | | | | | | These Kconfigs are missing the help text. Add some. Also drop the unnecessary and confusing 'default n' lines nearby. Once people see these in the code, they will multiply. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I8d6a327a2fbd57a0f25244e85424692c0d808b3f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941821 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Tidy up PLATFORM_EC_USB_PORT_POWER_DUMB_CUSTOM_HOOKSimon Glass2021-06-111-4/+3
| | | | | | | | | | | | | | | | This Kconfig should use tabs for indentation, rather than spaces. Fix it. BUG=b:189855648 BRANCH=none TEST=with other CLs, build asurada for Zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I25eed9ece49cdfe477e5107b6689d8a3890a82a9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941820 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: Change default values for PD_TCPC_VCONNMichał Barnaś2021-05-261-0/+2
| | | | | | | | | | | | | | | | There were no ITxxx drivers and SYV682X_NO_CC Kconfig, so default value for PD_TCPC_VCONN was different in Zephyr and CrOS. This commit adds default values for different configs. BUG=b:182500469 BRANCH=none TEST=Compare Kconfig.usbc with config.h Signed-off-by: Michał Barnaś <mb@semihalf.com> Change-Id: I2992fcd02c80957ed736b378dee2849dff03a315 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2919911 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add PLATFORM_EC_USBC_PPC_SYV682X_NO_CC to KconfigMichał Barnaś2021-05-261-0/+8
| | | | | | | | | | | | | | | | | | There was no option to compile zephyr with flag SYV682X_NO_CC This commit adds this to Kconfig as PLATFORM_EC_USBC_PPC_SYV682X_NO_CC This config changes default value of PLATFORM_EC_USB_PD_TCPC_VCONN BUG=b:182500469 BRANCH=none TEST=Add CONFIG_PLATFORM_EC_USBC_PPC_SYV682X_NO_CC=y to any prj.conf Execute zmake configure and build. Verify that this flag is set in outputted .config in build directory Signed-off-by: Michał Barnaś <mb@semihalf.com> Change-Id: Ic6bcdb9f3560813ba30149d9581b161eebb5c581 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2919910 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* zephyr: Add IT8XXX drivers to KconfigMichał Barnaś2021-05-261-1/+15
| | | | | | | | | | | | | | | | | | | | There was no possibility to use ITE_ON_CHIP in zephyr. This commit adds possibility to use it as TCPM. It adds also Kconfigs for IT8XXX2 and IT83XX drivers BUG=b:182500469 BRANCH=none TEST=Manipulate prj.conf to check if drivers are compiled: PLATFORM_EC_USB_PD_TCPM_ITE_ON_CHIP=y PLATFORM_EC_USB_PD_TCPM_DRIVER_IT83XX=y PLATFORM_EC_USB_PD_TCPM_DRIVER_IT8XXX2=y Try building with different options. Eg. enabling drivers without using ITE_ON_CHIP should change nothing in build. Signed-off-by: Michał Barnaś <mb@semihalf.com> Change-Id: I31a9a6899123b855ed82d92b46f023db77714b5a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2919909 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* usb_port_power_dumb: allow board to customize hooksTing Shen2021-05-251-0/+8
| | | | | | | | | | | | | | | | | | | | On Asurada, some Sandisk stickers would enter fault status (down-train to USB2 or not detected) if Vbus is applied before xhci initialization. The defauilt S3 hooks does not work in this case. This CL adds a config option to allow board to control the timing to enable/disable port power. BUG=b:187149602 TEST=manually test with CL:2909972 BRANCH=asurada Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I2ac4689182f22f4fa81d34bff8b5797e5fe222d2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2914482 Reviewed-by: Eric Yilun Lin <yllin@google.com> Tested-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* usb-ep: Add config option to define VIDScott Collyer2021-05-021-0/+10
| | | | | | | | | | | | | | | | | This value was previously hardcoded to Google's VID. However, some products with USB-EP support may require a different VID to correctly support fwupd. BUG=b:181920029 BRANCH=quiche TEST=verified that fwupd works on baklava Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I23c36507a90428ab46cd5efde7d79581207bde74 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2848424 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* TCPC/PPC: Add code for Cypress EZ-PD CCG6DF, CCG6SFVijay Hiremath2021-04-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | CCG6DF and CCG6SF are dual-port and single-port USB Type-C controllers respectively. These can act as either PD or TCPC based on the Phy firmware flashed on the internal flash. These chips use standard TCPCI driver. BUG=none BRANCH=none TEST=With the initial Phy F/W able to test following on ADL RVP 1. Single port Type-C is validated 2. Dead battery boot 3. Source & Sink path 4. SOP* 5. USB, DP, TBT 6. 100K, 400K, 1MHz I2C Change-Id: I1b1a2f759139ac1c7aab42d851b8a7866664e28a Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2551653 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* TCPC: Cleanup: Enable PPC from PD or Power MUXVijay Hiremath2021-04-201-0/+8
| | | | | | | | | | | | | | | Some PD chips have integrated SRC FET and control the SRC/SINK FET from GPIOs hence cleaned up the code to enable Power Path Control from either from PD or from Power MUX. BUG=none BRANCH=none TEST=make buildall -j Change-Id: I77f96b681fd2e5fca35bce425e4bd5ec87d5ccfd Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2828980 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* zephyr: Tidy up PLATFORM_EC_USBC_SS_MUXSimon Glass2021-04-131-24/+11
| | | | | | | | | | | | | | | | | | | | From what I can tell, there is no need for PLATFORM_EC_USB_MUX since the only mux is the SuperSpeed one. Drop PLATFORM_EC_USB_MUX and move the runtime-config one up into the same area. BUG=b:183296099 BRANCH=none TEST=Build lazor on zephyr; no obvious changes when run Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I4ac673ea92c43a87bbfcfe578a86f603ff9b9a00 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2822396 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
* ec: Filter non-FIXED PDOs in servo_v4{p1}Jeremy Bettis2021-04-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | Add a new config CONFIG_USB_PD_ONLY_FIXED_PDOS. If that config is enabled, ignore non-FIXED PDOs in both the console command `ada_srccaps` and also when selecting the preferred PDO for a voltage. Enable CONFIG_USB_PD_ONLY_FIXED_PDOS for servo_v4 and servo_v4p1, since they don't expose non-fixed PDO in their srccaps. Without this change, there is a risk that the "best" PDO for a given voltage will be non-FIXED and then that voltage just won't be supported at all. BRANCH=none BUG=b:178484932 TEST=added Change-Id: I0d1187ca372120c7fe21d627e1b82b59f6334add Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2809353 Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add support for SuperSpeed mux only with DFPSimon Glass2021-04-031-0/+7
| | | | | | | | | | | | | | | | | | Add support for CONFIG_USBC_SS_MUX_DFP_ONLY which is used on lazor. BUG=b:183296099 BRANCH=none TEST=build for lazor and check the various options in in /tmp/z/trog/build-ro/zephyr/.config Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I5894efbca0c5105d7954c4719e87843dee049a1b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2789803 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: Add support for multiple Parade PS8xxx chipsSimon Glass2021-03-241-0/+21
| | | | | | | | | | | | | | Some designs use different chips. The driver supports them all but needs to know which one is on which port. Add support for this feature in Zephyr. BUG=b:183296099 BRANCH=none TEST=build zephyr for lazor Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I497da5e865e764d74242c00bf2fb0d309fae7061 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2777638
* zephyr: Add two more Parade PS8xxx chips to the buildSimon Glass2021-03-241-0/+18
| | | | | | | | | | | | | Parade PS8751 and PS8805 are needed by lazor so add support for them in the Zephyr build. BUG=b:183296099 BRANCH=none TEST=build zephyr for lazor Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ic93a0568d1c505cb496dd92c128d0b05ddef93cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2777637
* zephyr: Add support for USB_PD_5V_EN_CUSTOMSimon Glass2021-03-231-0/+11
| | | | | | | | | | | | | | Allow this option to be enabled since it is used on lazor. BUG=b:183296099 BRANCH=none TEST=build for lazor Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ie4c57b7c42acaca6e151fc5f93a1a3ad012952ed Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2777631 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: fix Kconfig name for console commandsKeith Short2021-03-121-3/+3
| | | | | | | | | | | | | | | Cleanup Kconfig options to match the convention of starting with CONFIG_PLATFORM_EC_CONSOLE_CMD_*. BUG=b:181794644 BRANCH=none TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ibed3d0371483b26c17f8f8c05c088694b6f3728d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2756981 Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org>
* kconfig: Add CONFIG_USB_PD_TCPC_VCONNRob Barnes2021-03-121-0/+9
| | | | | | | | | | | | | | | | Add CONFIG_USB_PD_TCPC_VCONN to Kconfig.usb. Also add CONFIG_VBOOT_HASH_RELOAD_WATCHDOG to allow list since it's a temporary config (b/182499153). BUG=None TEST=Build BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: Idde220f7d89a719686b3afba83c94b9973deca9d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2752431 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* zephyr: add PD console command supportFabio Baltieri2021-02-231-0/+12
| | | | | | | | | | | | | | | This adds support for actually building the code for "ec" and "pdcable" commands. The matching config were enabled, but the file was left out of the build. BRANCH=none BUG=b:177604307 TEST=tested the commands on volteer Change-Id: I996f4a4ab99f8ed36b090c8b7ffa3d8d0bee63dc Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2712968 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: add CONFIG_USB_BCD_DEVKeith Short2021-02-121-0/+9
| | | | | | | | | | | | | | Add a KConfig option to specify the USB device ID. BUG=b:157163664 BRANCH=none TEST=make buildall TEST=zmake testall Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I32677fb2c9a4f1e0d7b4220b7306022248ded630 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2691574 Reviewed-by: Simon Glass <sjg@chromium.org>
* zephyr: Add support for retimer firmware updatesSimon Glass2021-02-061-0/+14
| | | | | | | | | | | | | | Enable CONFIG_USBC_RETIMER_FW_UPDATE so that retimer chips can be updated on boot. BUG=b:175434113 BRANCH=none TEST=build zephyr for volteer, see that the new code is included Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ie620f322d32bae46c00ff4e8d5477261a7dbe279 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2678926 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add support for Fast Role Swap triggerSimon Glass2021-02-051-0/+42
| | | | | | | | | | | | | Add support for these options so that Fast Role Swap can be enabled. BUG=b:175434113 BRANCH=none TEST=build zephyr with another CL and see that the code is included Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I78b68108f9ab50afe137a5010d6024ca07d723f7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2677182 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Correct the USB_PD_REV30 optionSimon Glass2021-02-051-3/+3
| | | | | | | | | | | | | | | This has an extra CONFIG in it. Drop it since it was not intended. BUG=b:175434113 BRANCH=none TEST=build zephyr on volteer Check that CONFIG_USB_PD_REV30 is in fact enabled Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ibb93de1a25ff28d6b2dc29732c60b3ccafd7c0d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2674958 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add support for PD loggingSimon Glass2021-02-051-0/+9
| | | | | | | | | | | | | | | | | | | Enable support for this command. It is not actually used on volteer but seems to be commonly used. BUG=b:175434113 BRANCH=none TEST=build and boot zephyr on volteer and see no errors from EC_CMD_PD_GET_LOG_ENTRY command (0x115) Also test ectool: localhost ~ # ectool pdlog 2020-04-27 18:24:56.460 P0 SNK Charger PD 19776mV / 3000mA, max 20000mV / 3000mA Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I30951537ac48c0929cb668cdd2af1e1675696378 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2676611 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add missing charger configsDawid Niedzwiecki2021-01-271-0/+53
| | | | | | | | | | | | | | | | | | | There are 3 battery configs missing for Zephyr: -CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON -CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON_WITH_AC -CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON_WITH_BATT -CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON Add them to the Kconfig.usbc BUG=b:177604307 BRANCH=none TEST=Build Volteer board with the configs enabled Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I0700138a74f9879caf1c6f259377a376bde45364 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2648487 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: Add options for USB4 Power DeliverySimon Glass2021-01-161-0/+18
| | | | | | | | | | | | | | | | Allow enabling USB4 Power Delivery features as well as Thunderbolt 3 compatibility mode, which is available with USB4. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I19dfeaa5dfadcddbdb27e67ff40a70b92c594cf1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631096 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Allow enabling 'pe' and 'pdcable' commandsSimon Glass2021-01-161-0/+38
| | | | | | | | | | | | | | | | These are useful when debugging USB-C PD operation. Allow enabling them, but not by default. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I31a2a0704ac0f81600e21a024532a24be2b3f427 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631095 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Allow enabling USB-A chargingSimon Glass2021-01-161-0/+21
| | | | | | | | | | | | | | | | | Add options to enable (slow) charging through any USB-A ports present on the device. This can be useful if the USB-C ports are in use, or when a USB-C cable is not available. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Idc17c98c305201c63dddb6c6c0abef0f640c5f59 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631094 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Allow enabling the pd host commandSimon Glass2021-01-161-0/+11
| | | | | | | | | | | | | | | | Add support for enabling this so the AP can monitor and control the operation of USB-C Power Delivery. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ib7301923661f33554172ed44338cfe3d37136a7a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631093 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Enable USB3.2 supportSimon Glass2021-01-161-0/+9
| | | | | | | | | | | | | | | | Provide this option so that the extra facilities of the USB3.2 standard can be used by a connected device. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I7459eb6769842f11f09d065e3df5a3d225457894 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631092 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add Power Path Controller optionsSimon Glass2021-01-161-0/+40
| | | | | | | | | | | | | | | | | Each PPC has different capabilities. Add Kconfig options to enable the required features for each one. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Volteer can charge a cellphone connected to the left port Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Iaf5b59fcc01c985466441091469276a6391f0737 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631091 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Allow enabling Try.SRC modeSimon Glass2021-01-161-0/+10
| | | | | | | | | | | | | | | | Enable this option so that the device can charge other devices attached to it. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I94bf20d2f3e9a6a38e1096bbca6c293b377c52e6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631090 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Allow enabling USB-C VCONNSimon Glass2021-01-161-0/+11
| | | | | | | | | | | | | | | Enable a few more options so that we can charge other devices. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I440a3465ad8b14d8ffa6a9007009756b6ee3031c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631089 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Allow setting the USB-PD debug levelSimon Glass2021-01-161-0/+17
| | | | | | | | | | | | | | | | This is used to reduce code size in the USB-PD stack. Add this option to the Kconfig. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Ia8db34d11619ca6a7a19742f3c9d67f9f2c04a9b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631088 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add support for USB_PD_TCPC_LOW_POWERSimon Glass2021-01-161-0/+19
| | | | | | | | | | | | | | | | Enable this option so that we can enable dual role properly. At present it doesn't work due to a check in tusb422. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: Icc1bc149df3d6659e5f88b68540d3462cbe6adf5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2631086 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* zephyr: Add the 'pd' commandSimon Glass2021-01-131-0/+20
| | | | | | | | | | | | | | | Add a Kconfig for this command so it can be brought into the build. Enable it by default, as with ECOS. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I616ef739fe5caa76fd864fd38f60a0b9f5c6ef33 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2617375 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Enable PPC interruptSimon Glass2021-01-131-0/+11
| | | | | | | | | | | | | | | The PPPC has a dedicated interrupt pin on volteer. Add this Kconfig option to it can be used on Zephyr. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 With a zephyr-chrome CL, build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I74d5013c1c59ddf43643de7139bde8668df4cdd9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2617371 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Enable the power-delivery taskSimon Glass2021-01-121-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | Enable the PD_C0-3 tasks so that the power-delivery logic can run. Drop the PLATFORM_EC_USB_PD_TCPMV2 Kconfig which does not actually exist. We always use TCPMV2 with Zephyr. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 build volteer on zephyr run and see lots of charge_requests and activity, none of it very useful: [658 Battery 26% (Display 24.2 %) / ??h:?? to full] [662 charge_request(13200mV, 2584mA)] [666 charge problem: set current, 0x0 -> 0xfffffffb after %.6llds] [673 charge problem: set voltage, 0x0 -> 0xfffffffb after %.6llds] [679 charge problem: set mode, 0x0 -> 0xfffffffb after %.6llds] [707 charge problem: chg params, 0x0 -> 0x1f after %.6llds] Signed-off-by: Simon Glass <sjg@chromium.org> Cq-Depend: chromium:2623427 Change-Id: Icde0f7f4205d85e02cffded351c54047fe220c9d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2617204
* zephyr: Add the TCPM mux KconfigsSimon Glass2021-01-121-0/+24
| | | | | | | | | | | | | | | Add support for this feature which is required by the PS8815 driver, among others. BUG=b:175434113 BRANCH=none TEST=make BOARD=volteer -j30 build volteer on zephyr Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I36ec8b3a9289cc85ef74792738450dc6a9687dc0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2617043 Reviewed-by: Keith Short <keithshort@chromium.org>