summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* keep ADC reference voltage on between successive readsVincent Palatin2013-02-254-14/+27
| | | | | | | | | | | | | | | | | | | | | To decrease the amount of time needed for PMU ADC reads, add the option to keep the ADC reference voltage enable as its stabilization time is the longest pole. Also set the stabilization time to 10ms as the max defined in the datasheet. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:17997 TEST=on Spring, measure EC_CMD_POWER_INFO latency and see it going from 49ms to 18ms. Change-Id: I7ed20bcddab165250108eb9f768539b19fa251de Reviewed-on: https://gerrit.chromium.org/gerrit/44008 Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org>
* Allow TSU6721 auto mode under any conditionVic Yang2013-02-251-1/+1
| | | | | | | | | | | | | | Although TSU6721 cannot go manual mode under certain conditions, it is able to go auto mode no matter what. BUG=chrome-os-partner:14318 TEST=Manual on Spring. BRANCH=none Change-Id: Iba8b9bf815a4c0e5a3462e72c4afe85571845d33 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43864 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: a more aggressive current control approachVic Yang2013-02-251-3/+89
| | | | | | | | | | | | | | | | Currently we stop raising current input when a predefined limit is reached. To take advantage of high power charger, we now push the limit and detect over current shut off if any. This allows us to detect the actual current limit of the charger. BUG=chrome-os-partner:14319 TEST=Manual on Spring BRANCH=none Change-Id: I5aefd8c0ac02bd0ca9920e861a4fa62fc6e588e5 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43863 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: minimize the window that loses TSU6721 interruptVic Yang2013-02-253-2/+20
| | | | | | | | | | | | | | | Since TSU6721 processing is integrated into PMU task, an interrupt closely following previous one may be dropped. We should check interrupt status before yeilding control. BUG=chrome-os-partner:14319, chrome-os-partner:14318 TEST=Boot on Spring. Check TSU6721 functionality. BRANCH=none Change-Id: I7ce1c70a214bb4afc9456eb206203cc6c3fe2f33 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43862 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Change the I8042_CMD_ENABLE (0xf4) for keystroke (not for KBC).Louis Yung-Chieh Lo2013-02-231-5/+16
| | | | | | | | | | | | | | | | | | | | | | Old code treat following commands as the same: 1. I8042_CMD_ENABLE in include/i8042_protocol.h 2. I8042_ENA_KB (0xae) in include/i8042_protocol.h 3. bit 4 of command byte, see I8042_KBD_DIS in include/i8042_protocol.h New code changes 1 in keystroke_enabled variable. Signed-off-by: Yung-Chieh Lo <yjlou@chromium.org> BUG=chrome-os-partner:17005,chrome-os-partner:17810 BRANCH=link TEST=Tested vincent's script with following scenario: 1. not-workarounded kernel: PASS more than 2767, 2946, and 7300 loops. 2. workarounded kernel: PASS more than 5000 loops. Change-Id: I879a1b1f0186594e4b9dd7fc4320232ebab4a1e1 Reviewed-on: https://gerrit.chromium.org/gerrit/43006 Commit-Queue: Yung-Chieh Lo <yjlou@chromium.org> Reviewed-by: Yung-Chieh Lo <yjlou@chromium.org> Tested-by: Yung-Chieh Lo <yjlou@chromium.org>
* spring: Avoid picking up USB power from APVic Yang2013-02-221-6/+21
| | | | | | | | | | | | | | | When powered device is removed, VBUS is still powered by the AP. We should turn off power from AP and let it settle before we sense external VBUS input. BUG=chrome-os-partner:14319 TEST=Manual on Spring BRANCH=none Change-Id: Ie868a3df27e395c948ba8c6342e84764d182ce82 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43779 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Tweak current limit and voltage thresholdVic Yang2013-02-211-6/+6
| | | | | | | | | | | | | | Fine tune current limit and voltage threshold so that we don't hit current limit so easily. BUG=chrome-os-partner:14319 TEST=Manual on Spring BRANCH=None Change-Id: Ia9ccd13b9e7eac7cdee83d0f488a1a83c27318c0 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43716 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Handle AP VBUS powerVic Yang2013-02-212-2/+4
| | | | | | | | | | | | | | The VBUS power from AP is now incorrectly recognized as AC source. Let's gate this with device type and BOOST_EN. BUG=chrome-os-partner:14319 TEST=Manual BRANCH=None Change-Id: Id8127ab6f85fb25adfadb1c2bef4c753a58cdc4f Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43709 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Handle dead battery and booting with low power chargerVic Yang2013-02-203-1/+26
| | | | | | | | | | | | | | | | This tweaks initial PWM configuration so that: - When battery is dead, more current is allowed to sustain the system. - When EC boots with a low power charger, input current is throttled so as not to kill the charger. BUG=chrome-os-partner:14319 TEST=Manual BRANCH=none Change-Id: Ib52894b07fecdd533aecab312f40afa0b6df5676 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43600 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Add current limit loopVic Yang2013-02-202-4/+70
| | | | | | | | | | | | | | This monitors input voltage and adjust current limit accordingly to keep voltage in acceptable range. BUG=chrome-os-partner:17881 TEST=Manual on spring BRANCH=none Change-Id: Ie4b44844983f622ef7f648cf022c3c093597246c Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43511 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Add host command to read power infoVic Yang2013-02-197-4/+149
| | | | | | | | | | | | | | Getting voltage and current can be handy when verifying hardware design. Let's add host command to do this. BUG=chrome-os-partner:17880 TEST=Manual on Spring BRANCH=none Change-Id: I4d4f6a42a9d0f917292d092e132ccd9ce3367fd6 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43508 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* assert ENTERING_RW only if it existsDavid Hendricks2013-02-191-0/+2
| | | | | | | | | | | | | | | | | This adds an #ifdef to fix compilation for boards which do not have ENTERING_RW (such as McCroskey). BUG=none BRANCH=none TEST=Tested on McCroskey Signed-off-by: David Hendricks <dhendrix@chromium.org> Change-Id: Ic5577753edafd7fc249b8c23ab84e8c355a348e7 Reviewed-on: https://gerrit.chromium.org/gerrit/43413 Commit-Queue: David Hendricks <dhendrix@chromium.org> Reviewed-by: David Hendricks <dhendrix@chromium.org> Tested-by: David Hendricks <dhendrix@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Unify dut-control command.Todd Broch2013-02-131-3/+5
| | | | | | | | | | | | | | | | | | | | Previous CL included --port but I neglected one invocation. Better to just unify how dut-control is called with a global. BRANCH=none BUG=none TEST=manual, ./util/flash_ec --board spring - device connected to servod @ port 9999 is successfully flashed ./util/flash_ec --board spring --port 9902 - device connected to servod @ port 9902 is successfully flashed Change-Id: I9cf57d0ddd94cf825d3015f9768effffca94eaf2 Signed-off-by: Todd Broch <tbroch@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43222 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Allow flashing of EC binary from host with multiple servod invocations.Todd Broch2013-02-131-4/+7
| | | | | | | | | | | | | | | | | | | | Adds argument --port to provide ability to flash from host that has multiple servos running. BRANCH=none BUG=none TEST=manual, ./util/flash_ec --board spring - device connected to servod @ port 9999 is successfully flashed ./util/flash_ec --board spring --port 9902 - device connected to servod @ port 9902 is successfully flashed Signed-off-by: Todd Broch <tbroch@chromium.org> Change-Id: Iecc4b8df51236a1f21be5feca8bb87f5a1d03e97 Reviewed-on: https://gerrit.chromium.org/gerrit/43182 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: always enable the PP3300_WWAN railVincent Palatin2013-02-132-4/+5
| | | | | | | | | | | | | | | | | | | | The kernel driver to control the 3G modem LDO is not submitted yet. Let's hardcode it for now to enable RF testing and revert this patch later. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:17790 TEST=on Spring, boot and dump the TPS65090 configuration from the EC command line by using "pmu" command. See 0x1f in the register 0x11 for FET3. Change-Id: I29aa7d1d7fb819ff1881a756e9592e272e87ad0b Reviewed-on: https://gerrit.chromium.org/gerrit/43181 Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org>
* tps65090: update LDOs configurationVincent Palatin2013-02-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | Match the configuration on Snow : - set overcurrent timeout to 3200us (max) (to avoid triggering the protection on initial inrush current) - properly enable the auto-discharge feature (we need it when the LDOs are turned OFF) Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:17790 chrome-os-partner:17804 TEST=on Spring, boot and dump the TPS65090 configuration from the EC command line by using "pmu" command. See 0x1f in registers 0x0f and 0x14 for LCD and Backlight LDOs. Change-Id: I20b0cb11d7abb890e921816e75e8ed816ca4f2d4 Reviewed-on: https://gerrit.chromium.org/gerrit/43180 Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org>
* Add console command to fake battery state of chargetoolchain-3701.42.Bstabilize-3701.81.Bstabilize-3701.46.Bstabilize-3701.30.0bstabilize-3701.30.0release-R26-3701.BRandall Spangler2013-02-122-2/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new 'battfake' command is really handy for testing low-battery shutdown logic. BUG=chrome-os-partner:17124 BRANCH=link TEST=from EC console: reboot battfake -> using real battery level power on system -> lightbar should be blue battfake 5 lightbar turns red after a few seconds UI shows battery is very low (shows <5% due to different kernel math) 'ectool battery' from root shell shows present capacity ~5% of design capacity remove AC power battfake 4 UI shows low-battery screen and shuts down (may take a minute) battfake 50 power on system UI shows battery at 45-55% battfake 2 -> system shuts down immediately battfake -1 power on system UI shows actual battery level Change-Id: I3180e321241c0f586f3baad2150fb6a2b2d2e242 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43151 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Rename and document battery constantsRandall Spangler2013-02-123-32/+28
| | | | | | | | | | | | | | | | | | | | | In preparation for cleaning up low-battery logic. Make clear what comparison operator is used for each constant (<=, <, >=, >). Also remove hard-coded and unused display of design warning/low battery levels from ectool. Verified via code search that these are not used anywhere. Even if we later care about these levels, they should be battery-specific and not hard-coded as a platform-independent percentage of full capacity when ectool is compiled. BUG=chrome-os-partner:17124 BRANCH=link TEST=compile link; 'ectool battery' from root shell prints valid info Change-Id: I3650e27a08f4cc77067beb0685ee1488cc56d02f Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43119 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* link: If a required power rail drops, shut downRandall Spangler2013-02-121-4/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | This protects the system from ending up in a weird state if one of the rails fails to come up, or shuts down after coming up. BUG=chrome-os-partner:17774 BRANCH=link TEST=manual - Boot system - From EC console: gpioset enable_1_5v_ddr 0 - System shuts down; EC console prints "x86 power lost input" - Press power button; system turns back on - From EC console: gpioset enable_vs 0 - System shuts down; EC console prints "x86 power lost input" - Press power button; system turns back on - Suspend system - From EC console: gpioset enable_1_5v_ddr 0 - System shuts down; EC console prints "x86 power lost input" - Press power button; system turns back on Change-Id: I8ae1630deb4001716b8dfd89d7dec7300cddb5ae Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/43097 Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
* spring: Distinguish Apple Chargersstabilize-bluetooth-smartVic Yang2013-02-073-18/+61
| | | | | | | | | | | | | This uses D+/D- voltage to distinguish different Apple chargers. BUG=chrome-os-partner:14319 TEST=Manual on Spring BRANCH=none Change-Id: I50075d466f6e6b1adf613748cf433d7f43c04bfe Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42850 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* stm32: Lengthen ADC sample timeVic Yang2013-02-061-4/+4
| | | | | | | | | | | | | | Current sample time 1.75us seems too short and some nets with weaker driver don't convert correctly. Let's lengthen it to 8.75us. BUG=chrome-os-partner:14319 TEST=See correct voltage level. BRANCH=none Change-Id: Ib65a07474787504e5f72522167bafad8bb5730bc Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42845 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* stm32mon: add back flashing progressionVincent Palatin2013-02-061-8/+9
| | | | | | | | | | | | | | | | | | | As we no longer have the low-tech dots to show the progression of the on-going flashing, display a completion percentage to give the user a hint of the ETA. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=none TEST=./util/flash_ec --board=spring and see accurate progression percentage reported. Change-Id: I75ccbe3433acd6c94d03a08bf462ea4516e4ce02 Reviewed-on: https://gerrit.chromium.org/gerrit/42733 Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* spring: Tweak battery LED policyVic Yang2013-02-051-2/+4
| | | | | | | | | | | | | | | | When battery is nearly full, we sometimes see: - Battery asks for no current, but slowly discharge (5-7 mA) - Battery asks for current, but not charging. For these cases, we consider the battery full and show green LED. BUG=chrome-os-partner:17561 TEST=Manual BRANCH=none Change-Id: I2808d4c1a89d37000244fb308197cdef473ec5be Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42688 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Limit USB port currentVic Yang2013-02-051-2/+24
| | | | | | | | | | BUG=chrome-os-partner:14319 TEST=Attach different chargers and see corresponding PWM duty cycle set. BRANCH=none Change-Id: I10c6e28ddf5a959849a6f14d9ca3894be4f16e30 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42691
* Mask 'tags' in .gitignoreVic Yang2013-02-051-0/+1
| | | | | | | | | | | | | | If ctags is used, git complains about uncommitted 'tags'. Let's add it to .gitignore. BUG=None TEST='git status' and doesn't see git complain about 'tags'. BRANCH=none Change-Id: I6026e83b1537eb61439f22a0b09dccb07283c820 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42689 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* stm32: implement SMBUS-style read block/stringVincent Palatin2013-02-051-3/+19
| | | | | | | | | | | | | | | | | | | | | Add support in the I2C driver for SMBUS-style read block operations. As defined by the SMBUS standard, a "read block" returns at most 32 bytes of data plus the size of response as the first byte. It's used to read smart battery strings such as manufacturer or model. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:14314 TEST=On Spring, read the battery manufacturer and model from a kernel patched for the smart-battery passthrough. Change-Id: I069ce7f64414817e94516e913643d3847a29d176 Reviewed-on: https://gerrit.chromium.org/gerrit/42647 Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Control battery LEDVic Yang2013-02-055-17/+90
| | | | | | | | | | | | | | | | | This implements a basic battery LED policy: - Charged: green - Charging: yellow - Error: red - No charger: off BUG=chrome-os-partner:17561 TEST=Manual BRANCH=none Change-Id: I7fa8242efa4d0382d8ef0cafe80f01d44c390397 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42607 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Modify stm32mon to better suite autotest useVadim Bendebury2013-02-051-17/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces the following modifications: When used outside chroot on Goobuntu the serial interface fails to initialize if parity enable bit is set (for a reason not clearly understood). On top of that the tcsetattr() return value of zero is not a guarantee of success. To be sure that the settings came through one is supposed to read back the driver config and compare it with the desired config. To add insult to injury, gPrecise driver rejects attempts to enable parity. Parity setting is not essential in many cases, this is why we check the actual config and if the only missing setting is parity we print a warning message and continue. In case an operation fails, the exit value should reflect that (so that the autotest suite using the utility could report failure). Often when the programming attempt is undertaken soon after reset, this utility gets overwhelmed with the console output generated by the EC on resets. Consume the output before proceeding. Instead of printing a long set of dots (one per written/read block), print a spinning wheel instead. BRANCH=None BUG=chrome-os-partner:15610 TEST=manual . used the utility to program Snow EC both inside and outside chroot, it succeeded. Observed the failing attempt to set parity when running outside chroot. Observed spinning characters instead of stream of dots. Change-Id: Id25595d35a2a3ca578639cebd508f599e618787c Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42310 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Change PWM frequencyVic Yang2013-02-051-1/+1
| | | | | | | | | | | | | | Current frequency is too low. Change it to 10kHz. BUG=chrome-os-partner:17585 TEST=none BRANCH=none Change-Id: I0ba21bcb6fe52b62f53a621acd220a646dbb9974 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42620 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org>
* Tweak lp5562 driver interfaceVic Yang2013-02-052-7/+14
| | | | | | | | | | | | | | This makes it possible to define color constants so as to reduce code size when called. BUG=chrome-os-partner:17561 TEST=Build success. BRANCH=none Change-Id: I800b8d4b84749907b071febfea58d27fef7cc2b7 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42617 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* stm32mon: add ID for stm32f102r8stabilize-3658.0.0David Hendricks2013-01-301-0/+1
| | | | | | | | | | | | | | | | | | This adds a table entry for stm32f102r8. BRANCH=none BUG=none TEST=ran flash_ec successfully on an stm32f102r8 (see notes below) ChipID 0x410 : STM32F102R8 Bootloader v2.2, commands : 00 01 02 11 21 31 43 63 73 82 92 Flash erased. Writing 65536 bytes at 0x08000000 ... (many more dots) ...Done. Signed-off-by: David Hendricks <dhendrix@chromium.org> Change-Id: I1f4af0413a4df2c09a1043bdc78a429b79c28533 Reviewed-on: https://gerrit.chromium.org/gerrit/42270 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Add LP5562 driverVic Yang2013-01-214-0/+128
| | | | | | | | | | | BUG=chrome-os-partner:17341 TEST=Set LED color on Spring board BRANCH=none Change-Id: Ibae11a0cf8a724a38e96c5c49952799101bb5764 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/41693 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Add a pass-through for the smart batteryVincent Palatin2013-01-192-0/+112
| | | | | | | | | | | | | | | | | | | Allow to send commands to the smart battery using EC commands when the battery is connected to an I2C bus behind the EC. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:14314 TEST=on Spring, with a kernel including patch to use the pass-through for the sbs-battery driver, run "power-supply-info" and see the correct information. Change-Id: Ie10f1c95afe4a33cf0b55d5a0de7640d5971ebb3 Reviewed-on: https://gerrit.chromium.org/gerrit/41289 Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org>
* spring: remove hardcoded TPSchrome FET settingsVincent Palatin2013-01-181-2/+2
| | | | | | | | | | | | | | | | | Activate the pass-through for TPSchrome LDOs settings and remove hard-coded values used for bring-up. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:14314 TEST=on Spring, with an updated bootloader, see the screen is still coming up. Change-Id: I7fe67640e66939b1a19074b54d81d64459a34f4a Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/41296 Reviewed-by: Vic Yang <victoryang@chromium.org>
* temp_metrics: set GPU min frequency to 450Sameer Nanda2013-01-171-5/+1
| | | | | | | | | | | | | | | | Removed the check for modem device and now unconditionally setting the GPU min frequency to 450. BUG=chrome-os-partner:16439 TEST="cat /sys/kernel/debug/dri/0/i915_min_freq" and verify that it returns 450 for systems with and without modem device. BRANCH=none Change-Id: I34d176e65420834a85a02755bad11124432ac33f Signed-off-by: Sameer Nanda <snanda@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/41564 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
* Add 'unprotect' flag for flashing link ec.Dave Parker2013-01-172-4/+21
| | | | | | | | | | | | | | | BRANCH=link BUG=chromium-os:37967 TEST=Remove write protect, reflash without 'unprotect', flag and verify the write protect flag is stil enabled with flashrom -p internal:bus=lpc --wp-status. Power down, then reflash with the --unprotect flag. Now verify the write protect status flag is disabled. Change-Id: Ie05b5dc85dd31d29ab43a392fe948a52d547fff3 Signed-off-by: Dave Parker <dparker@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/41477 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Add a pass-through for TPSchrome LDOsVincent Palatin2013-01-162-0/+77
| | | | | | | | | | | | | | | | | Allow to send commands to switch on/off the TPSchrome LDOs by using EC commands when the TPSchrome chip is connected to an I2C bus behind the EC. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:14314 TEST=on Spring, with an updated bootloader, switch on screen FETs from U-Boot instead of hardcoding them in the EC board code. Change-Id: Ic6cebf04ba73a7c0ca2c54f532f8cf4c953ac0c1 Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/41288 Reviewed-by: Vic Yang <victoryang@chromium.org>
* spring: Add a host command for USB mux switchingVic Yang2013-01-083-0/+72
| | | | | | | | | | | | | | To make test and bring-up easier, adds a host command for USB mux switching. BUG=chrome-os-partner:17111 TEST=manual BRANCH=none Change-Id: I9da43fe934881ce24f326275ef312c4e6a474f11 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/40586 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Control BOOST_EN according to device typeVic Yang2013-01-081-0/+11
| | | | | | | | | | | | | BOOST_EN should be turned off when attached device needs power. BUG=chrome-os-partner:14319 TEST=Manual BRANCH=none Change-Id: Ic8d75bdad98eb33ab99792345ddfd90609a1ddbd Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/40200 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Configure ADC pinsVic Yang2013-01-081-4/+7
| | | | | | | | | | | | | | ADC pins should be configured as analog input pins. Also sets conversion factor to obtain voltage values in mV. BUG=chrome-os-partner:14319 TEST=Manual BRANCH=none Change-Id: I7e084052062c2b669f10da4309e99bf9e2954ded Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/40199 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Sense attached device typeVic Yang2013-01-086-1/+86
| | | | | | | | | | | | | | This adds USB port control to charger task. For now, it only senses attached device type and log it to console. BUG=chrome-os-partner:14319 TEST=Attach/detach charger and see console output. BRANCH=none Change-Id: I1218d520c292d9d398c868122ae3876d3fc889bc Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/40078 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* tps65090: Throttle PMU interrupt instead of charger taskVic Yang2012-12-283-12/+34
| | | | | | | | | | | | | | | | | | | | This is a prepartory work for integrating USB port control into PMU task. Currently TPS65090 charger task is throttled to only waken by event once per 500 ms. This in a way makes it hard to integrate other functionality into this task. This CL moves the throttling mechanism to interrupt handler so as to provide better control of when to throttle the interrupt event. BUG=chrome-os-partner:14319 TEST=Build success and boot on spring. BRANCH=none Change-Id: I72e63180442b379a379e1a87c10ef62395434872 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/40189 Reviewed-by: Rong Chang <rongchang@chromium.org>
* spring: Setting for USB voltage sense ADCVic Yang2012-12-222-3/+7
| | | | | | | | | | | | | This changes ID pin sensing to VBUS sensing. BUG=chrome-os-partner:14319 TEST=Build success. BRANCH=none Change-Id: I179f7ab891f83d5c50ec7766372ba8826b3cd231 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/40154 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* spring: Add interrupt and device type support for TSU6721Vic Yang2012-12-212-7/+88
| | | | | | | | | | | | | | | | This adds functions to control interrupt and get device type from TSU6721. Also expose initialization function so that we can initialize TSU6721 before we solve the initialization problem. BUG=chrome-os-partner:14318 TEST=Build success. BRANCH=none Change-Id: Ia50f1c93309360d35902a707090694e94a3f7a74 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/40077 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Add AP userspace scripts to tweak lightbar colorsBill Richardson2012-12-204-3/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | We have yet another tweak for the lightbar, but we don't want to update the EC. This CL adds an init script that runs on the AP at every boot and pokes the EC to modify the lightbar settings. We have to run it at every boot because the EC will hibernate after the AP has been off (not suspended) for an hour on battery power and will lose its settings. There's a corresponding CL for the ec-utils ebuild that installs the userspace scripts into the rootfs. BUG=chrome-os-partner:16827 BRANCH=link TEST=manual Build the image for Link, install, reboot. Run "ectool lightbar params". The output should match what's in /usr/share/ec/lightbar_params.txt Change-Id: If50ac2ef2432f7d60cdaf4c222b68dbdee80b2ec Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/39979 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
* link: remove VR settings on the flyVincent Palatin2012-12-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code to re-program the IR3570A core regulator on the fly is no longer needed as the parts should be pre-programmed correctly and it is slow. This will break the EVT and older boards which have bad pre-programmed settings. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=link BUG=chrome-os-partner:15596 TEST=on Link, run the power_Resume test and observe the firmware resume time has decreased. Original-Change-Id: Id4f56a68d874879bf2f50047c21fbfabea16c850 Reviewed-on: https://gerrit.chromium.org/gerrit/36417 Reviewed-by: Puneet Kumar <puneetster@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> (cherry picked from commit 5c59877ee1878b8de380b662601592c817a8b0a8) Change-Id: I40937c0379a1b94c24679ee5e3110c242849986a Reviewed-on: https://gerrit.chromium.org/gerrit/39912 Tested-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Commit-Ready: Randall Spangler <rspangler@chromium.org>
* spring: Add function to switch ILIM pin between GPIO and PWMVic Yang2012-12-183-13/+69
| | | | | | | | | | | | | To save power, we need the ability to switch ILIM pin back to GPIO when we are not using PWM. BUG=chrome-os-partner:14319 TEST=In console, test 'ilim on', 'ilim off', and 'ilim 50'. BRANCH=none Change-Id: Ib3e0400266ef94df25fca1c6e5f118eba37b3848 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/39835
* spring: Implement PWM control on ILIM_500Vic Yang2012-12-184-5/+102
| | | | | | | | | | | | | | This adds init code to configure PWM and a console command to adjust duty cycle. Also rename ILIM_1500 to BOOST_EN. BUG=chrome-os-partner:14319 TEST=Adjust PWM duty cycle and measure voltage. BRANCH=none Change-Id: I23856416da19ed523d46af39e6cbc3129ac25525 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/39587
* Tidy ACPI debug outputRandall Spangler2012-12-181-1/+9
| | | | | | | | | | | | | | | | | | | | The host does a lot of ACPI keyboard backlight writes, which were scrolling the debug console output. Change to using CR instead of LF, so it's not so distracting. (No code changes other than debug output) BUG=none BRANCH=none TEST=Move laptop through different ambient light settings and look at console output as keyboard backlight ramps up and down. The 'ACPI kblight' messages shouldn't cause piles of scrolling. Change-Id: Iafde57ffe6090830fa54d4920c48b198c36d8d85 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/39914 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* link: Workaround for errata 3.2Randall Spangler2012-12-171-2/+3
| | | | | | | | | | | | | | | Reads of HIBRTCC and HIBRTCCSS are not properly synchronized and may return incorrect data. We were re-checking HIBRTC, but not HIBRTCSS. BUG=chrome-os-partner:16864 BRANCH=link TEST=from ec console, do 'rtc' command repeatedly; printed values should be strictly increasing. Change-Id: I3e59dc840316ad36bb4851f03b66a3ae3df5cccd Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/39795 Reviewed-by: Bill Richardson <wfrichar@chromium.org>