Hello Masahiro,

On 03/25/2015 04:35 AM, Masahiro Yamada wrote:
Hi.



2015-03-10 19:30 GMT+09:00 Przemyslaw Marczak <p.marc...@samsung.com>:
Signed-off-by: Przemyslaw Marczak <p.marc...@samsung.com>
Cc: Masahiro Yamada <yamad...@jp.panasonic.com>

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.masah...@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@13500000";
+           i2c6 = "/soft-i2c@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@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>;
+               [...]
+           };
+         }

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@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.marc...@samsung.com
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to