Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Kernel Sources)
(Kernel Sources)
Line 38: Line 38:
*Encore charger and battery [https://github.com/verygreen/ti-omap-encore-kernel/commit/02099fe0a95eed68752d2d3eba9b3412ec8d1893 drivers] (max17042).
*Encore charger and battery [https://github.com/verygreen/ti-omap-encore-kernel/commit/02099fe0a95eed68752d2d3eba9b3412ec8d1893 drivers] (max17042).
 +
I guess that support for this hardware is already in kernel, look at drivers/power/max17042_battery.c and drivers/power/max8903_charger.c
*Kionix KXTF9 tri-axis digital accelerometer [https://github.com/verygreen/ti-omap-encore-kernel/commit/e22a1a028cd517be46315bb953f0b262c426e4eb driver]
*Kionix KXTF9 tri-axis digital accelerometer [https://github.com/verygreen/ti-omap-encore-kernel/commit/e22a1a028cd517be46315bb953f0b262c426e4eb driver]
*Cypress (TTSP) I2C touchscreen [https://github.com/verygreen/ti-omap-encore-kernel/commit/27419caf66ed159548650e6fea6733744958e6ea driver]
*Cypress (TTSP) I2C touchscreen [https://github.com/verygreen/ti-omap-encore-kernel/commit/27419caf66ed159548650e6fea6733744958e6ea driver]

Revision as of 23:41, 26 July 2011

The Nook Color is an OMAP3621 based 7" tablet produced by Barnes and Noble as an lcd-based e-Reader. At the same time, it serves as quite a handy target for MeeGo due to the similar SoC.

Nook Color Official Site

NookDevs Nook Color Portal, good source of information

Novomok have beaten the community to the punch with MeeGo on the Nook Color!

Contents

Basic Nook Color Specs:

  • OMAP3621 SoC @ 800MHz
    • PowerVR SGX 530
    • Differs from the 3630 by having the camera support logic disabled
  • 512MB RAM
  • 8GB internal storage
  • microSDHC slot
  • 7" IPS panel
  • Power, Volume+, Volume-, and stylized "N" home button
  • Headphone jack

Hardware believed to be present, but not active

  • USB OTG support
  • Bluetooth (some parts may not be wired out)

Kernel Sources

B&N have posted the sources for their kernel, bootloader, and xloader, on their legal page, look for Attachments 1 and 2. Attachment 1 is the older 2.6.29 kernel, while Attachment 2 is the newer 2.6.32 kernel.

A project on Gitorious hosting these kernel sources (but not yet u-boot or xloader) is available: https://gitorious.org/meego-nook

Currently there is an official 2.6.32 kernel, along with a community attempted port to 2.6.35, as well as my port of those patches forward to 2.6.38, in an attempt to meet the MeeGo baseline of 2.6.37.

A patch by Oleg Drokin that adds board file, serial console, gpio keys, MMC/SDCard and USB (peripheral) support has been accepted upstream. So Nook Color support is now available in the linux-omap-2.6 git tree and will be eventually pushed to linux-2.6.

Oleg's patches are very bare minimal and a kernel drivers for most devices still need to be pushed upstream. These drivers are both in 2.6.32 Nook Color Android stock kernel provided with the B & N source code and Oleg's Android 2.6.35 kernel. If someone is interested in forward port a driver to linux-next, please put your name next to the driver you will be working on. Then others can focus in different drivers to avoid duplicated effort.

The drivers needed are:

  • Encore charger and battery drivers (max17042).

I guess that support for this hardware is already in kernel, look at drivers/power/max17042_battery.c and drivers/power/max8903_charger.c

  • Kionix KXTF9 tri-axis digital accelerometer driver
  • Cypress (TTSP) I2C touchscreen driver
  • Wifi driver

Status

At this point 2.6.38 with drivers and board support files ported forward compiles silently, but does not activate the screen thus giving no useful output. With 2.6.32 and 2.6.29 it is possible to boot up to the login prompt (Xorg must be disabled, or the device will not give any indication of having booted.)

Getting Started

The Nook Color has a particularly well done boot sequence, in that it will default to boot from the SD card slot if plugged into a PC and powered on with a bootable card inserted.

Creating a Bootable Card

The card I created is based off of one of the Clockwork Recovery images, in particular a 4GB image reworked to boot MeeGo from the SD Card.

The simplest format is as follows, created using parted:

Number Start End Size Type File system Flags

1      32.3kB  74.0MB  74.0MB  primary  fat16        boot, lba
2      74.4MB  331MB   257MB   primary  ext2
3      331MB   4428MB  4097MB  primary  ext2

Partition 1

  • mlo -- Not sure, haven't touched it
  • u-boot.bin -- u-Boot binary, rebuilt to present a new command line to the kernel on startup
  • uImage -- u-Boot prepared kernel image
  • uRamdisk -- Rebuilt image to disable the internal init

Partition 2

Empty, probably not necessary

Partition 3

MeeGo root filesystem

Building the Kernel

The Nook Devs instructions will suffice for building a proper uImage. I will post the source of my u-Boot shortly.

Debug

Tech docs @ NookDevs. There is apparently a way to get RS232 out over the USB port, if you disable USB and enable the output in u-Boot.

Source Code

If you happen to come across any source code, patches, or the like (that are open source) then please let me (wmarone) know so they can be consolidated in a repository on Gitorious. Passing binaries and source code around using mediafire or other download sites just isn't right.

Personal tools