From: Sakari Ailus <sakari.ailus@nokia.com>
To: linux-omap@vger.kernel.org
Subject: [PATCH 2/3] N810: Don't export camera orientation
Date: Wed, 14 May 2008 15:05:32 +0300 [thread overview]
Message-ID: <12107667331986-git-send-email-sakari.ailus@nokia.com> (raw)
In-Reply-To: <12107667331990-git-send-email-sakari.ailus@nokia.com>
On Nokia N810 the camera module is mounted upside down. This affects
the mirroring controls. This patch inverts the controls for N810.
Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com>
---
arch/arm/mach-omap2/board-n800-camera.c | 62 +++++++++++++++++++++++++++---
1 files changed, 55 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-omap2/board-n800-camera.c b/arch/arm/mach-omap2/board-n800-camera.c
index 19be30d..b525125 100644
--- a/arch/arm/mach-omap2/board-n800-camera.c
+++ b/arch/arm/mach-omap2/board-n800-camera.c
@@ -28,6 +28,8 @@
#include <media/v4l2-int-device.h>
+#include <asm/mach-types.h>
+
#include <asm/arch/menelaus.h>
#include <asm/arch/gpio.h>
#include <asm/arch/board.h>
@@ -71,7 +73,8 @@ static int frames_after_reset;
static int saturated_count;
#endif
-const static struct tcm825x_reg tcm825x_default_regs_[] = {
+#ifdef CONFIG_MACH_NOKIA_N800
+const static struct tcm825x_reg tcm825x_regs_n800[] = {
/* initial settings for 2.5 V */
{0x00, 0x03}, {0x03, 0x29}, {0xaa, 0x2a}, {0xc0, 0x2b},
{0x10, 0x2c}, {0x4c, 0x2d}, {0x9c, 0x3f},
@@ -103,6 +106,42 @@ const static struct tcm825x_reg tcm825x_default_regs_[] = {
{0x08, 0x5c}, {0x08, 0x5d}, {0x08, 0x5e}, {0x08, 0x5f},
{TCM825X_VAL_TERM, TCM825X_REG_TERM}
};
+#endif
+
+#ifdef CONFIG_MACH_NOKIA_N810
+const static struct tcm825x_reg tcm825x_regs_n810[] = {
+ /* initial settings for 2.5 V */
+ {0x00, 0x03}, {0x03, 0x29}, {0xaa, 0x2a}, {0xc0, 0x2b},
+ {0x10, 0x2c}, {0x4c, 0x2d}, {0x9c, 0x3f},
+
+ /* main settings */
+ {0x00, 0x00}, {0x30, 0x01}, {0x0e, 0x02}, /* initial */
+ {0xcf, 0x04}, {0x02, 0x05}, {0x0d, 0x06}, {0xc0, 0x07},
+ {0x38, 0x08}, {0x50, 0x09}, {0x80, 0x0a}, {0x40, 0x0b},
+ {0x40, 0x0c}, {0x00, 0x0d}, {0x04, 0x0e}, {0x04, 0x0f},
+ {0x22, 0x10}, {0x96, 0x11}, {0xf0, 0x12}, {0x08, 0x13},
+ {0x08, 0x14}, {0x30, 0x15}, {0x30, 0x16}, {0x01, 0x17},
+ {0x40, 0x18}, {0x87, 0x19}, {0x2b, 0x1a}, {0x84, 0x1b},
+ {0x52, 0x1c}, {0x44, 0x1d}, {0x68, 0x1e}, {0x00, 0x1f},
+ {0x00, 0x20}, {0x01, 0x21}, {0x27, 0x22}, {0x40, 0x23},
+ {0x27, 0x24}, {0x5f, 0x25}, {0x00, 0x26}, {0x16, 0x27},
+ {0x23, 0x28}, /* initial */ /* initial */ /* initial */
+ /* initial */ /* initial */ {0x00, 0x2e}, {0x00, 0x2f},
+ {0x00, 0x30}, {0x00, 0x31}, {0x00, 0x32}, {0x00, 0x33},
+ {0x00, 0x34}, {0x00, 0x35}, {0x00, 0x36}, {0x00, 0x37},
+ {0x00, 0x38}, {0x8c, 0x39}, {0xc8, 0x3A}, {0x80, 0x3b},
+ {0x00, 0x3c}, {0x17, 0x3d}, {0x85, 0x3e}, /* initial */
+ {0xa0, 0x40}, {0x00, 0x41}, {0x00, 0x42}, {0x00, 0x43},
+ {0x08, 0x44}, {0x12, 0x45}, {0x00, 0x46}, {0x20, 0x47},
+ {0x30, 0x48}, {0x18, 0x49}, {0x20, 0x4a}, {0x4d, 0x4b},
+ {0x0c, 0x4c}, {0xe0, 0x4d}, {0x20, 0x4e}, {0x89, 0x4f},
+ {0x21, 0x50}, {0x80, 0x51}, {0x02, 0x52}, {0x00, 0x53},
+ {0x30, 0x54}, {0x90, 0x55}, {0x40, 0x56}, {0x06, 0x57},
+ {0x0f, 0x58}, {0x23, 0x59}, {0x08, 0x5A}, {0x04, 0x5b},
+ {0x08, 0x5c}, {0x08, 0x5d}, {0x08, 0x5e}, {0x08, 0x5f},
+ {TCM825X_VAL_TERM, TCM825X_REG_TERM}
+};
+#endif
static int tcm825x_is_okay(void)
{
@@ -182,7 +221,10 @@ static int tcm825x_power_set(int power)
static const struct tcm825x_reg *tcm825x_default_regs(void)
{
- return tcm825x_default_regs_;
+ if (machine_is_nokia_n810())
+ return tcm825x_regs_n810;
+
+ return tcm825x_regs_n800;
}
#ifdef OMAP24XX_CAMERA_JAM_HACK
@@ -298,12 +340,18 @@ static int tcm825x_ifparm(struct v4l2_ifparm *p)
return 0;
}
+static int tcm825x_is_upside_down(void)
+{
+ return machine_is_nokia_n810();
+}
+
const struct tcm825x_platform_data n800_tcm825x_platform_data = {
- .is_okay = tcm825x_is_okay,
- .power_set = tcm825x_power_set,
- .default_regs = tcm825x_default_regs,
- .needs_reset = tcm825x_needs_reset,
- .ifparm = tcm825x_ifparm,
+ .is_okay = tcm825x_is_okay,
+ .power_set = tcm825x_power_set,
+ .default_regs = tcm825x_default_regs,
+ .needs_reset = tcm825x_needs_reset,
+ .ifparm = tcm825x_ifparm,
+ .is_upside_down = tcm825x_is_upside_down,
};
void __init n800_cam_init(void)
--
1.5.0.6
next prev parent reply other threads:[~2008-05-14 12:05 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-13 16:04 [PATCH 1/3] TCM825x: Include invertation of image mirroring in configuration Sakari Ailus
2008-05-13 16:04 ` [PATCH 2/3] N810: Don't export camera orientation Sakari Ailus
2008-05-13 16:04 ` [PATCH 3/3] N800: Select tcm825x only if wanted Sakari Ailus
2008-05-13 20:01 ` [PATCH 2/3] N810: Don't export camera orientation Felipe Balbi
2008-05-14 12:04 ` Sakari Ailus
2008-05-14 12:05 ` [PATCH 1/3] TCM825x: Include invertation of image mirroring in configuration Sakari Ailus
2008-05-14 12:05 ` Sakari Ailus [this message]
2008-05-14 12:05 ` [PATCH 3/3] N800: Select tcm825x only if wanted Sakari Ailus
2008-05-16 17:44 ` Tony Lindgren
2008-05-16 17:44 ` [PATCH 2/3] N810: Don't export camera orientation Tony Lindgren
2008-05-16 17:42 ` [PATCH 1/3] TCM825x: Include invertation of image mirroring in configuration Tony Lindgren
2008-05-14 22:58 ` [PATCH 2/3] N810: Don't export camera orientation Felipe Balbi
2008-05-15 6:54 ` andrzej zaborowski
2008-05-15 7:57 ` Felipe Balbi
2008-05-15 8:11 ` andrzej zaborowski
2008-05-15 8:17 ` Felipe Balbi
2008-05-13 19:53 ` [PATCH 1/3] TCM825x: Include invertation of image mirroring in configuration Felipe Balbi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=12107667331986-git-send-email-sakari.ailus@nokia.com \
--to=sakari.ailus@nokia.com \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.