[flashrom] [PATCH 1/3] 128 bytes write granularity support

Nico Huber nico.h at gmx.de
Wed Oct 14 21:43:04 CEST 2015


On 10.10.2015 16:20, Paul Kocialkowski wrote:
> Some chips such as the ENE KB9012 internal flash require a write granularity of
> 128 bytes.
> 
> Signed-off-by: Paul Kocialkowski <contact at paulk.fr>
clean patch, +2

> ---
>  flash.h    | 1 +
>  flashrom.c | 6 ++++++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/flash.h b/flash.h
> index 2c2839f..24861ba 100644
> --- a/flash.h
> +++ b/flash.h
> @@ -85,6 +85,7 @@ enum write_granularity {
>  	write_gran_1bit,	/* Each bit can be cleared individually. */
>  	write_gran_1byte,	/* A byte can be written once. Further writes to an already written byte cause
>  				 * its contents to be either undefined or to stay unchanged. */
> +	write_gran_128bytes,	/* If less than 128 bytes are written, the unwritten bytes are undefined. */
>  	write_gran_264bytes,	/* If less than 264 bytes are written, the unwritten bytes are undefined. */
>  	write_gran_512bytes,	/* If less than 512 bytes are written, the unwritten bytes are undefined. */
>  	write_gran_528bytes,	/* If less than 528 bytes are written, the unwritten bytes are undefined. */
> diff --git a/flashrom.c b/flashrom.c
> index d51a44c..c9c7e31 100644
> --- a/flashrom.c
> +++ b/flashrom.c
> @@ -781,6 +781,9 @@ int need_erase(const uint8_t *have, const uint8_t *want, unsigned int len, enum
>  				break;
>  			}
>  		break;
> +	case write_gran_128bytes:
> +		result = need_erase_gran_bytes(have, want, len, 128);
> +		break;
>  	case write_gran_256bytes:
>  		result = need_erase_gran_bytes(have, want, len, 256);
>  		break;
> @@ -847,6 +850,9 @@ static unsigned int get_next_write(const uint8_t *have, const uint8_t *want, uns
>  	case write_gran_1byte_implicit_erase:
>  		stride = 1;
>  		break;
> +	case write_gran_128bytes:
> +		stride = 128;
> +		break;
>  	case write_gran_256bytes:
>  		stride = 256;
>  		break;
> 





More information about the flashrom mailing list