XO4 Bringup: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
 
(59 intermediate revisions by 8 users not shown)
Line 1: Line 1:
This page lists goals and plans for initial bringup of the [[XO 4 A1]] motherboard, the first prototype of the [[Hardware#XO_4_Laptop|XO-4 Laptop]].
This page listed goals and plans for initial bringup of the [[XO 4 A2]] motherboard, the first prototype of the [[Hardware#XO_4_Laptop|XO-4 Laptop]], and now lists ongoing work.


== Status ==
== Status ==
Line 7: Line 7:
{| border="1" align="center"
{| border="1" align="center"
|+ '''Bringup status'''
|+ '''Bringup status'''
! Subsystem !! OFW !! Linux !! Notes/Reference
! Subsystem !! OFW !! Linux !! Maintainer !! Notes/Reference
|- align="center"
|- align="center"
! CPU Boot
! CPU Boot
| X || X ||
| X || X || NA ||
|- align="center"
! Memory test
| X || X || cjb ||
|- align="center"
|- align="center"
! Serial port
! Serial port
| X || X ||
| X || X || NA || <trac>12045</trac> still open
|- align="center"
! Thermal sensor
| X || X || ||
|- align="center"
! Thermal watchdog
| || X || Paul/James || Kernel has support for 95 to 100 C shutdown, EC requires support to be added.
|- align="center"
|- align="center"
! Host/EC communications
! Host/EC communications
| X || || [[XO_1.75_HOST_to_EC_Protocol]]
| X || X || dilinger / pgf || [[XO_1.75_HOST_to_EC_Protocol]]
|- align="center"
|- align="center"
! Host/EC programming
! Host/EC programming
| X || NA ||
| X || NA || NA ||
|- align="center"
|- align="center"
! Keyboard
! PS/2 KB & Touchpad
| X || ||
| X || X || pgf ||
|- align="center"
! Touchpad
| X || X || pgf ||
|- align="center"
|- align="center"
! USB
! USB
| X || ||
| X || X || cjb ||
|- align="center"
|- align="center"
! SD (Int/Ext)
! SD (Int/Ext)
| X || X ||
| X || X || cjb ||
|- align="center"
|- align="center"
! eMMC
! eMMC
| X || X ||
| X || X || cjb ||
|- align="center"
|- align="center"
! DCON/Display
! DCON
| X || ||
| X || X || dilinger ||
|- align="center"
! Framebuffer display
| X || X || jnettlet ||
|- align="center"
! Xorg
| NA || || jnettlet ||
|- align="center"
|- align="center"
! Audio playback (Int/Ext)
! Audio playback (Int/Ext)
| X || ||
| X || || saadia ||
|- align="center"
|- align="center"
! Audio recording (Int/Ext)
! Audio recording (Int/Ext)
| || ||
| || || saadia ||
|- align="center"
|- align="center"
! SDIO WLAN
! SDIO WLAN - libertas
| X || X ||
| X || X || cjb ||
|- align="center"
! SDIO WLAN - mwifiex
| || X || shep ||
|- align="center"
|- align="center"
! Battery charging
! Battery charging
| X || ||
| X || NA || NA ||
|- align="center"
|- align="center"
! Touchscreen
! Touchscreen
| X || ? || James / pgf || unit-tested only in Linux
| || ||
|- align="center"
|- align="center"
! OFW SPI Flash Prog.
! OFW SPI Flash Prog.
| X || NA ||
| X || NA || NA ||
|- align="center"
|- align="center"
! Camera
! Camera
| X || X || dsd || Working. Some pending work remains (not of high importance), ask Daniel.
| X || ||
|- align="center"
! Xorg
| NA || ||
|- align="center"
|- align="center"
! SMP
! SMP
| NA || ||
| NA || || dilinger ||
|- align="center"
! Battery driver
| X || X || pgf ||
|- align="center"
! OLS
| X || X || pgf || als@ works in open firmware but the values are inconsistent.
|- align="center"
! Switches (ebook, lid)
| X || X || pgf ||
|- align="center"
! Storage LED
| NA || X || pgf ||
|- align="center"
! Internal RTC
| X || X || pgf ||
|- align="center"
! External RTC
| X || X || pgf ||
|- align="center"
! Accelerometer
| X || X || saadia ||
|- align="center"
! Suspend/resume
| X || || dilinger ||
|- align="center"
! Boot main core at fastest possible frequency
| X || || || <trac>12064</trac>
|- align="center"
! CPU frequency changing during runtime
| || || ||
|- align="center"
! Reboot/shutdown
| X || X || cjb ||
|- align="center"
! HDMI
| || || jnettlet ||
|}
|}


== Goals ==
== A2 Goals ==


The goal of a A-phase board bring-up is get a small number of boards to an acceptable state of functionality. At this point, a larger number of boards are [[XO4_A2_ECOs|modified]] to match and distributed for both extended testing of basic functionality (esp. memory stability) and development of software to access further functionality.
The goal of a A-phase board bring-up is get a small number of boards to an acceptable state of functionality. At this point, a larger number of boards are [[XO4_A2_ECOs|modified]] to match and distributed for both extended testing of basic functionality (esp. memory stability) and development of software to access further functionality.
Line 76: Line 130:
* Support for reprogramming the EC SPI Flash from CPU
* Support for reprogramming the EC SPI Flash from CPU


== Non-goals ==
== A2 Non-goals ==
''We can go home even if these aren't working''
''We can go home even if these aren't working''


Line 84: Line 138:
* Linux
* Linux


== Personnel ==
== A2 Personnel ==


* Wad (EE), Gary Chiang (EE), Richard (EC/OFW), Mitch (OFW), Paul (EC/Linux), from OLPC
* Wad (EE), Gary Chiang (EE), Richard (EC/OFW), Mitch (OFW), Paul (EC/Linux), from OLPC

Latest revision as of 17:29, 7 September 2012

This page listed goals and plans for initial bringup of the XO 4 A2 motherboard, the first prototype of the XO-4 Laptop, and now lists ongoing work.

Status

Note that a check in any one of the two columns is generally sufficient to prove that the hardware works.

Bringup status
Subsystem OFW Linux Maintainer Notes/Reference
CPU Boot X X NA
Memory test X X cjb
Serial port X X NA <trac>12045</trac> still open
Thermal sensor X X
Thermal watchdog X Paul/James Kernel has support for 95 to 100 C shutdown, EC requires support to be added.
Host/EC communications X X dilinger / pgf XO_1.75_HOST_to_EC_Protocol
Host/EC programming X NA NA
Keyboard X X pgf
Touchpad X X pgf
USB X X cjb
SD (Int/Ext) X X cjb
eMMC X X cjb
DCON X X dilinger
Framebuffer display X X jnettlet
Xorg NA jnettlet
Audio playback (Int/Ext) X saadia
Audio recording (Int/Ext) saadia
SDIO WLAN - libertas X X cjb
SDIO WLAN - mwifiex X shep
Battery charging X NA NA
Touchscreen X ? James / pgf unit-tested only in Linux
OFW SPI Flash Prog. X NA NA
Camera X X dsd Working. Some pending work remains (not of high importance), ask Daniel.
SMP NA dilinger
Battery driver X X pgf
OLS X X pgf als@ works in open firmware but the values are inconsistent.
Switches (ebook, lid) X X pgf
Storage LED NA X pgf
Internal RTC X X pgf
External RTC X X pgf
Accelerometer X X saadia
Suspend/resume X dilinger
Boot main core at fastest possible frequency X <trac>12064</trac>
CPU frequency changing during runtime
Reboot/shutdown X X cjb
HDMI jnettlet

A2 Goals

The goal of a A-phase board bring-up is get a small number of boards to an acceptable state of functionality. At this point, a larger number of boards are modified to match and distributed for both extended testing of basic functionality (esp. memory stability) and development of software to access further functionality.

The following are the goals of this bringup:

  • EC code booting and controlling the power sequencing properly
  • CPU booting OFW
  • Reliable memory and internal SD operation from OFW
  • Reliable use of USB ports from OFW
  • Support for the display and keyboard from OFW and Linux
  • Support for reprogramming the EC SPI Flash from CPU

A2 Non-goals

We can go home even if these aren't working

  • Proper operation of audio interface
  • Proper operation of the wireless LAN
  • Camera
  • Linux

A2 Personnel

  • Wad (EE), Gary Chiang (EE), Richard (EC/OFW), Mitch (OFW), Paul (EC/Linux), from OLPC
  • Mars (PM), Eddie (PM), Beckham Chen (EE), from Quanta R&D