/* * 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. * * SPDX-License-Identifier: GPL-2.0+ */ #ifndef __ASM_PPC_H #define __ASM_PPC_H #ifndef __ASSEMBLY__ #ifdef CONFIG_MPC86xx #include #include #endif #ifdef CONFIG_MPC85xx #include #include #endif #ifdef CONFIG_MPC83xx #include #include #endif #ifdef CONFIG_4xx #include #endif #ifdef CONFIG_SOC_DA8XX #include #endif #ifdef CONFIG_FSL_LSCH3 #include #endif #ifdef CONFIG_FSL_LSCH2 #include #endif uint get_pvr(void); uint get_svr(void); uint rd_ic_cst(void); void wr_ic_cst(uint); void wr_ic_adr(uint); uint rd_dc_cst(void); void wr_dc_cst(uint); void wr_dc_adr(uint); #if defined(CONFIG_4xx) || \ 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 #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 #endif #endif