summaryrefslogtreecommitdiff
path: root/zephyr/projects/herobrine/herobrine_npcx9/src
Commit message (Collapse)AuthorAgeFilesLines
* zephyr: herbrine: move ppc replacement to a new fileDawid Niedzwiecki2021-12-062-21/+35
| | | | | | | | | | | | | | | | Move replacement of alternate devices, ppc in this case, to a new separate file. This will allow handling different chips based on board versions, cbi fields, etc. in one place. BUG=b:202451919 TEST=zmake testall & Make sure PD works on Herobrine on both ports BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I27fd01ee74523a18083f77a92c1051058cf7c814 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3289206 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: ppc: use interrupt from driverDawid Niedzwiecki2021-11-111-5/+2
| | | | | | | | | | | | | | | Use a pointer to a interrupt routine from ppc driver instead of the hardcoded functions. BUG=b:194432779 TEST=zmake testall & Make sure PD works on Herobrine on both ports BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I31e07b50069644ab94ab56f9354893722430ab3e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3270682 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* zephyr: herobrine: Add SYV682xDawid Niedzwiecki2021-11-041-9/+2
| | | | | | | | | | | | | | | | | Add the SYV682x as an alternate ppc chip to Herobrine. It is used depending on a board version. The reference to the chip is done via a node label. BUG=b:194432779 TEST=zmake testall & Make sure PD works on Herobrine BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I8349f23a3ae5fa3737cc9874c90e24a84cc1a43e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3253361 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: Add ppc for herobrine_npcx9 to device treeSam Hurst2021-10-221-15/+0
| | | | | | | | | | | | | | | | | | This patch removes custom ppc logic and uses device tree implementation instead. BRANCH=main BUG=b:194432779 TEST=Verified that the DUT charges from Port0 and Port1 C0: Req [3] 15000mV 3000mA C1: Req [3] 15000mV 3000mA Signed-off-by: Sam Hurst <shurst@google.org> Change-Id: Ic67265ddb99494559191cc322be72628b31ffdab Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3208914 Commit-Queue: Sam Hurst <shurst@google.com> Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: Add bc1.2 for herobrine_npcx9 to device treeSam Hurst2021-10-221-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes custom bc1.2 logic and uses device tree implementation instead. BRANCH=main BUG=b:194432779 TEST=HOST MODE: Plug non-pd device into TypeC port and verified that the device received power and the following was printed to the EC console: pi3usb9201[p0]: CDP_HOST mode] CLIENT MODE: Plug an non-pd TypeC charger into the DUT and verified that the device was charging with the "chgsup" command. The EC console displayed the following: port=0, type=1, cur=3000mA, vtg=5000mV, lsm=1 And the following debug output was displayed: pi3usb9201[p0]: sts = 0x80, lim = 1500 mA, supplier = 3] Using Suzy-Q, EC console displayed the follow: pi3usb9201[p0]: sts = 0x40, lim = 500 mA, supplier = 5] and "chgsup" port=0, type=2, cur=1500mA, vtg=5000mV, lsm=1 Same results on Port 1 Signed-off-by: Sam Hurst <shurst@google.org> Change-Id: I6af7bac241883fa29f517d22e3866de4e8d58acb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3202997 Commit-Queue: Sam Hurst <shurst@google.com> Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com>
* zephyr: herobrine: Runtime configure the PPC driver for rev-1Wai-Hong Tam2021-10-071-2/+40
| | | | | | | | | | | | | | | | | | Add the run-time driver configuration. For the port-0, if the board version is 1 or larger, swap the driver to Silergy SYV682C. The port-1 is unchanged. BRANCH=None BUG=b:201458939 TEST=Built the Zephyr image. Tested on rev-0, the PPC drivers are unchanged and worked. Change-Id: I6570f0ac20f675b4a22deed018d850c7bb41d127 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3204193 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* USB MUX: Update mux HPD update interface to use mux_state_tDiana Z2021-09-162-3/+8
| | | | | | | | | | | | | | | | | Since the drivers are now taking a mux_state_t set of flags to update, go ahead and unify the usb_mux API this way as well. It makes the parameters more apparent than the 1/0 inputs, and aligns the stack to use the same parameters. BRANCH=None BUG=b:172222942 TEST=make -j buildall Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ie943dbdf03818d8497c0e328adf2b9794585d96e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3095438 Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* zephyr: define herobrine's batteries in device treeMichał Barnaś2021-09-031-68/+0
| | | | | | | | | | | | | | | | | This commit adds herobrine's batteries definitions to device tree and removes old battery.c usage in Zephyr. BRANCH=main BUG=b:183544739 TEST=Compile and flash Zephyr, battery should be detected correctly and its model should be logged in EC console. Change-Id: I1783715b72863fb947077f8dbde396071433bb44 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3107388 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org> Tested-by: Keith Short <keithshort@chromium.org>
* TCPM: Rename enum tcpm_sop_type and its constantsAbe Levkoy2021-08-311-1/+1
| | | | | | | | | | | | | | | As a followup to CL:3104290, give the TCPCI TRANSMIT and RX_BUF_FRAME_TYPE types more consistent names. Most of them can be used for receiving, not just transmitting. Fix lint errors thus revealed. BUG=b:155476419 TEST=make buildall BRANCH=none Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I399ec479eacc18622fc4d3f55f8bdabf4560fcff Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3125995 Reviewed-by: Keith Short <keithshort@chromium.org>
* zephyr: Add switchcap for herobrine_npcx9 to device treeMichał Barnaś2021-08-161-22/+0
| | | | | | | | | | | | | | | This patch removes custom switchcap logic and uses device tree implementation instead. BRANCH=main BUG=b:194211207 TEST=Compile and flash Zephyr's EC for herobrine_npcx9 Powering on and off should work correctly Change-Id: Ice51e097c2126e78c6dbfb933a10724cf0374f67 Signed-off-by: Michał Barnaś <mb@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3089119 Reviewed-by: Keith Short <keithshort@chromium.org>
* lid_angle: Create a common callback for lid angle changesWai-Hong Tam2021-08-051-29/+0
| | | | | | | | | | | | | | | | | | | | | | Each board defines its own callback lid_angle_peripheral_enable(). The implementation is very similar. Create a common implementation and reduce the duplicated code. This CL removes the board callbacks which are identifical to the common callback. If it is slightly different, keep it and add the __override tag. The check of TEST_BUILD is unnecessary as the board callback is not linked in the test build. BRANCH=None BUG=b:194922043 TEST=Build all the images. Change-Id: I73d381730f35b80eff69399cdfc5fb54f839aee0 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3069175 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* zephyr: herobrine: Unlink the board/baseboard C files in EC-OSWai-Hong Tam2021-07-235-0/+875
| | | | | | | | | | | | | | | Duplicate the baseboard-specific and board-specific C files to the Zephyr project src directory. So the Zephyr image can be built standalone and not depend on any EC-OS code. BRANCH=None BUG=b:193573005 TEST=Built the herobrine_npcx9 image successfully. Change-Id: I7940deccb0fe98f7c8e72ae21c4d170bcd96377f Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3046512 Reviewed-by: Yuval Peress <peress@chromium.org>
* zephyr: herobrine_npcx9: Initial image which uses NPCX9Wai-Hong Tam2021-07-202-0/+46
This CL copies the Zephyr board/trogdor to board/herobrine_npcx9. Modify the chip config to npcx9m3f and some related configs (simply rename) and dts (update the UART property). The board/herobrine_npcx9 and other NPCX9 boards, like board/brya will be merged to a single board. But the merge needs more work to remove the not-common configs and dts to the project directories. Leave it as a future work. This CL also copies the project trogdor/herobrine_npcx7 to herobrine/herobrine_npcx9. Remove the dead files power.c and hibernate.c, in the EC-OS directory. Remove the Zephyr 2.5 support and board.cmake (needed only for 2.5). BRANCH=None BUG=b:192253134 TEST=Built the herobrine_npcx9 image successfully. Change-Id: I9641768ee978920f6a8677f13ae14e0a26ad35f4 Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2993220 Reviewed-by: Yuval Peress <peress@chromium.org>