Difference between revisions of "Novena Main Page"

From Studio Kousagi Wiki
Jump to: navigation, search
(Firmware)
(Firmware)
Line 97: Line 97:
  
 
=Firmware=
 
=Firmware=
==Debian==
+
==Bootloader==
 +
u-boot is the current factory-default bootloader. Please see [[U-boot PVT Notes]].
 +
 
 +
==Linux OS==
 
Debian is the factory-default distribution, but of course anyone can put their favorite distro on the system.
 
Debian is the factory-default distribution, but of course anyone can put their favorite distro on the system.
  
Line 106: Line 109:
 
*[[Novena/DebianBuildProcess]]
 
*[[Novena/DebianBuildProcess]]
  
==Dual Core==
+
==Dual Core Variant==
 
Novena's base design works with the i.MX6DL. However, it does require some firmware changes. Notably, the bootloader is significantly different because there is much less SRAM to run from for setting things up. Also, the pinmuxes are different, so that issue has to be addressed in the device tree. See [[Novena/Dual Core]] for notes on this configuration.
 
Novena's base design works with the i.MX6DL. However, it does require some firmware changes. Notably, the bootloader is significantly different because there is much less SRAM to run from for setting things up. Also, the pinmuxes are different, so that issue has to be addressed in the device tree. See [[Novena/Dual Core]] for notes on this configuration.
  

Revision as of 17:31, 27 March 2014

Novena is an open hardware and F/OSS computing platform.

Real-time updates and announcements can be tracked by following @novenakosagi on twitter.

Alpha evaluators: Please visit Using Novena PVT1 for more info.

Hardware

novena_pvt1e_top_thumb.jpg
More photos: Novena PVT Hardware Photos

Mainboard

Features:

  • Freescale iMX6 CPU — same footprint can support dual-lite and quad versions:
    • Quad-core Cortex A9 CPU with NEON FPU @ 1.2 GHz
    • Vivante GC2000 OpenGL ES2.0 GPU, 200Mtri/s, 1Gpix/s (*)
    • NDA-free datasheet and programming manual
  • Internal memory:
    • Boot from microSD firmware
    • 64-bit, DDR3-1066 SO-DIMM, upgradable to 4GB
    • SATA-II (3Gbps)
  • Internal ports & sensors:
    • mini PCI-express slot (for wifi, bluetooth, mobile data, etc.)
    • UIM slot for mPCIx mobile data cards
    • Dual-channel LVDS LCD connector with USB2.0 side-channel for a display-side camera
    • Resistive touchscreen controller (note: captouch displays typically come with an embedded controller)
    • 1.1W, 8-ohm internal speaker connectors
    • 2x USB2.0 internal connectors for keyboard and mouse/trackpad
    • Digital microphone (optional, not populated by default)
    • 3-axis accelerometer
    • 3x internal UART ports
  • External ports:
    • HDMI
    • SD card reader
    • headphone + mic port (compatible with most mobile phone headsets, supports sensing in-line cable buttons)
    • 2x USB 2.0 ports, supporting high-current (1.5A) device charging
    • 1Gbit ethernet
  • Fun features:
    • 100 Mbit ethernet — dual Ethernet capability allows laptop to be used as an in-line packet filter or router
    • USB OTG — enables laptop to spoof/fuzz ethernet, serial, etc. over USB via gadget interface to other USB hosts
    • Utility serial EEPROM — for storing crash logs and other bits of handy data
    • Spartan-6 CSG324-packaged FPGA — has several interfaces to the CPU, including a 2Gbit/s (peak) RAM-like bus — for your bitcoin mining needs. Or whatever else you might want to toss in an FPGA.
    • High-speed I/O expansion header

Items marked with an asterisk (*) require a closed-source firmware blob, but the system is functional and bootable without the blob.

Keep an eye on bunnie's blog for updates and notes. You can also discuss at the forum.

Battery board

senoko_dvt1_thumb.jpg
More photos: Novena PVT Hardware Photos

Battery management functions are implemented in an optional daughtercard.

