From: Mauro Carvalho Chehab <mchehab@infradead.org>
To: Jonathan Corbet <corbet@lwn.net>
Cc: linux-media@vger.kernel.org, g.liakhovetski@gmx.de,
Kassey Lee <ygli@marvell.com>
Subject: Re: [PATCH 6/8] marvell-cam: Right-shift i2c slave ID's in the cafe driver
Date: Thu, 16 Jun 2011 21:51:31 -0300 [thread overview]
Message-ID: <4DFAA513.2040708@infradead.org> (raw)
In-Reply-To: <1307814409-46282-7-git-send-email-corbet@lwn.net>
Em 11-06-2011 14:46, Jonathan Corbet escreveu:
> This makes the cafe i2c implement consistent with the rest of Linux so that
> the core can use the same slave ID everywhere.
>
> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
> ---
> drivers/media/video/marvell-ccic/cafe-driver.c | 9 ++++++++-
> drivers/media/video/marvell-ccic/mcam-core.c | 2 +-
> 2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/video/marvell-ccic/cafe-driver.c b/drivers/media/video/marvell-ccic/cafe-driver.c
> index 1027265..3dbc7e5 100644
> --- a/drivers/media/video/marvell-ccic/cafe-driver.c
> +++ b/drivers/media/video/marvell-ccic/cafe-driver.c
> @@ -84,7 +84,14 @@ struct cafe_camera {
> #define TWSIC0_EN 0x00000001 /* TWSI enable */
> #define TWSIC0_MODE 0x00000002 /* 1 = 16-bit, 0 = 8-bit */
> #define TWSIC0_SID 0x000003fc /* Slave ID */
> -#define TWSIC0_SID_SHIFT 2
> +/*
> + * Subtle trickery: the slave ID field starts with bit 2. But the
> + * Linux i2c stack wants to treat the bottommost bit as a separate
> + * read/write bit, which is why slave ID's are usually presented
> + * >>1. For consistency with that behavior, we shift over three
> + * bits instead of two.
> + */
And this is consistent with the initial Philips I2C datasheets ;) Newer datasheets
use to include the read/write bit as if they're part of the I2C address, as well as
the registers that command I2C operations inside most chipsets. So, we end
by having 7-bit and 8-bit notations for I2C addresses.
> +#define TWSIC0_SID_SHIFT 3
> #define TWSIC0_CLKDIV 0x0007fc00 /* Clock divider */
> #define TWSIC0_MASKACK 0x00400000 /* Mask ack from sensor */
> #define TWSIC0_OVMAGIC 0x00800000 /* Make it work on OV sensors */
> diff --git a/drivers/media/video/marvell-ccic/mcam-core.c b/drivers/media/video/marvell-ccic/mcam-core.c
> index 0d60234..d5f18a3 100644
> --- a/drivers/media/video/marvell-ccic/mcam-core.c
> +++ b/drivers/media/video/marvell-ccic/mcam-core.c
> @@ -1549,7 +1549,7 @@ int mccic_register(struct mcam_camera *cam)
> {
> struct i2c_board_info ov7670_info = {
> .type = "ov7670",
> - .addr = 0x42,
> + .addr = 0x42 >> 1,
> .platform_data = &sensor_cfg,
> };
> int ret;
Patch is OK.
Mauro.
next prev parent reply other threads:[~2011-06-17 0:51 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-11 17:46 Refactor cafe_ccic and add Armada 610 driver [V2] Jonathan Corbet
2011-06-11 17:46 ` [PATCH 1/8] marvell-cam: Move cafe-ccic into its own directory Jonathan Corbet
[not found] ` <BANLkTikXATbgOZQbzaj4sQEmELsdpNobfQ@mail.gmail.com>
2011-06-14 14:23 ` Jonathan Corbet
2011-06-15 2:01 ` Kassey Lee
2011-06-15 11:37 ` Mauro Carvalho Chehab
2011-06-11 17:46 ` [PATCH 2/8] marvell-cam: Separate out the Marvell camera core Jonathan Corbet
2011-06-14 2:58 ` Kassey Lee
2011-06-14 14:49 ` Jonathan Corbet
2011-06-16 2:30 ` Kassey Lee
2011-06-16 3:12 ` Kassey Lee
2011-06-16 15:27 ` Jonathan Corbet
2011-06-17 0:45 ` Mauro Carvalho Chehab
2011-06-17 3:11 ` Kassey Lee
2011-06-22 22:12 ` Jonathan Corbet
2011-06-27 9:23 ` Kassey Lee
2011-06-17 0:40 ` Mauro Carvalho Chehab
2011-06-17 2:51 ` Kassey Lee
2011-06-11 17:46 ` [PATCH 3/8] marvell-cam: Pass sensor parameters from the platform Jonathan Corbet
2011-06-11 17:46 ` [PATCH 4/8] marvell-cam: Remove the "untested" comment Jonathan Corbet
2011-06-11 17:46 ` [PATCH 5/8] marvell-cam: Move Cafe-specific register definitions to cafe-driver.c Jonathan Corbet
2011-06-11 17:46 ` [PATCH 6/8] marvell-cam: Right-shift i2c slave ID's in the cafe driver Jonathan Corbet
2011-06-17 0:51 ` Mauro Carvalho Chehab [this message]
2011-06-11 17:46 ` [PATCH 7/8] marvell-cam: Allocate the i2c adapter in the platform driver Jonathan Corbet
2011-06-11 17:46 ` [PATCH 8/8] marvell-cam: Basic working MMP camera driver Jonathan Corbet
2011-06-16 2:37 ` Kassey Lee
2011-06-16 15:17 ` Jonathan Corbet
2011-06-16 19:44 ` Sylwester Nawrocki
2011-06-17 1:15 ` Mauro Carvalho Chehab
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=4DFAA513.2040708@infradead.org \
--to=mchehab@infradead.org \
--cc=corbet@lwn.net \
--cc=g.liakhovetski@gmx.de \
--cc=linux-media@vger.kernel.org \
--cc=ygli@marvell.com \
/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.