diff mbox series

[U-Boot] tools/imximage: fix reported DCD information for MX7ULP

Message ID 20191128103321.7285-1-jorge@foundries.io
State Changes Requested
Delegated to: Stefano Babic
Headers show
Series [U-Boot] tools/imximage: fix reported DCD information for MX7ULP | expand

Commit Message

Jorge Ramirez-Ortiz Nov. 28, 2019, 10:33 a.m. UTC
On the MX7ULP, OCRAM for DCD is at 0x2f010000

Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
---
 tools/imximage.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Jorge Ramirez-Ortiz, LDTS Dec. 2, 2019, 9:44 a.m. UTC | #1
On 28/11/19 11:33:21, Jorge Ramirez-Ortiz wrote:
> On the MX7ULP, OCRAM for DCD is at 0x2f010000

any comments?

do notice that this is not trivial debug information: this is required
for security puposes so images can then be signed and booted via
SDP. Dumping the wrong information here is important stuff.


> 
> Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
> ---
>  tools/imximage.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/tools/imximage.c b/tools/imximage.c
> index d7c0b6e883..762a06d468 100644
> --- a/tools/imximage.c
> +++ b/tools/imximage.c
> @@ -11,6 +11,7 @@
>  #include "imagetool.h"
>  #include <image.h>
>  #include "imximage.h"
> +#include <generated/autoconf.h>
>  
>  #define UNDEFINED 0xFFFFFFFF
>  
> @@ -524,8 +525,13 @@ static void print_hdr_v2(struct imx_header *imx_hdr)
>  			printf("HAB Blocks:   0x%08x 0x%08x 0x%08x\n",
>  			       (uint32_t)fhdr_v2->self, 0,
>  			       (uint32_t)(fhdr_v2->csf - fhdr_v2->self));
> +#ifndef CONFIG_MX7ULP
>  			printf("DCD Blocks:   0x00910000 0x%08x 0x%08x\n",
>  			       offs, be16_to_cpu(dcdlen));
> +#else
> +			printf("DCD Blocks:   0x2f010000 0x%08x 0x%08x\n",
> +			       offs, be16_to_cpu(dcdlen));
> +#endif
>  		}
>  	} else {
>  		imx_header_v2_t *next_hdr_v2;
> -- 
> 2.17.1
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Fabio Estevam Dec. 2, 2019, 1:42 p.m. UTC | #2
Hi Jorge,

Adding Breno.

On Thu, Nov 28, 2019 at 7:33 AM Jorge Ramirez-Ortiz <jorge@foundries.io> wrote:
>
> On the MX7ULP, OCRAM for DCD is at 0x2f010000
>
> Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
> ---
>  tools/imximage.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/tools/imximage.c b/tools/imximage.c
> index d7c0b6e883..762a06d468 100644
> --- a/tools/imximage.c
> +++ b/tools/imximage.c
> @@ -11,6 +11,7 @@
>  #include "imagetool.h"
>  #include <image.h>
>  #include "imximage.h"
> +#include <generated/autoconf.h>
>
>  #define UNDEFINED 0xFFFFFFFF
>
> @@ -524,8 +525,13 @@ static void print_hdr_v2(struct imx_header *imx_hdr)
>                         printf("HAB Blocks:   0x%08x 0x%08x 0x%08x\n",
>                                (uint32_t)fhdr_v2->self, 0,
>                                (uint32_t)(fhdr_v2->csf - fhdr_v2->self));
> +#ifndef CONFIG_MX7ULP
>                         printf("DCD Blocks:   0x00910000 0x%08x 0x%08x\n",
>                                offs, be16_to_cpu(dcdlen));
> +#else
> +                       printf("DCD Blocks:   0x2f010000 0x%08x 0x%08x\n",
> +                              offs, be16_to_cpu(dcdlen));
> +#endif

Can we make the DCD OCRAM a variable passed via Kconfig and selected
by SoC type?

This way we don't need to keep changing this for future SoCs.

What do you think?
Jorge Ramirez-Ortiz Dec. 3, 2019, 2:07 p.m. UTC | #3
On 02/12/19 10:42:13, Fabio Estevam wrote:
> Hi Jorge,
> 
> Adding Breno.
> 
> On Thu, Nov 28, 2019 at 7:33 AM Jorge Ramirez-Ortiz <jorge@foundries.io> wrote:
> >
> > On the MX7ULP, OCRAM for DCD is at 0x2f010000
> >
> > Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
> > ---
> >  tools/imximage.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/tools/imximage.c b/tools/imximage.c
> > index d7c0b6e883..762a06d468 100644
> > --- a/tools/imximage.c
> > +++ b/tools/imximage.c
> > @@ -11,6 +11,7 @@
> >  #include "imagetool.h"
> >  #include <image.h>
> >  #include "imximage.h"
> > +#include <generated/autoconf.h>
> >
> >  #define UNDEFINED 0xFFFFFFFF
> >
> > @@ -524,8 +525,13 @@ static void print_hdr_v2(struct imx_header *imx_hdr)
> >                         printf("HAB Blocks:   0x%08x 0x%08x 0x%08x\n",
> >                                (uint32_t)fhdr_v2->self, 0,
> >                                (uint32_t)(fhdr_v2->csf - fhdr_v2->self));
> > +#ifndef CONFIG_MX7ULP
> >                         printf("DCD Blocks:   0x00910000 0x%08x 0x%08x\n",
> >                                offs, be16_to_cpu(dcdlen));
> > +#else
> > +                       printf("DCD Blocks:   0x2f010000 0x%08x 0x%08x\n",
> > +                              offs, be16_to_cpu(dcdlen));
> > +#endif
> 
> Can we make the DCD OCRAM a variable passed via Kconfig and selected
> by SoC type?
> 
> This way we don't need to keep changing this for future SoCs.
> 
> What do you think?

sure that would work. given that the default 0x00910000 is valid on
most of the cases - well all but the mx7ulp - we could apply this default and only change to the
Kconfig value if defined.

should we go for that?
Fabio Estevam Dec. 3, 2019, 4:32 p.m. UTC | #4
Hi Jorge,

On Tue, Dec 3, 2019 at 11:07 AM Jorge Ramirez-Ortiz, Foundries
<jorge@foundries.io> wrote:

> sure that would work. given that the default 0x00910000 is valid on
> most of the cases - well all but the mx7ulp - we could apply this default and only change to the
> Kconfig value if defined.
>
> should we go for that?

Yes, that would be fine.
diff mbox series

Patch

diff --git a/tools/imximage.c b/tools/imximage.c
index d7c0b6e883..762a06d468 100644
--- a/tools/imximage.c
+++ b/tools/imximage.c
@@ -11,6 +11,7 @@ 
 #include "imagetool.h"
 #include <image.h>
 #include "imximage.h"
+#include <generated/autoconf.h>
 
 #define UNDEFINED 0xFFFFFFFF
 
@@ -524,8 +525,13 @@  static void print_hdr_v2(struct imx_header *imx_hdr)
 			printf("HAB Blocks:   0x%08x 0x%08x 0x%08x\n",
 			       (uint32_t)fhdr_v2->self, 0,
 			       (uint32_t)(fhdr_v2->csf - fhdr_v2->self));
+#ifndef CONFIG_MX7ULP
 			printf("DCD Blocks:   0x00910000 0x%08x 0x%08x\n",
 			       offs, be16_to_cpu(dcdlen));
+#else
+			printf("DCD Blocks:   0x2f010000 0x%08x 0x%08x\n",
+			       offs, be16_to_cpu(dcdlen));
+#endif
 		}
 	} else {
 		imx_header_v2_t *next_hdr_v2;