Features:

  • SATA-style connector to route power and control signals to the main board
  • Works with battery packs used by most RC enthusiasts
    • 2S1P to 4S1P
    • Cheap and easy to buy
    • User can "pick their capacity" -- the battery life isn't fixed by design, it's up to the user
  • Classic Molex disk connector for battery connector
    • Requires adapter cable to the RC battery pack
  • Fast-charge capability
    • Rates in excess of 4A
    • Charge a 45Wh 3S1P pack in ~1 hour
  • STM32 controller
    • Runs ChibiOS
    • Enables autonomous operation when CPU board is powered off
    • Reprogrammable by host CPU, but requires a physical button press to enable programming so as to prevent surreptitious malware insertion
    • Has DAC output to drive an analog panel meter

eDP Adapter

edp_evt2_thumb.jpg
More photos: Novena PVT Hardware Photos

Novena natively supports a dual-channel LVDS interface for LCDs. However, today's LCD panels are migrating to an eDP-style interface. To bridge this gap, there is the eDP adapter board.

Features:

  • IT6251 chipset
  • DisplayPort 1.1a Tx supporting HBR (2.7Gbps) and RBR (1.62 Gbps)
  • Input pixel rate up to 165MHz
  • 24-bit color
  • Breakouts for touchscreen and USB
  • On-board switching regulators for low power operation

In addition, there is a custom flex cable that goes between the Novena mainboard and the eDP adapter.

Hardware Design Source

Please see Novena PVT Design Source.

Firmware

Bootloader

u-boot is the current factory-default bootloader. Please see U-boot PVT Notes.

Linux OS

Debian is the factory-default distribution, but of course anyone can put their favorite distro on the system.

For a step-by-step guide on how to build and initialize a bootable debian image, please see Debian Init Update (PVT).

For more in-depth discussions on Debian and other notes, please refer to these pages:

Dual Core Variant

Novena's base design works with the i.MX6DL. However, it does require some firmware changes. Notably, the bootloader is significantly different because there is much less SRAM to run from for setting things up. Also, the pinmuxes are different, so that issue has to be addressed in the device tree. See Novena/Dual Core for notes on this configuration.

Legacy

For those who want to cross-compile an OE-based image, please see building novena firmware

Software

Once you get Novena running, there are a few tweaks that you might have to make to the software to get it to run. Not all software likes running on Linux on anything other than x86/x64. Others just require software fixes to work around kernel bugs that we haven't fixed yet.

Enigmail

Enigmail (and possibly some other Thudnerbird extensions) explicitly only works for x86 and x64, Linux, Windows, and Darwin. You need to modify install.rdf. If you're using Debian, it's called Icedove.

  • Install the extension, either from Thunderbird itself, or through "apt-get install enigmail"
  • Edit either ~/.thunderbird/*.default/extensions/{GUID}/install.rdf OR /usr/lib/xul-ext/enigmail/install.rdf
  • Find the lines that contain <em:targetPlatform> (e.g. <em:targetPlatform>Darwin_x86_64-gcc3</em:targetPlatform>)
  • Add the following line:
<em:targetPlatform>Linux_arm-eabi-gcc3</em:targetPlatform>
  • Save and close the file
  • Restart Thunderbird

PulseAudio

PulseAudio uses a type of scheduling that requires very accurate DMA response. Unfortunately, this is not accurate with the current i.MX6 DMA driver. The workaround is to use time-based scheduling instead.

  • Edit /etc/pulse/default.pa
  • Locate the line that says "load-module module-udev-detect"
  • Replace it with the following line:
load-module module-udev-detect tsched=0
  • Save the file
  • Run "killall pulseaudio"

Booting Novena

See booting novena for details on running the board after building and flashing the novena firmware.

Source

Mainboard

EVT-stage design files. As always, provided as-is, no warranty for fitness -- but particularly worthy of re-iteration since as an EVT design, it is in early stages and I fully expect to be finding and fixing bugs.

Battery board

EVT-stage design files. As always, provided as-is, no warranty for fitness -- but particularly worthy of re-iteration, since as an EVT design it is in early stages and I fully expect to be finding and fixing bugs.

DVT-stage design files.

Kernel

Novena uses the stock Linux kernel with few patches. Any patches that might be useful to other projects (such as PCIe or ES8328 audio codec) are being submitted upstream.

The 2D/3D/Vector unit requires its own driver, which is available in source form on Github. Different userspace drivers require different kernel modules, so be sure to check out the branch that corresponds with your driver version.

More Pages

Here on the wiki:

Getting started

Build notes

Tech notes

Archives