i2c: adding driver for pxa27x, pxa3xx, pxa25x
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
---
This driver was written before the driver model stuff was really around (or at least based on a U-Boot version that only had very preliminary support) so there might be some older conventions in use here. I have tested on a PXA270 board running upstream master with this driver, however - so to some extent this all still works fine. Let me know if things need to change to be accepted, and I'll try to find some time to update!
drivers/i2c/Makefile | 1 + drivers/i2c/pxa_i2c.c | 796 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 797 insertions(+) create mode 100644 drivers/i2c/pxa_i2c.c
drivers/i2c/Makefile +1 -0
@@ -30,6 +30,7 @@ obj-$(CONFIG_SYS_I2C_MXS) += mxs_i2c.o obj-$(CONFIG_SYS_I2C_OMAP24XX) += omap24xx_i2c.o obj-$(CONFIG_SYS_I2C_OMAP34XX) += omap24xx_i2c.o obj-$(CONFIG_SYS_I2C_PPC4XX) += ppc4xx_i2c.o +obj-$(CONFIG_SYS_I2C_PXA) += pxa_i2c.o obj-$(CONFIG_SYS_I2C_RCAR) += rcar_i2c.o obj-$(CONFIG_SYS_I2C_S3C24X0) += s3c24x0_i2c.o obj-$(CONFIG_SYS_I2C_SANDBOX) += sandbox_i2c.o i2c-emul-uclass.o
drivers/i2c/pxa_i2c.c new file +796 -0
796 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
On Wednesday, August 12, 2015 at 08:43:52 PM, Andrew Ruder wrote:
Commit message is missing :'-(
Quoted 57 lines
Cc Marek Vasut <[email protected]>Cc Heiko Schocher <[email protected]>Signed-off-by Andrew Ruder <[email protected]>---
This driver was written before the driver model stuff was really around (or at least based on a U-Boot version that only had very preliminary support) so there might be some older conventions in use here. I have tested on a PXA270 board running upstream master with this driver, however - so to some extent this all still works fine. Let me know if things need to change to be accepted, and I'll try to find some time to update!
drivers/i2c/Makefile | 1 + drivers/i2c/pxa_i2c.c | 796 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 797 insertions(+) create mode 100644 drivers/i2c/pxa_i2c.cdrivers/i2c/Makefile +1
-0@@ -30,6 +30,7 @@ obj-$(CONFIG_SYS_I2C_MXS) += mxs_i2c.o obj-$(CONFIG_SYS_I2C_OMAP24XX) += omap24xx_i2c.o obj-$(CONFIG_SYS_I2C_OMAP34XX) += omap24xx_i2c.o obj-$(CONFIG_SYS_I2C_PPC4XX) += ppc4xx_i2c.o +obj-$(CONFIG_SYS_I2C_PXA) += pxa_i2c.o obj-$(CONFIG_SYS_I2C_RCAR) += rcar_i2c.o obj-$(CONFIG_SYS_I2C_S3C24X0) += s3c24x0_i2c.o obj-$(CONFIG_SYS_I2C_SANDBOX) += sandbox_i2c.o i2c-emul-uclass.odrivers/i2c/pxa_i2c.c new file +14
-0@@ -0,0 +1,796 @@ +/* +* pxa_i2c.c +* +* I2C adapter for the PXA I2C bus access. +* +* Copyright (C) 2002 Intrinsyc Software Inc. +* Copyright (C) 2004-2005 Deep Blue Solutions Ltd. +* Copyright (C) 2014 Andrew Ruder +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +* +* This is a heavily modified version of the PXA I2C driver from the Linux + * kernel 3.15.10.
+ */drivers/i2c/pxa_i2c.c new file +5
-0+ +#include <common.h> +#include <compiler.h> +#include <i2c.h> +#include <asm/arch/pxa-regs.h>
drivers/i2c/pxa_i2c.c line 31
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+ +#include <asm/errno.h> +#include <asm/io.h> + +#define MAX_TRANSFER_MS 5000 +#define WAIT_MASTER_MS 64 +#define ABORT_LENGTH_MS 50 + +/* Set up some defaults for various configurable pieces of this driver +* so that most of the time we don't need extra things defined
Multiline comment should be of the form:
/*
* foo
* bar
*/
Quoted 6 lines
+ */
drivers/i2c/pxa_i2c.c new file +5
-0+#if !defined(CONFIG_SYS_PXA_STD_I2C_SPEED ) +#define CONFIG_SYS_PXA_STD_I2C_SPEED 100000 +#endif + +#if !defined(CONFIG_SYS_PXA_STD_I2C_SLAVE )
drivers/i2c/pxa_i2c.c line 47
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+#define CONFIG_SYS_PXA_STD_I2C_SLAVE 1 +#endif + +#if !defined(CONFIG_SYS_PXA_PWR_I2C_SPEED ) +#define CONFIG_SYS_PXA_PWR_I2C_SPEED 40000 +#endif + +#if !defined(CONFIG_SYS_PXA_PWR_I2C_SLAVE ) +#define CONFIG_SYS_PXA_PWR_I2C_SLAVE 1 +#endif
Please remove all this stuff, it's only going to hide bugs.
Quoted 4 lines
drivers/i2c/pxa_i2c.c new file +4
-0+#if defined(CONFIG_CPU_MONAHANS ) && defined(CONFIG_PXA_PWR_I2C ) +#warning Monahans + PWRI2C is unlikely to work without additional testing +#endif +
[...]
drivers/i2c/pxa_i2c.c line 142
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+#define ISR_ITE (1 << 6)/* tx buffer empty */ +#define ISR_IRF (1 << 7)/* rx buffer full */ +#define ISR_GCAD (1 << 8)/* general call address detected */ +#define ISR_SAD (1 << 9)/* slave address detected */ +#define ISR_BED (1 << 10)/* bus error no ACK/NAK */ + +struct pxa_i2c_msg { +u16 addr; +u16 flags; +#define I2C_M_TEN 0x0010/* this is a ten bit chip address */
Be consistent about using 1 << n or 0x0n00 please. Just use the BIT(n) macro.
drivers/i2c/pxa_i2c.c
Quoted 6 lines
drivers/i2c/pxa_i2c.c new file +6
-0+#define I2C_M_RD 0x0001/* read data, from slave to master */ +#define I2C_M_STOP 0x8000/* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_NOSTART 0x4000/* if I2C_FUNC_NOSTART */ +#define I2C_M_REV_DIR_ADDR 0x2000/* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_IGNORE_NAK 0x1000/* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_NO_RD_ACK 0x0800/* if I2C_FUNC_PROTOCOL_MANGLING
*/
Quoted 1 line
+#define
I2C_M_RECV_LEN0x0400/* length will be first received
byte */
Quoted 33 lines
drivers/i2c/pxa_i2c.c new file +32
-0+#define I2C_M_FIRST 0x0800/* First message in a chain */ +u16 len; +u8 *buf; +}; + +struct pxa_i2c_state { +struct pxa_i2c_msg *msg; +unsigned int msg_num; +unsigned int msg_ptr; +}; + +#define STD_I2C_BASE 0x40301680 +#if defined(CONFIG_CPU_PXA27X ) || defined(CONFIG_CPU_PXA25X ) +#define PWR_I2C_BASE 0x40f00180 +#define IBMR_OFFSET 0x00 +#define IDBR_OFFSET 0x08 +#define ICR_OFFSET 0x10 +#define ISR_OFFSET 0x18 +#define ISAR_OFFSET 0x20 +#elif defined(CONFIG_CPU_MONAHANS ) +#define PWR_I2C_BASE 0x40f500c0 +#define IBMR_OFFSET 0x00 +#define IDBR_OFFSET 0x04 +#define ICR_OFFSET 0x08 +#define ISR_OFFSET 0x0c +#define ISAR_OFFSET 0x10 +#endif + +static inline void __iomem * +pxa_i2c_base (const struct i2c_adapter *adap) +{ + return (adap->hwadapnr == 0) ? (void *)STD_I2C_BASE : (void*)PWR_I2C_BASE; +}
drivers/i2c/pxa_i2c.c line 187
Quoted 5 lines
drivers/i2c/pxa_i2c.c new file +5
-0+ +static inline void __iomem * +pxa_i2c_ibmr (const struct i2c_adapter *adap) +{ +return (void *)((char *)pxa_i2c_base (adap) +IBMR_OFFSET );
No need for these hideous casts, just use pxa_i2c_base() + OFFSET in the code.
Quoted 1 line
+}
[...]
drivers/i2c/pxa_i2c.c line 329
Quoted 8 lines
drivers/i2c/pxa_i2c.c new file +8
-0+static void +i2c_pxa_abort (struct i2c_adapter *adap) +{ +unsigned long long end; + + end =get_ticks () + (get_tbclk () /1000 ) *ABORT_LENGTH_MS ; + + while ((get_ticks() < end) &&
Please use get_timer() to implement the delay loop.
time = get_timer(0);
while (true) {
reg = readl();
if (reg & bit)
break;
if (get_timer(time) > timeout)
return -ETIMEDOUT;
}Also, the lpc32xx patches recently implemented a wait_for_bit() function. If you make this generic, that'd be really cool.
Quoted 5 lines
drivers/i2c/pxa_i2c.c new file +5
-0+ (readl(_IBMR(adap)) & 0x1) == 0) { +unsigned long icr =readl (_ICR (adap)); + + icr &= ~ICR_START ; + icr |=ICR_ACKNAK |ICR_STOP |ICR_TB ;
drivers/i2c/pxa_i2c.c line 344
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+ +writel (icr,_ICR (adap)); + +show_state (adap); + +mdelay (1 ); + } + +writel (readl (_ICR (adap)) & ~(ICR_MA |ICR_START |ICR_STOP ), +_ICR (adap));
Please use clrsetbits_le32();
Quoted 1 line
+}
[...]
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
Quoted 7 lines · Marek Vasut
On Wednesday, August 12, 2015 at 08:43:52 PM, Andrew Ruder wrote:
Commit message is missing :'-(
I actually was going with subject being sufficient on this one. I'll fill in some more info on this as far as origin and what it has been tested on and send in again.
Quoted 213 lines
Quoted 58 lines
Cc Marek Vasut <[email protected]>Cc Heiko Schocher <[email protected]>Signed-off-by Andrew Ruder <[email protected]>---
This driver was written before the driver model stuff was really around (or at least based on a U-Boot version that only had very preliminary support) so there might be some older conventions in use here. I have tested on a PXA270 board running upstream master with this driver, however - so to some extent this all still works fine. Let me know if things need to change to be accepted, and I'll try to find some time to update!
drivers/i2c/Makefile| 1 +drivers/i2c/pxa_i2c.c| 796 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 797 insertions(+)
create mode 100644drivers/i2c/pxa_i2c.cdrivers/i2c/Makefile +0
-0@@ -30,6 +30,7 @@ obj-$(CONFIG_SYS_I2C_MXS) += mxs_i2c.oobj-$(CONFIG_SYS_I2C_OMAP24XX) += omap24xx_i2c.o obj-$(CONFIG_SYS_I2C_OMAP34XX) += omap24xx_i2c.o obj-$(CONFIG_SYS_I2C_PPC4XX) += ppc4xx_i2c.o +obj-$(CONFIG_SYS_I2C_PXA) += pxa_i2c.o obj-$(CONFIG_SYS_I2C_RCAR) += rcar_i2c.o obj-$(CONFIG_SYS_I2C_S3C24X0) += s3c24x0_i2c.o obj-$(CONFIG_SYS_I2C_SANDBOX) += sandbox_i2c.o i2c-emul-uclass.o
drivers/i2c/pxa_i2c.c new file +14
-0@@ -0,0 +1,796 @@ +/* +* pxa_i2c.c +* +* I2C adapter for the PXA I2C bus access. +* +* Copyright (C) 2002 Intrinsyc Software Inc. +* Copyright (C) 2004-2005 Deep Blue Solutions Ltd. +* Copyright (C) 2014 Andrew Ruder +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +* +* This is a heavily modified version of the PXA I2C driver from the Linux + * kernel 3.15.10.
+ */drivers/i2c/pxa_i2c.c new file +5
-0+ +#include <common.h> +#include <compiler.h> +#include <i2c.h> +#include <asm/arch/pxa-regs.h> drivers/i2c/pxa_i2c.c line 31
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+ +#include <asm/errno.h> +#include <asm/io.h> + +#define MAX_TRANSFER_MS 5000 +#define WAIT_MASTER_MS 64 +#define ABORT_LENGTH_MS 50 + +/* Set up some defaults for various configurable pieces of this driver +* so that most of the time we don't need extra things defined Multiline comment should be of the form:
/*
* foo
* bar
*/Quoted 6 lines
+ */
drivers/i2c/pxa_i2c.c new file +5
-0+#if !defined(CONFIG_SYS_PXA_STD_I2C_SPEED ) +#define CONFIG_SYS_PXA_STD_I2C_SPEED 100000 +#endif + +#if !defined(CONFIG_SYS_PXA_STD_I2C_SLAVE )drivers/i2c/pxa_i2c.c line 47
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+#define CONFIG_SYS_PXA_STD_I2C_SLAVE 1 +#endif + +#if !defined(CONFIG_SYS_PXA_PWR_I2C_SPEED ) +#define CONFIG_SYS_PXA_PWR_I2C_SPEED 40000 +#endif + +#if !defined(CONFIG_SYS_PXA_PWR_I2C_SLAVE ) +#define CONFIG_SYS_PXA_PWR_I2C_SLAVE 1 +#endif Please remove all this stuff, it's only going to hide bugs.
Quoted 4 lines
drivers/i2c/pxa_i2c.c new file +4
-0+#if defined(CONFIG_CPU_MONAHANS ) && defined(CONFIG_PXA_PWR_I2C ) +#warning Monahans + PWRI2C is unlikely to work without additional testing +#endif +[...]
drivers/i2c/pxa_i2c.c line 142
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+#define ISR_ITE (1 << 6)/* tx buffer empty */ +#define ISR_IRF (1 << 7)/* rx buffer full */ +#define ISR_GCAD (1 << 8)/* general call address detected */ +#define ISR_SAD (1 << 9)/* slave address detected */ +#define ISR_BED (1 << 10)/* bus error no ACK/NAK */ + +struct pxa_i2c_msg { +u16 addr; +u16 flags; +#define I2C_M_TEN 0x0010/* this is a ten bit chip address */ Be consistent about using 1 << n or 0x0n00 please. Just use the BIT(n) macro.
drivers/i2c/pxa_i2c.c
Quoted 6 lines
drivers/i2c/pxa_i2c.c new file +6
-0+#define I2C_M_RD 0x0001/* read data, from slave to master */ +#define I2C_M_STOP 0x8000/* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_NOSTART 0x4000/* if I2C_FUNC_NOSTART */ +#define I2C_M_REV_DIR_ADDR 0x2000/* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_IGNORE_NAK 0x1000/* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_NO_RD_ACK 0x0800/* if I2C_FUNC_PROTOCOL_MANGLING */
Quoted 1 line
+#define
I2C_M_RECV_LEN0x0400/* length will be first receivedbyte */
Quoted 33 lines
drivers/i2c/pxa_i2c.c new file +32
-0+#define I2C_M_FIRST 0x0800/* First message in a chain */ +u16 len; +u8 *buf; +}; + +struct pxa_i2c_state { +struct pxa_i2c_msg *msg; +unsigned int msg_num; +unsigned int msg_ptr; +}; + +#define STD_I2C_BASE 0x40301680 +#if defined(CONFIG_CPU_PXA27X ) || defined(CONFIG_CPU_PXA25X ) +#define PWR_I2C_BASE 0x40f00180 +#define IBMR_OFFSET 0x00 +#define IDBR_OFFSET 0x08 +#define ICR_OFFSET 0x10 +#define ISR_OFFSET 0x18 +#define ISAR_OFFSET 0x20 +#elif defined(CONFIG_CPU_MONAHANS ) +#define PWR_I2C_BASE 0x40f500c0 +#define IBMR_OFFSET 0x00 +#define IDBR_OFFSET 0x04 +#define ICR_OFFSET 0x08 +#define ISR_OFFSET 0x0c +#define ISAR_OFFSET 0x10 +#endif + +static inline void __iomem * +pxa_i2c_base (const struct i2c_adapter *adap) +{ + return (adap->hwadapnr == 0) ? (void *)STD_I2C_BASE : (void*)PWR_I2C_BASE; +}
drivers/i2c/pxa_i2c.c line 187
Quoted 5 lines
drivers/i2c/pxa_i2c.c new file +5
-0+ +static inline void __iomem * +pxa_i2c_ibmr (const struct i2c_adapter *adap) +{ +return (void *)((char *)pxa_i2c_base (adap) +IBMR_OFFSET );No need for these hideous casts, just use
pxa_i2c_base()+ OFFSET in the code.Quoted 1 line
+}
[...]
drivers/i2c/pxa_i2c.c line 329
Quoted 8 lines
drivers/i2c/pxa_i2c.c new file +8
-0+static void +i2c_pxa_abort (struct i2c_adapter *adap) +{ +unsigned long long end; + + end =get_ticks () + (get_tbclk () /1000 ) *ABORT_LENGTH_MS ; + + while ((get_ticks() < end) &&Please use
get_timer()to implement the delay loop.time =
get_timer(0);while (true) { reg = readl(); if (reg & bit) break; if (get_timer(time) > timeout) return -ETIMEDOUT; }Also, the lpc32xx patches recently implemented a
wait_for_bit()function. If you make this generic, that'd be really cool.Quoted 5 lines
drivers/i2c/pxa_i2c.c new file +5
-0+ (readl(_IBMR(adap)) & 0x1) == 0) { +unsigned long icr =readl (_ICR (adap)); + + icr &= ~ICR_START ; + icr |=ICR_ACKNAK |ICR_STOP |ICR_TB ;drivers/i2c/pxa_i2c.c line 344
Quoted 10 lines
drivers/i2c/pxa_i2c.c new file +10
-0+ +writel (icr,_ICR (adap)); + +show_state (adap); + +mdelay (1 ); + } + +writel (readl (_ICR (adap)) & ~(ICR_MA |ICR_START |ICR_STOP ), +_ICR (adap));Please use
clrsetbits_le32();Quoted 1 line
+}
[...]
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
Quoted 9 lines · Andrew Ruder
Quoted 5 lines · Marek Vasut
On Wednesday, August 12, 2015 at 08:43:52 PM, Andrew Ruder wrote:
Commit message is missing :'-(
I actually was going with subject being sufficient on this one. I'll fill in some more info on this as far as origin and what it has been tested on and send in again.
It's really a minor thing, but a commit message should always be present.
Thanks!
Best regards,
Marek Vasut
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
In reply to Marek VasutQuoted 10 lines · Marek Vasut
Quoted 9 lines · Andrew Ruder
drivers/i2c/pxa_i2c.c new file +9
-0+#if !defined(CONFIG_SYS_PXA_STD_I2C_SPEED ) +#define CONFIG_SYS_PXA_STD_I2C_SPEED 100000 +#endif + +#if !defined(CONFIG_SYS_PXA_STD_I2C_SLAVE ) +#define CONFIG_SYS_PXA_STD_I2C_SLAVE 1 +#endif + +#if !defined(CONFIG_SYS_PXA_PWR_I2C_SPEED )
Quoted 8 lines
drivers/i2c/pxa_i2c.c line 47
Quoted 6 lines
drivers/i2c/pxa_i2c.c new file +6
-0+#define CONFIG_SYS_PXA_PWR_I2C_SPEED 40000 +#endif + +#if !defined(CONFIG_SYS_PXA_PWR_I2C_SLAVE ) +#define CONFIG_SYS_PXA_PWR_I2C_SLAVE 1 +#endif Please remove all this stuff, it's only going to hide bugs.
Hide in what way? Just require that ports define them when enabling the i2c driver? ... or don't make it externally configurable?
Thanks,
Andrew
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
In reply to Andrew RuderQuoted 5 lines · Andrew Ruder
Cc Marek Vasut <[email protected]>Cc Heiko Schocher <[email protected]>Signed-off-by Andrew Ruder <[email protected]>---
Quoted 11 lines
This driver was written before the driver model stuff was really around (or at
least based on a U-Boot version that only had very preliminary support) so
there might be some older conventions in use here. I have tested on a PXA270
board running upstream master with this driver, however - so to some extent
this all still works fine. Let me know if things need to change to be
accepted, and I'll try to find some time to update!
Apart from the missing commit message.
Tested-on: Colibri PXA270 V1.2C, V1.2D, V2.2B, V2.4A on Colibri Evaluation Board V3.1A
Note: While power I2C works on the older V1.2C version it does not seem to work on any of the newer ones but this might just be a pin muxing resp. missing pull up issue.
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
Quoted 18 lines · Marcel Ziswiler
Quoted 5 lines · Andrew Ruder
Cc Marek Vasut <[email protected]>Cc Heiko Schocher <[email protected]>Signed-off-by Andrew Ruder <[email protected]>---
Quoted 11 lines
This driver was written before the driver model stuff was really around (or at
least based on a U-Boot version that only had very preliminary support) so
there might be some older conventions in use here. I have tested on a PXA270
board running upstream master with this driver, however - so to some extent
this all still works fine. Let me know if things need to change to be
accepted, and I'll try to find some time to update!
Quoted 3 lines
Apart from the missing commit message.
Signed-off-by Marcel Ziswiler <[email protected]>
I think you're misunderstanding the meaning of a SoB line here, the SoB line is a certificate of origin. You didn't write the driver and/or you didn't make changes to it, so you don't place your certificate on it :)
Quoted 1 line
Tested-by Marcel Ziswiler <[email protected]>
This one is of course good.
Quoted 1 line
Tested-on: Colibri PXA270 V1.2C, V1.2D, V2.2B, V2.4A on Colibri
Is this some kind of a newly invented tag ? :-)
Quoted 4 lines
Evaluation Board V3.1A
Note: While power I2C works on the older V1.2C version it does not seem to work on any of the newer ones but this might just be a pin muxing resp. missing pull up issue.
Very nice. Btw. how do you bootstrap those modules, do you use that OpenPXA OBM or OBM2 or something else entirely ?
Best regards,
Marek Vasut
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
Quoted 10 lines · Marek Vasut
Quoted 3 lines
Apart from the missing commit message.
Signed-off-by Marcel Ziswiler <[email protected]>I think you're misunderstanding the meaning of a SoB line here, the SoB
line is a certificate of origin. You didn't write the driver and/or you
didn't make changes to it, so you don't place your certificate on it :)
Yeah, it's kind of late. Should have been an Acked-by of course, sorry.
Quoted 7 lines
Quoted 1 line
Tested-by Marcel Ziswiler <[email protected]>This one is of course good.
Quoted 1 line
Tested-on: Colibri PXA270 V1.2C, V1.2D, V2.2B, V2.4A on Colibri
Is this some kind of a newly invented tag ? :-)
Well, others have been using that one on and off for a while. So at least I am not the inventor (;-p).
Quoted 10 lines
Quoted 2 lines
Evaluation Board V3.1A
Note: While power I2C works on the older V1.2C version it does notseem
Quoted 1 line
to work on any of the newer ones but this might just be a pin
muxing
Quoted 1 line
resp. missing pull up issue.
Very nice. Btw. how do you bootstrap those modules, do you use that OpenPXA
OBM or OBM2 or something else entirely ?
No, I never used any of that crap. Just purely U-Boot even on the PXA3xx but the PXA270 being just a regular NOR beast is really nothing special. Just using ye olde BDI2000 if things go awry. Unfortunately my PXA3xx U-Boot NAND SPL stuff never made it mainline and you since dropped PXA3xx support entirely. If I ever get some precious time I might actually re-add those again especially now with Marvell having committed to keep selling us PXA320 chips to 2020.
PATCH 1/1 i2c: adding driver for pxa27x, pxa3xx, pxa25x
Quoted 11 lines · Marcel Ziswiler
Quoted 10 lines · Marek Vasut
Quoted 3 lines
Apart from the missing commit message.
Signed-off-by Marcel Ziswiler <[email protected]>I think you're misunderstanding the meaning of a SoB line here, the SoB
line is a certificate of origin. You didn't write the driver and/or you
didn't make changes to it, so you don't place your certificate on it
Quoted 3 lines
Quoted 1 line
:)
Yeah, it's kind of late. Should have been an Acked-by of course, sorry.
I can understand that :)
Quoted 10 lines
Quoted 7 lines
Quoted 1 line
Tested-by Marcel Ziswiler <[email protected]>This one is of course good.
Quoted 1 line
Tested-on: Colibri PXA270 V1.2C, V1.2D, V2.2B, V2.4A on Colibri
Is this some kind of a newly invented tag ? :-)
Well, others have been using that one on and off for a while. So at least I am not the inventor (;-p).
Heh :)
Quoted 9 lines
Quoted 9 lines
Quoted 2 lines
Evaluation Board V3.1A
Note: While power I2C works on the older V1.2C version it does notseem
Quoted 1 line
to work on any of the newer ones but this might just be a pin
muxing
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
resp. missing pull up issue.
Very nice. Btw. how do you bootstrap those modules, do you use that OpenPXA
OBM or OBM2 or something else entirely ?No, I never used any of that crap.
Well sorry it wasn't to your liking ... ;-)
Quoted 7 lines
Just purely U-Boot even on the
PXA3xx but the PXA270 being just a regular NOR beast is really nothing special. Just using ye olde BDI2000 if things go awry. Unfortunately my PXA3xx U-Boot NAND SPL stuff never made it mainline and you since dropped PXA3xx support entirely. If I ever get some precious time I might actually re-add those again especially now with Marvell having committed to keep selling us PXA320 chips to 2020.
There is some very rudimentary SPL support in the u-boot-pxa, but it's really old.
Best regards,
Marek Vasut