[U-Boot] [PATCH] AT91RM9200: real pointer variable for PORT A to D configuration

2009-10-28 Thread Jens Scharsig
adds real pointer variable for use with use I/O accessors 

* defines for PORT A to D configuration registers
* defines for SMC configuration registers

Signed-off-by: Jens Scharsig e...@bus-elektronik.de
---

diff --git a/include/asm-arm/arch-at91rm9200/AT91RM9200.h 
b/include/asm-arm/arch-at91rm9200/AT91RM9200.h
index 00bae1c..1b4667e 100644
--- a/include/asm-arm/arch-at91rm9200/AT91RM9200.h
+++ b/include/asm-arm/arch-at91rm9200/AT91RM9200.h
@@ -251,6 +251,15 @@ typedef struct _AT91S_SMC2
AT91_REG SMC2_CSR[8];   /* SMC2 Chip Select Register */
 } AT91S_SMC2, *AT91PS_SMC2;
 
+#define AT91C_SMC_CSR0 ((AT91_REG *)   0xFF70)
+#define AT91C_SMC_CSR1 ((AT91_REG *)   0xFF74)
+#define AT91C_SMC_CSR2 ((AT91_REG *)   0xFF78)
+#define AT91C_SMC_CSR3 ((AT91_REG *)   0xFF7C)
+#define AT91C_SMC_CSR4 ((AT91_REG *)   0xFF80)
+#define AT91C_SMC_CSR5 ((AT91_REG *)   0xFF84)
+#define AT91C_SMC_CSR6 ((AT91_REG *)   0xFF88)
+#define AT91C_SMC_CSR7 ((AT91_REG *)   0xFF8C)
+
 /*  SMC2_CSR : (SMC2 Offset: 0x0) SMC2 Chip Select Register   
*/
 #define AT91C_SMC2_NWS ((unsigned int) 0x7F  0) /* (SMC2) 
Number of Wait States */
 #define AT91C_SMC2_WSEN((unsigned int) 0x1   7) /* 
(SMC2) Wait State Enable */
@@ -586,6 +595,7 @@ typedef struct _AT91S_PDC
 #define AT91C_PMC_PCDR ((AT91_REG *)   0xFC14) /* (PMC) Peripheral 
Clock Enable Register */
 #define AT91C_PMC_SCER ((AT91_REG *)   0xFC00) /* (PMC) Peripheral 
Clock Enable Register */
 #define AT91C_PMC_SCDR ((AT91_REG *)   0xFC04) /* (PMC) Peripheral 
Clock Enable Register */
+
 #define AT91C_PIOA_PER ((AT91_REG *)   0xF400) /* (PIOA) PIO 
Enable Register */
 #define AT91C_PIOA_PDR ((AT91_REG *)   0xF404) /* (PIOA) PIO 
Disable Register */
 #define AT91C_PIOA_PSR ((AT91_REG *)   0xF408) /* (PIOA) PIO 
Status Register */
@@ -615,7 +625,96 @@ typedef struct _AT91S_PDC
 #define AT91C_PIOA_OWER((AT91_REG *)   0xF4A0) /* (PIOA) 
PIO Output Write Enable Register */
 #define AT91C_PIOA_OWDR((AT91_REG *)   0xF4A4) /* (PIOA) 
PIO Output Write Disable Register */
 #define AT91C_PIOA_OWSR((AT91_REG *)   0xF4A8) /* (PIOA) 
