On 16/03/2017 07:35, Peng Fan wrote:
> Add set bit command support.
> Usage: SET_BIT 4 [address] [bitmask]
> 
> Signed-off-by: Peng Fan <[email protected]>
> Cc: Stefano Babic <[email protected]>
> ---
>  tools/imximage.c | 12 ++++++++++++
>  tools/imximage.h |  4 +++-
>  2 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/imximage.c b/tools/imximage.c
> index 0c43196..eb7e682 100644
> --- a/tools/imximage.c
> +++ b/tools/imximage.c
> @@ -23,6 +23,7 @@ static table_entry_t imximage_cmds[] = {
>       {CMD_BOOT_OFFSET,       "BOOT_OFFSET",          "Boot offset",    },
>       {CMD_WRITE_DATA,        "DATA",                 "Reg Write Data", },
>       {CMD_WRITE_CLR_BIT,     "CLR_BIT",              "Reg clear bit",  },
> +     {CMD_WRITE_SET_BIT,     "SET_BIT",              "Reg set bit",  },
>       {CMD_CHECK_BITS_SET,    "CHECK_BITS_SET",   "Reg Check bits set", },
>       {CMD_CHECK_BITS_CLR,    "CHECK_BITS_CLR",   "Reg Check bits clr", },
>       {CMD_CSF,               "CSF",           "Command Sequence File", },
> @@ -204,6 +205,15 @@ static void set_dcd_param_v2(struct imx_header *imxhdr, 
> uint32_t dcd_len,
>               d->write_dcd_command.length = cpu_to_be16(4);
>               d->write_dcd_command.param = DCD_WRITE_CLR_BIT_PARAM;
>               break;
> +     case CMD_WRITE_SET_BIT:
> +             if ((d->write_dcd_command.tag == DCD_WRITE_DATA_COMMAND_TAG) &&
> +                 (d->write_dcd_command.param == DCD_WRITE_SET_BIT_PARAM))
> +                     break;
> +             d = d2;
> +             d->write_dcd_command.tag = DCD_WRITE_DATA_COMMAND_TAG;
> +             d->write_dcd_command.length = cpu_to_be16(4);
> +             d->write_dcd_command.param = DCD_WRITE_SET_BIT_PARAM;
> +             break;
>       /*
>        * Check data command only supports one entry,
>        */
> @@ -636,6 +646,7 @@ static void parse_cfg_cmd(struct imx_header *imxhdr, 
> int32_t cmd, char *token,
>               break;
>       case CMD_WRITE_DATA:
>       case CMD_WRITE_CLR_BIT:
> +     case CMD_WRITE_SET_BIT:
>       case CMD_CHECK_BITS_SET:
>       case CMD_CHECK_BITS_CLR:
>               value = get_cfg_value(token, name, lineno);
> @@ -686,6 +697,7 @@ static void parse_cfg_fld(struct imx_header *imxhdr, 
> int32_t *cmd,
>               switch(*cmd) {
>               case CMD_WRITE_DATA:
>               case CMD_WRITE_CLR_BIT:
> +             case CMD_WRITE_SET_BIT:
>               case CMD_CHECK_BITS_SET:
>               case CMD_CHECK_BITS_CLR:
>  
> diff --git a/tools/imximage.h b/tools/imximage.h
> index db8b9a3..78d48bb 100644
> --- a/tools/imximage.h
> +++ b/tools/imximage.h
> @@ -50,7 +50,8 @@
>  #define DCD_VERSION                  0x40
>  #define DCD_WRITE_DATA_COMMAND_TAG   0xCC
>  #define DCD_WRITE_DATA_PARAM         0x4
> -#define DCD_WRITE_CLR_BIT_PARAM      0xC
> +#define DCD_WRITE_CLR_BIT_PARAM              0xC
> +#define DCD_WRITE_SET_BIT_PARAM              0x1C
>  #define DCD_CHECK_DATA_COMMAND_TAG   0xCF
>  #define DCD_CHECK_BITS_SET_PARAM     0x14
>  #define DCD_CHECK_BITS_CLR_PARAM     0x04
> @@ -62,6 +63,7 @@ enum imximage_cmd {
>       CMD_BOOT_OFFSET,
>       CMD_WRITE_DATA,
>       CMD_WRITE_CLR_BIT,
> +     CMD_WRITE_SET_BIT,
>       CMD_CHECK_BITS_SET,
>       CMD_CHECK_BITS_CLR,
>       CMD_CSF,
> 

Reviewed-by: Stefano Babic <[email protected]>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: [email protected]
=====================================================================
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to