linux/arch/cris/include/arch-v32/mach-fs/mach/pinmux.h
Jesper Nilsson a3199ad90a CRISv32: ETRAXFS: Fix recursive spinlock
Move pinmux alloc/dealloc code into functions that don't take
the spinlock so we can use from code that has the spinlock already.

CRISv32 has no working SMP, so spinlocks becomes a NOP,
so deadlock was never seen.

Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
2014-12-20 00:06:04 +01:00

37 lines
705 B
C

#ifndef _ASM_CRIS_ARCH_PINMUX_H
#define _ASM_CRIS_ARCH_PINMUX_H
#define PORT_B 0
#define PORT_C 1
#define PORT_D 2
#define PORT_E 3
enum pin_mode {
pinmux_none = 0,
pinmux_fixed,
pinmux_gpio,
pinmux_iop
};
enum fixed_function {
pinmux_ser1,
pinmux_ser2,
pinmux_ser3,
pinmux_sser0,
pinmux_sser1,
pinmux_ata0,
pinmux_ata1,
pinmux_ata2,
pinmux_ata3,
pinmux_ata,
pinmux_eth1,
pinmux_timer
};
int crisv32_pinmux_alloc(int port, int first_pin, int last_pin, enum pin_mode);
int crisv32_pinmux_alloc_fixed(enum fixed_function function);
int crisv32_pinmux_dealloc(int port, int first_pin, int last_pin);
int crisv32_pinmux_dealloc_fixed(enum fixed_function function);
#endif