i2c: zynq: Support for 0-length register address
Subsystems (2)
PATCH 1/2 i2c: zynq: Support for 0-length register address
From: Michael Burr <[email protected]>
Fixed bug with alen == 0 in 'i2c_write', 'i2c_read' Further minor corrections:
- Write 'address' register before 'data' register.
- Write 'transfer_size' register before 'address' register.
---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165060.html
- MS rebase on latest&greatest
drivers/i2c/zynq_i2c.c | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-)
drivers/i2c/zynq_i2c.c +27 -10
@@ -189,20 +189,37 @@ static int zynq_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,* Temporarily disable restart (by clearing hold) * It doesn't seem to work. */ +clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD ); +writel (0xFF , &zynq_i2c->interrupt_status); +if (alen) { +clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_RW ); +writel (dev, &zynq_i2c->address); +while (alen--) +writel (addr >> (8 *alen), &zynq_i2c->data); + +/* Wait for the address to be sent */ +if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) { +/* Release the bus */ +clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD ); +return -ETIMEDOUT ; + } +debug ("Device acked address\n" ); + } +clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_RW |ZYNQ_I2C_CONTROL_HOLD );writel (0xFF , &zynq_i2c->interrupt_status); -while (alen--) -writel (addr >> (8 *alen), &zynq_i2c->data); -writel (dev, &zynq_i2c->address); - -/* Wait for the address to be sent */ -if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) { -/* Release the bus */ -clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD ); -return -ETIMEDOUT ; +if (alen) { +while (alen--) +writel (addr >> (8 *alen), &zynq_i2c->data); +/* Start the tranfer */ +if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) { +/* Release the bus */ +clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD ); +return -ETIMEDOUT ; + } +debug ("Device acked address\n" ); } -debug ("Device acked address\n" );setbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_CLR_FIFO |ZYNQ_I2C_CONTROL_RW );
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140103/47ca9512/attachment.pgp>
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
From: Michael Burr <[email protected]>
Initialize the second i2c controller.
---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1: 0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatest
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)
drivers/i2c/zynq_i2c.c +28 -18
@@ -64,19 +64,21 @@ struct zynq_i2c_registers {#define ZYNQ_I2C_FIFO_DEPTH 16#define ZYNQ_I2C_TRANSFERT_SIZE_MAX 255/* Controller transfer limit */ -#if defined(CONFIG_ZYNQ_I2C0 ) -# define ZYNQ_I2C_BASE ZYNQ_I2C_BASEADDR0 -#else -# define ZYNQ_I2C_BASE ZYNQ_I2C_BASEADDR1 -#endif - -static struct zynq_i2c_registers *zynq_i2c = - (struct zynq_i2c_registers *)ZYNQ_I2C_BASE ; +static struct zynq_i2c_registers *i2c_select (struct i2c_adapter *adap) +{ +return adap->hwadapnr ? +/* Zynq PS I2C1 */ + (struct zynq_i2c_registers *)ZYNQ_I2C_BASEADDR1 : +/* Zynq PS I2C0 */ + (struct zynq_i2c_registers *)ZYNQ_I2C_BASEADDR0 ; +}/* I2C init called by cmd_i2c when doing 'i2c reset'. */ static void zynq_i2c_init (struct i2c_adapter *adap,int requested_speed,int slaveadd) { +struct zynq_i2c_registers *zynq_i2c =i2c_select (adap); +/* 111MHz / ( (3 * 17) * 22 ) = ~100KHz */ writel ((16 <<ZYNQ_I2C_CONTROL_DIV_B_SHIFT ) | (2 <<ZYNQ_I2C_CONTROL_DIV_A_SHIFT ), &zynq_i2c->control);
@@ -87,7 +89,7 @@ static void zynq_i2c_init(struct i2c_adapter *adap, int requested_speed, }#ifdef DEBUG -static void zynq_i2c_debug_status (void ) +static void zynq_i2c_debug_status (struct zynq_i2c_registers *zynq_i2c) {int int_status;int status;
@@ -129,7 +131,7 @@ static void zynq_i2c_debug_status(void)#endif /* Wait for an interrupt */ -static u32 zynq_i2c_wait (u32 mask) +static u32 zynq_i2c_wait (struct zynq_i2c_registers *zynq_i2c,u32 mask) {int timeout, int_status;
@@ -140,7 +142,7 @@ static u32 zynq_i2c_wait(u32 mask)break ; }#ifdef DEBUG -zynq_i2c_debug_status (); + zynq_i2c_debug_status(zynq_i2c));#endif /* Clear interrupt status flags */ writel (int_status & mask, &zynq_i2c->interrupt_status);
@@ -154,6 +156,8 @@ static u32 zynq_i2c_wait(u32 mask)*/ static int zynq_i2c_probe (struct i2c_adapter *adap,u8 dev) { +struct zynq_i2c_registers *zynq_i2c =i2c_select (adap); +/* Attempt to read a byte */ setbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_CLR_FIFO |ZYNQ_I2C_CONTROL_RW );
@@ -162,7 +166,7 @@ static int zynq_i2c_probe(struct i2c_adapter *adap, u8 dev)writel (dev, &zynq_i2c->address);writel (1 , &zynq_i2c->transfer_size); -return (zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP | +return (zynq_i2c_wait (zynq_i2c,ZYNQ_I2C_INTERRUPT_COMP |ZYNQ_I2C_INTERRUPT_NACK ) &ZYNQ_I2C_INTERRUPT_COMP ) ?0 : -ETIMEDOUT ; }
@@ -177,6 +181,7 @@ static int zynq_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,u32 status;u32 i =0 ;u8 *cur_data = data; +struct zynq_i2c_registers *zynq_i2c =i2c_select (adap);/* Check the hardware can handle the requested bytes */ if ((length <0 ) || (length >ZYNQ_I2C_TRANSFERT_SIZE_MAX ))
@@ -198,7 +203,7 @@ static int zynq_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,writel (addr >> (8 *alen), &zynq_i2c->data);/* Wait for the address to be sent */ -if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) { +if (!zynq_i2c_wait (zynq_i2c,ZYNQ_I2C_INTERRUPT_COMP )) {/* Release the bus */ clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD );return -ETIMEDOUT ;
@@ -213,7 +218,7 @@ static int zynq_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,while (alen--)writel (addr >> (8 *alen), &zynq_i2c->data);/* Start the tranfer */ -if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) { +if (!zynq_i2c_wait (zynq_i2c,ZYNQ_I2C_INTERRUPT_COMP )) {/* Release the bus */ clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD );return -ETIMEDOUT ;
@@ -229,7 +234,7 @@ static int zynq_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr,/* Wait for data */ do { - status = zynq_i2c_wait(ZYNQ_I2C_INTERRUPT_COMP | + status = zynq_i2c_wait(zynq_i2c, ZYNQ_I2C_INTERRUPT_COMP | ZYNQ_I2C_INTERRUPT_DATA); if (!status) { /* Release the bus */
@@ -258,6 +263,7 @@ static int zynq_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr, int alen, u8 *data, int length) { u8 *cur_data = data; +struct zynq_i2c_registers *zynq_i2c =i2c_select (adap);/* Write the register address */ setbits_le32(&zynq_i2c->control, ZYNQ_I2C_CONTROL_CLR_FIFO |
@@ -268,7 +274,7 @@ static int zynq_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,writel (addr >> (8 *alen), &zynq_i2c->data);/* Start the tranfer */ writel (dev, &zynq_i2c->address); -if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) { +if (!zynq_i2c_wait (zynq_i2c,ZYNQ_I2C_INTERRUPT_COMP )) {/* Release the bus */ clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD );return -ETIMEDOUT ;
@@ -278,7 +284,7 @@ static int zynq_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,while (length--) {writel (*(cur_data++), &zynq_i2c->data);if (readl (&zynq_i2c->transfer_size) ==ZYNQ_I2C_FIFO_DEPTH ) { -if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) { +if (!zynq_i2c_wait (zynq_i2c,ZYNQ_I2C_INTERRUPT_COMP )) {/* Release the bus */ clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD );
@@ -290,7 +296,7 @@ static int zynq_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr,/* All done... release the bus */ clrbits_le32 (&zynq_i2c->control,ZYNQ_I2C_CONTROL_HOLD );/* Wait for the address and data to be sent */ -if (!zynq_i2c_wait (ZYNQ_I2C_INTERRUPT_COMP )) +if (!zynq_i2c_wait (zynq_i2c,ZYNQ_I2C_INTERRUPT_COMP ))return -ETIMEDOUT ;return 0 ; }
@@ -308,3 +314,7 @@ U_BOOT_I2C_ADAP_COMPLETE(zynq_0, zynq_i2c_init, zynq_i2c_probe, zynq_i2c_read, zynq_i2c_write, zynq_i2c_set_bus_speed, CONFIG_SYS_I2C_ZYNQ_SPEED, CONFIG_SYS_I2C_ZYNQ_SLAVE, 0) +U_BOOT_I2C_ADAP_COMPLETE (zynq_1, zynq_i2c_init, zynq_i2c_probe, zynq_i2c_read, + zynq_i2c_write, zynq_i2c_set_bus_speed, +CONFIG_SYS_I2C_ZYNQ_SPEED ,CONFIG_SYS_I2C_ZYNQ_SLAVE , +1 )
include/configs/zynq.h +3 -4
@@ -55,15 +55,14 @@# define CONFIG_DOS_PARTITION #endif -#define CONFIG_ZYNQ_I2C0 +#define CONFIG_SYS_I2C_ZYNQ /* I2C */ -#if defined(CONFIG_ZYNQ_I2C0 ) || defined(CONFIG_ZYNQ_I2C1 ) +#if defined(CONFIG_SYS_I2C_ZYNQ )# define CONFIG_CMD_I2C # define CONFIG_SYS_I2C -# define CONFIG_SYS_I2C_ZYNQ # define CONFIG_SYS_I2C_ZYNQ_SPEED 100000 -# define CONFIG_SYS_I2C_ZYNQ_SLAVE 1 +# define CONFIG_SYS_I2C_ZYNQ_SLAVE 0#endif #if defined(CONFIG_ZYNQ_DCC )
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140103/799cdf85/attachment.pgp>
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
Hello Michel,
Am 03.01.2014 10:45, schrieb Michal Simek:
Quoted 16 lines
From: Michael Burr<[email protected]>
Initialize the second i2c controller.
Signed-off-by Michael Burr<[email protected]>Signed-off-by Michal Simek<[email protected]>---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1:0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatest
Quoted 3 lines
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)
I could not apply your patch on top of current tree
commit 7f673c99c2d8d1aa21996c5b914f06d784b080ca
Merge: 8401bfa 10a147b
Author: Tom Rini <[email protected]>
Date: Fri Jan 10 10:56:00 2014 -0500
Merge branch 'master' of git://git.denx.de/u-boot-arm
Problem is the change in "include/configs/zynq.h", as this file does not longer exist in mainline ... I think, your change should be done in "include/configs/zynq-common.h", right?
Is it OK, if I fix this, or would you send a v2 (prefered, as I could not test this)?
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
Quoted 30 lines · Heiko Schocher
Hello Michel,
Am 03.01.2014 10:45, schrieb Michal Simek:
Quoted 16 lines
From: Michael Burr<[email protected]>
Initialize the second i2c controller.
Signed-off-by Michael Burr<[email protected]>Signed-off-by Michal Simek<[email protected]>---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1:0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatestQuoted 3 lines
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)I could not apply your patch on top of current tree
commit
7f673c99c2d8d1aa21996c5b914f06d784b080ca
Merge: 8401bfa 10a147b
Author: Tom Rini <[email protected]>
Date: Fri Jan 10 10:56:00 2014 -0500
Quoted 8 lines
Merge branch 'master' of
git://git.denx.de/u-boot-armProblem is the change in "
include/configs/zynq.h", as this file does not longer exist in mainline ... I think, your change should be done in "include/configs/zynq-common.h", right?Is it OK, if I fix this, or would you send a v2 (prefered, as I could not test this)?
yes, zynq.h was renamed to zynq-common.h.
That will be great if you can fix it yourself.
Thanks,
Michal
Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 263 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140113/acb94896/attachment.pgp>
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
Hello Michael,
Am 13.01.2014 08:53, schrieb Michal Simek:
Quoted 37 lines · Heiko Schocher
Quoted 36 lines
Hello Michel,
Am 03.01.2014 10:45, schrieb Michal Simek:
Quoted 16 lines
From: Michael Burr<[email protected]>
Initialize the second i2c controller.
Signed-off-by Michael Burr<[email protected]>Signed-off-by Michal Simek<[email protected]>---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1:0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatestQuoted 3 lines
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)I could not apply your patch on top of current tree
commit
7f673c99c2d8d1aa21996c5b914f06d784b080ca
Merge: 8401bfa 10a147b
Author: Tom Rini<[email protected]>
Date: Fri Jan 10 10:56:00 2014 -0500Merge branch 'master' of
git://git.denx.de/u-boot-armProblem is the change in "
include/configs/zynq.h", as this file does not longer exist in mainline ... I think, your change should be done in "include/configs/zynq-common.h", right?
Quoted 5 lines
Quoted 2 lines
Is it OK, if I fix this, or would you send a v2 (prefered, as I could not test this)?
yes,
zynq.hwas renamed tozynq-common.h.
That will be great if you can fix it yourself.
Done, see:
http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=commit;h=8e0b3c020057b3f7345b6696029a80eaf162e7f3
Please test and give me feedback. If my fix is not perfect, please post a v2, thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
Quoted 43 lines · Heiko Schocher
Hello Michael,
Am 13.01.2014 08:53, schrieb Michal Simek:
Quoted 40 lines · Heiko Schocher
Quoted 38 lines
Hello Michel,
Am 03.01.2014 10:45, schrieb Michal Simek:
Quoted 16 lines
From: Michael Burr<[email protected]>
Initialize the second i2c controller.
Signed-off-by Michael Burr<[email protected]>Signed-off-by Michal Simek<[email protected]>---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1:0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatestQuoted 3 lines
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)I could not apply your patch on top of current tree
commit
7f673c99c2d8d1aa21996c5b914f06d784b080ca
Merge: 8401bfa 10a147b
Author: Tom Rini<[email protected]>
Date: Fri Jan 10 10:56:00 2014 -0500Merge branch 'master' of
git://git.denx.de/u-boot-armProblem is the change in "
include/configs/zynq.h", as this file does not longer exist in mainline ... I think, your change should be done in "include/configs/zynq-common.h", right?Is it OK, if I fix this, or would you send a v2 (prefered, as I could not test this)?
Quoted 8 lines
Quoted 2 lines
yes,
zynq.hwas renamed tozynq-common.h.
That will be great if you can fix it yourself.Done, see:
http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=commit;h=8e0b3c020057b3f7345b6696029a80eaf162e7f3Please test and give me feedback. If my fix is not perfect, please post a v2, thanks!
Looks good to me. We will test it and I will let you know if we see any problem.
Thanks,
Michal
Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 263 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140113/cfdf044b/attachment.pgp>
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
Hello Michal,
Am 13.01.2014 09:23, schrieb Michal Simek:
Quoted 47 lines · Heiko Schocher
Quoted 46 lines
Hello Michael,
Am 13.01.2014 08:53, schrieb Michal Simek:
Quoted 42 lines · Heiko Schocher
Quoted 30 lines
Hello Michel,
Am 03.01.2014 10:45, schrieb Michal Simek:
Quoted 16 lines
From: Michael Burr<[email protected]>
Initialize the second i2c controller.
Signed-off-by Michael Burr<[email protected]>Signed-off-by Michal Simek<[email protected]>---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1:0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatestQuoted 3 lines
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)I could not apply your patch on top of current tree
commit
7f673c99c2d8d1aa21996c5b914f06d784b080ca
Merge: 8401bfa 10a147b
Author: Tom Rini<[email protected]>
Date: Fri Jan 10 10:56:00 2014 -0500Quoted 8 lines
Merge branch 'master' of
git://git.denx.de/u-boot-armProblem is the change in "
include/configs/zynq.h", as this file does not longer exist in mainline ... I think, your change should be done in "include/configs/zynq-common.h", right?Is it OK, if I fix this, or would you send a v2 (prefered, as I could not test this)?
yes,
zynq.hwas renamed tozynq-common.h.
That will be great if you can fix it yourself.
Quoted 8 lines
Quoted 5 lines
Done, see:
http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=commit;h=8e0b3c020057b3f7345b6696029a80eaf162e7f3Please test and give me feedback. If my fix is not perfect, please post a v2, thanks!
Looks good to me. We will test it and I will let you know if we see any problem.
Do you find some time for tests? I want to send a pull request for pending i2c patches (inclusive this patch).
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
Quoted 53 lines · Heiko Schocher
Hello Michal,
Am 13.01.2014 09:23, schrieb Michal Simek:
Quoted 50 lines · Heiko Schocher
Quoted 49 lines
Hello Michael,
Am 13.01.2014 08:53, schrieb Michal Simek:
Quoted 37 lines · Heiko Schocher
Quoted 36 lines
Hello Michel,
Am 03.01.2014 10:45, schrieb Michal Simek:
Quoted 16 lines
From: Michael Burr<[email protected]>
Initialize the second i2c controller.
Signed-off-by Michael Burr<[email protected]>Signed-off-by Michal Simek<[email protected]>---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1:0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatestQuoted 3 lines
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)I could not apply your patch on top of current tree
commit
7f673c99c2d8d1aa21996c5b914f06d784b080ca
Merge: 8401bfa 10a147b
Author: Tom Rini<[email protected]>
Date: Fri Jan 10 10:56:00 2014 -0500Merge branch 'master' of
git://git.denx.de/u-boot-armProblem is the change in "
include/configs/zynq.h", as this file does not longer exist in mainline ... I think, your change should be done in "include/configs/zynq-common.h", right?Quoted 5 lines
Quoted 2 lines
Is it OK, if I fix this, or would you send a v2 (prefered, as I could not test this)?
yes,
zynq.hwas renamed tozynq-common.h.
That will be great if you can fix it yourself.Done, see:
http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=commit;h=8e0b3c020057b3f7345b6696029a80eaf162e7f3
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
Please test and give me feedback. If my fix is not perfect, please post a v2, thanks!
Looks good to me. We will test it and I will let you know if we see any problem.
Do you find some time for tests? I want to send a pull request for pending i2c patches (inclusive this patch).
Sorry for delay. I have retest it and I see that I have totally messed up the first patch.
"i2c: zynq: Support for 0-length register address"
This is the origin patch.
http://lists.denx.de/pipermail/u-boot/2013-October/165019.html
Interesting is that I really don't know what I have tested before. :-(
Would it be possible to remove this patch. Feel free to remove both I will resend them.
Sorry for troubles.
Michal
Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 263 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140120/d23a40e7/attachment.pgp>
PATCH 2/2 i2c: zynq: Add support for the second i2c controller
Hello Michal,
Am 20.01.2014 10:22, schrieb Michal Simek:
Quoted 67 lines · Heiko Schocher
Quoted 53 lines
Hello Michal,
Am 13.01.2014 09:23, schrieb Michal Simek:
Quoted 50 lines · Heiko Schocher
Quoted 49 lines
Hello Michael,
Am 13.01.2014 08:53, schrieb Michal Simek:
Quoted 37 lines · Heiko Schocher
Quoted 36 lines
Hello Michel,
Am 03.01.2014 10:45, schrieb Michal Simek:
Quoted 16 lines
From: Michael Burr<[email protected]>
Initialize the second i2c controller.
Signed-off-by Michael Burr<[email protected]>Signed-off-by Michal Simek<[email protected]>---
Changes in v1:
- Based on original thread from Michael Burr
http://lists.denx.de/pipermail/u-boot/2013-October/165017.html
Heiko did some changes in this mainline patch
"i2c, zynq: convert zynq i2c driver to new multibus/multiadapter framework" (sha1:0bdffe71fddeaa46768a39305797e4512dee0f15)
- MS rebase on latest&greatestQuoted 3 lines
drivers/i2c/zynq_i2c.c | 46 ++++++++++++++++++++++++++++------------------ include/configs/zynq.h | 7 +++---- 2 files changed, 31 insertions(+), 22 deletions(-)I could not apply your patch on top of current tree
commit
7f673c99c2d8d1aa21996c5b914f06d784b080ca
Merge: 8401bfa 10a147b
Author: Tom Rini<[email protected]>
Date: Fri Jan 10 10:56:00 2014 -0500Merge branch 'master' of
git://git.denx.de/u-boot-armProblem is the change in "
include/configs/zynq.h", as this file does not longer exist in mainline ... I think, your change should be done in "include/configs/zynq-common.h", right?Quoted 5 lines
Quoted 2 lines
Is it OK, if I fix this, or would you send a v2 (prefered, as I could not test this)?
yes,
zynq.hwas renamed tozynq-common.h.
That will be great if you can fix it yourself.Done, see:
http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=commit;h=8e0b3c020057b3f7345b6696029a80eaf162e7f3Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
Please test and give me feedback. If my fix is not perfect, please post a v2, thanks!
Looks good to me. We will test it and I will let you know if we see any problem.
Do you find some time for tests? I want to send a pull request for pending i2c patches (inclusive this patch).
Sorry for delay. I have retest it and I see that I have totally messed up the first patch.
"i2c: zynq: Support for 0-length register address"
Quoted 7 lines
This is the origin patch.
http://lists.denx.de/pipermail/u-boot/2013-October/165019.htmlInteresting is that I really don't know what I have tested before. :-(
Would it be possible to remove this patch. Feel free to remove both I will resend them.
I havd removed both patches from u-boot-i2c.git. Please repost them, thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany