EC 1.75 Firmware

From OLPC
Jump to navigation Jump to search

C1 Prototype

Ver: 0.3.00

  • Fully implement suspend power blinking
  • rename *_SLEEP_IND functions to *_VCXO_EN, and invert level
  • Rework SDI host (ACK state) handling
  • Enable touchpad by default for < 0x1B1
  • Introduce workaround for ljmp bug
  • Fully init the gpwu on every reboot

Download: 0.3.00

B1 Prototype

Ver: 0.2.04

Download: 0.2.04

  • Workaround for EC hang after EDI reset.
  • Add support for 0x1b4 boards
  • Use SLEEP_IND input to put the EC into stop mode when SoC suspends
  • Differentiate between manual and automatic enter_stop_mode() calls
  • Fix watchdog duration to compensate for interrupt at half the configured timeout.

for that.

  • Replace double-stop hack w/ EnE's fix for powering down A/D module
  • Add check against low-valued stack pointer bug
  • Do a more complete init/deinit of the ADC module
  • Disable PS/2 clock when not using PS/2
  • Renumber a few (unused) EC commands to fix conflicts with previous generations.
  • Fix keil environment stack bug
  • New Vin scaled and battery power min, max, reset commands
  • Remove dead code from MPPT dropping support for < 0x1b3 boards
  • Add UART RX to wakeup signals
  • Make other debug output integrate with MPPT debug output
  • makefile tweak
  • Enhanced MPPT (plimit_v2) via LV_SET.
  • Makefile update to reserve EC flags area
  • Add power limit to battery debug display
  • Remove usage of legacy TurnOffSystemPower
  • Drop SDI upstream packets if host is not ready
  • Fix compile breakage if the PS/2 code is removed
  • Format SDI debug output so its easier to read
  • Clear cmdresp queue when starting up SDI
  • Make power sequencing come up in TURN_OFF mode
  • Enable EC flags
  • Handle OLS# moving on > 1B2 board IDs
  • Add support board 1B3 and LV_SET on PWM 2
  • Fast resolve of external ACR changes on battery insert
  • modify calculation of EnE checksum to exclude new tag area
  • Fix board identification to allow full use of 64 different id values

Ver: 0.2.03

  • Several new monitor debugging commands
  • Support and enable power limit v2 circuitry
  • Fix charger functions to update last_charge_current
  • Re-Init battery debug timer on settings change
  • Make sure runin is disabled on startup
  • Disable battery LED output when we sleep
  • Prepare for PS/2 code removal
  • Add more power sequencing debug output
  • implement CMD_SET_DCON_POWER, to power the DCON down

Ver: 0.2.02

Ver: 0.2.01

Ver: 0.2.00

(seen in OFW svn 2350 no other data yet)

Ver: 0.1.04

Download: 0.1.04

  • Fix broken charging on A2 boards.

Ver: 0.1.03

Download: 0.1.03

  • Decrease the OLS sample rate to 500ms
  • Rework the OLS SMT test for OFW control
  • Make B phase boards no-op the KBD power GPIO.

(Also functions on A3).

(Incompatible with A2, causes excess charge voltage).

A3 Prototype

Ver: 0.1.02

Download: 0.1.02

  • OFW error: "rxavail = 4" fix
  • Fix building with io as macros turned off
  • Support reading the PWR_LMT_ON signal
  • Add SMT and ASSEMBLY testing modes to OLS
  • Add support for auto power up after reflash.
  • Report power button presses to the soc via an event
  • Make keyboard/touchpad debug output runtime controllable

Ver: 0.1.01

Download: 0.1.01

  • Keep OLS LED from blinking
  • Fix small error in keymaping for mechanical keyboard
  • Rename ALS to OLS per wad's request
  • update to latest development version naming scheme
  • notify the kernel when we artifically disable charging
  • implement a new upstream channel for command error reporting
  • implement support for battery status event reporting
  • implement SOC change event reporting
  • fix AC status change reporting
  • fix event reporting for abnormal battery conditions
  • Add keymapping.csv into reppository

Ver: 0.0.11

Download: 0.0.11

  • fix missing battery current in mA calculation
  • reduce nominal input power to about 18 watts
  • fix sporadic ISL communication errors
  • fix MAIN_PWR to VCORE enable timing
  • drop I1 from mppt debug print
  • add EC cmd to get the EC version hash
  • ambient light sensor support
  • fix CHG statement in LiFe debug print
  • fix missing battery LED state if MPPT stops charging
  • add serial EC boot message

Ver: 0.0.10 (never released)

  • fix GPWU register save/restore
  • don't clear the ADC interrupt flag
  • update ambient light sensor pins for A3
  • add A3 board id
  • new charger chip support
  • solar maximum power point tracking merge from XO-1.5

A2 Prototype

Ver: 0.0.9

Download: 0.0.9

  • reset keyboard module state when powering up the board
  • add quick blink when power button has been debounced
  • add ambient light sensor prototype code (requires custom hardware, or wait for A3)
  • implement CMD_POWER_CYCLE

Ver: 0.0.8

Download: 0.0.8

  • fix typo affecting initial state of EN_3_3V_SOC
  • disable power controls during stop mode (safe, since we know the board is off at this point), to reduce leakage
  • add git hash to version info
  • fix handling of uppercase hex digits in tohex(), and "make format"
  • disable more internal clocks, guided by new EnE docs
  • add CMD_RESET_EC and CMD_RESET_EC_SOFT protocol commands, for resetting the 8051 core, and the whole chip, respectively.
  • add 'r'eset command, and rearrange watchdog exercise commands.
  • use internal oscillator for watchdog, so it runs in stop mode, and add watchdog_reboot() routine.
  • fix bug in enable/disable_EN_SD[12] macros
  • turn off trim_tune() debug output, and enable stop mode.
  • turn off stop mode debug output
  • disable the spi host controller in powerdown state, to reduce leakage.
  • add commands for more watchdog control, for debug
  • reintroduce failsave recover loop at top of main.
  • configure the EDI CS input to wake us, so we can program the EC when in STOP mode.
  • make the AC input wakeup work, by switching to edge-triggered from toggle-triggered. toggle-triggered should have worked.
  • get rid of extra wakeup PF flag, by setting GPIO2D (TP167, used for the gpt3 timer output heartbeat) to output-only. also ifdef the stop-mode debug code. AC jack wakeups are still disabled.
  • Add delay prior to entering stop mode.
  • Make main_io3731 the default main.c via symlink
  • fix initial copyright

Ver: 0.0.7

  • Internal non-released test version.

Ver: 0.0.6

Download: 0.0.6

  • Fix touchpad

Ver: 0.0.5

Download: 0.0.5

  • Initial cut at adding stop mode. disabled by default for now.
  • fix the clearing of the power-off command flag
  • Shorten the cycle_led times.
  • add a bunch of debugging output for the trim registers
  • add io support for the RESTORE pin, and an sfr for the PCON register. also formatting.
  • Enable board ID reading
  • Wait for the flash trim read to complete before reading the data
  • Fix battery error LED state not set on battery error

Ver: 0.0.4

Download: 0.0.4

  • Enable battery charging
  • Implement api for poweroff add debug code for showing power states.

Ver: 0.0.2

Download: 0.0.2

  • Enable/Fix EC<->Host communication
  • Enable/Fix Keyboard stream.

Source