summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* kodama: Support smart batterystabilize-12428.Bxiong.huang2019-08-166-17/+121
| | | | | | | | | | | | | | | | | Provide SMP and Celxpert smart battery initial files. BUG=b:136977971, b:138826367 BRANCH=master TEST=boot ec, verify that ec console prints 'found batt:SMP' or 'found batt:Celxpert'. Cq-Depend:chromium:1730377 Change-Id: I607fc41c51e8b27acddefda4dcd2ea02a7597a0f Signed-off-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1731211 Reviewed-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Paul Ma <magf@bitland.corp-partner.google.com> Tested-by: Paul Ma <magf@bitland.corp-partner.google.com>
* usb_pd: Get USB-C cable type informationAyushee2019-08-164-2/+19
| | | | | | | | | | | | | | | Added logic to share the USB-C cable type information in host command to configure the virtual mux of Intel SOC. BUG=b:129990370 BRANCH=None TEST=Verified on Intelrvp, able to get correct USB-C cable type information Change-Id: Iee7c274d318f59a482d21b8faa56610509fbdf8e Signed-off-by: Ayushee <ayushee.shah@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749560 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* usb_pd: Storing USB-C cable attributesAyushee2019-08-163-32/+371
| | | | | | | | | | | | | | | | | | | | | | Cable response VDO after a discovery Identity command with SOP' is being stored and also added a console command which print the information on the console according the cable revision. Since USB PD rev2.0, USB PD rev 3.0 for active cable and USB PD rev 3.0 for passive cable have different cable vdos, different decodings are added for each according to their respective specifications. BUG=b:129990370 BRANCH=none TEST=Verified on dragonegg, able to store the cable attributes. Change-Id: I59e60fe9c820d3d08138875092849345db603776 Signed-off-by: Ayushee <ayushee.shah@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1553898 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com>
* usb_pd: Adding USB-C cable detectionAyushee2019-08-166-15/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a discover identity command is sent with a SOP prime packet, the cable plug of an emark cable responds with the cable attribute. Added a structure pd_cable that stores the cable type and and resetting it when the cable is disconnected. Also added console command that gives the type of cable connected. Host(DFP) Cable Port-Partner(UFP) -------------------------EXPLICIT CONTRACT------------------------ Discover Identity SOP -----------------------------> request | <------------------------- Discover Identity response Discover Identity SOP' ---------> request | (If Emark Cable) <------------ Discover Identity SOP' | response Store cable type | (If Non-Emark Cable) <-------------- No response | Discover SVID SOP request ------------------------------------> (Rest of the PD flow) BUG=b:129990370 BRANCH=none TEST=Verified on dragonegg, able to get cable response Change-Id: I2536cf24d58f7ee5ff462b34fc32f69d7a200d41 Signed-off-by: Ayushee <ayushee.shah@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1707851 Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* strago: Disable console commands to save spaceVijay Hiremath2019-08-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Strago is running out of space for additional changes in the common code hence disabled CONFIG_CMD_ACCELSPOOF console command to save space. Before: section `.data' will not fit in region `FLASH' No room left in the flash region `FLASH' overflowed by 52 bytes After: 204 bytes in flash and 1836 bytes in RAM still available on strago RO 592 bytes in flash and 1836 bytes in RAM still available on strago RW BUG=none BRANCH=none TEST=make buildall -j Change-Id: I208f6929518136e462ba79b74ea147f11516d6f2 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1753693 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* hammer: Add magnemite boardNicolas Boichat2019-08-167-1/+36
| | | | | | | | | | | | | | | A close hammer derivative. BRANCH=none BUG=b:138968914 TEST=make BOARD=magnemite -j Flash into staff, see the board boot: util/flash_ec --board=magnemite --port=9000 Change-Id: Ibe5c3f4b0fb4a31d4667d5dc4d76a691b0e64e39 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1741599 Reviewed-by: Yilun Lin <yllin@chromium.org>
* acpi: Notify AP when setting DPTF profile numberPhilip Chen2019-08-161-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assuming a device without hall sensor is switched from clamshell mode all the way to 360-degree-flipped mode, the event sequence is like: (a) When the device hits 200-degree, it switches to tablet mode. (b) We notify AP to re-read DPTF profile from ACPI. (c) When the device hits 300-degree, it switches to 360-degree flipped mode and updates DPTF profile in EC space. Since the DPTF profile is switched in (c) while AP re-reads the DPTF profile in (b), AP wouldn't update DPTF profile for 360-degree-flipped mode. To fix this issue, let's notify AP when updating DPTF profile. BUG=b:139168228 BRANCH=none TEST=manually test on Nautilus/Hatch and confirm trip temperature is updated in flipped-360-degree mode Change-Id: I3bc61fb3d7808bf17f7da7ebc606307fbbf026fc Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1747166 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org>
* util: make flash_ec tolerant with dummy npcx_uut chipNamyoon Woo2019-08-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | flash_ec fails when npcx_uut chip in a bad status doesn't respond at all, especially upon ec_flash_size query. This patch subpress the exit on ec_flash_size query failure, because that information is not mandatory in flashing EC. BUG=none BRANCH=none TEST=manualy tested on kohaku. 1. programmed kohaku EC with a wrong binary. 2. checked kohaku EC in a bad status, and was not able to respond. 3. ran flash_ec and checked flash_ec finished EC FW program. e.g. flash_ec --board kohaku --image ${IMG} 4. read EC firmware back. e.g. flash_ec --board kohaku --read ${TMP_IMG} Change-Id: Ic853dd9f827217621cd598c799c68fbbf970078a Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1753009 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* tglrvp_ite: Add TGL-U/Y RVP base codeDaniel Gonzalez2019-08-1513-17/+514
| | | | | | | | | | | | | | | | | | | | | | Added TGL-U/Y RVP base code using ITE EC. Following features are enabled. 1. TCPC + retimer 2. Charger 3. Battery 4. Power sequencing 5. Host communication 6. LED 7. Keyboard BUG=b:138597987 BRANCH=none TEST=Both TGLRVP U&Y can boot to ChromeOS Change-Id: Idf6be38796c26b31be6e13485a63ec13487bf954 Signed-off-by: Daniel Gonzalez <daniel.d.gonzalez@intel.com> Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1726943 Reviewed-by: Keith Short <keithshort@chromium.org>
* test: Update TEST_EQ to using string format specifierYuval Peress2019-08-152-166/+166
| | | | | | | | | | | BRANCH=None BUG=None TEST=builds and all tests pass Change-Id: Idbb288d8f422b4c01fe27c989bdf1188df509a27 Signed-off-by: Yuval Peress <peress@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1752204 Reviewed-by: Jett Rink <jettrink@chromium.org>
* docs: Add fingerprint docs for partnersTom Hughes2019-08-1512-0/+440
| | | | | | | | | | | BRANCH=none BUG=none TEST=View in gitiles Change-Id: Ie1dc7ea93f3471dd10863e546b4a9dc001e7f3c1 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1742878 Reviewed-by: Nicolas Norvez <norvez@chromium.org>
* Fleex: add grabbiter EMR SKU ID(grob360s)Samsp_Liu2019-08-151-1/+2
| | | | | | | | | | | | | | | | | Add grabbiter EMR model with appropriate sku id value. BRANCH=octopus BUG=b:137628651 TEST=build and check can be recognize the sku id by ectools CBI and motionsensor can be worked. Change-Id: I1e2452db452e8ef0eaaf92d82b6f308dc045ea90 Signed-off-by: Samsp_Liu <Samsp_Liu@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1753567 Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Marco Chen <marcochen@chromium.org> Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Commit-Queue: Marco Chen <marcochen@chromium.org>
* kukui: enable CONFIG_CHARGER_MT6370_BC12_GPIOTing Shen2019-08-152-0/+6
| | | | | | | | | | | | | | | Apply the new option in CL:1575050 to Kukui devices with MT6370. TEST=Verify that krane is able to detect BC12 DCP. BUG=b:122866184 BRANCH=None Change-Id: I18f17af3672a364952779dcc2ee19b05b0459e20 Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1753566 Reviewed-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
* kodama: Redefine battery and power led behaviorxiong.huang2019-08-152-96/+105
| | | | | | | | | | | | | | | | Redefine battery and power led behavior instead of RGB tricolour led. BUG=b:136977971 BRANCH=master TEST=1)Reach battery and power led SPEC requirement. 2)Command "ectool led power/battery **" can control led in VT2. Cq-Depend:chromium:1730377 Change-Id: I10a4f3a62f46f961b1742e9b7890e943c090995c Signed-off-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1734952 Reviewed-by: Yilun Lin <yllin@chromium.org> Tested-by: Paul Ma <magf@bitland.corp-partner.google.com>
* Trembyle: enable external 32K crystal oscDenis Brockus2019-08-141-0/+3
| | | | | | | | | | | | BUG=b:138601174 BRANCH=none TEST=make buildall -j Change-Id: Ic2b285a0d1c1f4a43b62bee3db760fedae3bfe6f Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1752599 Commit-Queue: Edward Hill <ecgh@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* charge_manager: Mark functions overridableDaisuke Nojiri2019-08-146-20/+13
| | | | | | | | | | | | | | | | | | | Functions such as board_fill_source_power_info are overridable. This patch annotates them properly using override macros, and removes their declarations from board.h. These functions are declared in both charge_manager.h and {kukui,krane,kodama}/board.h. The latter causes comm-dev.c to fail to be compiled in chrome-base/diagnostics. BUG=none BRANCH=none TEST=buildall Change-Id: I27d6dfe2fa9299550ac5205c34095a4fe02dabdb Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1752597 Tested-by: Yu-Ping Wu <yupingso@chromium.org>
* kodama: remove DEVICE_TYPE_DOCKxiong.huang2019-08-143-37/+2
| | | | | | | | | | | | | | | | | Kodama removes BC1.2 in pogo port and only support dock keyboard. BUG=b:136977971 BRANCH=master TEST=1)Pogo detect pin level is changed with dock keyboard plugged in or out 2)Can get expected chars when type keys. Change-Id: Ib322f4aaa7174c3459d06633202e4c38ba6d6888 Signed-off-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1736410 Reviewed-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Lu Zhang <lu.zhang@bitland.corp-partner.google.com> Tested-by: Lu Zhang <lu.zhang@bitland.corp-partner.google.com>
* flash_ec: support "--read" and "--verify" flags for npcx_uutNamyoon Woo2019-08-141-23/+74
| | | | | | | | | | | | | | | | | | | | | | This patch enables flash_ec to read EC image from npcx_uut type chip, and to verify the flash programmed image. BUG=b:133265593 BRANCH=none TEST=manually ran flash_ec on fleex and careena. flash_ec --board flex --image ${IMG} --verify flash_ec --board flex --read ${TMP_IMG} flash_ec --board careena --image ${IMG} --verify flash_ec --board careena --read ${TMP_IMG} Cq-Depend: chromium:1748803 Change-Id: Ifaefa64b0efed6c875c99ede59a3a1e0dfe0bf7f Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749554 Reviewed-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Raul E Rangel <rrangel@chromium.org>
* Trembyle: Add chipset_handle_espi_reset_assert codeDenis Brockus2019-08-141-7/+19
| | | | | | | | | | | | | | | Added code for chipset_handle_espi_reset_assert. Fixed a couple #ifdef conditions using IS_ENABLED BUG=b:138600676 BRANCH=none TEST=make buildall -j Change-Id: I937ba3522d268b9151a4ed5134425e8b6a03796a Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1750801 Reviewed-by: Keith Short <keithshort@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* kodama: Add usb mux IT5205 driverxiong.huang2019-08-143-3/+8
| | | | | | | | | | | | | | | Add usb mux IT5205 driver which helps Type-C DP display normally. IT6505 and FUSB42 keep in one direction, IT5205 control flipping. BUG=b:136977971, b:138686359 BRANCH=master TEST=HDMI in dongle display normally with positive and negative insertion. Cq-Depend:chromium:1730377 Change-Id: Icb587480d0a49f4f3f16e5367da5682f6627f3da Signed-off-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1741595 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
* kodama: Remove unused chip driversxiong.huang2019-08-143-205/+13
| | | | | | | | | | | | | | | Kodama doesn't use tcs3400, bmm150 and pi3usb9201 chips. It needs remove ALS, RGB, MAG and BC1.2 drivers. BUG=b:136977971 BRANCH=master TEST=build and deploy on kodama, AP can boot. Change-Id: I43d97b4d1848fcd4513ec4de8202b9b889a08249 Signed-off-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1730377 Reviewed-by: Alexandru M Stan <amstan@chromium.org> Tested-by: Paul Ma <magf@bitland.corp-partner.google.com>
* ps8xxx: disable DCI modeCaveh Jalali2019-08-144-22/+110
| | | | | | | | | | | | | | | | | | | | DCI mode is auto-enabled by default. we don't actually support DCI (intel specific SoC debug path), so we can explicitly disable DCI mode. doing so, saves about 40mW on the 3.3v rail when USB2 devices or USB-C to USB-A dongles are left plugged in. this is particulary relevant in sleep mode as this accounts for a significant portion of the system power consumption. BUG=b:119875949 BRANCH=none TEST=verified power consumption drops using sweetberry, USB devices still functional across suspend/resume. Change-Id: Id13630425c78965d2ac4f2e97715374ae0640d23 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1732231 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Caveh Jalali <caveh@google.com>
* usb_mux: Send DP safe mode info to virtual MUXVijay Hiremath2019-08-144-2/+8
| | | | | | | | | | | | | | | | | Before entering into alternate mode, state of the USB-C MUX needs to be in safe mode so that the USB-C pins cab be re-purposed without getting damaged or do not damage their Port Partner. Hence, sending the DP safe mode info to virtual MUX from EC. BUG=b:139140865 BRANCH=none TEST=Manually tested on Intel RVP, MUX is able to configure to safe mode before entering alternate mode. Change-Id: I3715b5118112b7744407ac5e652f63f6d7cd0a1b Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1745540 Reviewed-by: Keith Short <keithshort@chromium.org>
* octopus: reduce USB-C source current to 1.5Alu.zhang2019-08-131-1/+0
| | | | | | | | | | | | | | | | octopus hardware does not support sourcing 3A over USB-C and 1.5A over USB-A at the same time for any daughter board. Reduce what we advertise to 1.5A. BRANCH=none BUG=b:139110010,b:139201733 TEST=connect a sink device with a pd analyzer to see if source capabilities is 5V/1.5A Change-Id: Idad7a11b28cefda1aabbca540864a6248d826a47 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1741597 Reviewed-by: Edward Hill <ecgh@chromium.org>
* ppc: initialize vbus current limit on initJett Rink2019-08-131-0/+9
| | | | | | | | | | | | | | | The nx20p348 should also set the initial current limit during its initialization. BRANCH=octopus BUG=b:139110010,b:139201733 TEST=with CL stack, phaser limits both ports to 1.5A Change-Id: I876b32434bd37bf410d546a3d27f0f7ba949d3ea Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749945 Commit-Queue: Edward Hill <ecgh@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* motion: bh1730: use 1K scale for d1_1k/d0_1kJongpil Jung2019-08-131-1/+3
| | | | | | | | | | | | | | | | | | | To use integer instead of float, we use d1_1k/d0_1k instead of d1/d0. But when we devide value, d1_1k/d0_1k is not 1k base. So, before we use value, we need to multiply value by 1K. BUG=b:130835790 BRANCH=none TEST=make -j BOARD=kohaku flash ec.bin on kokaku and read lux with ectool motionsense Change-Id: If4e6abae43b4d296007680452f0584366825ad1e Signed-off-by: Jongpil Jung <jongpil19.jung@samsung.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1739028 Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Philip Chen <philipchen@chromium.org> Commit-Queue: Philip Chen <philipchen@chromium.org>
* kohaku: Update tuned parameters to get lux from BH1733Jongpil Jung2019-08-131-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | Tune parameters for equation to get lux from register value. How to tune parameters. Place system into dark chamber. Place halogen/led lamp. We can change lux from lamp. Read data0 and data1 from two different devices. Then we will get two equation from test. Solve equation to get/calculate constant value as light source. Parameter can be changed as chassis. BUG=b:130835790 BRANCH=none TEST=make -j BOARD=kohaku flash ec on kokaku and then check lux with ectool motionsense Change-Id: I01950a62a2a449728c2d99aae7f7551b3b9d8bea Signed-off-by: Jongpil Jung <jongpil19.jung@samsung.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1739029 Tested-by: Philip Chen <philipchen@chromium.org> Commit-Queue: Philip Chen <philipchen@chromium.org> Reviewed-by: Philip Chen <philipchen@chromium.org>
* gsctool: print devid in image version outputMary Ruthven2019-08-131-0/+24
| | | | | | | | | | | | | | | If the image is node locked to a devid, print that information in the '-b' output. BUG=none BRANCH=none TEST=get version output of node locked and prod signed image. Change-Id: I0db2828d7bd699013ec84467c7e2a4b918bd7b27 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1742913 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* gsctool: add support for endorsement seed vcMary Ruthven2019-08-131-3/+85
| | | | | | | | | | | | | | | Add support for getting and setting the endorsement key using the vendor command. BUG=b:138943966 BRANCH=none TEST=Get/Set endorsement seed using vendor command. Change-Id: I5c2f5d9efa0fbc236731430cac650785693c8db8 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1740076 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* g: add vendor cmd to get/set the endorsement seedMary Ruthven2019-08-133-1/+66
| | | | | | | | | | | | | | | | We've had some eraseflashinfo issues that cause the endorsement key seed to get lost. Add a vendor command, so we can set the endorsement key seed if it's erased. BUG=b:138943966 BRANCH=none TEST=get/set endorsement key seed. Change-Id: Iee7d78e22f44786efd86b3ec68780a53e567705d Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1740075 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* gsctool: make options mutually exclusiveMary Ruthven2019-08-131-2/+3
| | | | | | | | | | | | | | | | Fix the mutually exclusive check, so using 2 raises an error. Also fix the error message to show -U instead of -u. Upstart isn't exclusive. CCD unlock is. BUG=none BRANCH=none TEST=gsctool -i -U raises an error. Change-Id: Iaf43f18fefc1a8c4b6612b05daa5c82a7680b310 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1742220 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* kohaku: add TEMP_SENSOR_3 and TEMP_SENSOR_4 to DPTFPaul Fagerburg2019-08-133-2/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Kohaku V24 schematic adds two additional temperature sensors to the EC. Add these to the DPTF tables. BRANCH=none BUG=b:138578073 TEST=Rebuild EC and BIOS, look for new thermal sensors in kernel. 1. Build EC ``cd ~/trunk/src/platform/ec`` ``make -j BOARD=kohaku`` 2. Program EC ``./util/flash_ec --board=kohaku`` 3. Reboot device 4. Rebuild BIOS ``cd ~/trunk/src/third_party/coreboot`` ``FEATURES="noclean" FW_NAME=kohaku emerge-hatch chromeos-ec depthcharge vboot_reference libpayload coreboot-private-files intel-cmlfsp coreboot-private-files-hatch coreboot chromeos-bootimage`` 5. Use flashrom to program the BIOS 6. Reboot device 7. Log into the root console (ctrl-alt-F2 or servo) 8. Example thermal sensor information ``grep . /sys/class/thermal/t*/type`` Look for "TSR0" through "TSR3" in the output. Change-Id: Ifb0cc83418e684cf6b2a66eb046267f07bf3e7f8 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1740186 Reviewed-by: Scott Collyer <scollyer@chromium.org>
* driver: lis2dw12: Add driver supportmario tesi2019-08-137-0/+789
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added ACC LIS2DW12 driver support. Features included in this driver are: - Basic Sensor Read acceleration data - ODR and FS runtime configuration - FIFO support with watermark interrupt events - Shared commons function with ST MEMs devices - Switch Low Power to High perf. mode in case of ODR > 200 Hz - Configure D-TAP event detection in Hardware BUG=b:73546254 BRANCH=master TEST=Tested on discovery_stmems target BOARD with LIS2DW12 connected to EC i2c master bus and motion sense task running. To build firmware for discovery_stmems target with LIS2DW12 sensor connected, simply uncomment CONFIG_ACCEL_LIS2DW12 define in board.h target file and make with target BOARD=discovery_stmems. Commands used to test LIS2DW12 device are: - accelinit 0 (to configure accel. device) All basic features tested, including changing in ODR: - accelrate 0 10000 (set ODR to 10 Hz) - accelrate 0 12500 (set ODR to 12.5 Hz) - accelrate 0 25000 (set ODR to 25 Hz) - accelrate 0 50000 (set ODR to 50 Hz) - accelrate 0 100000 (set ODR to 100 Hz) - accelrate 0 200000 (set ODR to 200 Hz) - accelrate 0 400000 (set ODR to 400 Hz) - accelrate 0 800000 (set ODR to 800 Hz) - accelrate 0 1600000 (set ODR to 1.6 kHz) Full Scale Range: - accelrange 0 2 (set Full Scale Range to 2g) - accelrange 0 4 (set Full Scale Range to 4g) - accelrange 0 8 (set Full Scale Range to 8g) - accelrange 0 16 (set Full Scale Range to 16g) FIFO features and interrupt management: - accelinfo on 1000 (motion info task with refresh rate 1 s) and polling data read: - accelread 0 (to read data from accelerometer) Change-Id: I0b9861a71e81052e7ee8eb235a1a5b2a57d4c6f5 Signed-off-by: mario tesi <mario.tesi@st.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/515302 Reviewed-by: Yuval Peress <peress@chromium.org> Reviewed-by: Paul Ma <magf@bitland.corp-partner.google.com> Tested-by: Paul Ma <magf@bitland.corp-partner.google.com> Commit-Queue: Tim Wawrzynczak <twawrzynczak@chromium.org>
* hatch: update for 30.9K resistor in thermistor dividerPaul Fagerburg2019-08-136-9/+9
| | | | | | | | | | | | | | | | | | | All hatch-family hardware uses a 30.9K resistor in the temperature sensor with the 47K thermistor. Update Hatch reference, Helios, and Kindred. BRANCH=none BUG=b:124316213 TEST=Rebuild EC for each board: ``cd ~/trunk/src/platform/ec`` ``make -j BOARD=hatch`` ``make -j BOARD=helios`` ``make -j BOARD=kindred`` Change-Id: I71cb0b8db79f64e4809a2ef66db6fb1f0607ed53 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749740 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
* cleanup: change initializer for storm_trackerJett Rink2019-08-131-1/+1
| | | | | | | | | | | | | | | The octopus firmware branch cannot build with the { 0 } format, but it can build with {}. Since they mean the same thing, use {} everywhere. BRANCH=octopus BUG=none TEST=build on ToT and octopus branch Change-Id: I621dd89c40b8c7297db72a3093631f9aba8dd9b6 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1749551 Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* Trembyle: Change port 1 PPC to NX20P3483Denis Brockus2019-08-132-5/+6
| | | | | | | | | | | | BUG=b:138599218 BRANCH=none TEST=make buildall -j Change-Id: If68259e289a2b3e052028ff0b2ffd59076eaf970 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1745569 Commit-Queue: Edward Hill <ecgh@chromium.org> Reviewed-by: Edward Hill <ecgh@chromium.org>
* dma: separate out DMA enable status from wait_for_bytesTom Hughes2019-08-137-28/+64
| | | | | | | | | | | | | | | | | | | | | | | When wait_for_bytes returns 0 when DMA is disabled, we can't differentiate between DMA being disabled and a transfer having completed when it has reached the end of the requested transfer. Separating out into separate functions lets us distinguish the two cases. The reason we didn't hit this in the past is that the requested receive size is generally larger than the actual amount we're sending. Since we know the amount that we're waiting for from the header, we would stop the transfer in software. BRANCH=none BUG=b:132444384 TEST=On DUTs with bloonchipper and dartmonkey: ectool --name=cros_fp testmaxtransfer TEST=make buildall -j Change-Id: I885161a3e04b7a12d597d8dc8691f599990bda8b Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1734010 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
* npcx: i2c: adjust i2c bus frequency when it is set to 100kHz.Mulin Chao2019-08-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When npcx i2c module's bus frequency is set to 100KHz, it operates in normal mode and its bus frequency, fSCL, follows the formula listed below: fSCL = fCLK / (4*SCLFRQ), ie. SCLFRQ = fCLK / (4*fSCL) where fCLK is the source clock frequency of i2c module and SCLFRQ defines the SCL output period in SMBCTL2/3 registers. But integer division in this formula is equal to the floor of regular division if it isn't divisible. So far, all i2c modules' source clock frequency is 15MHz and if the desired i2c bus frequency is 100KHz, the SCLFRQ will be: SCLFRQ = fCLK/(4*fSCL) = 15MHz/(4*100kHz) = floor(37.5) = 37 And the actual i2c frequency is: fSCL = fCLK/(4*SCLFRQ) = 15MHz/(4*37) = 101.35KHz That's why we observe the i2c frequency is slightly higher than 100kHz. To fix this issue, this CL replaces integer division with the ceiling value of the formula to make sure bus frequency is lower than 100KHz and meet i2c spec when it operates in normal mode. BRANCH=none BUG=b:138350407 TEST=No build errors for npcx series. Measure the actual i2c bus which is configured to 100KHz after applying this CL. The actual frequency is 98.7 KHz on npcx5/7 evbs. Change-Id: I71e2c3090bc91c7b9945c01c04c9ac5ac656c893 Signed-off-by: Mulin Chao <mlchao@nuvoton.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1741566 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Commit-Queue: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
* cbi-util: Remove OEM_ID from required fieldsPhilip Chen2019-08-121-6/+4
| | | | | | | | | | | | | BUG=b:138663009 BRANCH=none TEST=successfully create a cbi image w/o OEM_ID set Change-Id: Ic2b96f6d6f02a433de4f2ddc0777035369fd9c4a Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1734007 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org>
* Trembyle: Set GPIO pullup and voltageEdward Hill2019-08-121-12/+10
| | | | | | | | | | | | | Add GPIO_PULL_UP and GPIO_SEL_1P8V to GPIOs as needed. BUG=b:138615773 b:138617417 BRANCH=none TEST=make BOARD=trembyle Change-Id: I80401c1cee181acc2df7fb41a5f32ea8c3076a14 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1747006 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* kohaku: update for 30.9K resistor in thermistor dividerPaul Fagerburg2019-08-122-3/+3
| | | | | | | | | | | | | | The resistor divider on Kohaku for the temperature sensors has been changed to a 30.9K pull-up with the same 47K thermistor. BRANCH=none BUG=b:124316213 TEST=Rebuild EC and flash Change-Id: Ida61cc448ece42dbd026846b27fd861054e66189 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1745357 Reviewed-by: Scott Collyer <scollyer@chromium.org>
* thermistor: update Steinhart-Hart equationsPaul Fagerburg2019-08-123-1/+54
| | | | | | | | | | | | | | | Add support for 30.9K pull-up on resistor divider with the 47K thermistor. BRANCH=none BUG=b:124316213 TEST=Rebuild EC and flash Change-Id: I5bc72fa67549ab15c0e4e1b0291eb934990ee61b Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1742914 Reviewed-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* hatch: SLP_S3/S4 sideband signals guarded with wrong configKeith Short2019-08-129-9/+4
| | | | | | | | | | | | | | | | All the hatch platforms had a typo with the config option guarding the configuration of the SLP_S3_L and SLP_S4_L signals. Changed CONFIG_HOSTCMD_ESPI_VW_SIGNALS to CONFIG_HOSTCMD_ESPI_VW_SLP_SIGNALS. BUG=b:139198212 BRANCH=none TEST=make buildall -j Change-Id: I96c01fb8e1903585f3bc19a30b2f9c0596e9edad Signed-off-by: Keith Short <keithshort@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1745655 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
* kukui: Check IRQ and HPD in DPStatus message.Pi-Hsun Shih2019-08-121-1/+1
| | | | | | | | | | | | | | | | | | | Per the VESA DisplayPort Alt Mode on USB Type-C spec, IRQ_HPD indicates that a high to low followed by a low to high transition was detected. Therefore, we should be checking when IRQ is high and HPD is low is received as that is an error. This commit fixes that bug where were comparing our level to the GPU instead of what was shown in the PDO. This is basically applying CL:1422458 to kukui. BUG=b:138696135 BRANCH=none TEST=manually Change-Id: I53e6d96a54dc45910055a7d535bf89477ce87430 Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1743906 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* hammer: Add masterball boardNicolas Boichat2019-08-123-1/+14
| | | | | | | | | | | | | | | | A close hammer derivative. BRANCH=none BUG=b:138968914 TEST=make BOARD=masterball -j Flash into staff, see the board boot: util/flash_ec --board=masterball --port=9000 Change-Id: I9f8d897c23d0f53557c6d6789c33e5b776dca982 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1741589 Reviewed-by: Wei-Han Chen <stimim@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org>
* hammer: Refactor config options to support more variantsNicolas Boichat2019-08-125-69/+108
| | | | | | | | | | | | | | | | | board.h is already quite difficult to read, and will become worse as we add more and more derivatives, let's refactor most of the variations into variants.h. BRANCH=none BUG=b:138968914 TEST=make buildall -j, see that there is no size change before and after the change. Change-Id: Ideb381d8d04c65c3e76eb3ab9353e1ce5cdee954 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1746352 Reviewed-by: Wei-Han Chen <stimim@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org>
* cr50: use dedicated region for info1 accessesVadim Bendebury2019-08-106-115/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The INFO1 flash space is used for various purposes (endorsement key seed, Board ID and flags, serial number, etc.). Accessing these spaces in INFO1 is accompanied by managing the flash region registers, each time opening a window of the appropriate size, with appropriate permissions, etc, In fact none of these spaces contain a secret, to simplify things and preventing situations when concurrent accesses change the flash range window settings lets dedicate previously unused Region 7 register file to providing always open read access to INFO1. Write access will be enabled/disabled as required. In prod images write accesses will always happen from the vendor command context. In DBG images CLI commands will also have write access to INFO1. INFO1 window is accessed by other H1 based devices as well, this is why it is necessary to enable the window in the common chip code. BRANCH=cr50, cr50-mp BUG=b:138256149 TEST=the firmware_Cr50SetBoardId test now passes on Mistral. Cq-Depend: chrome-internal:1577866, chrome-internal:1581327 Change-Id: Id27348f3b04191f1b3b60fd838d06009f756baa2 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1730147 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* flash_ec: removing the bandaid fix on setting i2c_mux for npcx_uutNamyoon Woo2019-08-101-17/+1
| | | | | | | | | | | | | | | The issue in http://b/126189871 has been fixed thanks to pseudo_i2c driver. There is no need to retry 'dut-control dut_i2c_mux:ec_prog'. BUG=b:126189871 BRANCH=none TEST=ran flash_ec on Ampton twice in a raw using CCD, and servo_v4 as well. Change-Id: I72e2bf8eb48dff7a3c81545221ac71a44469c033 Signed-off-by: Namyoon Woo <namyoon@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1746974 Reviewed-by: Matthew Blecker <matthewb@chromium.org>
* usb: convert cc1 from int to enumJett Rink2019-08-0918-57/+73
| | | | | | | | | | | | | | Refactor code to use proper type for cc1 and cc2 lines. BRANCH=none BUG=none TEST=builds. No functional change. Change-Id: Id292db8480920e2b191bac9d9ecc2685f61e4ea9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1744654 Tested-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
* usb: fix issue with CC line interpretation as DTSJett Rink2019-08-091-8/+6
| | | | | | | | | | | | | | We need to pass both cc1 and cc2 into the get current limit function. BRANCH=none BUG=none TEST=unit test pass still Change-Id: I123fb315948ee042ad1ea05bb835e618f4ca31de Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1744653 Reviewed-by: Denis Brockus <dbrockus@chromium.org>