[U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c

2015-03-10 Thread Przemyslaw Marczak
Signed-off-by: Przemyslaw Marczak 
Cc: Masahiro Yamada 
Cc: Mike Frysinger 
Cc: Simon Glass 
Cc: Heiko Schocher 
---
 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@1350";
+   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 = <5>;
+   /* 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
-- 
1.9.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c

2015-03-23 Thread Lukasz Majewski
Hi Przemyslaw,

> Signed-off-by: Przemyslaw Marczak 
> Cc: Masahiro Yamada 
> Cc: Mike Frysinger 
> Cc: Simon Glass 
> Cc: Heiko Schocher 
> ---
>  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@1350";
> + 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 = <5>;
> + /* 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

Reviewed-by: Lukasz Majewski 

-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c

2015-03-23 Thread Simon Glass
On 10 March 2015 at 04:30, Przemyslaw Marczak  wrote:
> Signed-off-by: Przemyslaw Marczak 
> Cc: Masahiro Yamada 
> Cc: Mike Frysinger 
> Cc: Simon Glass 
> Cc: Heiko Schocher 
> ---
>  drivers/i2c/Kconfig | 43 +++
>  1 file changed, 43 insertions(+)
>

This is very nice.

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c

2015-03-24 Thread Masahiro Yamada
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.masah...@socionext.com



>
> 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@1350";
> +   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?


> + /* And next define the basic bus attributes */
> + soft-i2c@1 {
> +   #address-cells = <1>;
> +   #size-cells = <0>;
> +   compatible = "soft-i2c";
> +   clock-frequency = <5>;
> +   /* 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/



> + 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.




> + 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



-- 
Best Regards
Masahiro Yamada
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c

2015-03-26 Thread Przemyslaw Marczak

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.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@1350";
+   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 = <5>;
+   /* 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