Re: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c
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@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 RD 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
Re: [U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c
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 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
Hi Przemyslaw, Signed-off-by: Przemyslaw Marczak p.marc...@samsung.com Cc: Masahiro Yamada yamad...@jp.panasonic.com Cc: Mike Frysinger vap...@gentoo.org Cc: Simon Glass s...@chromium.org Cc: Heiko Schocher h...@denx.de --- 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 l.majew...@samsung.com -- Best regards, Lukasz Majewski Samsung RD 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
On 10 March 2015 at 04:30, Przemyslaw Marczak p.marc...@samsung.com wrote: Signed-off-by: Przemyslaw Marczak p.marc...@samsung.com Cc: Masahiro Yamada yamad...@jp.panasonic.com Cc: Mike Frysinger vap...@gentoo.org Cc: Simon Glass s...@chromium.org Cc: Heiko Schocher h...@denx.de --- drivers/i2c/Kconfig | 43 +++ 1 file changed, 43 insertions(+) This is very nice. Acked-by: Simon Glass s...@chromium.org ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 3/3] Kconfig: i2c: add entry for driver-model software i2c
Signed-off-by: Przemyslaw Marczak p.marc...@samsung.com Cc: Masahiro Yamada yamad...@jp.panasonic.com Cc: Mike Frysinger vap...@gentoo.org Cc: Simon Glass s...@chromium.org Cc: Heiko Schocher h...@denx.de --- 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