mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
nds32: Miscellaneous header files
This patch introduces some miscellaneous header files. Signed-off-by: Vincent Chen <vincentc@andestech.com> Signed-off-by: Greentime Hu <greentime@andestech.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
beebdeaa1d
commit
5c86fa7f7f
39
arch/nds32/include/asm/delay.h
Normal file
39
arch/nds32/include/asm/delay.h
Normal file
@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (C) 2005-2017 Andes Technology Corporation
|
||||
|
||||
#ifndef __NDS32_DELAY_H__
|
||||
#define __NDS32_DELAY_H__
|
||||
|
||||
#include <asm/param.h>
|
||||
|
||||
/* There is no clocksource cycle counter in the CPU. */
|
||||
static inline void __delay(unsigned long loops)
|
||||
{
|
||||
__asm__ __volatile__(".align 2\n"
|
||||
"1:\n"
|
||||
"\taddi\t%0, %0, -1\n"
|
||||
"\tbgtz\t%0, 1b\n"
|
||||
:"=r"(loops)
|
||||
:"0"(loops));
|
||||
}
|
||||
|
||||
static inline void __udelay(unsigned long usecs, unsigned long lpj)
|
||||
{
|
||||
usecs *= (unsigned long)(((0x8000000000000000ULL / (500000 / HZ)) +
|
||||
0x80000000ULL) >> 32);
|
||||
usecs = (unsigned long)(((unsigned long long)usecs * lpj) >> 32);
|
||||
__delay(usecs);
|
||||
}
|
||||
|
||||
#define udelay(usecs) __udelay((usecs), loops_per_jiffy)
|
||||
|
||||
/* make sure "usecs *= ..." in udelay do not overflow. */
|
||||
#if HZ >= 1000
|
||||
#define MAX_UDELAY_MS 1
|
||||
#elif HZ <= 200
|
||||
#define MAX_UDELAY_MS 5
|
||||
#else
|
||||
#define MAX_UDELAY_MS (1000 / HZ)
|
||||
#endif
|
||||
|
||||
#endif
|
11
arch/nds32/include/asm/linkage.h
Normal file
11
arch/nds32/include/asm/linkage.h
Normal file
@ -0,0 +1,11 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (C) 2005-2017 Andes Technology Corporation
|
||||
|
||||
#ifndef __ASM_LINKAGE_H
|
||||
#define __ASM_LINKAGE_H
|
||||
|
||||
/* This file is required by include/linux/linkage.h */
|
||||
#define __ALIGN .align 2
|
||||
#define __ALIGN_STR ".align 2"
|
||||
|
||||
#endif
|
13
arch/nds32/include/uapi/asm/byteorder.h
Normal file
13
arch/nds32/include/uapi/asm/byteorder.h
Normal file
@ -0,0 +1,13 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (C) 2005-2017 Andes Technology Corporation
|
||||
|
||||
#ifndef __NDS32_BYTEORDER_H__
|
||||
#define __NDS32_BYTEORDER_H__
|
||||
|
||||
#ifdef __NDS32_EB__
|
||||
#include <linux/byteorder/big_endian.h>
|
||||
#else
|
||||
#include <linux/byteorder/little_endian.h>
|
||||
#endif
|
||||
|
||||
#endif /* __NDS32_BYTEORDER_H__ */
|
Loading…
Reference in New Issue
Block a user