PIO Output Write Status Register */
-#define AT91C_PIOB_PDR ((AT91_REG *)   0xF604) /* (PIOB) PIO 
Disable Register */
+
+#define AT91C_PIOB_PER ((AT91_REG *)   0xF600)
+#define AT91C_PIOB_PDR ((AT91_REG *)   0xF604)
+#define AT91C_PIOB_PSR ((AT91_REG *)   0xF608)
+#define AT91C_PIOB_OER ((AT91_REG *)   0xF610)
+#define AT91C_PIOB_ODR ((AT91_REG *)   0xF614)
+#define AT91C_PIOB_OSR ((AT91_REG *)   0xF618)
+#define AT91C_PIOB_IFER((AT91_REG *)   0xF620)
+#define AT91C_PIOB_IFDR((AT91_REG *)   0xF624)
+#define AT91C_PIOB_IFSR((AT91_REG *)   0xF628)
+#define AT91C_PIOB_SODR((AT91_REG *)   0xF630)
+#define AT91C_PIOB_CODR((AT91_REG *)   0xF634)
+#define AT91C_PIOB_ODSR((AT91_REG *)   0xF638)
+#define AT91C_PIOB_PDSR((AT91_REG *)   0xF63C)
+#define AT91C_PIOB_IER ((AT91_REG *)   0xF640)
+#define AT91C_PIOB_IDR ((AT91_REG *)   0xF644)
+#define AT91C_PIOB_IMR ((AT91_REG *)   0xF648)
+#define AT91C_PIOB_ISR ((AT91_REG *)   0xF64C)
+#define AT91C_PIOB_MDER((AT91_REG *)   0xF650)
+#define AT91C_PIOB_MDDR((AT91_REG *)   0xF654)
+#define AT91C_PIOB_MDSR((AT91_REG *)   0xF658)
+#define AT91C_PIOB_PUDR((AT91_REG *)   0xF660)
+#define AT91C_PIOB_PUER((AT91_REG *)   0xF664)
+#define AT91C_PIOB_PUSR((AT91_REG *)   0xF668)
+#define AT91C_PIOB_ASR ((AT91_REG *)   0xF670)
+#define AT91C_PIOB_BSR ((AT91_REG *)   0xF674)
+#define AT91C_PIOB_ABSR((AT91_REG *)   0xF678)
+#define AT91C_PIOB_OWER((AT91_REG *)   0xF6A0)
+#define AT91C_PIOB_OWDR((AT91_REG *)   0xF6A4)
+#define AT91C_PIOB_OWSR((AT91_REG *)   0xF6A8)
+
+#define AT91C_PIOC_PER ((AT91_REG *)   0xF800)
+#define AT91C_PIOC_PDR ((AT91_REG *)   0xF804)
+#define AT91C_PIOC_PSR ((AT91_REG *)   0xF808)
+#define AT91C_PIOC_OER ((AT91_REG *)   0xF810)
+#define AT91C_PIOC_ODR ((AT91_REG *)   0xF814)
+#define AT91C_PIOC_OSR ((AT91_REG *)   0xF818)
+#define AT91C_PIOC_IFER((AT91_REG *)   0xF820)
+#define AT91C_PIOC_IFDR((AT91_REG *)   0xF824)
+#define AT91C_PIOC_IFSR((AT91_REG 

Re: [U-Boot] [PATCH] AT91RM9200: real pointer variable for PORT A to D configuration

2009-10-28 Thread Jens Scharsig
 adds real pointer variable for use with use I/O accessors 
 
 * defines for PORT A to D configuration registers
 * defines for SMC configuration registers
 
 Signed-off-by: Jens Scharsig e...@bus-elektronik.de

This includes all changes from 
[PATCH] AT91RM9200 BGA port D defines 

Best regards

Jens Scharsig

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] AT91RM9200: real pointer variable for PORT A to D configuration

2009-10-28 Thread Wolfgang Denk
Dear Jens Scharsig,

In message 4ae832f4.2090...@bus-elektronik.de you wrote:
 adds real pointer variable for use with use I/O accessors 
 
 * defines for PORT A to D configuration registers
 * defines for SMC configuration registers
 
 Signed-off-by: Jens Scharsig e...@bus-elektronik.de
 ---

NAK.


 diff --git a/include/asm-arm/arch-at91rm9200/AT91RM9200.h 
 b/include/asm-arm/arch-at91rm9200/AT91RM9200.h
 index 00bae1c..1b4667e 100644
 --- a/include/asm-arm/arch-at91rm9200/AT91RM9200.h
 +++ b/include/asm-arm/arch-at91rm9200/AT91RM9200.h
 @@ -251,6 +251,15 @@ typedef struct _AT91S_SMC2
   AT91_REG SMC2_CSR[8];   /* SMC2 Chip Select Register */
  } AT91S_SMC2, *AT91PS_SMC2;
  
 +#define AT91C_SMC_CSR0   ((AT91_REG *)   0xFF70)
 +#define AT91C_SMC_CSR1   ((AT91_REG *)   0xFF74)
 +#define AT91C_SMC_CSR2   ((AT91_REG *)   0xFF78)
 +#define AT91C_SMC_CSR3   ((AT91_REG *)   0xFF7C)
 +#define AT91C_SMC_CSR4   ((AT91_REG *)   0xFF80)
 +#define AT91C_SMC_CSR5   ((AT91_REG *)   0xFF84)
 +#define AT91C_SMC_CSR6   ((AT91_REG *)   0xFF88)
 +#define AT91C_SMC_CSR7   ((AT91_REG *)   0xFF8C)

