arch/sh/include/mach-ecovec24/mach/romimage.h

Source file repositories/reference/linux-study-clean/arch/sh/include/mach-ecovec24/mach/romimage.h

File Facts

System
Linux kernel
Corpus path
arch/sh/include/mach-ecovec24/mach/romimage.h
Extension
.h
Size
1070 bytes
Lines
49
Domain
Architecture Layer
Bucket
arch/sh
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifdef __ASSEMBLER__

/* EcoVec board specific boot code:
 * converts the "partner-jet-script.txt" script into assembly
 * the assembly code is the first code to be executed in the romImage
 */

#include <asm/romimage-macros.h>
#include <mach/partner-jet-setup.txt>

	/* execute icbi after enabling cache */
	mov.l	1f, r0
	icbi	@r0

	/* jump to cached area */
	mova	2f, r0
	jmp	@r0
	nop

	.align 2
1 :	.long 0xa8000000
2 :

#else /* __ASSEMBLER__ */

/* Ecovec board specific information:
 *
 * Set the following to enable MMCIF boot from the MMC card in CN12:
 *
 * DS1.5 = OFF (SH BOOT pin set to L)
 * DS2.6 = OFF (Select MMCIF on CN12 instead of SDHI1)
 * DS2.7 = ON  (Select MMCIF on CN12 instead of SDHI1)
 *
 */
#define HIZCRA		0xa4050158
#define PGDR		0xa405012c

static inline void mmcif_update_progress(int nr)
{
	/* disable Hi-Z for LED pins */
	__raw_writew(__raw_readw(HIZCRA) & ~(1 << 1), HIZCRA);

	/* update progress on LED4, LED5, LED6 and LED7 */
	__raw_writeb(1 << (nr - 1), PGDR);
}

#endif /* __ASSEMBLER__ */

Annotation

Implementation Notes