Signed-off-by: Mike Frysinger <[EMAIL PROTECTED]>
---
 cpu/blackfin/initcode.c                         |    2 +-
 include/asm-blackfin/mach-common/bits/bootrom.h |   11 ++++
 include/asm-blackfin/mach-common/bits/ebiu.h    |    2 +-
 include/asm-blackfin/mach-common/bits/lockbox.h |   68 +++++++++++-----------
 4 files changed, 47 insertions(+), 36 deletions(-)

diff --git a/cpu/blackfin/initcode.c b/cpu/blackfin/initcode.c
index ffc8420..0fa3e53 100644
--- a/cpu/blackfin/initcode.c
+++ b/cpu/blackfin/initcode.c
@@ -212,7 +212,7 @@ static inline void serial_putc(char c)
 # define CONFIG_VR_CTL_VAL (CONFIG_VR_CTL_CLKBUF | CONFIG_VR_CTL_VLEV | 
CONFIG_VR_CTL_FREQ)
 #endif
 
-__attribute__((saveall))
+BOOTROM_CALLED_FUNC_ATTR
 void initcode(ADI_BOOT_DATA *bootstruct)
 {
        uint32_t old_baud = serial_init();
diff --git a/include/asm-blackfin/mach-common/bits/bootrom.h 
b/include/asm-blackfin/mach-common/bits/bootrom.h
index 6cdaa4f..bf661f0 100644
--- a/include/asm-blackfin/mach-common/bits/bootrom.h
+++ b/include/asm-blackfin/mach-common/bits/bootrom.h
@@ -88,6 +88,8 @@
 #define _BOOTROM_REV                   0xEF000040
 #define _BOOTROM_SESR                  0xEF001000
 
+#define BOOTROM_FOLLOWS_C_ABI 1
+
 #define BOOTROM_CAPS_ADI_BOOT_STRUCTS 1
 
 /* Not available on initial BF54x or BF52x */
@@ -100,6 +102,9 @@
 
 #endif
 
+#ifndef BOOTROM_FOLLOWS_C_ABI
+#define BOOTROM_FOLLOWS_C_ABI 0
+#endif
 #ifndef BOOTROM_CAPS_ADI_BOOT_STRUCTS
 #define BOOTROM_CAPS_ADI_BOOT_STRUCTS 0
 #endif
@@ -109,6 +114,12 @@
 
 #ifndef __ASSEMBLY__
 
+#if BOOTROM_FOLLOWS_C_ABI
+# define BOOTROM_CALLED_FUNC_ATTR
+#else
+# define BOOTROM_CALLED_FUNC_ATTR __attribute__((saveall))
+#endif
+
 /* Structures for the syscontrol() function */
 typedef struct ADI_SYSCTRL_VALUES {
        uint16_t uwVrCtl;
diff --git a/include/asm-blackfin/mach-common/bits/ebiu.h 
b/include/asm-blackfin/mach-common/bits/ebiu.h
index ab530ad..195ec90 100644
--- a/include/asm-blackfin/mach-common/bits/ebiu.h
+++ b/include/asm-blackfin/mach-common/bits/ebiu.h
@@ -343,7 +343,7 @@
 #define TWR_3          0x00180000      /* SDRAM tWR = 3 cycles */
 #define PUPSD          0x00200000      /* Power-up start delay */
 #define PSM            0x00400000      /* SDRAM power-up sequence = Precharge, 
mode register set, 8 CBR refresh cycles */
-#define PSS            0x00800000      /* enable SDRAM power-up sequence on 
next SDRAM access */
+#define PSSE           0x00800000      /* enable SDRAM power-up sequence on 
next SDRAM access */
 #define SRFS           0x01000000      /* Start SDRAM self-refresh mode */
 #define EBUFE          0x02000000      /* Enable external buffering timing */
 #define FBBRW          0x04000000      /* Fast back-to-back read write enable 
*/
diff --git a/include/asm-blackfin/mach-common/bits/lockbox.h 
b/include/asm-blackfin/mach-common/bits/lockbox.h
index 8b696f3..09310e1 100644
--- a/include/asm-blackfin/mach-common/bits/lockbox.h
+++ b/include/asm-blackfin/mach-common/bits/lockbox.h
@@ -11,14 +11,14 @@
 
 /* SESR argument structure. Expected to reside at 0xFF900018. */
 typedef struct SESR_args {
-       unsigned short usFlags;         /* security firmware flags              
*/
-       unsigned short usIRQMask;       /* interrupt mask                       
*/
-       unsigned long ulMessageSize;    /* message length in bytes              
*/
-       unsigned long ulSFEntryPoint;   /* entry point of secure function       
*/
-       unsigned long ulMessagePtr;     /* pointer to the buffer containing     
*/
-                                       /* the digital signature and message    
*/
-       unsigned long ulReserved1;      /* reserved                             
*/
-       unsigned long ulReserved2;      /* reserved                             
*/
+  unsigned short  usFlags;            /* security firmware flags            */
+  unsigned short  usIRQMask;          /* interrupt mask                     */
+  unsigned long   ulMessageSize;      /* message length in bytes            */
+  unsigned long   ulSFEntryPoint;     /* entry point of secure function     */
+  unsigned long   ulMessagePtr;       /* pointer to the buffer containing
+                                         the digital signature and message  */
+  unsigned long   ulReserved1;        /* reserved                           */
+  unsigned long   ulReserved2;        /* reserved                           */
 } tSESR_args;
 
 /* Secure Entry Service Routine */
@@ -26,37 +26,37 @@ void (* const sesr)(void) = (void *)_BOOTROM_SESR;
 
 #endif
 
-/* SESR flags argument bitfields                                           */
-#define SESR_FLAGS_STAY_AT_NMI             0x0000
-#define SESR_FLAGS_DROP_BELOW_NMI          0x0001
-#define SESR_FLAGS_NO_SF_DMA               0x0000
-#define SESR_FLAGS_DMA_SF_TO_RUN_DEST      0x0002
-#define SESR_FLAGS_USE_ADI_PUB_KEY         0x0000
-#define SESR_FLAGS_USE_CUST_PUB_KEY        0x0100
+/* SESR flags argument bitfields                                            */
+#define SESR_FLAGS_STAY_AT_NMI              0x0000
+#define SESR_FLAGS_DROP_BELOW_NMI           0x0001
+#define SESR_FLAGS_NO_SF_DMA                0x0000
+#define SESR_FLAGS_DMA_SF_TO_RUN_DEST       0x0002
+#define SESR_FLAGS_USE_ADI_PUB_KEY          0x0000
+#define SESR_FLAGS_USE_CUST_PUB_KEY         0x0100
 
 /* Bit masks for SECURE_SYSSWT */
-#define EMUDABL                       0x00000001    /* Emulation Disable */
-#define RSTDABL                       0x00000002    /* Reset Disable */
-#define L1IDABL                       0x0000001c    /* L1 Instruction Memory 
Disable */
-#define L1DADABL              0x000000e0    /* L1 Data Bank A Memory Disable */
-#define L1DBDABL              0x00000700    /* L1 Data Bank B Memory Disable */
-#define DMA0OVR                       0x00000800    /* DMA0 Memory Access 
Override */
-#define DMA1OVR                       0x00001000    /* DMA1 Memory Access 
Override */
-#define EMUOVR                0x00004000    /* Emulation Override */
-#define OTPSEN                0x00008000    /* OTP Secrets Enable */
-#define L2DABL                0x00070000    /* L2 Memory Disable */
+#define EMUDABL                0x00000001    /* Emulation Disable */
+#define RSTDABL                0x00000002    /* Reset Disable */
+#define L1IDABL                0x0000001c    /* L1 Instruction Memory Disable 
*/
+#define L1DADABL               0x000000e0    /* L1 Data Bank A Memory Disable 
*/
+#define L1DBDABL               0x00000700    /* L1 Data Bank B Memory Disable 
*/
+#define DMA0OVR                0x00000800    /* DMA0 Memory Access Override */
+#define DMA1OVR                0x00001000    /* DMA1 Memory Access Override */
+#define EMUOVR                 0x00004000    /* Emulation Override */
+#define OTPSEN                 0x00008000    /* OTP Secrets Enable */
+#define L2DABL                 0x00070000    /* L2 Memory Disable */
 
 /* Bit masks for SECURE_CONTROL */
-#define SECURE0                       0x0001        /* SECURE 0 */
-#define SECURE1                       0x0002        /* SECURE 1 */
-#define SECURE2                       0x0004        /* SECURE 2 */
-#define SECURE3                       0x0008        /* SECURE 3 */
+#define SECURE0                0x0001        /* SECURE 0 */
+#define SECURE1                0x0002        /* SECURE 1 */
+#define SECURE2                0x0004        /* SECURE 2 */
+#define SECURE3                0x0008        /* SECURE 3 */
 
 /* Bit masks for SECURE_STATUS */
-#define SECMODE                       0x0003        /* Secured Mode Control 
State */
-#define NMI                   0x0004        /* Non Maskable Interrupt */
-#define AFVALID                       0x0008        /* Authentication Firmware 
Valid */
-#define AFEXIT                0x0010        /* Authentication Firmware Exit */
-#define SECSTAT                       0x00e0        /* Secure Status */
+#define SECMODE                0x0003        /* Secured Mode Control State */
+#define NMI                    0x0004        /* Non Maskable Interrupt */
+#define AFVALID                0x0008        /* Authentication Firmware Valid 
*/
+#define AFEXIT                 0x0010        /* Authentication Firmware Exit */
+#define SECSTAT                0x00e0        /* Secure Status */
 
 #endif
-- 
1.5.4.4


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
U-Boot-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to