Please declare this as a C struct.

  /*  SMC2_CSR : (SMC2 Offset: 0x0) SMC2 Chip Select Register  
  */
  #define AT91C_SMC2_NWS   ((unsigned int) 0x7F  0) /* 
 (SMC2) Number of Wait States */
  #define AT91C_SMC2_WSEN  ((unsigned int) 0x1   7) /* 
 (SMC2) Wait State Enable */
 @@ -586,6 +595,7 @@ typedef struct _AT91S_PDC
  #define AT91C_PMC_PCDR   ((AT91_REG *)   0xFC14) /* (PMC) 
 Peripheral Clock Enable Register */
  #define AT91C_PMC_SCER   ((AT91_REG *)   0xFC00) /* (PMC) 
 Peripheral Clock Enable Register */
  #define AT91C_PMC_SCDR   ((AT91_REG *)   0xFC04) /* (PMC) 
 Peripheral Clock Enable Register */
 +
  #define AT91C_PIOA_PER   ((AT91_REG *)   0xF400) /* (PIOA) 
 PIO Enable Register */
  #define AT91C_PIOA_PDR   ((AT91_REG *)   0xF404) /* (PIOA) 
 PIO Disable Register */
  #define AT91C_PIOA_PSR   ((AT91_REG *)   0xF408) /* (PIOA) 
 PIO Status Register */
 @@ -615,7 +625,96 @@ typedef struct _AT91S_PDC
  #define AT91C_PIOA_OWER  ((AT91_REG *)   0xF4A0) /* (PIOA) 
 PIO Output Write Enable Register */
  #define AT91C_PIOA_OWDR  ((AT91_REG *)   0xF4A4) /* (PIOA) 
 PIO Output Write Disable Register */
  #define AT91C_PIOA_OWSR  ((AT91_REG *)   0xF4A8) /* (PIOA) 
 PIO Output Write Status Register */
 -#define AT91C_PIOB_PDR   ((AT91_REG *)   0xF604) /* (PIOB) 
 PIO Disable Register */
 +
 +#define AT91C_PIOB_PER   ((AT91_REG *)   0xF600)
 +#define AT91C_PIOB_PDR   ((AT91_REG *)   0xF604)
 +#define AT91C_PIOB_PSR   ((AT91_REG *)   0xF608)
 +#define AT91C_PIOB_OER   ((AT91_REG *)   0xF610)
 +#define AT91C_PIOB_ODR   ((AT91_REG *)   0xF614)
 +#define AT91C_PIOB_OSR   ((AT91_REG *)   0xF618)
 +#define AT91C_PIOB_IFER  ((AT91_REG *)   0xF620)
 +#define AT91C_PIOB_IFDR  ((AT91_REG *)   0xF624)
 +#define AT91C_PIOB_IFSR  ((AT91_REG *)   0xF628)
 +#define AT91C_PIOB_SODR  ((AT91_REG *)   0xF630)
 +#define AT91C_PIOB_CODR  ((AT91_REG *)   0xF634)
 +#define AT91C_PIOB_ODSR  ((AT91_REG *)   0xF638)
 +#define AT91C_PIOB_PDSR  ((AT91_REG *)   0xF63C)
 +#define AT91C_PIOB_IER   ((AT91_REG *)   0xF640)
 +#define AT91C_PIOB_IDR   ((AT91_REG *)   0xF644)
 +#define AT91C_PIOB_IMR   ((AT91_REG *)   0xF648)
 +#define AT91C_PIOB_ISR   ((AT91_REG *)   0xF64C)
 +#define AT91C_PIOB_MDER  ((AT91_REG *)   0xF650)
 +#define AT91C_PIOB_MDDR  ((AT91_REG *)   0xF654)
 +#define AT91C_PIOB_MDSR  ((AT91_REG *)   0xF658)
 +#define AT91C_PIOB_PUDR  ((AT91_REG *)   0xF660)
 +#define AT91C_PIOB_PUER  ((AT91_REG *)   0xF664)
 +#define AT91C_PIOB_PUSR  ((AT91_REG *)   0xF668)
 +#define AT91C_PIOB_ASR   ((AT91_REG *)   0xF670)
 +#define AT91C_PIOB_BSR   ((AT91_REG *)   0xF674)
 +#define AT91C_PIOB_ABSR  ((AT91_REG *)   0xF678)
 +#define AT91C_PIOB_OWER  ((AT91_REG *)   0xF6A0)
 +#define AT91C_PIOB_OWDR  ((AT91_REG *)   0xF6A4)
 +#define AT91C_PIOB_OWSR  ((AT91_REG *)   0xF6A8)
 +
 +#define AT91C_PIOC_PER   ((AT91_REG *)   0xF800)
 +#define AT91C_PIOC_PDR   ((AT91_REG *)   0xF804)
 +#define AT91C_PIOC_PSR   ((AT91_REG *)   0xF808)
 +#define