From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Thu, 26 Mar 2015 14:17:43 +0100 Subject: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c In-Reply-To: References: <1425983444-18565-1-git-send-email-p.marczak@samsung.com> <1425983444-18565-4-git-send-email-p.marczak@samsung.com> Message-ID: <551406F7.5050404@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Masahiro, On 03/25/2015 04:35 AM, Masahiro Yamada wrote: > Hi. > > > > 2015-03-10 19:30 GMT+09:00 Przemyslaw Marczak : >> Signed-off-by: Przemyslaw Marczak >> Cc: Masahiro Yamada > > I am no longer working for Panasonic. > The old email address will get unavailable at the end of March. > > Going forward, please use my new address, yamada.masahiro at socionext.com > > > Ok, will update this. >> >> 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. > > Very nice! > >> + The bus configuration is given by the device-tree, like below. >> + >> + /* First, define the alias number to have continuous bus numbering */ >> + aliases { >> + [...] >> + i2c5 = "/i2c at 13500000"; >> + i2c6 = "/soft-i2c at 1"; >> + [...] >> + } > > This description is not specific to this CONFIG option. > > The relation between the aliases node and the sequence number > is well-documented in doc/driver-model/README.txt. > > Should we repeat it here? > > Yes, you are right. I wanted to put here all informations, required to make it working with devices, since I think it could facilitate the development for the others. Will remove this. >> + /* And next define the basic bus attributes */ >> + soft-i2c at 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 at 0x44 { >> + compatible = "somedev"; >> + reg = <0x44>; >> + [...] >> + }; >> + } > > This is binding information, right? > > Stuff like that is usually documented in a separate text file. > > In Linux, Documentation/devicetree/bindings/i2c/ > In U-boot, doc/device-tree-bindings/i2c/ > Right, will move into proper path. > > >> + 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!) >> + ... > > > This is the usage of "i2c" command. > It is not specific to this option, either. > Ok. > > > >> + 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 >> -- >> 1.9.1 >> >> _______________________________________________ >> U-Boot mailing list >> U-Boot at lists.denx.de >> http://lists.denx.de/mailman/listinfo/u-boot > > > Thanks for review! Best regards, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com