Editing Documentation/Maemo 5 Developer Guide/Architecture/Core Domain

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 10: Line 10:
: <ul><li>Load kernel into memory</li><li>Initialize HW so that kernel is able to boot</li><li>Pass ATAGs to the kernel and transfer execution to the kernel </li><li>Production line flashing functionality</li><li>Creates partitions</li></ul>
: <ul><li>Load kernel into memory</li><li>Initialize HW so that kernel is able to boot</li><li>Pass ATAGs to the kernel and transfer execution to the kernel </li><li>Production line flashing functionality</li><li>Creates partitions</li></ul>
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/nolo/ nolo] / Nokia
+
: nolo / Nokia
==Linux Kernel==
==Linux Kernel==
Line 21: Line 21:
: Maemo specific functionality is in OMAP3 & Rover HW specific code. OMAP3 support is developed, generally speaking, in the linux-omap tree, from which code is pulled into Maemo kernel.
: Maemo specific functionality is in OMAP3 & Rover HW specific code. OMAP3 support is developed, generally speaking, in the linux-omap tree, from which code is pulled into Maemo kernel.
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
;Public interfaces provided
;Public interfaces provided
: Linux kernel API: Linux system calls accessed through the C library
: Linux kernel API: Linux system calls accessed through the C library
Line 34: Line 34:
: Used as is.
: Used as is.
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
===ARM architecture support===
===ARM architecture support===
Line 45: Line 45:
: Used as is.
: Used as is.
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
===Kernel framework===
===Kernel framework===
Line 54: Line 54:
: <ul><li>ALSA & Video for Linux 2 (V4L2) APIs,Networking stack, BlueZ (Bluetooth), mac80211 (WLAN), USB core</li><li>Virtual File System, file systems, block devices, MTD</li><li>Frame buffer, serial port, input layer (keyboard, touch screen)</li></ul>
: <ul><li>ALSA & Video for Linux 2 (V4L2) APIs,Networking stack, BlueZ (Bluetooth), mac80211 (WLAN), USB core</li><li>Virtual File System, file systems, block devices, MTD</li><li>Frame buffer, serial port, input layer (keyboard, touch screen)</li></ul>
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
;Public interfaces provided
;Public interfaces provided
: <ul><li>ALSA: Advanced Linux Sound Architecture, de facto Linux sound API.</li><li>V4L2: Video for Linux 2, de facto video capture API + Maemo specific ioctls</li><li>Camera ioctls: Extensions to V4L2 interface used by the camera daemon.</li><li>File systems: FAT16/32, EXT3 and UBIFS file systems are currently supported on the platform.</li><li>Frame buffer: The raw frame buffer interface is used in early stages of the boot.</li><li>Input layer: The input layer events are routed via X to applications.</li><li>Serial port: Available for R&D use.</li></ul>
: <ul><li>ALSA: Advanced Linux Sound Architecture, de facto Linux sound API.</li><li>V4L2: Video for Linux 2, de facto video capture API + Maemo specific ioctls</li><li>Camera ioctls: Extensions to V4L2 interface used by the camera daemon.</li><li>File systems: FAT16/32, EXT3 and UBIFS file systems are currently supported on the platform.</li><li>Frame buffer: The raw frame buffer interface is used in early stages of the boot.</li><li>Input layer: The input layer events are routed via X to applications.</li><li>Serial port: Available for R&D use.</li></ul>
Line 65: Line 65:
: <ul><li>DMA: OMAP3 has a 32 channel general purpose DMA controller, display DMA, HS USB DMA, and IVA 2.2 DMA (not supported).</li><li>Interrupt handling:OMAP3 has an interrupt controller (MPU INTC) with 96 synchronous interrupt lines.</li><li>OMAP3 specific power management functionality: The power management functionality is built on top of idle, sleep, suspend, resume, and dynamic voltage & frequency scaling functionalities [SystemSW].</li><li>DSP Bridge, ioMMU, OMAP watchdog, GPIOs, timers, Muxing framework</li><li>Gpmc (OneNAND driver), hsmmc (MMC/SD)</li><li>Bus drivers: spi, i2c, McBSP, uart, SSI</li></ul>
: <ul><li>DMA: OMAP3 has a 32 channel general purpose DMA controller, display DMA, HS USB DMA, and IVA 2.2 DMA (not supported).</li><li>Interrupt handling:OMAP3 has an interrupt controller (MPU INTC) with 96 synchronous interrupt lines.</li><li>OMAP3 specific power management functionality: The power management functionality is built on top of idle, sleep, suspend, resume, and dynamic voltage & frequency scaling functionalities [SystemSW].</li><li>DSP Bridge, ioMMU, OMAP watchdog, GPIOs, timers, Muxing framework</li><li>Gpmc (OneNAND driver), hsmmc (MMC/SD)</li><li>Bus drivers: spi, i2c, McBSP, uart, SSI</li></ul>
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
===DSP Bridge===
===DSP Bridge===
Line 74: Line 74:
: Interface to the OMAP3’s DSP which is used for codec acceleration.
: Interface to the OMAP3’s DSP which is used for codec acceleration.
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
===OMAP3 bus drivers===
===OMAP3 bus drivers===
Line 81: Line 81:
: Drivers for the following buses: SPI, SSI, McBSP, GPIOs, HS MMC/SD, UART, I2C/I2S, RFBI, CBUS, Flash BUS, (STI/XTI debugging interfaces)
: Drivers for the following buses: SPI, SSI, McBSP, GPIOs, HS MMC/SD, UART, I2C/I2S, RFBI, CBUS, Flash BUS, (STI/XTI debugging interfaces)
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
===OMAP3 specific HW drivers===
===OMAP3 specific HW drivers===
Line 88: Line 88:
: Drivers for following HW components:SGX, OMAP framebuffer & LCD & TV-out, Camera & ISP, HS USB Host & HS USB OTG, SDRAM memory controller, GPMC NAND/NOR flash&SRAM controller, and PRCM
: Drivers for following HW components:SGX, OMAP framebuffer & LCD & TV-out, Camera & ISP, HS USB Host & HS USB OTG, SDRAM memory controller, GPMC NAND/NOR flash&SRAM controller, and PRCM
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
===Specific hardware drivers===
===Specific hardware drivers===
Line 95: Line 95:
: The following components external to OMAP are supported: USB transceiver, USB charging, FM RX/TX, WLAN, OneNAND flash, touch screen, audio, stereo IHF, earphone, digital mics, LEDs, HW keys, ALS, Accelerometer, Vibrator, Proximity sensor, Miscellaneous Sensors, LCD backlight, Bluetooth, WLAN, CMT, Ethernet (R&D use).
: The following components external to OMAP are supported: USB transceiver, USB charging, FM RX/TX, WLAN, OneNAND flash, touch screen, audio, stereo IHF, earphone, digital mics, LEDs, HW keys, ALS, Accelerometer, Vibrator, Proximity sensor, Miscellaneous Sensors, LCD backlight, Bluetooth, WLAN, CMT, Ethernet (R&D use).
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/kernel/ kernel] / GPL2
+
: kernel / GPL2
==X Window System==
==X Window System==
Line 126: Line 126:
: Posix C library functionality
: Posix C library functionality
;Responsibilities
;Responsibilities
-
: <ul><li>System call interfaces</li><li>Posix functionalities</li></ul>
+
: System call interfaces <br>*Posix functionalities
;Package/ License
;Package/ License
-
: [http://maemo.org/packages/view/libc6/ glibc] / LGPL2
+
: glibc / LGPL2
==Essential tools==
==Essential tools==
Line 139: Line 139:
: Many tools have many limitations compared to the Debian versions. Not all Debian essentials are supported.
: Many tools have many limitations compared to the Debian versions. Not all Debian essentials are supported.
;Package/ License
;Package/ License
-
: [http://maemo.org/packages/view/busybox/ busybox] / GPL2
+
: busybox / GPL2
;Public interfaces provided
;Public interfaces provided
: <ul><li>Posix shell</li><li>Subset of Debian essentials</li></ul>
: <ul><li>Posix shell</li><li>Subset of Debian essentials</li></ul>
Line 148: Line 148:
: Provide interface for accessing device information
: Provide interface for accessing device information
;Responsibilities
;Responsibilities
-
: Provide a D-Bus interface to device specific information (HW id, WLAN MAC, …)
+
: Provide a DBUS interface to device specific information (HW id, WLAN MAC, …)
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/sysinfod/ sysinfod] / Nokia
+
: sysinfod / Nokia
;Public interface provided
;Public interface provided
-
: Sysinfod D-Bus interface
+
: Sysinfod DBUS interface
==Softupd==
==Softupd==
Line 161: Line 161:
: <ul><li>Unpacks a FIASCO image fed to it</li><li>Copies the unpacked contents to eMMC</li></ul>
: <ul><li>Unpacks a FIASCO image fed to it</li><li>Copies the unpacked contents to eMMC</li></ul>
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/softupd/ softupd] / Nokia
+
: softupd / Nokia
==Fiasco-flasher==
==Fiasco-flasher==
Line 170: Line 170:
: <ul><li>Flash kernel image into the kernel partition</li><li>Reboot the device</li></ul>
: <ul><li>Flash kernel image into the kernel partition</li><li>Reboot the device</li></ul>
;Package / License
;Package / License
-
: [http://maemo.org/packages/view/fiasco-flasher/ fiasco-flasher] / Nokia
+
: fiasco-flasher / Nokia
;Public interface provided
;Public interface provided
: Fiasco-flasher: The tool can be used to flash a new kernel image into the kernel partition.
: Fiasco-flasher: The tool can be used to flash a new kernel image into the kernel partition.

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)