From patchwork Tue Mar 10 10:30:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Przemyslaw Marczak X-Patchwork-Id: 448461 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 83CD2140083 for ; Tue, 10 Mar 2015 21:32:32 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 114814B624; Tue, 10 Mar 2015 11:32:21 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jkeGNz9r0wo1; Tue, 10 Mar 2015 11:32:20 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 981924B663; Tue, 10 Mar 2015 11:32:09 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A172E4A039 for ; Tue, 10 Mar 2015 11:32:02 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vL-4tEe0l6-q for ; Tue, 10 Mar 2015 11:32:02 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by theia.denx.de (Postfix) with ESMTPS id 204794A03C for ; Tue, 10 Mar 2015 11:32:00 +0100 (CET) Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NKZ005HFS40OI40@mailout1.w1.samsung.com> for u-boot@lists.denx.de; Tue, 10 Mar 2015 10:36:01 +0000 (GMT) X-AuditID: cbfec7f5-b7fc86d0000066b7-b3-54fec78514f7 Received: from eusync4.samsung.com ( [203.254.199.214]) by eucpsbgm2.samsung.com (EUCPMTA) with SMTP id 7D.AA.26295.587CEF45; Tue, 10 Mar 2015 10:29:25 +0000 (GMT) Received: from AMDC1186.digital.local ([106.116.147.185]) by eusync4.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0NKZ00IG4RX25MA0@eusync4.samsung.com>; Tue, 10 Mar 2015 10:31:54 +0000 (GMT) From: Przemyslaw Marczak To: u-boot@lists.denx.de Date: Tue, 10 Mar 2015 11:30:44 +0100 Message-id: <1425983444-18565-4-git-send-email-p.marczak@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1425983444-18565-1-git-send-email-p.marczak@samsung.com> References: <1425983444-18565-1-git-send-email-p.marczak@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLJMWRmVeSWpSXmKPExsVy+t/xa7qtx/+FGCz8yG6x4859Zos3Dzcz Wuy4fIPF4tuWbYwWb/d2slvcnPCD2eLol2tsDuwesxsusnjMm3WCxePy9zfMHtMmfmT2OHtn B6NH35ZVjAFsUVw2Kak5mWWpRfp2CVwZ52a9YynYJFDxpfkHewPjRJ4uRk4OCQETiZ3flzJB 2GISF+6tZ+ti5OIQEljKKNFwoJkVwuljkuifd4kRpIpNwEBiz6UzzCC2iICExK/+q4wgRcwC 7xgltmxawgKSEBbwknjYdgWsgUVAVeLXxqdgNq+Aq8TCN5NYIdbJSZw8NhnM5hRwk1i44zvY GUJANQ97OlknMPIuYGRYxSiaWppcUJyUnmukV5yYW1yal66XnJ+7iRESZF93MC49ZnWIUYCD UYmH90b0vxAh1sSy4srcQ4wSHMxKIrylR4FCvCmJlVWpRfnxRaU5qcWHGJk4OKUaGE9/ec44 N2df+2WXzP7gg+khATfv7PNyvBJVoLGh2f3eMTY5bemwhxJn1LuWCrtt94iSfvrrHY+A9fum yo7pi/4Wzdf8KK1xlHt7HNcvvX3SNY2l/3hmaTy1OawROXPpr9N36sLzb33fu2XmjzvLHK+/ u7y+pz+qgXc9Y/amrfKnrPiv2H3vzFNiKc5INNRiLipOBACvJSU2EAIAAA== Cc: Mike Frysinger , Masahiro Yamada , Przemyslaw Marczak Subject: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Signed-off-by: Przemyslaw Marczak Cc: Masahiro Yamada Cc: Mike Frysinger Cc: Simon Glass Cc: Heiko Schocher Reviewed-by: Lukasz Majewski Acked-by: Simon Glass --- drivers/i2c/Kconfig | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 0a52ed9..dd7eb3c 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -13,6 +13,49 @@ config DM_I2C_COMPAT to convert all code for a board in a single commit. It should not be enabled for any board in an official release. +config DM_I2C_SOFT + bool "Enable Driver Model for Software I2C Driver" + depends on DM_I2C + help + Enable the i2c bus driver emulation by using GPIO. + The bus configuration is given by the device-tree, like below. + + /* First, define the alias number to have continuous bus numbering */ + aliases { + [...] + i2c5 = "/i2c@13500000"; + i2c6 = "/soft-i2c@1"; + [...] + } + + /* And next define the basic bus attributes */ + soft-i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "soft-i2c"; + clock-frequency = <50000>; + /* Define the proper GPIO pins */ + clock-pin = <&gpa0 0 GPIO_ACTIVE_HIGH>; + data-pin = <&gpa0 1 GPIO_ACTIVE_HIGH>; + + /* Optionally, define some driver node (bus child) */ + somedev@0x44 { + compatible = "somedev"; + reg = <0x44>; + [...] + }; + } + + The device can be accessed by the i2c command: + # i2c dev 8 (bus number set by alias) + # i2c probe <0x44> (address is optionally) + # i2c md 0x44 0x0 (dump dev registers at address 0x0) + # Valid chip addresses: 0x44 (success!) + ... + + Driving the bus lines is done by dm gpio calls in the preprocessor + macros. Each, can be redefined by the user. + config SYS_I2C_UNIPHIER bool "UniPhier I2C driver" depends on ARCH_UNIPHIER && DM_I2C