Nokia N9 is a relatively FLOSS friendly phone running on top of Linux + freedesktop.org + Qt stack, with partially open UI or "User eXperience" layer.
A lot of progress on free OS for Nokia N9 (and its developer sibling Nokia N950) has been made in the hardware adaptation and UX project formerly known as MeeGo CE, now "Nemo Mobile" running on top of Mer core (continuation of MeeGo).
The first available bootloader was "moslo" (MeeGo OS loader, sources included but behind license agreement page): http://tablets-dev.nokia.com/moslo.php ; out-of-the-box moslo is for N950. There has been work into a N9 version as well, but there is still some problem booting without running a special flasher command. The more "from ground up" approach is explained at http://jon.severinsson.net/NemoN9/Nemo-Mobile-N9-instructions.txt, while the much easier one using the moslo-n9 is explained at http://wiki.merproject.org/wiki/Nemo/Installing#Nokia_N9.
Hardware adaptation for Nokia N9 and N950 is mostly done in upstream Linux kernel for the TI OMAP3 support, and the most complete adaptation including various sensors et cetera is available in source form at the Nemo Mobile repositories (addresses might change at some point):
Newer kernel (3.5 instead of 2.6.32) is being developed at github:
It was successfully used as part of Nemo Mobile (formerly MeeGo CE) release, so it should be possible to bring to Debian. Also, Debian user space should boot with Nemo kernel.
Among else phone calls work with oFono.
Appendix: UI layers
Not directly related to hardware, but the MeeGo Touch Framework used also in the partially proprietary shipping software on Nokia N9 is free software, although without clear future plans as QML, Qt5 and Qt Components are kind of taking its place. It's however productized and used as part of Nemo. Some work has been started on non-MTF home screen as well.
The MTF consists of the following software: http://repo.pub.meego.com/Project:/MTF%3a/MW/CE_MW_MTF_armv7hl/src/
The actual Nemo Handheld UX applications are available at: http://repo.pub.meego.com/Project:/MTF%3a/UX/CE_UX_MTF_armv7hl/src/
KDE Plasma Active for Mer is at: http://repo.pub.meego.com/CE%3a/MW%3a/PlasmaActive/
A kickstart file used in the RPM world is attached to this page, explaining all the repositories and packages that are used for a functional software image. It should be guiding in getting Debian support as well.
MeeGo wiki (might move at some point as MeeGo as a brand name is shutting itself down): http://wiki.meego.com/ARM/N9
N9:s default software stack (MeeGo compatible "Harmattan") free software components, mostly in Debian already: http://harmattan-dev.nokia.com/pool/harmattan/free/
The new upstream for adaptation and UX: http://wiki.merproject.org/wiki/Nemo (Nemo Mobile)