* [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes
@ 2012-05-24 14:01 Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 1/4] cm-t35: reduce the environment size Igor Grinberg
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Igor Grinberg @ 2012-05-24 14:01 UTC (permalink / raw)
To: u-boot
This patch set fixes various board revsion related issues,
adds the PCB revision information printing and reduces the
environment size.
Igor Grinberg (1):
cm-t35: reduce the environment size
Nikita Kiryanov (3):
cm-t35: fix incorrect BOARD_REV_SIZE value
cm-t35: fix legacy board revision representation
cm-t35: print PCB revision information
board/cm_t35/cm_t35.c | 22 ++++++++++++++++++++++
board/cm_t35/eeprom.c | 26 ++++++++++++++++----------
board/cm_t35/eeprom.h | 5 +++++
include/configs/cm_t35.h | 3 +--
4 files changed, 44 insertions(+), 12 deletions(-)
--
1.7.3.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/4] cm-t35: reduce the environment size
2012-05-24 14:01 [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Igor Grinberg
@ 2012-05-24 14:01 ` Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 2/4] cm-t35: fix incorrect BOARD_REV_SIZE value Igor Grinberg
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Igor Grinberg @ 2012-05-24 14:01 UTC (permalink / raw)
To: u-boot
Reduce the environment size (128KB => 16KB) to improve the environment
operations time (e.g. reading, ecc calculation).
Also, remove the unused CONFIG_SYS_ENV_SECT_SIZE.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
include/configs/cm_t35.h | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index cac7bd1..7f13e79 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -77,7 +77,7 @@
/*
* Size of malloc() pool
*/
-#define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */
+#define CONFIG_ENV_SIZE (16 << 10) /* 16 KiB */
/* Sector */
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128 << 10))
@@ -325,7 +325,6 @@
#define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */
#define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */
-#define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */
#define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET
#define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET
--
1.7.3.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 2/4] cm-t35: fix incorrect BOARD_REV_SIZE value
2012-05-24 14:01 [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 1/4] cm-t35: reduce the environment size Igor Grinberg
@ 2012-05-24 14:01 ` Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 3/4] cm-t35: fix legacy board revision representation Igor Grinberg
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Igor Grinberg @ 2012-05-24 14:01 UTC (permalink / raw)
To: u-boot
From: Nikita Kiryanov <nikita@compulab.co.il>
Non-legacy layouts have an extended revision field,
but only the first 2 bytes are the PCB revision.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
board/cm_t35/eeprom.c | 10 +++-------
1 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/board/cm_t35/eeprom.c b/board/cm_t35/eeprom.c
index dfa171d..6053811 100644
--- a/board/cm_t35/eeprom.c
+++ b/board/cm_t35/eeprom.c
@@ -27,8 +27,7 @@
#define BOARD_SERIAL_OFFSET_LEGACY 8
#define BOARD_REV_OFFSET 0
#define BOARD_REV_OFFSET_LEGACY 6
-#define BOARD_REV_SIZE 4
-#define BOARD_REV_SIZE_LEGACY 2
+#define BOARD_REV_SIZE 2
#define MAC_ADDR_OFFSET 4
#define MAC_ADDR_OFFSET_LEGACY 0
@@ -107,17 +106,14 @@ u32 get_board_rev(void)
{
u32 rev = 0;
uint offset = BOARD_REV_OFFSET_LEGACY;
- int len = BOARD_REV_SIZE_LEGACY;
if (eeprom_setup_layout())
return 0;
- if (eeprom_layout != LAYOUT_LEGACY) {
+ if (eeprom_layout != LAYOUT_LEGACY)
offset = BOARD_REV_OFFSET;
- len = BOARD_REV_SIZE;
- }
- if (cm_t3x_eeprom_read(offset, (uchar *)&rev, len))
+ if (cm_t3x_eeprom_read(offset, (uchar *)&rev, BOARD_REV_SIZE))
return 0;
return rev;
--
1.7.3.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 3/4] cm-t35: fix legacy board revision representation
2012-05-24 14:01 [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 1/4] cm-t35: reduce the environment size Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 2/4] cm-t35: fix incorrect BOARD_REV_SIZE value Igor Grinberg
@ 2012-05-24 14:01 ` Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 4/4] cm-t35: print PCB revision information Igor Grinberg
2012-05-25 15:05 ` [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Tom Rini
4 siblings, 0 replies; 8+ messages in thread
From: Igor Grinberg @ 2012-05-24 14:01 UTC (permalink / raw)
To: u-boot
From: Nikita Kiryanov <nikita@compulab.co.il>
Legacy eeprom layout represents the revision number syntactically
(i.e. revision 1.00 is written as 0x100). This is inconsistent with
the representation in newer layouts, where it is defined semantically
(i.e. 0x64).
This patch fixes the issue by replacing the syntactic representation
with the semantic one.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
board/cm_t35/eeprom.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/board/cm_t35/eeprom.c b/board/cm_t35/eeprom.c
index 6053811..4986b23 100644
--- a/board/cm_t35/eeprom.c
+++ b/board/cm_t35/eeprom.c
@@ -105,6 +105,7 @@ int cm_t3x_eeprom_read_mac_addr(uchar *buf)
u32 get_board_rev(void)
{
u32 rev = 0;
+ char str[5]; /* Legacy representation can contain at most 4 digits */
uint offset = BOARD_REV_OFFSET_LEGACY;
if (eeprom_setup_layout())
@@ -116,5 +117,14 @@ u32 get_board_rev(void)
if (cm_t3x_eeprom_read(offset, (uchar *)&rev, BOARD_REV_SIZE))
return 0;
+ /*
+ * Convert legacy syntactic representation to semantic
+ * representation. i.e. for rev 1.00: 0x100 --> 0x64
+ */
+ if (eeprom_layout == LAYOUT_LEGACY) {
+ sprintf(str, "%x", rev);
+ rev = simple_strtoul(str, NULL, 10);
+ }
+
return rev;
};
--
1.7.3.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 4/4] cm-t35: print PCB revision information
2012-05-24 14:01 [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Igor Grinberg
` (2 preceding siblings ...)
2012-05-24 14:01 ` [U-Boot] [PATCH 3/4] cm-t35: fix legacy board revision representation Igor Grinberg
@ 2012-05-24 14:01 ` Igor Grinberg
2012-05-24 18:11 ` Tom Rini
2012-05-25 15:05 ` [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Tom Rini
4 siblings, 1 reply; 8+ messages in thread
From: Igor Grinberg @ 2012-05-24 14:01 UTC (permalink / raw)
To: u-boot
From: Nikita Kiryanov <nikita@compulab.co.il>
Buffer the PCB revision to avoid multiple eeprom accesses
for the same data and print it as a part of board information.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
board/cm_t35/cm_t35.c | 22 ++++++++++++++++++++++
board/cm_t35/eeprom.c | 6 +++---
board/cm_t35/eeprom.h | 5 +++++
3 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/board/cm_t35/cm_t35.c b/board/cm_t35/cm_t35.c
index d5bc581..60e0b06 100644
--- a/board/cm_t35/cm_t35.c
+++ b/board/cm_t35/cm_t35.c
@@ -101,12 +101,34 @@ int board_init(void)
return 0;
}
+static u32 cm_t3x_rev;
+
+/*
+ * Routine: get_board_rev
+ * Description: read system revision
+ */
+u32 get_board_rev(void)
+{
+ if (!cm_t3x_rev)
+ cm_t3x_rev = cm_t3x_eeprom_get_board_rev();
+
+ return cm_t3x_rev;
+};
+
/*
* Routine: misc_init_r
* Description: display die ID
*/
int misc_init_r(void)
{
+ u32 board_rev = get_board_rev();
+ u32 rev_major = board_rev / 100;
+ u32 rev_minor = board_rev - (rev_major * 100);
+
+ if ((rev_minor / 10) * 10 == rev_minor)
+ rev_minor = rev_minor / 10;
+
+ printf("PCB: %u.%u\n", rev_major, rev_minor);
dieid_num_r();
return 0;
diff --git a/board/cm_t35/eeprom.c b/board/cm_t35/eeprom.c
index 4986b23..b0af103 100644
--- a/board/cm_t35/eeprom.c
+++ b/board/cm_t35/eeprom.c
@@ -99,10 +99,10 @@ int cm_t3x_eeprom_read_mac_addr(uchar *buf)
}
/*
- * Routine: get_board_rev
- * Description: read system revision
+ * Routine: cm_t3x_eeprom_get_board_rev
+ * Description: read system revision from eeprom
*/
-u32 get_board_rev(void)
+u32 cm_t3x_eeprom_get_board_rev(void)
{
u32 rev = 0;
char str[5]; /* Legacy representation can contain at most 4 digits */
diff --git a/board/cm_t35/eeprom.h b/board/cm_t35/eeprom.h
index ec772c6..38824d1 100644
--- a/board/cm_t35/eeprom.h
+++ b/board/cm_t35/eeprom.h
@@ -23,11 +23,16 @@
#ifdef CONFIG_DRIVER_OMAP34XX_I2C
int cm_t3x_eeprom_read_mac_addr(uchar *buf);
+u32 cm_t3x_eeprom_get_board_rev(void);
#else
static inline int cm_t3x_eeprom_read_mac_addr(uchar *buf)
{
return 1;
}
+static inline u32 cm_t3x_eeprom_get_board_rev(void)
+{
+ return 0;
+}
#endif
#endif
--
1.7.3.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 4/4] cm-t35: print PCB revision information
2012-05-24 14:01 ` [U-Boot] [PATCH 4/4] cm-t35: print PCB revision information Igor Grinberg
@ 2012-05-24 18:11 ` Tom Rini
2012-05-25 5:50 ` Igor Grinberg
0 siblings, 1 reply; 8+ messages in thread
From: Tom Rini @ 2012-05-24 18:11 UTC (permalink / raw)
To: u-boot
On Thu, May 24, 2012 at 05:01:24PM +0300, Igor Grinberg wrote:
> From: Nikita Kiryanov <nikita@compulab.co.il>
>
> Buffer the PCB revision to avoid multiple eeprom accesses
> for the same data and print it as a part of board information.
>
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Note that this doesn't apply directly to mainline as cm_t35 had been
switched to the weak dieid-printing only misc_init_r. I've done the
trivial fixup to make this work again and will signed-off-by in my pull
request.
--
Tom
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 4/4] cm-t35: print PCB revision information
2012-05-24 18:11 ` Tom Rini
@ 2012-05-25 5:50 ` Igor Grinberg
0 siblings, 0 replies; 8+ messages in thread
From: Igor Grinberg @ 2012-05-25 5:50 UTC (permalink / raw)
To: u-boot
Hi Tom,
On 05/24/12 21:11, Tom Rini wrote:
> On Thu, May 24, 2012 at 05:01:24PM +0300, Igor Grinberg wrote:
>> From: Nikita Kiryanov <nikita@compulab.co.il>
>>
>> Buffer the PCB revision to avoid multiple eeprom accesses
>> for the same data and print it as a part of board information.
>>
>> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
>> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
>
> Note that this doesn't apply directly to mainline as cm_t35 had been
> switched to the weak dieid-printing only misc_init_r.
Yeah, I forgot about that patch... sorry...
> I've done the
> trivial fixup to make this work again and will signed-off-by in my pull
> request.
Thanks a lot!
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes
2012-05-24 14:01 [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Igor Grinberg
` (3 preceding siblings ...)
2012-05-24 14:01 ` [U-Boot] [PATCH 4/4] cm-t35: print PCB revision information Igor Grinberg
@ 2012-05-25 15:05 ` Tom Rini
4 siblings, 0 replies; 8+ messages in thread
From: Tom Rini @ 2012-05-25 15:05 UTC (permalink / raw)
To: u-boot
On Thu, May 24, 2012 at 05:01:20PM +0300, Igor Grinberg wrote:
> This patch set fixes various board revsion related issues,
> adds the PCB revision information printing and reduces the
> environment size.
>
> Igor Grinberg (1):
> cm-t35: reduce the environment size
>
> Nikita Kiryanov (3):
> cm-t35: fix incorrect BOARD_REV_SIZE value
> cm-t35: fix legacy board revision representation
> cm-t35: print PCB revision information
>
> board/cm_t35/cm_t35.c | 22 ++++++++++++++++++++++
> board/cm_t35/eeprom.c | 26 ++++++++++++++++----------
> board/cm_t35/eeprom.h | 5 +++++
> include/configs/cm_t35.h | 3 +--
> 4 files changed, 44 insertions(+), 12 deletions(-)
With the note I sent before about fixing up the last patch, applied to
u-boot-ti/master, thanks.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120525/ce0edfe4/attachment.pgp>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-05-25 15:05 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-24 14:01 [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 1/4] cm-t35: reduce the environment size Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 2/4] cm-t35: fix incorrect BOARD_REV_SIZE value Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 3/4] cm-t35: fix legacy board revision representation Igor Grinberg
2012-05-24 14:01 ` [U-Boot] [PATCH 4/4] cm-t35: print PCB revision information Igor Grinberg
2012-05-24 18:11 ` Tom Rini
2012-05-25 5:50 ` Igor Grinberg
2012-05-25 15:05 ` [U-Boot] [PATCH 0/4] cm-t35 updates and non-critical fixes Tom Rini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox