mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-22 11:13:07 +00:00
83d290c56f
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com>
135 lines
3 KiB
C
135 lines
3 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Ugly header containing required header files. This could be adjusted
|
|
* so that including asm/arch/hardware includes the correct file.
|
|
*
|
|
* (C) Copyright 2000-2009
|
|
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
*/
|
|
|
|
#ifndef __ASM_PPC_H
|
|
#define __ASM_PPC_H
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#if defined(CONFIG_MPC8xx)
|
|
#include <asm/immap_8xx.h>
|
|
#endif
|
|
#ifdef CONFIG_MPC86xx
|
|
#include <mpc86xx.h>
|
|
#include <asm/immap_86xx.h>
|
|
#endif
|
|
#ifdef CONFIG_MPC85xx
|
|
#include <mpc85xx.h>
|
|
#include <asm/immap_85xx.h>
|
|
#endif
|
|
#ifdef CONFIG_MPC83xx
|
|
#include <mpc83xx.h>
|
|
#include <asm/immap_83xx.h>
|
|
#endif
|
|
#ifdef CONFIG_SOC_DA8XX
|
|
#include <asm/arch/hardware.h>
|
|
#endif
|
|
#ifdef CONFIG_FSL_LSCH3
|
|
#include <asm/arch/immap_lsch3.h>
|
|
#endif
|
|
#ifdef CONFIG_FSL_LSCH2
|
|
#include <asm/arch/immap_lsch2.h>
|
|
#endif
|
|
|
|
#include <asm/processor.h>
|
|
|
|
static inline uint get_immr(void)
|
|
{
|
|
return mfspr(SPRN_IMMR);
|
|
}
|
|
|
|
static inline uint get_pvr(void)
|
|
{
|
|
return mfspr(PVR);
|
|
}
|
|
|
|
static inline uint get_svr(void)
|
|
{
|
|
return mfspr(SVR);
|
|
}
|
|
|
|
#if defined(CONFIG_MPC85xx) || \
|
|
defined(CONFIG_MPC86xx) || \
|
|
defined(CONFIG_MPC83xx)
|
|
unsigned char in8(unsigned int);
|
|
void out8(unsigned int, unsigned char);
|
|
unsigned short in16(unsigned int);
|
|
unsigned short in16r(unsigned int);
|
|
void out16(unsigned int, unsigned short value);
|
|
void out16r(unsigned int, unsigned short value);
|
|
unsigned long in32(unsigned int);
|
|
unsigned long in32r(unsigned int);
|
|
void out32(unsigned int, unsigned long value);
|
|
void out32r(unsigned int, unsigned long value);
|
|
void ppcDcbf(unsigned long value);
|
|
void ppcDcbi(unsigned long value);
|
|
void ppcSync(void);
|
|
void ppcDcbz(unsigned long value);
|
|
#endif
|
|
#if defined(CONFIG_MPC83xx)
|
|
void ppcDWload(unsigned int *addr, unsigned int *ret);
|
|
void ppcDWstore(unsigned int *addr, unsigned int *value);
|
|
void disable_addr_trans(void);
|
|
void enable_addr_trans(void);
|
|
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
|
void ddr_enable_ecc(unsigned int dram_size);
|
|
#endif
|
|
#endif
|
|
|
|
#if defined(CONFIG_MPC85xx)
|
|
typedef MPC85xx_SYS_INFO sys_info_t;
|
|
void get_sys_info(sys_info_t *);
|
|
void ft_fixup_cpu(void *, u64);
|
|
void ft_fixup_num_cores(void *);
|
|
#endif
|
|
#if defined(CONFIG_MPC86xx)
|
|
ulong get_bus_freq(ulong);
|
|
typedef MPC86xx_SYS_INFO sys_info_t;
|
|
void get_sys_info(sys_info_t *);
|
|
static inline ulong get_ddr_freq(ulong dummy)
|
|
{
|
|
return get_bus_freq(dummy);
|
|
}
|
|
#else
|
|
ulong get_ddr_freq(ulong);
|
|
#endif
|
|
|
|
static inline unsigned long get_msr(void)
|
|
{
|
|
unsigned long msr;
|
|
|
|
asm volatile ("mfmsr %0" : "=r" (msr) : );
|
|
|
|
return msr;
|
|
}
|
|
|
|
static inline void set_msr(unsigned long msr)
|
|
{
|
|
asm volatile ("mtmsr %0" : : "r" (msr));
|
|
}
|
|
|
|
#ifdef CONFIG_CMD_REGINFO
|
|
void print_reginfo(void);
|
|
#endif
|
|
|
|
void interrupt_init_cpu(unsigned *);
|
|
void timer_interrupt_cpu(struct pt_regs *);
|
|
unsigned long search_exception_table(unsigned long addr);
|
|
|
|
#endif /* !__ASSEMBLY__ */
|
|
|
|
#ifdef CONFIG_PPC
|
|
/*
|
|
* Has to be included outside of the #ifndef __ASSEMBLY__ section.
|
|
* Otherwise might lead to compilation errors in assembler files.
|
|
*/
|
|
#include <asm/cache.h>
|
|
#endif
|
|
|
|
#endif
|