[DNX#2006040142000062] [U-Boot-Users] [PATCH] eliminate assumptions about [...]
DENX Support System
support at denx.de
Sat Apr 1 00:20:04 CEST 2006
Hello list,
inside the automatic U-Boot patch tracking system a new ticket
[DNX#2006040142000062] was created:
<snip>
> Hi,
>
> the dataflash driver contains a hard-coded partition table which might
> suit one particular board (which I doubt, however) but certainly isn't
> generally applicable.
>
> Furthermore, it write-protects the first two partitions, which violates
> the U-Boot standard of allowing the user enough rope to shoot himself
> in the foot.
>
> Besides, the dataflash partitions aren't even on sector boundaries (the
> dataflash chips have rather unusual sector sizes; 528 or 1056 bytes,
> which makes one wonder what the folks at Atmel are smoking).
>
> The patch below places the entire dataflash in one (writable) partition.
>
> Cheers
> Anders
>
> Signed-off-by: Anders Larsen <alarsen at rea.de>
>
> CHANGELOG:
> Don't write-protect arbitrary areas of Atmel dataflash
> Patch by Anders Larsen, 13 Oct 2005
>
> ---
>
> drivers/dataflash.c | 7 ++-----
> include/dataflash.h | 4 ++--
> 2 files changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/dataflash.c b/drivers/dataflash.c
> index ded0395..a558dba 100644
> --- a/drivers/dataflash.c
> +++ b/drivers/dataflash.c
> @@ -33,10 +33,7 @@ int cs[][CFG_MAX_DATAFLASH_BANKS] = {
>
> /*define the area offsets*/
> dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
> - {0, 0x7fff, FLAG_PROTECT_SET}, /* ROM code */
> - {0x8000, 0x1ffff, FLAG_PROTECT_SET}, /* u-boot code */
> - {0x20000, 0x27fff, FLAG_PROTECT_CLEAR}, /* u-boot environment */
> - {0x28000, 0x1fffff, FLAG_PROTECT_CLEAR}, /* data area size to tune */
> + {0, 0x1fffff, FLAG_PROTECT_CLEAR}, /* size tuned below */
> };
>
> extern void AT91F_SpiInit (void);
> @@ -110,7 +107,7 @@ int AT91F_DataflashInit (void)
> break;
> }
> /* set the last area end to the dataflash size*/
> - area_list[NB_DATAFLASH_AREA -1].end =
> + area_list[NB_DATAFLASH_AREA-1].end =
> (dataflash_info[i].Device.pages_number *
> dataflash_info[i].Device.pages_size)-1;
>
> diff --git a/include/dataflash.h b/include/dataflash.h
> index 650454e..825eec6 100644
> --- a/include/dataflash.h
> +++ b/include/dataflash.h
> @@ -37,8 +37,8 @@
> #include <asm/arch/hardware.h>
> #include "config.h"
>
> -/*number of protected area*/
> -#define NB_DATAFLASH_AREA 4
> +/*number of areas*/
> +#define NB_DATAFLASH_AREA 1
>
> /*define the area structure*/
> typedef struct {
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content, downloads,
> discussions,
> and more. http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users
</snip>
Your U-Boot support team
More information about the U-Boot
mailing list