From: boris.brezillon@free-electrons.com (Boris BREZILLON)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 0/2] i2c: sunxi: add P2WI controller support
Date: Wed, 11 Jun 2014 11:17:28 +0200 [thread overview]
Message-ID: <1402478250-7292-1-git-send-email-boris.brezillon@free-electrons.com> (raw)
Hello,
This series adds support for the P2WI block used by some Allwinner boards
to interface with the AXP221 PMIC.
The P2WI controller looks like an SMBus controller which only supports byte
data transfers. But, it differs from standard SMBus protocol on several
aspects:
- it supports only one slave device, and thus drop the address field
- it adds a parity bit every 8bits of data
- only one read access is required to read a byte (instead of a write
followed by a read access in standard SMBus protocol)
- there's no Ack bit after each byte transfer
This means this bus cannot be used to interface with standard SMBus
devices (the only known device to support this interface is the AXP221
PMIC).
However the P2WI protocol is close enough to SMBus to be integrated in
the I2C subsystem (see this thread [1] for detailed reasons that led to
integrating this driver in the I2C subsystem).
[1] http://www.spinics.net/lists/linux-i2c/msg15066.html
Best Regards,
Boris
Changes sinve v6:
- declare as "GPL v2" instead of "GPL"
- add Arnd's ack
- add COMPILE_TEST support
Changes since v5:
- add Maxime's ack
- rework commit message to mention the discussion that led to integrating
this driver in the I2C subsystem
- add missing dependency on RESET_CONTROLLER
- clean up header inclusions
- fix coding style issues
Changes since v4:
- add P2WI protocol description in driver header comment
- remove unneeded i2c address check
- remove unneeded irq field from p2wi struct
Changes since v3:
- update the DT bindings doc
- fix a comment that was no longer true
Changes since v2:
- drop the initialization (switch from I2C to P2WI mode) part
- print devm_ioremap_resource err code
Boris BREZILLON (2):
i2c: sunxi: add P2WI DT bindings documentation
i2c: sunxi: add P2WI (Push/Pull 2 Wire Interface) controller support
.../devicetree/bindings/i2c/i2c-sunxi-p2wi.txt | 41 +++
drivers/i2c/busses/Kconfig | 13 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-sun6i-p2wi.c | 345 +++++++++++++++++++++
4 files changed, 400 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-sunxi-p2wi.txt
create mode 100644 drivers/i2c/busses/i2c-sun6i-p2wi.c
--
1.8.3.2
next reply other threads:[~2014-06-11 9:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-11 9:17 Boris BREZILLON [this message]
2014-06-11 9:17 ` [PATCH v7 1/2] i2c: sunxi: add P2WI DT bindings documentation Boris BREZILLON
2014-06-11 9:17 ` [PATCH v7 2/2] i2c: sunxi: add P2WI (Push/Pull 2 Wire Interface) controller support Boris BREZILLON
2014-06-11 22:24 ` [PATCH v7 0/2] i2c: sunxi: add P2WI " Wolfram Sang
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=1402478250-7292-1-git-send-email-boris.brezillon@free-electrons.com \
--to=boris.brezillon@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox