]>
Commit | Line | Data |
---|---|---|
a4d7d550 KM |
1 | #ifndef __SOUND_FSI_H |
2 | #define __SOUND_FSI_H | |
3 | ||
4 | /* | |
5 | * Fifo-attached Serial Interface (FSI) support for SH7724 | |
6 | * | |
7 | * Copyright (C) 2009 Renesas Solutions Corp. | |
8 | * Kuninori Morimoto <morimoto.kuninori@renesas.com> | |
9 | * | |
10 | * This program is free software; you can redistribute it and/or modify | |
11 | * it under the terms of the GNU General Public License version 2 as | |
12 | * published by the Free Software Foundation. | |
13 | */ | |
14 | ||
3c2ef841 KM |
15 | #define FSI_PORT_A 0 |
16 | #define FSI_PORT_B 1 | |
17 | ||
a4d7d550 KM |
18 | #include <linux/clk.h> |
19 | #include <sound/soc.h> | |
20 | ||
f17c13ca KM |
21 | /* |
22 | * flags format | |
23 | * | |
766812e6 | 24 | * 0x00000CBA |
f17c13ca KM |
25 | * |
26 | * A: inversion | |
27 | * B: format mode | |
766812e6 | 28 | * C: chip specific |
ab6f6d85 | 29 | * D: clock selecter if master mode |
f17c13ca | 30 | */ |
a4d7d550 | 31 | |
f17c13ca KM |
32 | /* B: format mode */ |
33 | #define SH_FSI_FMT_MASK 0x000000F0 | |
34 | #define SH_FSI_FMT_DAI (0 << 4) | |
35 | #define SH_FSI_FMT_SPDIF (1 << 4) | |
a4d7d550 | 36 | |
766812e6 KM |
37 | /* C: chip specific */ |
38 | #define SH_FSI_OPTION_MASK 0x00000F00 | |
39 | #define SH_FSI_ENABLE_STREAM_MODE (1 << 8) /* for 16bit data */ | |
ccad7b44 | 40 | |
ab6f6d85 KM |
41 | /* D: clock selecter if master mode */ |
42 | #define SH_FSI_CLK_MASK 0x0000F000 | |
ab6340c4 KM |
43 | #define SH_FSI_CLK_EXTERNAL (0 << 12) |
44 | #define SH_FSI_CLK_CPG (1 << 12) /* FSIxCK + FSI-DIV */ | |
ab6f6d85 | 45 | |
fec691e7 KM |
46 | struct sh_fsi_port_info { |
47 | unsigned long flags; | |
7da9ced6 KM |
48 | int tx_id; |
49 | int rx_id; | |
fec691e7 KM |
50 | }; |
51 | ||
a4d7d550 | 52 | struct sh_fsi_platform_info { |
fec691e7 KM |
53 | struct sh_fsi_port_info port_a; |
54 | struct sh_fsi_port_info port_b; | |
a4d7d550 KM |
55 | }; |
56 | ||
a4d7d550 | 57 | #endif /* __SOUND_FSI_H */ |