* [PATCH] [v2] Fix definitions for dbcr0, dbcr1, & dbcr2 register for bookE processors @ 2008-06-05 15:56 Jerone Young 2008-06-05 16:23 ` Kumar Gala 0 siblings, 1 reply; 3+ messages in thread From: Jerone Young @ 2008-06-05 15:56 UTC (permalink / raw) To: linuxppc-dev Update: Consolidated dbcr1 & dbcr2 under one define. Taken from the PowerPC ISA BookIII-E specifies that DBCR0 is different for all others that are not ppc405 chips. So I have now chnaged the conditional to reflect this. Also added definitions needed for DBCR1 & DBCR2. Signed-off-by: Jerone Young <jyoung5@us.ibm.com> diff --git a/include/asm-powerpc/reg_booke.h b/include/asm-powerpc/reg_booke.h --- a/include/asm-powerpc/reg_booke.h +++ b/include/asm-powerpc/reg_booke.h @@ -253,6 +253,7 @@ #define ESR_BO 0x00020000 /* Byte Ordering */ /* Bit definitions related to the DBCR0. */ +#if defined(CONFIG_40x) #define DBCR0_EDM 0x80000000 /* External Debug Mode */ #define DBCR0_IDM 0x40000000 /* Internal Debug Mode */ #define DBCR0_RST 0x30000000 /* all the bits in the RST field */ @@ -275,6 +276,44 @@ #define DBCR0_IA12T 0x00008000 /* Instr Addr 1-2 range Toggle */ #define DBCR0_IA34T 0x00004000 /* Instr Addr 3-4 range Toggle */ #define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ +#elif defined(CONFIG_BOOKE) +#define DBCR0_EDM 0x80000000 /* External Debug Mode */ +#define DBCR0_IDM 0x40000000 /* Internal Debug Mode */ +#define DBCR0_RST 0x30000000 /* all the bits in the RST field */ +#define DBCR0_RST_SYSTEM 0x30000000 /* System Reset */ +#define DBCR0_RST_CHIP 0x20000000 /* Chip Reset */ +#define DBCR0_RST_CORE 0x10000000 /* Core Reset */ +#define DBCR0_RST_NONE 0x00000000 /* No Reset */ +#define DBCR0_IC 0x08000000 /* Instruction Completion */ +#define DBCR0_BT 0x04000000 /* Branch Taken */ +#define DBCR0_EDE 0x02000000 /* Exception Debug Event */ +#define DBCR0_TDE 0x01000000 /* TRAP Debug Event */ +#define DBCR0_IA1 0x00800000 /* Instr Addr compare 1 enable */ +#define DBCR0_IA2 0x00400000 /* Instr Addr compare 2 enable */ +#define DBCR0_IA3 0x00200000 /* Instr Addr compare 3 enable */ +#define DBCR0_IA4 0x00100000 /* Instr Addr compare 4 enable */ +#define DBCR0_DAC1R 0x00080000 /* DAC 1 Read enable */ +#define DBCR0_DAC1W 0x00040000 /* DAC 1 Write enable */ +#define DBCR0_DAC2R 0x00020000 /* DAC 2 Read enable */ +#define DBCR0_DAC2W 0x00010000 /* DAC 2 Write enable */ +#define DBCR0_RET 0x00008000 /* Return Debug Event */ +#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ +#endif + +#if defined(CONFIG_BOOKE) +/* Bit definitions related to the DBCR1. */ +#define DBCR1_IA12 0x00800000 /* Instr Addr 1-2 range enable */ +#define DBCR1_IA12X 0x00C00000 /* Instr Addr 1-2 range eXclusive */ +#define DBCR1_IA12T 0x00010000 /* Instr Addr 1-2 range Toggle */ +#define DBCR1_IA34 0x00000080 /* Instr Addr 3-4 range enable */ +#define DBCR1_IA34X 0x000000C0 /* Instr Addr 3-4 range eXclusive */ +#define DBCR1_IA34T 0x00000001 /* Instr Addr 3-4 range Toggle */ + +/* Bit definitions related to the DBCR2. */ +#define DBCR2_DAC12 0x00800000 /* DAC 1-2 range enable */ +#define DBCR2_DAC12X 0x00C00000 /* DAC 1-2 range eXclusive */ +#define DBCR2_DAC12A 0x00200000 /* DAC 1-2 Asynchronous */ +#endif /* Bit definitions related to the TCR. */ #define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] [v2] Fix definitions for dbcr0, dbcr1, & dbcr2 register for bookE processors 2008-06-05 15:56 [PATCH] [v2] Fix definitions for dbcr0, dbcr1, & dbcr2 register for bookE processors Jerone Young @ 2008-06-05 16:23 ` Kumar Gala 2008-06-06 5:22 ` Jerone Young 0 siblings, 1 reply; 3+ messages in thread From: Kumar Gala @ 2008-06-05 16:23 UTC (permalink / raw) To: jyoung5; +Cc: linuxppc-dev On Jun 5, 2008, at 10:56 AM, Jerone Young wrote: > Update: Consolidated dbcr1 & dbcr2 under one define. > > Taken from the PowerPC ISA BookIII-E specifies that DBCR0 is different > for all others that are not ppc405 chips. So I have now chnaged the > conditional to reflect this. Also added definitions needed for DBCR1 & > DBCR2. > > Signed-off-by: Jerone Young <jyoung5@us.ibm.com> > > diff --git a/include/asm-powerpc/reg_booke.h b/include/asm-powerpc/ > reg_booke.h > --- a/include/asm-powerpc/reg_booke.h > +++ b/include/asm-powerpc/reg_booke.h > @@ -253,6 +253,7 @@ > #define ESR_BO 0x00020000 /* Byte Ordering */ > > /* Bit definitions related to the DBCR0. */ > +#if defined(CONFIG_40x) > #define DBCR0_EDM 0x80000000 /* External Debug Mode */ > #define DBCR0_IDM 0x40000000 /* Internal Debug Mode */ > #define DBCR0_RST 0x30000000 /* all the bits in the RST field */ > @@ -275,6 +276,44 @@ > #define DBCR0_IA12T 0x00008000 /* Instr Addr 1-2 range Toggle */ > #define DBCR0_IA34T 0x00004000 /* Instr Addr 3-4 range Toggle */ > #define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ > +#elif defined(CONFIG_BOOKE) > +#define DBCR0_EDM 0x80000000 /* External Debug Mode */ > +#define DBCR0_IDM 0x40000000 /* Internal Debug Mode */ > +#define DBCR0_RST 0x30000000 /* all the bits in the RST field */ > +#define DBCR0_RST_SYSTEM 0x30000000 /* System Reset */ > +#define DBCR0_RST_CHIP 0x20000000 /* Chip Reset */ > +#define DBCR0_RST_CORE 0x10000000 /* Core Reset */ > +#define DBCR0_RST_NONE 0x00000000 /* No Reset */ Add a comment about these RST_ being 44x specific, fsl booke doesnt follow this. > > +#define DBCR0_IC 0x08000000 /* Instruction Completion */ > +#define DBCR0_BT 0x04000000 /* Branch Taken */ > +#define DBCR0_EDE 0x02000000 /* Exception Debug Event */ > +#define DBCR0_TDE 0x01000000 /* TRAP Debug Event */ > +#define DBCR0_IA1 0x00800000 /* Instr Addr compare 1 enable */ > +#define DBCR0_IA2 0x00400000 /* Instr Addr compare 2 enable */ > +#define DBCR0_IA3 0x00200000 /* Instr Addr compare 3 enable */ > +#define DBCR0_IA4 0x00100000 /* Instr Addr compare 4 enable */ Can we stick with orig book-e field names, ICMP, BRT, IRPT, TRAP, IAC1, IAC2, IAC3, IAC4. These are also the names in the POWER 2.05 ISA spec. > > +#define DBCR0_DAC1R 0x00080000 /* DAC 1 Read enable */ > +#define DBCR0_DAC1W 0x00040000 /* DAC 1 Write enable */ > +#define DBCR0_DAC2R 0x00020000 /* DAC 2 Read enable */ > +#define DBCR0_DAC2W 0x00010000 /* DAC 2 Write enable */ > +#define DBCR0_RET 0x00008000 /* Return Debug Event */ > +#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ > +#endif > + > +#if defined(CONFIG_BOOKE) > +/* Bit definitions related to the DBCR1. */ > +#define DBCR1_IA12 0x00800000 /* Instr Addr 1-2 range enable */ > +#define DBCR1_IA12X 0x00C00000 /* Instr Addr 1-2 range eXclusive */ > +#define DBCR1_IA12T 0x00010000 /* Instr Addr 1-2 range Toggle */ > +#define DBCR1_IA34 0x00000080 /* Instr Addr 3-4 range enable */ > +#define DBCR1_IA34X 0x000000C0 /* Instr Addr 3-4 range eXclusive */ > +#define DBCR1_IA34T 0x00000001 /* Instr Addr 3-4 range Toggle */ Is there a reason you don't have all the fields? IAC1US, IAC1ER, etc..? > > + > +/* Bit definitions related to the DBCR2. */ > +#define DBCR2_DAC12 0x00800000 /* DAC 1-2 range enable */ > +#define DBCR2_DAC12X 0x00C00000 /* DAC 1-2 range eXclusive */ > +#define DBCR2_DAC12A 0x00200000 /* DAC 1-2 Asynchronous */ similar comment about matching 2.05 spec. > > +#endif > > /* Bit definitions related to the TCR. */ > #define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */ > - k ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] [v2] Fix definitions for dbcr0, dbcr1, & dbcr2 register for bookE processors 2008-06-05 16:23 ` Kumar Gala @ 2008-06-06 5:22 ` Jerone Young 0 siblings, 0 replies; 3+ messages in thread From: Jerone Young @ 2008-06-06 5:22 UTC (permalink / raw) To: Kumar Gala; +Cc: linuxppc-dev On Thu, 2008-06-05 at 11:23 -0500, Kumar Gala wrote: > On Jun 5, 2008, at 10:56 AM, Jerone Young wrote: > > > Update: Consolidated dbcr1 & dbcr2 under one define. > > > > Taken from the PowerPC ISA BookIII-E specifies that DBCR0 is different > > for all others that are not ppc405 chips. So I have now chnaged the > > conditional to reflect this. Also added definitions needed for DBCR1 & > > DBCR2. > > > > Signed-off-by: Jerone Young <jyoung5@us.ibm.com> > > > > diff --git a/include/asm-powerpc/reg_booke.h b/include/asm-powerpc/ > > reg_booke.h > > --- a/include/asm-powerpc/reg_booke.h > > +++ b/include/asm-powerpc/reg_booke.h > > @@ -253,6 +253,7 @@ > > #define ESR_BO 0x00020000 /* Byte Ordering */ > > > > /* Bit definitions related to the DBCR0. */ > > +#if defined(CONFIG_40x) > > #define DBCR0_EDM 0x80000000 /* External Debug Mode */ > > #define DBCR0_IDM 0x40000000 /* Internal Debug Mode */ > > #define DBCR0_RST 0x30000000 /* all the bits in the RST field */ > > @@ -275,6 +276,44 @@ > > #define DBCR0_IA12T 0x00008000 /* Instr Addr 1-2 range Toggle */ > > #define DBCR0_IA34T 0x00004000 /* Instr Addr 3-4 range Toggle */ > > #define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ > > +#elif defined(CONFIG_BOOKE) > > +#define DBCR0_EDM 0x80000000 /* External Debug Mode */ > > +#define DBCR0_IDM 0x40000000 /* Internal Debug Mode */ > > +#define DBCR0_RST 0x30000000 /* all the bits in the RST field */ > > +#define DBCR0_RST_SYSTEM 0x30000000 /* System Reset */ > > +#define DBCR0_RST_CHIP 0x20000000 /* Chip Reset */ > > +#define DBCR0_RST_CORE 0x10000000 /* Core Reset */ > > +#define DBCR0_RST_NONE 0x00000000 /* No Reset */ > > Add a comment about these RST_ being 44x specific, fsl booke doesnt > follow this. ok this can be done. > > > > > +#define DBCR0_IC 0x08000000 /* Instruction Completion */ > > +#define DBCR0_BT 0x04000000 /* Branch Taken */ > > +#define DBCR0_EDE 0x02000000 /* Exception Debug Event */ > > +#define DBCR0_TDE 0x01000000 /* TRAP Debug Event */ > > +#define DBCR0_IA1 0x00800000 /* Instr Addr compare 1 enable */ > > +#define DBCR0_IA2 0x00400000 /* Instr Addr compare 2 enable */ > > +#define DBCR0_IA3 0x00200000 /* Instr Addr compare 3 enable */ > > +#define DBCR0_IA4 0x00100000 /* Instr Addr compare 4 enable */ > > Can we stick with orig book-e field names, ICMP, BRT, IRPT, TRAP, > IAC1, IAC2, IAC3, IAC4. These are also the names in the POWER 2.05 > ISA spec. > I was sticking to what was already there. But yeah I can rename them so that they are better. > > > > +#define DBCR0_DAC1R 0x00080000 /* DAC 1 Read enable */ > > +#define DBCR0_DAC1W 0x00040000 /* DAC 1 Write enable */ > > +#define DBCR0_DAC2R 0x00020000 /* DAC 2 Read enable */ > > +#define DBCR0_DAC2W 0x00010000 /* DAC 2 Write enable */ > > +#define DBCR0_RET 0x00008000 /* Return Debug Event */ > > +#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ > > +#endif > > + > > +#if defined(CONFIG_BOOKE) > > +/* Bit definitions related to the DBCR1. */ > > +#define DBCR1_IA12 0x00800000 /* Instr Addr 1-2 range enable */ > > +#define DBCR1_IA12X 0x00C00000 /* Instr Addr 1-2 range eXclusive */ > > +#define DBCR1_IA12T 0x00010000 /* Instr Addr 1-2 range Toggle */ > > +#define DBCR1_IA34 0x00000080 /* Instr Addr 3-4 range enable */ > > +#define DBCR1_IA34X 0x000000C0 /* Instr Addr 3-4 range eXclusive */ > > +#define DBCR1_IA34T 0x00000001 /* Instr Addr 3-4 range Toggle */ > > Is there a reason you don't have all the fields? > > IAC1US, IAC1ER, etc..? I mainly just stuck to what was aleady defined for the 405 in dbcr0. Also for my own selfish reasons I didn't need these definitions :-). > > > > > + > > +/* Bit definitions related to the DBCR2. */ > > +#define DBCR2_DAC12 0x00800000 /* DAC 1-2 range enable */ > > +#define DBCR2_DAC12X 0x00C00000 /* DAC 1-2 range eXclusive */ > > +#define DBCR2_DAC12A 0x00200000 /* DAC 1-2 Asynchronous */ > > similar comment about matching 2.05 spec. I'll spin another patch and see if everyone likes the changes. > > > > > +#endif > > > > /* Bit definitions related to the TCR. */ > > #define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */ > > > > - k ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-06-06 5:22 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-06-05 15:56 [PATCH] [v2] Fix definitions for dbcr0, dbcr1, & dbcr2 register for bookE processors Jerone Young 2008-06-05 16:23 ` Kumar Gala 2008-06-06 5:22 ` Jerone Young
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox