On Mon, Sep 21, 2020 at 04:37:59PM +1000, Damien Mascord wrote:
> Hi guys,
> 
> I am attempting to add support for the Freescale QorIQ P1020, as you can see
> in the attached diff, and even though it can connect to the target (tested
> using cable jlink), initbus can start, I am not able to peek or detectflash
> from that point on.
> 
> I have most probably done something incorrect in regards to the bus
> configuration, as my understanding of that part is quite minimal.
> 
> UrJTAG output is below during my attempts to get it working.
> 
> The reference manual can be found at 
> https://www.element14.com/community/docs/DOC-39744/l/freescale-reference-manual-for-p1020-qoriq-integrated-processor
> 
> Any idea of what could be wrong?

    :-)

 
> Cheers,
> Damien
> 
> 

> diff --git a/urjtag/configure.ac b/urjtag/configure.ac
> index 95d1d743..e1a5ae8a 100644
> --- a/urjtag/configure.ac
> +++ b/urjtag/configure.ac
> @@ -637,6 +637,7 @@ URJ_DRIVER_SET([bus], [
>       mpc824x
>       mpc8313
>       mpc837x
> +     p1020
>       ppc405ep
>       ppc440gx_ebc8
>       prototype
> diff --git a/urjtag/data/Makefile.am b/urjtag/data/Makefile.am
> index 7fb82f0f..62e916d7 100644
> --- a/urjtag/data/Makefile.am
> +++ b/urjtag/data/Makefile.am
> @@ -126,6 +126,8 @@ nobase_dist_pkgdata_DATA = \
>       freescale/mpc8378/mpc8378 \
>       freescale/mpc8379/STEPPINGS \
>       freescale/mpc8379/mpc8379 \
> +     freescale/p1020/STEPPINGS \
> +     freescale/p1020/p1020 \
>       ibm/PARTS \
>       ibm/ppc440gx/STEPPINGS \
>       ibm/ppc440gx/ppc440gx \
> diff --git a/urjtag/data/bsdl/STD_1149_1_2001 
> b/urjtag/data/bsdl/STD_1149_1_2001
> index a0e1c3e0..21a82f18 100644
> --- a/urjtag/data/bsdl/STD_1149_1_2001
> +++ b/urjtag/data/bsdl/STD_1149_1_2001
> @@ -1,259 +1,173 @@

Why?
> diff --git a/urjtag/data/freescale/PARTS b/urjtag/data/freescale/PARTS
> index 2f5adc77..eeb7f690 100644
> --- a/urjtag/data/freescale/PARTS
> +++ b/urjtag/data/freescale/PARTS
> @@ -27,5 +27,6 @@
>  0001100011100100 mpc8378     mpc8378e
>  0001100011100011 mpc8379     mpc8379
>  0001100011100010 mpc8379     mpc8379e
> +0110100011100010 p1020               p1020
>  
>  
> diff --git a/urjtag/po/fr.po b/urjtag/po/fr.po
> index bb858551..353c6a47 100644
> --- a/urjtag/po/fr.po
> +++ b/urjtag/po/fr.po
        ...  
> diff --git a/urjtag/po/rw.po b/urjtag/po/rw.po
> index 0899750a..60023848 100644
> --- a/urjtag/po/rw.po
> +++ b/urjtag/po/rw.po
        ...  
> diff --git a/urjtag/po/sk.po b/urjtag/po/sk.po
> index db86666e..44bbcd60 100644
> --- a/urjtag/po/sk.po
> +++ b/urjtag/po/sk.po
        ...



> diff --git a/urjtag/src/bsdl/bsdl_bison.y b/urjtag/src/bsdl/bsdl_bison.y
> index c00d3fd7..6f7be147 100644
> --- a/urjtag/src/bsdl/bsdl_bison.y
> +++ b/urjtag/src/bsdl/bsdl_bison.y
> @@ -192,6 +192,7 @@ void yyerror (urj_bsdl_parser_priv_t *, const char *);
>  
>  
>  %token CONSTANT PIN_MAP
> +%token PORT_GROUPING DIFFERENTIAL_CURRENT DIFFERENTIAL_VOLTAGE
>  %token PHYSICAL_PIN_MAP PIN_MAP_STRING
>  %token TAP_SCAN_IN TAP_SCAN_OUT TAP_SCAN_MODE TAP_SCAN_RESET
>  %token TAP_SCAN_CLOCK
> @@ -239,6 +240,8 @@ void yyerror (urj_bsdl_parser_priv_t *, const char *);
>  %type <integer> Disable_Value
>  %type <str> Standard_Reg
>  %type <str> Instruction_Name
> +%type <str> Port_Grouping_Type
> +%type <str> Port_Grouping
>  
>  %start BSDL_Statement
>  
> @@ -258,6 +261,7 @@ BSDL_Statement   : BSDL_Pin_Map
>                   | BSDL_Inst_Guard
>                   | BSDL_Inst_Private
>                   | BSDL_Idcode_Register
> +                 | BSDL_Port_Grouping
>                   | BSDL_Usercode_Register
>                   | BSDL_Register_Access
>                   | BSDL_Boundary_Length
> @@ -388,6 +392,31 @@ BSDL_Idcode_Register : IDCODE_REGISTER BIN_X_PATTERN
>                         { priv_data->jtag_ctrl->idcode = $2; }
>  ;
>  
> +/****************************************************************************/
> +BSDL_Port_Grouping : PORT_GROUPING Port_Grouping_Mapping
> +;
> +
> +Port_Grouping_Mapping : IDENTIFIER LPAREN Port_Grouping_List RPAREN
> +;
> +
> +Port_Grouping_Type : DIFFERENTIAL_VOLTAGE 
> +                                     | DIFFERENTIAL_CURRENT
> +;
> +
> +Port_Grouping_List : LPAREN Port_Grouping RPAREN
> +                    | Port_Grouping_List COMMA LPAREN Port_Grouping RPAREN
> +                    | error
> +                      {
> +                        Print_Error (priv_data, _("Error in Port Grouping 
> List"));
> +                        BUMP_ERROR;
> +                        YYABORT;
> +                      }
> +;
> +Port_Grouping      : IDENTIFIER LPAREN DECIMAL_NUMBER RPAREN COMMA 
> IDENTIFIER LPAREN DECIMAL_NUMBER RPAREN
> +                                     | IDENTIFIER COMMA IDENTIFIER
> +                      { free ($1); }
> +;
> +
>  
> /****************************************************************************/
>  BSDL_Usercode_Register : USERCODE_REGISTER BIN_X_PATTERN
>                           { priv_data->jtag_ctrl->usercode = $2; }
> diff --git a/urjtag/src/bsdl/bsdl_flex.l b/urjtag/src/bsdl/bsdl_flex.l
> index 1f7b98c9..6fc50859 100644
> --- a/urjtag/src/bsdl/bsdl_flex.l
> +++ b/urjtag/src/bsdl/bsdl_flex.l
> @@ -209,6 +209,7 @@ Boundary_Length      BOUNDARY_LENGTH
>  Boundary_Register    BOUNDARY_REGISTER
>  Idcode_Register      IDCODE_REGISTER
>  Usercode_Register    USERCODE_REGISTER
> +Port_Grouping        PORT_GROUPING
>  Boundary       BOUNDARY
>  Bypass         BYPASS
>  Clamp          CLAMP
> @@ -278,6 +279,7 @@ Recommended           RECOMMENDED
>  ISC_Illegal_Exit      ISC_ILLEGAL_EXIT
>  %%
>  {Constant}              {yyextra->Base = DECIMAL; return( CONSTANT ); }
> +{Port_Grouping}         {return( PORT_GROUPING ); }
>  {Pin_Map}               {return( PIN_MAP ); }
>  {Physical_Pin_Map}      {return( PHYSICAL_PIN_MAP ); }
>  {Pin_Map_String}        {return( PIN_MAP_STRING ); }
> diff --git a/urjtag/src/bsdl/bsdl_types.h b/urjtag/src/bsdl/bsdl_types.h
> index efe09579..44fe8f50 100644
> --- a/urjtag/src/bsdl/bsdl_types.h
> +++ b/urjtag/src/bsdl/bsdl_types.h
> @@ -144,6 +144,7 @@ struct jtag_ctrl
>      urj_vhdl_elem_t *vhdl_elem_last;
>      /* collected by BSDL parser */
>      char *idcode;               /* IDCODE string */
> +    char *port_grouping;             /* PORT_GROUPING string */
>      char *usercode;             /* USERCODE string */
>      int instr_len;
>      int bsr_len;
> diff --git a/urjtag/src/bus/Makefile.am b/urjtag/src/bus/Makefile.am
> index 3a082439..3fc9c265 100644
> --- a/urjtag/src/bus/Makefile.am
> +++ b/urjtag/src/bus/Makefile.am
> @@ -122,6 +122,10 @@ if ENABLE_BUS_MPC837X
>  libbus_la_SOURCES += mpc837x.c
>  endif
>  
> +if ENABLE_BUS_P1020
> +libbus_la_SOURCES += p1020.c

Where is the p1020.c  ?


> +endif
> +
>  if ENABLE_BUS_PPC405EP
>  libbus_la_SOURCES += ppc405ep.c
>  endif
> diff --git a/urjtag/src/bus/buses_list.h b/urjtag/src/bus/buses_list.h
> index aaaacc91..87728ef9 100644
> --- a/urjtag/src/bus/buses_list.h
> +++ b/urjtag/src/bus/buses_list.h
> @@ -98,6 +98,9 @@ _URJ_BUS(mpc8313)
>  #ifdef ENABLE_BUS_MPC837X
>  _URJ_BUS(mpc837x)
>  #endif
> +#ifdef ENABLE_BUS_P1020
> +_URJ_BUS(p1020)
> +#endif
>  #ifdef ENABLE_BUS_PPC405EP
>  _URJ_BUS(ppc405ep)
>  #endif




My conclustion for now:

  Original poster is on a trail where two new components were
  encountered.



I hope the next patches are better.




Groeten
Geert Stappers

trail: path not often travelled
-- 
Silence is hard to parse


_______________________________________________
UrJTAG-development mailing list
UrJTAG-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/urjtag-development

Reply via email to