summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Show power number in 'ectool powerinfo' outputtoolchainBstabilize-spring-4100.53.Brelease-R28-4100.BVic Yang2013-06-041-0/+2
| | | | | | | | | | | | | | | This is just a simple V*I value so that we don't need to do the math all the time. BUG=None TEST=None BRANCH=None Change-Id: I6317720d196d4bc2392adefb540be14bc34b5978 Signed-off-by: Vic Yang <victoryang@chromium.org> Previous-Reviewed-on: https://gerrit.chromium.org/gerrit/55641 (cherry picked from commit 70ada0603c88d0fc2e074768f99abc6e3fcf0fe1) Reviewed-on: https://gerrit.chromium.org/gerrit/57559
* Pthread-based emulator for unit testingstabilize-4100.38.BVic Yang2013-05-0734-22/+964
| | | | | | | | | | | | | | This is the first version of pthread-based RTOS emulator. With this, we will be able to test high-level modules entirely on the host machine. BUG=chrome-os-partner:19325 TEST='make runtests' and see tests passing. BRANCH=None Change-Id: I1f5fcd76aa84bdb46c7d35c5e60ae5d92fd3a319 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49954 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Add test for keyboard MKBP protocolVic Yang2013-05-063-0/+265
| | | | | | | | | | | | | A test that check keyboard MKBP module using keyboard scanning module and host commands. BUG=chrome-os-partner:19236 TEST=Pass the test BRANCH=None Change-Id: Ic22a2c8f3069d8e72c1222882073d428b733bca3 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/50132
* spring: Fix S3 USB charging bugVic Yang2013-05-061-1/+1
| | | | | | | | | | | | | | | | The EC currently assumes the AP only provides USB power during S0, which is incorrect. This CL adds S3 so that it behaves when the device is suspended. BUG=chrome-os-partner:19190 TEST=Suspend and unplug power. Doesn't hear clicking sound. BRANCH=Spring Change-Id: Ice1421bda55b2fee408ba062ed3de7a697ccd0c8 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/50093 Reviewed-by: Todd Broch <tbroch@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Define slippy GPIOs, make power sequencing task do nothing.Bill Richardson2013-05-023-730/+123
| | | | | | | | | | | | | | | | | | | This specifies the Slippy GPIOs. Because the power controls are completely different from Link, we have to gut the power sequencing task to do nothing. For bringup and test, we'll just manually set and get the GPIOs until we know exactly what we need to do. This is where the fun starts... BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Built everything, Link still works. Change-Id: Ic1ce1d4085298f49dd98d99e81e04835eca5f11c Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/50004
* Slippy uses dumb USB ports, not smart ones.Bill Richardson2013-05-023-106/+69
| | | | | | | | | | | BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Change-Id: I87459c177b8ae41b68e7157f26843eaf5ed93c60 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49975 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Remove Link peripherals from Slippy boardBill Richardson2013-05-022-84/+31
| | | | | | | | | | | | | | | | | Temp sensors, I2C devices, ADC inputs, and keyboard GPIOs are all different. This removes the things we don't need, connecting some of the things we will. BUG=chrome-os-partner:18825 BRANCH=slippy TEST=none Doesn't break Link. Change-Id: Ifb9775d921f6e9952497bffa98d405353ed4df71 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49964 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Disable the charger task for Slippy bringupBill Richardson2013-05-022-8/+4
| | | | | | | | | | BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Change-Id: Idbcd297e3f77c02539dcb215bf8c60b1bcfb2d92 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49933
* Add some ifdefs to distinguish between Link and SlippyBill Richardson2013-05-026-6/+21
| | | | | | | | | | | | | | | I'll still need to decide what to do differently for Slippy, but for now let's just identify the places where there will likely be a difference. BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Link still works. Change-Id: I950f0e5356ccf9838f2140d853122235f884e34f Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49931
* Support power button on slippy, make it compile again.Bill Richardson2013-05-022-0/+3
| | | | | | | | | | BUG=chrome-os-partner:18825 BRANCH=slippy TEST=none Change-Id: If20ebaf8e718bc24d61a976026586445ccb6685e Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49914
* Fix I2C port configuration on pitRandall Spangler2013-05-022-16/+20
| | | | | | | | | | | | | | | | | | 1) Port needs to be open-drain. Missed this when porting from STM32F because open-drain and alternate function are set in the same register on STM32F and are different regs on STM32L. 2) Queue a stop condition if a transaction failed, so the clock goes back high. BUG=chrome-os-partner:18969 BRANCH=none TEST=i2cscan finds both the PMU at 0x90 and the battery at 0x16 Change-Id: I708b925e4e30da9d5864b74641b1cbe90c9313fe Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49898 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Split the USB port power control into smart and dumb versions.Bill Richardson2013-05-015-5/+208
| | | | | | | | | | | | | | | Also renaming to avoid confusion as to what's being charged. BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Build everything, Link still works. Change-Id: I4205a1210c7dfe57cfbbdd740970ef57e6a011b8 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49775 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Disable i2c for mccroskey. It's busted, but we don't care.Bill Richardson2013-05-011-1/+0
| | | | | | | | | | | | | BUG=none BRANCH=none TEST=manual make BOARD=mccroskey Change-Id: Ide8d84d262a658d5c7fd33dec73353bc6ec797da Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49771 Reviewed-by: David Hendricks <dhendrix@chromium.org>
* spring: Implement battery cut-off commandVic Yang2013-05-013-1/+23
| | | | | | | | | | | BUG=chrome-os-partner:18818 TEST='ectool batterycutoff' on Spring. BRANCH=spring Change-Id: Idf315562930744ae1e7425d6e15915b0477c2343 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49651 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Re-enable charging task on pitRandall Spangler2013-05-011-1/+1
| | | | | | | | | | | | | Now that I2C works, we can re-enable the charging task to debug battery charging. BUG=chrome-os-partner:18657 BRANCH=none TEST=in EC log, should see battery state messages Change-Id: I600d0152ba416c13420ce853b55206afba9f6cec Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49649
* Rename REINIT to IDLE0 in TPS65090 charge state machineVic Yang2013-05-013-26/+33
| | | | | | | | | | | | | | | | The state REINIT in TPS65090 charge state machine is more like IDLE0 state in charge_state.h. Rename it so that it's less confusing and easier to merge the two state machines in the future. Also move the state name definition to the header file. BUG=chrome-os-partner:18914 TEST=Boot Spring BRANCH=None Change-Id: I116438fedc46ff188dfb6a3964795715b5af4d1f Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49732 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Monitor video detachment with ADC watchdogVic Yang2013-04-301-41/+72
| | | | | | | | | | | | | | | | | | This eliminates a per-second hook and removes a duplicated ADC read per second. Also, TSU6721 is now reset after every detachment. This way, we don't suffer from TSU6721 dirty state (most commonly seen after OTG dongle detached.) BUG=chrome-os-partner:17928 TEST=1. Test plugging/unplugging video dongle. 2. Test Toad cable mode switching. 3. Test charging with 200K charger. BRANCH=spring Change-Id: Ic035b7332e07ca385d766c735ce39efd31e46034 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49578 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* stm32: Fix ADC watchdog bug and extend sample timeVic Yang2013-04-301-4/+6
| | | | | | | | | | | | | | | This fixes a bug in ADC watchdog that sample sequence is not set before enabling ADC watchdog. Also, current sample time isn't long enough for some weakly driven net. This extends ADC sample time to 13.5 cycles. BUG=chrome-os-partner:17928 TEST=Test with Toad cable and video dongle on Spring BRANCH=spring Change-Id: Iecdfd4aada4e974225a41144e213e92897f4797b Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49680 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Split x86_power.c into Ivybridge and Haswell variantsBill Richardson2013-04-306-9/+773
| | | | | | | | | | | | | | | | The voltage rails, inputs, and sequencing is completely different. Easiest to just handle it separately for each chipset. BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Built Link, still works. Change-Id: Ibf26ef47cdf2284b7bfb3a2e5ccfb6841aba5ac6 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49559 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Put a copy of test binaries under build/${BOARD}Vic Yang2013-04-301-1/+2
| | | | | | | | | | | | | | This puts a copy of test binaries at build/${BOARD}/test-*.bin. This way it is easier for us to get all test binaries. BUG=chrome-os-partner:19057 TEST='make tests' and check build/${BOARD}/test-*.bin BRANCH=None Change-Id: I8394cea6bee95f00fc01d725d2494ca5e222f47d Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49608 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Split STM32 i2c implementation for STM32F vs STM32LRandall Spangler2013-04-306-5/+409
| | | | | | | | | | | | | | | | | | | STM32L doesn't need the DMA-based workarounds needed by STM32F, since the STM32L I2C block isn't broken. DMA adds a lot of code overhead when transferring 2-3 bytes, and is implemented differently on STM32F vs STM32L so it doesn't even work on STM32L Add a simple polled I2C implementation for STM32L. This is not the final implementation, which will use interrupts, but for now it works, unlike the DMA-based version. BUG=chrome-os-partner:18969 BRANCH=none TEST=i2cscan on pit finds a device at 0x90 Change-Id: Ie2a6c9ac6f62b7fd3c35e313b4015e080d9f937a Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49555
* add option to de-activate EC console input when WP is onVincent Palatin2013-04-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | With a Toad cable, the user can access the EC serial console through the micro-B connector. We probably need to de-activate the input on the EC serial console when the Write-Protect is on, since we have fairly "powerful" commands on the EC command-line. Add a new CONFIG_CONSOLE_RESTRICTED_INPUT on platforms with externally accessible EC serial port. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=spring BUG=chrome-os-partner:18716 TEST=on Spring with CONFIG_CONSOLE_RESTRICTED_INPUT set, try with and without write-protect, use successfully the EC console in the former case, and see "Console is DISABLED" in the latter case. Change-Id: Ic9646d5468183f4d8f94b5e5e1d2a727941d7bbe Reviewed-on: https://gerrit.chromium.org/gerrit/49537 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org>
* Move i2cread and i2cwrite functions to i2c_commonRandall Spangler2013-04-3014-245/+309
| | | | | | | | | | | | | | | | | | | | Also moves the handy i2cscan command to i2c_common. The platform-dependent interface is now i2c_xfer(). Still more to do in follow-up CLs; for example, i2c_read_string() has platform-dependent implementation, and the i2c/i2cread console commands aren't common yet. BUG=chrome-os-partner:18969 BRANCH=none TEST=i2cscan on link, spring Change-Id: Ia53d57beaa157bece293a4262257e20b4107589e Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49492 Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Daniel Erat <derat@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org>
* Fix ADC test for LM4Vic Yang2013-04-304-6/+16
| | | | | | | | | | | | | | | LM4 doesn't have implementation of adc_read_all_channels(). Let's use adc_read_channel() in this case. BUG=chrome-os-partner:18598 TEST=Build stress test for link. See no error about adc_read_all_channels() undefined. BRANCH=None Change-Id: I5b13384468667cbd17b83faab9f9d3fdc48de91d Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49589 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Handle battery charged alarmstabilize-4068.0.BVic Yang2013-04-291-10/+14
| | | | | | | | | | | | | | | | When battery flags TERMINATE_CHARGE or OVER_CHARGED alarm, we should treat them as a signal of battery fully charged. BUG=chrome-os-partner:18914 TEST=On Spring: 1. Plug in adapter when battery if full, see green LED. 2. Plug in adapter when battery is not full, see yellow LED. BRANCH=spring Change-Id: Ica414a0e1667b8f30a0cc9a5d66dba1b119a59ba Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49456 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Add cscope.out to .gitignoreVic Yang2013-04-291-0/+1
| | | | | | | | | | | | | | | With this, git doesn't complain about uncommited change if one uses cscope. BUG=none TEST='git status' and see no uncommited change. BRANCH=none Change-Id: I30bb78e4d0a7541444ef1aced683335933a5aa73 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49457 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Clean up gaia_power debug messagesRandall Spangler2013-04-291-15/+14
| | | | | | | | | | | | | | | | Should use CPRINTF("[%T...\n]") so the messages are timestamped; this is really helpful to see when things are going wrong. No functional changes; just changing debug output. BUG=none BRANCH=none TEST=build pit and spring; see prettier debug output Change-Id: I9c658385b836a184a3ebb84856b844cbfc3224a7 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49551 Reviewed-by: Simon Glass <sjg@chromium.org>
* Don't enable charger interrupt if charger task is disabledRandall Spangler2013-04-292-9/+8
| | | | | | | | | | | | | | | This fixes pmu_init() failing on pit, where the charger task isn't enabled yet (and thus the charger interrupt is NULL - which can't be enabled). BUG=chrome-os-partner:18657 BRANCH=none TEST=build all platforms; on pit, check that pmu_init() no longer fails Change-Id: I191bbaeb4df10241e3508ccf7ef5ea83f42c5697 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49550 Reviewed-by: Simon Glass <sjg@chromium.org>
* Improved the BUILD_ASSERT macro to work outside of functions.Bill Richardson2013-04-297-25/+36
| | | | | | | | | | | | | | | | | | This will let us check the size of static array initializers. Also moved this macro definition and ARRAY_SIZE into a new "tricks.h" header, so that userspace utils can use it too. BUG=none BRANCH=none TEST=manual Built everything, tested on Link. Tried various assertions. Change-Id: I612891108ea37dbca3572e0f25ab54a7bc0ed860 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49417 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Fix charging state descriptionsRandall Spangler2013-04-291-0/+2
| | | | | | | | | | | | Two states were added, but the descriptions weren't. This caused a crash. BUG=chrome-os-partner:18914 TEST=boot spring with no battery, wait a few secs; shouldn't crash BRANCH=spring Change-Id: I10f9280232259a1f467ea3b02f3b1b61cee57471 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49391
* spring: Enable both VFET2 and VFET4 for videoVic Yang2013-04-292-0/+3
| | | | | | | | | | | | | | | We are moving video power from VFET2 to VFET4. To support old boards, we need to enable both of them. When new boards are in place, we can then drop VFET2. BUG=chrome-os-partner:18186 TEST=Build spring BRANCH=spring Change-Id: If0cbc1ac49affc1e3c7ec9650a661f80be826f97 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49431 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Make test-list a per-board parameterVic Yang2013-04-293-5/+19
| | | | | | | | | | | | | | Some tests are not applicable to all boards. This change makes test-list a per-board parameter so a test can be enabled/disabled for individual boards. Also disable all the tests that don't compile now. BUG=chrome-os-partner:18598 TEST=make tests for all boards BRANCH=None Change-Id: Id2d18e23856f5c64dbdc7c6ca5949f8ad61b5cc0 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49452
* Remove mock filesVic Yang2013-04-291-26/+0
| | | | | | | | | | | | | We are moving to a per-function mock mechanism, which is less likely to break when someone adds a function to a file with a mock. BUG=chrome-os-partner:18598 TEST=None BRANCH=None Change-Id: Ie625064730d2224accbaf1febbdc4750e793d047 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49451
* Fix kb_scan test when CONFIG_LID_SWITCH is not definedVic Yang2013-04-291-0/+6
| | | | | | | | | | | | If we don't have lid switch, don't test it. BUG=chrome-os-partner:18598 TEST=Build on mccroskey and see errors about GPIO_LID_OPEN go away. BRANCH=None Change-Id: I1084e1bfc2e6bd611dc393c1b2d501e786d2a0e3 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49450
* Fill in I2C test parametersVic Yang2013-04-291-2/+18
| | | | | | | | | | | | | This fills in test parameters for link, pit, snow, and daisy. Also fixes compilation error due to CONFIG_ADC not defined. BUG=chrome-os-partner:18598 TEST=Build test-stress. (Link failed due to unrelated issue.) BRANCH=None Change-Id: I8a5cfcf4acdae607c23dbe5cf3378945f91c7807 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49449
* Add 'clobber' target to Makefile to clean everything.Bill Richardson2013-04-261-0/+4
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=manual make BOARD=link make BOARD=snow make clobber Change-Id: I862ec0d0240e48828091259dee7e8aef62544d47 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49370 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Add 'TAGS' target to MakefileBill Richardson2013-04-261-0/+10
| | | | | | | | | | | | | | | | | This creates cscope.files and an emacs TAGS file for the specified BOARD. If you don't have etags installed, it just creates cscope.files. BUG=none BRANCH=none TEST=manual make BOARD=link tags ls Change-Id: I9b27ba42ac4e85822c5a5a6e8cb5b5148a3435c3 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49356 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Split pwm.c into pwm_fan.c and pwm_kblight.cBill Richardson2013-04-269-148/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sadly, the existence of fans may not always imply the existence of keyboard backlights. BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Use the Link EC console to make sure that both functions still behave. faninfo fanset 4400 faninfo fanset 9999 faninfo autofan faninfo fanduty 50 faninfo fanduty 100 faninfo autofan kblight 0 kblight 100 kblight 50 kbligth 100 Change-Id: I2e07cd46c21bce2d0d4162275a8ea6ae40135e96 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49355
* Rename i2c_commands.c to i2c_common.cRandall Spangler2013-04-262-1/+1
| | | | | | | | | | | | | | | It will soon have cross-platform code moved to it. This CL just does the renaming; no functional changes. BUG=chrome-os-partner:18969 BRANCH=none TEST=build spring,link Change-Id: I8cc475f9dd1422a0a9c586c93eb0d7aaf21a001d Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49359 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Allow disabling PMU charger task, and do so on pitRandall Spangler2013-04-267-2/+11
| | | | | | | | | | | | | | | | I2C communication doesn't work on pit yet, so the charger task is spewing errors to the console. This change allows the task to be disabled cleanly on pit, and has no effect on other platforms. BUG=chrome-os-partner:18657 BRANCH=none TEST=build all platforms and see that charger task is still compiled everywhere but pit Change-Id: I788e817d5630fb1a28694819f4ef9948a503a744 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49344 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Move PMU charger irq handler to charger moduleRandall Spangler2013-04-263-10/+15
| | | | | | | | | | | | | | | | No code changes; this is just moving the irq to the module which actually handles it. This makes it simpler to disable the charger task separately from the PMU module. BUG=chrome-os-partner:18343 BRANCH=none TEST=build pit, spring Change-Id: Ife44a17f69bf21aa000d162318a459cea6fdf661 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49334 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* Increase UART output buffer on STM32LRandall Spangler2013-04-261-0/+3
| | | | | | | | | | | | | STM32L has 16KB RAM, so can use a bigger output buffer. BUG=chrome-os-partner:18657 BRANCH=none TEST=boot pit, look at EC console output; shouldn't drop output Change-Id: I8a3c7ff2923fd815eff748a898dc873f5d86b46c Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49332 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Add pit support to flash_ecRandall Spangler2013-04-261-1/+1
| | | | | | | | | | | | | Pit flashes the same way daisy does. BUG=chrome-os-partner:18657 BRANCH=none TEST=./util/flash_ec --board=pit --ro --image=build/pit/ec.bin Change-Id: Id3db86b348963f66e7eb03c38a8efabe3379d21b Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49320 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* spring: Show yellow LED when not fully chargedVic Yang2013-04-261-0/+2
| | | | | | | | | | | | | | | | | This includes two situations: 1. When charge state machine is still trying to decide the next state. 2. When we are waiting for acceptable condition to start charging. For now, we show yellow for both. BUG=chrome-os-partner:18914 TEST=none BRANCH=spring Change-Id: I5dd97c735a1ecfee29d506452695014c85d2da0b Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49327 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Add new TPS65090 charge state REINIT and BAD_CONDVic Yang2013-04-262-20/+25
| | | | | | | | | | | | | | | | | | Currently INIT state can mean different things. This change introduces two new states to demultiplex INIT. Now, REINIT means charge state machine is deciding the next state. BAD_COND means it's waiting for acceptable charging condition. Note that the three states are doing the same thing so there is no functional change. BUG=chrome-os-partner:18914 TEST=none BRANCH=spring CQ-DEPEND=CL:49327 Change-Id: Ia783e76cf27e28103ef44fe7b8a43674dadccc54 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49326 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* stm32: do not enable interrupts on I2C1Vincent Palatin2013-04-261-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't have any interrupt handler for I2C1, so enabling of the I2C1 interrupts will just end up triggering a panic everytime the interrupt fires. By the way, I2C1 is used as master and all communications happen without using the I2C interrupt. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=spring BUG=chrome-os-partner:18499 TEST=On Spring, run EC flashing in a loop from the AP while true do flashrom --fast-verify -p internal:bus=lpc -w ec.bin flashrom --fast-verify -p internal:bus=lpc -w ec_autest_image.bin done and check that we always succeed and have no panic. Original-Change-Id: I6b071f309218410840707380d296bdf14b10e9f5 Reviewed-on: https://gerrit.chromium.org/gerrit/47749 Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> (cherry picked from commit 8b3262d644003b3c9727998dc8d4b0c749450aef) Change-Id: Ie2fc30e5661e7eade024e6893eaf16427f94cac2 Reviewed-on: https://gerrit.chromium.org/gerrit/49192 Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Vic Yang <victoryang@chromium.org>
* Split out power button code from switch.cRandall Spangler2013-04-2513-175/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The power button code is platform-independent. This change splits the code out of the LM4 switch.c module so that a subseqent change to STM32 platforms can start using it. BUG=chrome-os-partner:18945 BRANCH=none TEST=manual 1. Power+refresh+esc goes to recovery mode, 2. Press power button at recovery screen turns off. 3. With system off, power button turns system on. 4. Press power button for a second; screen locks. 5. Press power button while typing; blocks keystrokes while it's pressed. 6. Hold power button down for 8 sec; system forced to shutdown. 7. From EC console, with system on: hostevent clear hostevent -> event 0x04 is clear press power button hostevent -> event 0x04 is set 8. From EC console, with system off: powerbtn -> system turns on powerbtn 5000 -> system turns off, just like power button was held for 5 sec Change-Id: If2a9b02514a201e1d03c857d128e2ccab51a16ef Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49217 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Create board directory for Slippy.Bill Richardson2013-04-244-0/+444
| | | | | | | | | | | | | | | | | | This just copies the board/link stuff into board/slippy (with one formatting tweak to pass the presubmit check). It builds, but of course is useless. Customization will follow later. BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual cd src/platform/ec make BOARD=slippy Change-Id: I2ba62812d9199eec776f9da6732921c6281762ab Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49130 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Temporarily enable all FETs at chipset poweronRandall Spangler2013-04-241-0/+15
| | | | | | | | | | | | | | This will allow debugging until the I2C passthru command is supported, and should be removed once it is supported. BUG=chrome-os-partner:18778 BRANCH=pit TEST=build pit; can't test until we have boards Change-Id: I6285e76763a5f3bfd759161115d4905697b56e6c Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49096 Reviewed-by: Doug Anderson <dianders@chromium.org>
* Fix typo in power_led.cRandall Spangler2013-04-241-1/+1
| | | | | | | | | | | | | Should be BOARD_pit, not BOARD_PIT (Thanks, Doug!) BUG=none BRANCH=pit TEST=build pit Change-Id: I1d7ef9e2347f031aec8f94c7a2da87145aa83c4d Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49111 Reviewed-by: Doug Anderson <dianders@chromium.org>