2 * bfin_sport.h - interface to Blackfin SPORTs
4 * Copyright 2004-2009 Analog Devices Inc.
6 * Licensed under the GPL-2 or later.
8 #ifndef __BFIN_SPORT_H__
9 #define __BFIN_SPORT_H__
12 #include <linux/types.h>
13 #include <uapi/asm/bfin_sport.h>
16 * All Blackfin system MMRs are padded to 32bits even if the register
17 * itself is only 16bits. So use a helper macro to streamline this.
19 #define __BFP(m) u16 m; u16 __pad_##m
20 struct sport_register
{
31 u32 rx32
; /* use the anomaly wrapper below */
54 struct bfin_snd_platform_data
{
55 const unsigned short *pin_req
;
58 #define bfin_read_sport_rx32(base) \
60 struct sport_register *__mmrs = (void *)base; \
62 unsigned long flags; \
63 if (ANOMALY_05000473) \
64 local_irq_save(flags); \
65 __ret = __mmrs->rx32; \
66 if (ANOMALY_05000473) \
67 local_irq_restore(flags); \