<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-QS600%3A_Android%3A_Enabling_platform_features</id>
	<title>CM-QS600: Android: Enabling platform features - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-QS600%3A_Android%3A_Enabling_platform_features"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-QS600:_Android:_Enabling_platform_features&amp;action=history"/>
	<updated>2026-04-17T21:31:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-QS600:_Android:_Enabling_platform_features&amp;diff=2759&amp;oldid=prev</id>
		<title>Grinberg: /* SPI / UART interface multiplexing */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-QS600:_Android:_Enabling_platform_features&amp;diff=2759&amp;oldid=prev"/>
		<updated>2015-10-21T11:59:35Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;SPI / UART interface multiplexing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Overview =&lt;br /&gt;
Current Android for CM-QS600 feature coverage is specified in [http://compulab.co.il/operating-systems-and-drivers-for-cm-qs600-and-sbc-qs600/  OS support coverage map].&amp;lt;br/&amp;gt;&lt;br /&gt;
CompuLab provides ready to run prebuilt Android images, and source code, that contain all the modifications and additions made to enable proper operation on the CM-QS600 module.&amp;lt;br/&amp;gt;&lt;br /&gt;
This page provides developer insight into some of the available features, especially those that share the same hardware resources, or are disabled by default.&lt;br /&gt;
[[CM-QS600: Android: Operating instructions | Operating instructions]] page may be considered complimentary to this page.&lt;br /&gt;
&lt;br /&gt;
= Enabling platform features =&lt;br /&gt;
=== Start-up script ===&lt;br /&gt;
{{filename|/system/etc/startup-svc.sh}} script is run upon system boot by Android {{filename|init}} process with root permissions.&amp;lt;br/&amp;gt;&lt;br /&gt;
Prior to attempting editing the script, remount {{filename|system}} partition 'rw', issuing on a PC workstation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ adb remount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SPI / UART interface multiplexing ===&lt;br /&gt;
CPU GPIOs 10, 11, 12, 13 are routed to carrier board interface connector (P1) pins 70, 72, 68, 66 respectively.&lt;br /&gt;
On SB-QS600 baseboard these pins are routed to P9 connector pins 5, 7, 3, 1 respectively.&amp;lt;br&amp;gt;&lt;br /&gt;
These GPIO pins can be configured to serve as one of the following:&lt;br /&gt;
* SPI.0 SPI bus ''(default)''&lt;br /&gt;
* /dev/ttyHSL1 UART interface&lt;br /&gt;
&lt;br /&gt;
==== SPI.0 ====&lt;br /&gt;
By default, SPI.0 is routed via GPIOs 10, 11, 12, 13:&amp;lt;br/&amp;gt;&lt;br /&gt;
GPIO 10: MOSI&amp;lt;br/&amp;gt;&lt;br /&gt;
GPIO 11: MISO&amp;lt;br/&amp;gt;&lt;br /&gt;
GPIO 12: nCS&amp;lt;br/&amp;gt;&lt;br /&gt;
GPIO 13: Clk&lt;br /&gt;
&lt;br /&gt;
==== UART ({{filename|/dev/ttyHSL1}}) ====&lt;br /&gt;
Alternatively, {{filename|/dev/ttyHSL1}} UART interface can be routed via GPIOs 10, 11:&amp;lt;br/&amp;gt;&lt;br /&gt;
GPIO 10: TX&amp;lt;br/&amp;gt;&lt;br /&gt;
GPIO 11: RX&lt;br /&gt;
&lt;br /&gt;
In order to override the default routing, the kernel should be [[CM-QS600: Android: Building from source code | rebuilt]] with patched CM-QS600 board file {{filename | kernel/arch/arm/mach-msm/board-cm-qs600.c}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- HEAD.board-cm-qs600.c	2015-09-22 14:43:06.990432575 +0300&lt;br /&gt;
+++ board-cm-qs600.c	2015-09-22 14:43:23.102432877 +0300&lt;br /&gt;
@@ -78,3 +78,3 @@&lt;br /&gt;
  */&lt;br /&gt;
-#define CM_QS600_GSBI4_AS_SPI&lt;br /&gt;
+/* #define CM_QS600_GSBI4_AS_SPI */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|In case [[CM-QS600: Android: Enabling platform features#OV5640 CSI camera: CSI camera | CSI camera]] is enabled, GPIOs 10, 11, 12, 13 will be consumed by camera designated I2C bus communication.}}&lt;br /&gt;
&lt;br /&gt;
=== OV5640 CSI camera ===&lt;br /&gt;
OV5640 CSI camera has been tested with CM-QS600 Evaluation system.&amp;lt;br/&amp;gt;&lt;br /&gt;
In order to connect OV5640 to CM-QS600 Evaluation system, a designated wire-up will be required.&lt;br /&gt;
It is recommended to apply for hardware support for further details.&amp;lt;br/&amp;gt;&lt;br /&gt;
In order to enable OV5640 camera module, the kernel should be reconfigured and rebuilt.&amp;lt;br/&amp;gt;&lt;br /&gt;
In the kernel configuration menu select '''Device Drivers ---&amp;gt; Multimedia support ---&amp;gt; Video capture adapters ---&amp;gt; V4L platform devices''' submenu, and enable&lt;br /&gt;
* CONFIG_MSM_CAMERA - Qualcomm MSM camera and video capture support&lt;br /&gt;
** OV5640_V4L2 - Sensor OV5640 (YUV 5M)&lt;br /&gt;
** CONFIG_MSM_CAMERA_SENSOR - Qualcomm MSM camera sensor support&lt;br /&gt;
** CONFIG_MSM_ACTUATOR - Qualcomm MSM actuator support&lt;br /&gt;
** CONFIG_MSM_CSI20_HEADER - Qualcomm MSM CSI 2.0 Header&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ┌────────────────────────────── V4L platform devices ──────────────────────────────┐&lt;br /&gt;
  │ ┌──────────────────────────────────────────────────────────────────────────────┐ │  &lt;br /&gt;
  │ │    --- V4L platform devices                                                  │ │  &lt;br /&gt;
  │ │    &amp;lt; &amp;gt;   Marvell 88ALP01 (Cafe) CMOS Camera Controller support               │ │  &lt;br /&gt;
  │ │    &amp;lt; &amp;gt;   SoC camera support                                                  │ │  &lt;br /&gt;
  │ │          *** Qualcomm MSM Camera And Video ***                               │ │  &lt;br /&gt;
  │ │    [*]   Qualcomm MSM camera and video capture support  ---&amp;gt;                 │ │  &lt;br /&gt;
  │ │          *** Camera Sensor Selection ***                                     │ │  &lt;br /&gt;
  │ │    [ ]   Sensor IMX074 (BAYER 13.5M) (NEW)                                   │ │  &lt;br /&gt;
  │ │    [ ]   Sensor ov5647 (BAYER 5M) (NEW)                                      │ │  &lt;br /&gt;
  │ │    [*]   Sensor OV5640 (YUV 5M)                                              │ │  &lt;br /&gt;
  │ │    [ ]   Sensor MT9M114 (YUV 1.26M) (NEW)                                    │ │  &lt;br /&gt;
  │ │    [ ]   Actuator IMX074 (BAYER 13.5M) (NEW)                                 │ │  &lt;br /&gt;
  │ │    [ ]   Sensor Sensor s5k4e1 (Samsung 5M) (NEW)                             │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM camera sc628a flash support (NEW)                      │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM camera tps61310 flash support (NEW)                    │ │  &lt;br /&gt;
  │ │    [ ]   Sensor imx072 (Sony 5M)                                             │ │  &lt;br /&gt;
  │ │    [ ]   Sensor ov2720 (Omnivision 2MP) (NEW)                                │ │  &lt;br /&gt;
  │ │    [ ]   Sensor ov8825 (Omnivision 8M) (NEW)                                 │ │  &lt;br /&gt;
  │ │    [ ]   Sensor imx135 (Sony 13MP) (NEW)                                     │ │  &lt;br /&gt;
  │ │    [ ]   Sensor ov9724 (Omnivision 1.3M) (NEW)                               │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM camera flash support                                   │ │  &lt;br /&gt;
  │ │    [*]   Qualcomm MSM camera sensor support                                  │ │  &lt;br /&gt;
  │ │    [*]   Qualcomm MSM actuator support                                       │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM EEPROM support (NEW)                                   │ │  &lt;br /&gt;
  │ │    [ ]   IMX074 EEPROM support (NEW)                                         │ │  &lt;br /&gt;
  │ │    [ ]   IMX091 EEPROM support (NEW)                                         │ │  &lt;br /&gt;
  │ │    &amp;lt; &amp;gt;   Qualcomm MSM Gemini Jpeg Engine support (NEW)                       │ │  &lt;br /&gt;
  │ │    &amp;lt; &amp;gt;   Qualcomm MSM Mercury Jpeg Decoder Engine support (NEW)              │ │  &lt;br /&gt;
  │ │    [ ]   Enable MSM CAM IRQ Router (NEW)                                     │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM Camera Post Processing Engine support (NEW)            │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM Camera Control Interface support (NEW)                 │ │  &lt;br /&gt;
  │ │    [ ]   QUP exclusive to camera                                             │ │  &lt;br /&gt;
  │ │    [*]   Qualcomm MSM CSI 2.0 Header                                         │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM CSI 3.0 Header (NEW)                                   │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM Camera Serial Interface Physical receiver support (NEW)│ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM Camera Serial Interface decoder support (NEW)          │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM CSI2 Register (NEW)                                    │ │  &lt;br /&gt;
  │ │    [ ]   Qualcomm MSM Image Signal Processing interface support (NEW)        │ │  &lt;br /&gt;
  │ │    [ ]   Sensor S5K3L1YX (BAYER 12M) (NEW)                                   │ │  &lt;br /&gt;
  │ │    [ ]   Sensor imx091 (Sony 13MP) (NEW)                                     │ │  &lt;br /&gt;
  │ │    &amp;lt; &amp;gt;   Qualcomm MSM V4l2 video overlay device                              │ │  &lt;br /&gt;
  │ │    [ ]   Sensor OV7692 (VGA YUV) (NEW)                                       │ │  &lt;br /&gt;
  │ └──────────────────────────────────────────────────────────────────────────────┘ │  &lt;br /&gt;
  ├──────────────────────────────────────────────────────────────────────────────────┤  &lt;br /&gt;
  │                         &amp;lt;Select&amp;gt;    &amp;lt; Exit &amp;gt;    &amp;lt; Help &amp;gt;                         │  &lt;br /&gt;
  └──────────────────────────────────────────────────────────────────────────────────┘  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, in the kernel configuration menu select '''Device Drivers ---&amp;gt; Multimedia support ---&amp;gt; Video capture adapters ---&amp;gt; V4L platform devices ---&amp;gt; Qualcomm MSM camera and video capture support''' submenu, and enable&lt;br /&gt;
* CONFIG_MSM_CAMERA_DEBUG - Qualcomm MSM camera debugging with printk ''(optional)''&lt;br /&gt;
* CONFIG_MSM_CAMERA_V4L2 - MSM Camera V4L2 Interface&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ┌───────────────── Qualcomm MSM camera and video capture support ──────────────────┐&lt;br /&gt;
  │ ┌──────────────────────────────────────────────────────────────────────────────┐ │  &lt;br /&gt;
  │ │    --- Qualcomm MSM camera and video capture support                         │ │  &lt;br /&gt;
  │ │    [*]   Qualcomm MSM camera debugging with printk                           │ │  &lt;br /&gt;
  │ │    [*]   MSM Camera V4L2 Interface                                           │ │  &lt;br /&gt;
  │ │                                                                              │ │  &lt;br /&gt;
  │ └──────────────────────────────────────────────────────────────────────────────┘ │  &lt;br /&gt;
  ├──────────────────────────────────────────────────────────────────────────────────┤  &lt;br /&gt;
  │                         &amp;lt;Select&amp;gt;    &amp;lt; Exit &amp;gt;    &amp;lt; Help &amp;gt;                         │  &lt;br /&gt;
  └──────────────────────────────────────────────────────────────────────────────────┘  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to enabling the kernel support, {{filename|mm-qcamera-daemon}} proprietary camera service, with ov5640 add-on built in, should be run by Android init system.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[CM-QS600: Android: Operating instructions | Operating instructions]]&lt;br /&gt;
* [[CM-QS600: Android: Building from source code | Building from source code]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:CM-QS600]]&lt;/div&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
</feed>