diff options
| author | Takashi Iwai <tiwai@suse.de> | 2016-09-30 12:40:40 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2016-09-30 12:40:40 -0400 |
| commit | eeea8b40cd2866ca24f25e5ef09225edb076ae45 (patch) | |
| tree | ece5b5287ee2ce53a841b66d0f526947f74d036f /include/uapi | |
| parent | 3383c5c395386ac8e258b1a324c72ce850b84a9e (diff) | |
| parent | 513e43efafe329dad7b5794583b67ac898dcbdca (diff) | |
Merge tag 'asoc-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
ASoC: Updates for v4.9
Apart from the cleanups done by Morimoto-san this has very much been a
driver focused release with very little generic change:
- A big factoring out of the simple-card code to allow it to be shared
more with the rcar generic card from Kuninori Morimoto.
- Removal of some operations duplicated on the CODEC level, again by
Kuninori Morimoto.
- Lots more machine support for x86 systems.
- New drivers for Nuvoton NAU88C10, Realtek RT5660 and RT5663.
Diffstat (limited to 'include/uapi')
| -rw-r--r-- | include/uapi/linux/atm_zatm.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/if_pppol2tp.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/if_pppox.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/if_tunnel.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/ipx.h | 13 | ||||
| -rw-r--r-- | include/uapi/linux/libc-compat.h | 26 | ||||
| -rw-r--r-- | include/uapi/linux/openvswitch.h | 6 | ||||
| -rw-r--r-- | include/uapi/sound/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/sound/asoc.h | 35 | ||||
| -rw-r--r-- | include/uapi/sound/snd_sst_tokens.h | 214 |
10 files changed, 298 insertions, 7 deletions
diff --git a/include/uapi/linux/atm_zatm.h b/include/uapi/linux/atm_zatm.h index 9c9c6ad55f14..5cd4d4d2dd1d 100644 --- a/include/uapi/linux/atm_zatm.h +++ b/include/uapi/linux/atm_zatm.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | 14 | ||
| 15 | #include <linux/atmapi.h> | 15 | #include <linux/atmapi.h> |
| 16 | #include <linux/atmioc.h> | 16 | #include <linux/atmioc.h> |
| 17 | #include <linux/time.h> | ||
| 17 | 18 | ||
| 18 | #define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc) | 19 | #define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc) |
| 19 | /* get pool statistics */ | 20 | /* get pool statistics */ |
diff --git a/include/uapi/linux/if_pppol2tp.h b/include/uapi/linux/if_pppol2tp.h index 163e8adac2d6..4bd1f55d6377 100644 --- a/include/uapi/linux/if_pppol2tp.h +++ b/include/uapi/linux/if_pppol2tp.h | |||
| @@ -16,7 +16,8 @@ | |||
| 16 | #define _UAPI__LINUX_IF_PPPOL2TP_H | 16 | #define _UAPI__LINUX_IF_PPPOL2TP_H |
| 17 | 17 | ||
| 18 | #include <linux/types.h> | 18 | #include <linux/types.h> |
| 19 | 19 | #include <linux/in.h> | |
| 20 | #include <linux/in6.h> | ||
| 20 | 21 | ||
| 21 | /* Structure used to connect() the socket to a particular tunnel UDP | 22 | /* Structure used to connect() the socket to a particular tunnel UDP |
| 22 | * socket over IPv4. | 23 | * socket over IPv4. |
diff --git a/include/uapi/linux/if_pppox.h b/include/uapi/linux/if_pppox.h index e128769331b5..d37bbb17a007 100644 --- a/include/uapi/linux/if_pppox.h +++ b/include/uapi/linux/if_pppox.h | |||
| @@ -21,8 +21,11 @@ | |||
| 21 | #include <asm/byteorder.h> | 21 | #include <asm/byteorder.h> |
| 22 | 22 | ||
| 23 | #include <linux/socket.h> | 23 | #include <linux/socket.h> |
| 24 | #include <linux/if.h> | ||
| 24 | #include <linux/if_ether.h> | 25 | #include <linux/if_ether.h> |
| 25 | #include <linux/if_pppol2tp.h> | 26 | #include <linux/if_pppol2tp.h> |
| 27 | #include <linux/in.h> | ||
| 28 | #include <linux/in6.h> | ||
| 26 | 29 | ||
| 27 | /* For user-space programs to pick up these definitions | 30 | /* For user-space programs to pick up these definitions |
| 28 | * which they wouldn't get otherwise without defining __KERNEL__ | 31 | * which they wouldn't get otherwise without defining __KERNEL__ |
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h index 1046f5515174..777b6cdb1b7b 100644 --- a/include/uapi/linux/if_tunnel.h +++ b/include/uapi/linux/if_tunnel.h | |||
| @@ -2,6 +2,9 @@ | |||
| 2 | #define _UAPI_IF_TUNNEL_H_ | 2 | #define _UAPI_IF_TUNNEL_H_ |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/if.h> | ||
| 6 | #include <linux/ip.h> | ||
| 7 | #include <linux/in6.h> | ||
| 5 | #include <asm/byteorder.h> | 8 | #include <asm/byteorder.h> |
| 6 | 9 | ||
| 7 | 10 | ||
diff --git a/include/uapi/linux/ipx.h b/include/uapi/linux/ipx.h index 3d48014cdd71..30f031db12f6 100644 --- a/include/uapi/linux/ipx.h +++ b/include/uapi/linux/ipx.h | |||
| @@ -1,11 +1,13 @@ | |||
| 1 | #ifndef _IPX_H_ | 1 | #ifndef _IPX_H_ |
| 2 | #define _IPX_H_ | 2 | #define _IPX_H_ |
| 3 | #include <linux/libc-compat.h> /* for compatibility with glibc netipx/ipx.h */ | ||
| 3 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 4 | #include <linux/sockios.h> | 5 | #include <linux/sockios.h> |
| 5 | #include <linux/socket.h> | 6 | #include <linux/socket.h> |
| 6 | #define IPX_NODE_LEN 6 | 7 | #define IPX_NODE_LEN 6 |
| 7 | #define IPX_MTU 576 | 8 | #define IPX_MTU 576 |
| 8 | 9 | ||
| 10 | #if __UAPI_DEF_SOCKADDR_IPX | ||
| 9 | struct sockaddr_ipx { | 11 | struct sockaddr_ipx { |
| 10 | __kernel_sa_family_t sipx_family; | 12 | __kernel_sa_family_t sipx_family; |
| 11 | __be16 sipx_port; | 13 | __be16 sipx_port; |
| @@ -14,6 +16,7 @@ struct sockaddr_ipx { | |||
| 14 | __u8 sipx_type; | 16 | __u8 sipx_type; |
| 15 | unsigned char sipx_zero; /* 16 byte fill */ | 17 | unsigned char sipx_zero; /* 16 byte fill */ |
| 16 | }; | 18 | }; |
| 19 | #endif /* __UAPI_DEF_SOCKADDR_IPX */ | ||
| 17 | 20 | ||
| 18 | /* | 21 | /* |
| 19 | * So we can fit the extra info for SIOCSIFADDR into the address nicely | 22 | * So we can fit the extra info for SIOCSIFADDR into the address nicely |
| @@ -23,12 +26,15 @@ struct sockaddr_ipx { | |||
| 23 | #define IPX_DLTITF 0 | 26 | #define IPX_DLTITF 0 |
| 24 | #define IPX_CRTITF 1 | 27 | #define IPX_CRTITF 1 |
| 25 | 28 | ||
| 29 | #if __UAPI_DEF_IPX_ROUTE_DEFINITION | ||
| 26 | struct ipx_route_definition { | 30 | struct ipx_route_definition { |
| 27 | __be32 ipx_network; | 31 | __be32 ipx_network; |
| 28 | __be32 ipx_router_network; | 32 | __be32 ipx_router_network; |
| 29 | unsigned char ipx_router_node[IPX_NODE_LEN]; | 33 | unsigned char ipx_router_node[IPX_NODE_LEN]; |
| 30 | }; | 34 | }; |
| 35 | #endif /* __UAPI_DEF_IPX_ROUTE_DEFINITION */ | ||
| 31 | 36 | ||
| 37 | #if __UAPI_DEF_IPX_INTERFACE_DEFINITION | ||
| 32 | struct ipx_interface_definition { | 38 | struct ipx_interface_definition { |
| 33 | __be32 ipx_network; | 39 | __be32 ipx_network; |
| 34 | unsigned char ipx_device[16]; | 40 | unsigned char ipx_device[16]; |
| @@ -45,16 +51,20 @@ struct ipx_interface_definition { | |||
| 45 | #define IPX_INTERNAL 2 | 51 | #define IPX_INTERNAL 2 |
| 46 | unsigned char ipx_node[IPX_NODE_LEN]; | 52 | unsigned char ipx_node[IPX_NODE_LEN]; |
| 47 | }; | 53 | }; |
| 48 | 54 | #endif /* __UAPI_DEF_IPX_INTERFACE_DEFINITION */ | |
| 55 | |||
| 56 | #if __UAPI_DEF_IPX_CONFIG_DATA | ||
| 49 | struct ipx_config_data { | 57 | struct ipx_config_data { |
| 50 | unsigned char ipxcfg_auto_select_primary; | 58 | unsigned char ipxcfg_auto_select_primary; |
| 51 | unsigned char ipxcfg_auto_create_interfaces; | 59 | unsigned char ipxcfg_auto_create_interfaces; |
| 52 | }; | 60 | }; |
| 61 | #endif /* __UAPI_DEF_IPX_CONFIG_DATA */ | ||
| 53 | 62 | ||
| 54 | /* | 63 | /* |
| 55 | * OLD Route Definition for backward compatibility. | 64 | * OLD Route Definition for backward compatibility. |
| 56 | */ | 65 | */ |
| 57 | 66 | ||
| 67 | #if __UAPI_DEF_IPX_ROUTE_DEF | ||
| 58 | struct ipx_route_def { | 68 | struct ipx_route_def { |
| 59 | __be32 ipx_network; | 69 | __be32 ipx_network; |
| 60 | __be32 ipx_router_network; | 70 | __be32 ipx_router_network; |
| @@ -67,6 +77,7 @@ struct ipx_route_def { | |||
| 67 | #define IPX_RT_BLUEBOOK 2 | 77 | #define IPX_RT_BLUEBOOK 2 |
| 68 | #define IPX_RT_ROUTED 1 | 78 | #define IPX_RT_ROUTED 1 |
| 69 | }; | 79 | }; |
| 80 | #endif /* __UAPI_DEF_IPX_ROUTE_DEF */ | ||
| 70 | 81 | ||
| 71 | #define SIOCAIPXITFCRT (SIOCPROTOPRIVATE) | 82 | #define SIOCAIPXITFCRT (SIOCPROTOPRIVATE) |
| 72 | #define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1) | 83 | #define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1) |
diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h index e4f048ee7043..44b8a6bd5fe1 100644 --- a/include/uapi/linux/libc-compat.h +++ b/include/uapi/linux/libc-compat.h | |||
| @@ -139,6 +139,25 @@ | |||
| 139 | 139 | ||
| 140 | #endif /* _NETINET_IN_H */ | 140 | #endif /* _NETINET_IN_H */ |
| 141 | 141 | ||
| 142 | /* Coordinate with glibc netipx/ipx.h header. */ | ||
| 143 | #if defined(__NETIPX_IPX_H) | ||
| 144 | |||
| 145 | #define __UAPI_DEF_SOCKADDR_IPX 0 | ||
| 146 | #define __UAPI_DEF_IPX_ROUTE_DEFINITION 0 | ||
| 147 | #define __UAPI_DEF_IPX_INTERFACE_DEFINITION 0 | ||
| 148 | #define __UAPI_DEF_IPX_CONFIG_DATA 0 | ||
| 149 | #define __UAPI_DEF_IPX_ROUTE_DEF 0 | ||
| 150 | |||
| 151 | #else /* defined(__NETIPX_IPX_H) */ | ||
| 152 | |||
| 153 | #define __UAPI_DEF_SOCKADDR_IPX 1 | ||
| 154 | #define __UAPI_DEF_IPX_ROUTE_DEFINITION 1 | ||
| 155 | #define __UAPI_DEF_IPX_INTERFACE_DEFINITION 1 | ||
| 156 | #define __UAPI_DEF_IPX_CONFIG_DATA 1 | ||
| 157 | #define __UAPI_DEF_IPX_ROUTE_DEF 1 | ||
| 158 | |||
| 159 | #endif /* defined(__NETIPX_IPX_H) */ | ||
| 160 | |||
| 142 | /* Definitions for xattr.h */ | 161 | /* Definitions for xattr.h */ |
| 143 | #if defined(_SYS_XATTR_H) | 162 | #if defined(_SYS_XATTR_H) |
| 144 | #define __UAPI_DEF_XATTR 0 | 163 | #define __UAPI_DEF_XATTR 0 |
| @@ -179,6 +198,13 @@ | |||
| 179 | #define __UAPI_DEF_IN6_PKTINFO 1 | 198 | #define __UAPI_DEF_IN6_PKTINFO 1 |
| 180 | #define __UAPI_DEF_IP6_MTUINFO 1 | 199 | #define __UAPI_DEF_IP6_MTUINFO 1 |
| 181 | 200 | ||
| 201 | /* Definitions for ipx.h */ | ||
| 202 | #define __UAPI_DEF_SOCKADDR_IPX 1 | ||
| 203 | #define __UAPI_DEF_IPX_ROUTE_DEFINITION 1 | ||
| 204 | #define __UAPI_DEF_IPX_INTERFACE_DEFINITION 1 | ||
| 205 | #define __UAPI_DEF_IPX_CONFIG_DATA 1 | ||
| 206 | #define __UAPI_DEF_IPX_ROUTE_DEF 1 | ||
| 207 | |||
| 182 | /* Definitions for xattr.h */ | 208 | /* Definitions for xattr.h */ |
| 183 | #define __UAPI_DEF_XATTR 1 | 209 | #define __UAPI_DEF_XATTR 1 |
| 184 | 210 | ||
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index d95a3018f6a1..54c3b4f4aceb 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -583,7 +583,7 @@ enum ovs_userspace_attr { | |||
| 583 | #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) | 583 | #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) |
| 584 | 584 | ||
| 585 | struct ovs_action_trunc { | 585 | struct ovs_action_trunc { |
| 586 | uint32_t max_len; /* Max packet size in bytes. */ | 586 | __u32 max_len; /* Max packet size in bytes. */ |
| 587 | }; | 587 | }; |
| 588 | 588 | ||
| 589 | /** | 589 | /** |
| @@ -632,8 +632,8 @@ enum ovs_hash_alg { | |||
| 632 | * @hash_basis: basis used for computing hash. | 632 | * @hash_basis: basis used for computing hash. |
| 633 | */ | 633 | */ |
| 634 | struct ovs_action_hash { | 634 | struct ovs_action_hash { |
| 635 | uint32_t hash_alg; /* One of ovs_hash_alg. */ | 635 | __u32 hash_alg; /* One of ovs_hash_alg. */ |
| 636 | uint32_t hash_basis; | 636 | __u32 hash_basis; |
| 637 | }; | 637 | }; |
| 638 | 638 | ||
| 639 | /** | 639 | /** |
diff --git a/include/uapi/sound/Kbuild b/include/uapi/sound/Kbuild index 691984cb0b91..9578d8bdbf31 100644 --- a/include/uapi/sound/Kbuild +++ b/include/uapi/sound/Kbuild | |||
| @@ -13,3 +13,4 @@ header-y += sb16_csp.h | |||
| 13 | header-y += sfnt_info.h | 13 | header-y += sfnt_info.h |
| 14 | header-y += tlv.h | 14 | header-y += tlv.h |
| 15 | header-y += usb_stream.h | 15 | header-y += usb_stream.h |
| 16 | header-y += snd_sst_tokens.h | ||
diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index e4701a3c6331..33d00a4ce656 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h | |||
| @@ -83,7 +83,7 @@ | |||
| 83 | #define SND_SOC_TPLG_NUM_TEXTS 16 | 83 | #define SND_SOC_TPLG_NUM_TEXTS 16 |
| 84 | 84 | ||
| 85 | /* ABI version */ | 85 | /* ABI version */ |
| 86 | #define SND_SOC_TPLG_ABI_VERSION 0x4 | 86 | #define SND_SOC_TPLG_ABI_VERSION 0x5 |
| 87 | 87 | ||
| 88 | /* Max size of TLV data */ | 88 | /* Max size of TLV data */ |
| 89 | #define SND_SOC_TPLG_TLV_SIZE 32 | 89 | #define SND_SOC_TPLG_TLV_SIZE 32 |
| @@ -105,7 +105,8 @@ | |||
| 105 | #define SND_SOC_TPLG_TYPE_CODEC_LINK 9 | 105 | #define SND_SOC_TPLG_TYPE_CODEC_LINK 9 |
| 106 | #define SND_SOC_TPLG_TYPE_BACKEND_LINK 10 | 106 | #define SND_SOC_TPLG_TYPE_BACKEND_LINK 10 |
| 107 | #define SND_SOC_TPLG_TYPE_PDATA 11 | 107 | #define SND_SOC_TPLG_TYPE_PDATA 11 |
| 108 | #define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_PDATA | 108 | #define SND_SOC_TPLG_TYPE_BE_DAI 12 |
| 109 | #define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_BE_DAI | ||
| 109 | 110 | ||
| 110 | /* vendor block IDs - please add new vendor types to end */ | 111 | /* vendor block IDs - please add new vendor types to end */ |
| 111 | #define SND_SOC_TPLG_TYPE_VENDOR_FW 1000 | 112 | #define SND_SOC_TPLG_TYPE_VENDOR_FW 1000 |
| @@ -124,6 +125,11 @@ | |||
| 124 | #define SND_SOC_TPLG_TUPLE_TYPE_WORD 4 | 125 | #define SND_SOC_TPLG_TUPLE_TYPE_WORD 4 |
| 125 | #define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5 | 126 | #define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5 |
| 126 | 127 | ||
| 128 | /* BE DAI flags */ | ||
| 129 | #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0) | ||
| 130 | #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1) | ||
| 131 | #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2) | ||
| 132 | |||
| 127 | /* | 133 | /* |
| 128 | * Block Header. | 134 | * Block Header. |
| 129 | * This header precedes all object and object arrays below. | 135 | * This header precedes all object and object arrays below. |
| @@ -251,6 +257,7 @@ struct snd_soc_tplg_stream_caps { | |||
| 251 | __le32 period_size_max; /* max period size bytes */ | 257 | __le32 period_size_max; /* max period size bytes */ |
| 252 | __le32 buffer_size_min; /* min buffer size bytes */ | 258 | __le32 buffer_size_min; /* min buffer size bytes */ |
| 253 | __le32 buffer_size_max; /* max buffer size bytes */ | 259 | __le32 buffer_size_max; /* max buffer size bytes */ |
| 260 | __le32 sig_bits; /* number of bits of content */ | ||
| 254 | } __attribute__((packed)); | 261 | } __attribute__((packed)); |
| 255 | 262 | ||
| 256 | /* | 263 | /* |
| @@ -285,6 +292,8 @@ struct snd_soc_tplg_manifest { | |||
| 285 | __le32 graph_elems; /* number of graph elements */ | 292 | __le32 graph_elems; /* number of graph elements */ |
| 286 | __le32 pcm_elems; /* number of PCM elements */ | 293 | __le32 pcm_elems; /* number of PCM elements */ |
| 287 | __le32 dai_link_elems; /* number of DAI link elements */ | 294 | __le32 dai_link_elems; /* number of DAI link elements */ |
| 295 | __le32 be_dai_elems; /* number of BE DAI elements */ | ||
| 296 | __le32 reserved[20]; /* reserved for new ABI element types */ | ||
| 288 | struct snd_soc_tplg_private priv; | 297 | struct snd_soc_tplg_private priv; |
| 289 | } __attribute__((packed)); | 298 | } __attribute__((packed)); |
| 290 | 299 | ||
| @@ -450,4 +459,26 @@ struct snd_soc_tplg_link_config { | |||
| 450 | struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */ | 459 | struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */ |
| 451 | __le32 num_streams; /* number of streams */ | 460 | __le32 num_streams; /* number of streams */ |
| 452 | } __attribute__((packed)); | 461 | } __attribute__((packed)); |
| 462 | |||
| 463 | /* | ||
| 464 | * Describes SW/FW specific features of BE DAI. | ||
| 465 | * | ||
| 466 | * File block representation for BE DAI :- | ||
| 467 | * +-----------------------------------+-----+ | ||
| 468 | * | struct snd_soc_tplg_hdr | 1 | | ||
| 469 | * +-----------------------------------+-----+ | ||
| 470 | * | struct snd_soc_tplg_be_dai | N | | ||
| 471 | * +-----------------------------------+-----+ | ||
| 472 | */ | ||
| 473 | struct snd_soc_tplg_be_dai { | ||
| 474 | __le32 size; /* in bytes of this structure */ | ||
| 475 | char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* name - used to match */ | ||
| 476 | __le32 dai_id; /* unique ID - used to match */ | ||
| 477 | __le32 playback; /* supports playback mode */ | ||
| 478 | __le32 capture; /* supports capture mode */ | ||
| 479 | struct snd_soc_tplg_stream_caps caps[2]; /* playback and capture for DAI */ | ||
| 480 | __le32 flag_mask; /* bitmask of flags to configure */ | ||
| 481 | __le32 flags; /* SND_SOC_TPLG_DAI_FLGBIT_* */ | ||
| 482 | struct snd_soc_tplg_private priv; | ||
| 483 | } __attribute__((packed)); | ||
| 453 | #endif | 484 | #endif |
diff --git a/include/uapi/sound/snd_sst_tokens.h b/include/uapi/sound/snd_sst_tokens.h new file mode 100644 index 000000000000..1ee2e943d66a --- /dev/null +++ b/include/uapi/sound/snd_sst_tokens.h | |||
| @@ -0,0 +1,214 @@ | |||
| 1 | /* | ||
| 2 | * snd_sst_tokens.h - Intel SST tokens definition | ||
| 3 | * | ||
| 4 | * Copyright (C) 2016 Intel Corp | ||
| 5 | * Author: Shreyas NC <shreyas.nc@intel.com> | ||
| 6 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as version 2, as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | * | ||
| 12 | * This program is distributed in the hope that it will be useful, but | ||
| 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 15 | * General Public License for more details. | ||
| 16 | */ | ||
| 17 | #ifndef __SND_SST_TOKENS_H__ | ||
| 18 | #define __SND_SST_TOKENS_H__ | ||
| 19 | |||
| 20 | /** | ||
| 21 | * %SKL_TKN_UUID: Module UUID | ||
| 22 | * | ||
| 23 | * %SKL_TKN_U8_BLOCK_TYPE: Type of the private data block.Can be: | ||
| 24 | * tuples, bytes, short and words | ||
| 25 | * | ||
| 26 | * %SKL_TKN_U8_IN_PIN_TYPE: Input pin type, | ||
| 27 | * homogenous=0, heterogenous=1 | ||
| 28 | * | ||
| 29 | * %SKL_TKN_U8_OUT_PIN_TYPE: Output pin type, | ||
| 30 | * homogenous=0, heterogenous=1 | ||
| 31 | * %SKL_TKN_U8_DYN_IN_PIN: Configure Input pin dynamically | ||
| 32 | * if true | ||
| 33 | * | ||
| 34 | * %SKL_TKN_U8_DYN_OUT_PIN: Configure Output pin dynamically | ||
| 35 | * if true | ||
| 36 | * | ||
| 37 | * %SKL_TKN_U8_IN_QUEUE_COUNT: Store the number of Input pins | ||
| 38 | * | ||
| 39 | * %SKL_TKN_U8_OUT_QUEUE_COUNT: Store the number of Output pins | ||
| 40 | * | ||
| 41 | * %SKL_TKN_U8_TIME_SLOT: TDM slot number | ||
| 42 | * | ||
| 43 | * %SKL_TKN_U8_CORE_ID: Stores module affinity value.Can take | ||
| 44 | * the values: | ||
| 45 | * SKL_AFFINITY_CORE_0 = 0, | ||
| 46 | * SKL_AFFINITY_CORE_1, | ||
| 47 | * SKL_AFFINITY_CORE_MAX | ||
| 48 | * | ||
| 49 | * %SKL_TKN_U8_MOD_TYPE: Module type value. | ||
| 50 | * | ||
| 51 | * %SKL_TKN_U8_CONN_TYPE: Module connection type can be a FE, | ||
| 52 | * BE or NONE as defined : | ||
| 53 | * SKL_PIPE_CONN_TYPE_NONE = 0, | ||
| 54 | * SKL_PIPE_CONN_TYPE_FE = 1 (HOST_DMA) | ||
| 55 | * SKL_PIPE_CONN_TYPE_BE = 2 (LINK_DMA) | ||
| 56 | * | ||
| 57 | * %SKL_TKN_U8_DEV_TYPE: Type of device to which the module is | ||
| 58 | * connected | ||
| 59 | * Can take the values: | ||
| 60 | * SKL_DEVICE_BT = 0x0, | ||
| 61 | * SKL_DEVICE_DMIC = 0x1, | ||
| 62 | * SKL_DEVICE_I2S = 0x2, | ||
| 63 | * SKL_DEVICE_SLIMBUS = 0x3, | ||
| 64 | * SKL_DEVICE_HDALINK = 0x4, | ||
| 65 | * SKL_DEVICE_HDAHOST = 0x5, | ||
| 66 | * SKL_DEVICE_NONE | ||
| 67 | * | ||
| 68 | * %SKL_TKN_U8_HW_CONN_TYPE: Connection type of the HW to which the | ||
| 69 | * module is connected | ||
| 70 | * SKL_CONN_NONE = 0, | ||
| 71 | * SKL_CONN_SOURCE = 1, | ||
| 72 | * SKL_CONN_SINK = 2 | ||
| 73 | * | ||
| 74 | * %SKL_TKN_U16_PIN_INST_ID: Stores the pin instance id | ||
| 75 | * | ||
| 76 | * %SKL_TKN_U16_MOD_INST_ID: Stores the mdule instance id | ||
| 77 | * | ||
| 78 | * %SKL_TKN_U32_MAX_MCPS: Module max mcps value | ||
| 79 | * | ||
| 80 | * %SKL_TKN_U32_MEM_PAGES: Module resource pages | ||
| 81 | * | ||
| 82 | * %SKL_TKN_U32_OBS: Stores Output Buffer size | ||
| 83 | * | ||
| 84 | * %SKL_TKN_U32_IBS: Stores input buffer size | ||
| 85 | * | ||
| 86 | * %SKL_TKN_U32_VBUS_ID: Module VBUS_ID. PDM=0, SSP0=0, | ||
| 87 | * SSP1=1,SSP2=2, | ||
| 88 | * SSP3=3, SSP4=4, | ||
| 89 | * SSP5=5, SSP6=6,INVALID | ||
| 90 | * | ||
| 91 | * %SKL_TKN_U32_PARAMS_FIXUP: Module Params fixup mask | ||
| 92 | * %SKL_TKN_U32_CONVERTER: Module params converter mask | ||
| 93 | * %SKL_TKN_U32_PIPE_ID: Stores the pipe id | ||
| 94 | * | ||
| 95 | * %SKL_TKN_U32_PIPE_CONN_TYPE: Type of the token to which the pipe is | ||
| 96 | * connected to. It can be | ||
| 97 | * SKL_PIPE_CONN_TYPE_NONE = 0, | ||
| 98 | * SKL_PIPE_CONN_TYPE_FE = 1 (HOST_DMA), | ||
| 99 | * SKL_PIPE_CONN_TYPE_BE = 2 (LINK_DMA), | ||
| 100 | * | ||
| 101 | * %SKL_TKN_U32_PIPE_PRIORITY: Pipe priority value | ||
| 102 | * %SKL_TKN_U32_PIPE_MEM_PGS: Pipe resource pages | ||
| 103 | * | ||
| 104 | * %SKL_TKN_U32_DIR_PIN_COUNT: Value for the direction to set input/output | ||
| 105 | * formats and the pin count. | ||
| 106 | * The first 4 bits have the direction | ||
| 107 | * value and the next 4 have | ||
| 108 | * the pin count value. | ||
| 109 | * SKL_DIR_IN = 0, SKL_DIR_OUT = 1. | ||
| 110 | * The input and output formats | ||
| 111 | * share the same set of tokens | ||
| 112 | * with the distinction between input | ||
| 113 | * and output made by reading direction | ||
| 114 | * token. | ||
| 115 | * | ||
| 116 | * %SKL_TKN_U32_FMT_CH: Supported channel count | ||
| 117 | * | ||
| 118 | * %SKL_TKN_U32_FMT_FREQ: Supported frequency/sample rate | ||
| 119 | * | ||
| 120 | * %SKL_TKN_U32_FMT_BIT_DEPTH: Supported container size | ||
| 121 | * | ||
| 122 | * %SKL_TKN_U32_FMT_SAMPLE_SIZE:Number of samples in the container | ||
| 123 | * | ||
| 124 | * %SKL_TKN_U32_FMT_CH_CONFIG: Supported channel configurations for the | ||
| 125 | * input/output. | ||
| 126 | * | ||
| 127 | * %SKL_TKN_U32_FMT_INTERLEAVE: Interleaving style which can be per | ||
| 128 | * channel or per sample. The values can be : | ||
| 129 | * SKL_INTERLEAVING_PER_CHANNEL = 0, | ||
| 130 | * SKL_INTERLEAVING_PER_SAMPLE = 1, | ||
| 131 | * | ||
| 132 | * %SKL_TKN_U32_FMT_SAMPLE_TYPE: | ||
| 133 | * Specifies the sample type. Can take the | ||
| 134 | * values: SKL_SAMPLE_TYPE_INT_MSB = 0, | ||
| 135 | * SKL_SAMPLE_TYPE_INT_LSB = 1, | ||
| 136 | * SKL_SAMPLE_TYPE_INT_SIGNED = 2, | ||
| 137 | * SKL_SAMPLE_TYPE_INT_UNSIGNED = 3, | ||
| 138 | * SKL_SAMPLE_TYPE_FLOAT = 4 | ||
| 139 | * | ||
| 140 | * %SKL_TKN_U32_CH_MAP: Channel map values | ||
| 141 | * %SKL_TKN_U32_MOD_SET_PARAMS: It can take these values: | ||
| 142 | * SKL_PARAM_DEFAULT, SKL_PARAM_INIT, | ||
| 143 | * SKL_PARAM_SET, SKL_PARAM_BIND | ||
| 144 | * | ||
| 145 | * %SKL_TKN_U32_MOD_PARAM_ID: ID of the module params | ||
| 146 | * | ||
| 147 | * %SKL_TKN_U32_CAPS_SET_PARAMS: | ||
| 148 | * Set params value | ||
| 149 | * | ||
| 150 | * %SKL_TKN_U32_CAPS_PARAMS_ID: Params ID | ||
| 151 | * | ||
| 152 | * %SKL_TKN_U32_CAPS_SIZE: Caps size | ||
| 153 | * | ||
| 154 | * %SKL_TKN_U32_PROC_DOMAIN: Specify processing domain | ||
| 155 | * | ||
| 156 | * %SKL_TKN_U32_LIB_COUNT: Specifies the number of libraries | ||
| 157 | * | ||
| 158 | * %SKL_TKN_STR_LIB_NAME: Specifies the library name | ||
| 159 | * | ||
| 160 | * module_id and loadable flags dont have tokens as these values will be | ||
| 161 | * read from the DSP FW manifest | ||
| 162 | */ | ||
| 163 | enum SKL_TKNS { | ||
| 164 | SKL_TKN_UUID = 1, | ||
| 165 | SKL_TKN_U8_NUM_BLOCKS, | ||
| 166 | SKL_TKN_U8_BLOCK_TYPE, | ||
| 167 | SKL_TKN_U8_IN_PIN_TYPE, | ||
| 168 | SKL_TKN_U8_OUT_PIN_TYPE, | ||
| 169 | SKL_TKN_U8_DYN_IN_PIN, | ||
| 170 | SKL_TKN_U8_DYN_OUT_PIN, | ||
| 171 | SKL_TKN_U8_IN_QUEUE_COUNT, | ||
| 172 | SKL_TKN_U8_OUT_QUEUE_COUNT, | ||
| 173 | SKL_TKN_U8_TIME_SLOT, | ||
| 174 | SKL_TKN_U8_CORE_ID, | ||
| 175 | SKL_TKN_U8_MOD_TYPE, | ||
| 176 | SKL_TKN_U8_CONN_TYPE, | ||
| 177 | SKL_TKN_U8_DEV_TYPE, | ||
| 178 | SKL_TKN_U8_HW_CONN_TYPE, | ||
| 179 | SKL_TKN_U16_MOD_INST_ID, | ||
| 180 | SKL_TKN_U16_BLOCK_SIZE, | ||
| 181 | SKL_TKN_U32_MAX_MCPS, | ||
| 182 | SKL_TKN_U32_MEM_PAGES, | ||
| 183 | SKL_TKN_U32_OBS, | ||
| 184 | SKL_TKN_U32_IBS, | ||
| 185 | SKL_TKN_U32_VBUS_ID, | ||
| 186 | SKL_TKN_U32_PARAMS_FIXUP, | ||
| 187 | SKL_TKN_U32_CONVERTER, | ||
| 188 | SKL_TKN_U32_PIPE_ID, | ||
| 189 | SKL_TKN_U32_PIPE_CONN_TYPE, | ||
| 190 | SKL_TKN_U32_PIPE_PRIORITY, | ||
| 191 | SKL_TKN_U32_PIPE_MEM_PGS, | ||
| 192 | SKL_TKN_U32_DIR_PIN_COUNT, | ||
| 193 | SKL_TKN_U32_FMT_CH, | ||
| 194 | SKL_TKN_U32_FMT_FREQ, | ||
| 195 | SKL_TKN_U32_FMT_BIT_DEPTH, | ||
| 196 | SKL_TKN_U32_FMT_SAMPLE_SIZE, | ||
| 197 | SKL_TKN_U32_FMT_CH_CONFIG, | ||
| 198 | SKL_TKN_U32_FMT_INTERLEAVE, | ||
| 199 | SKL_TKN_U32_FMT_SAMPLE_TYPE, | ||
| 200 | SKL_TKN_U32_FMT_CH_MAP, | ||
| 201 | SKL_TKN_U32_PIN_MOD_ID, | ||
| 202 | SKL_TKN_U32_PIN_INST_ID, | ||
| 203 | SKL_TKN_U32_MOD_SET_PARAMS, | ||
| 204 | SKL_TKN_U32_MOD_PARAM_ID, | ||
| 205 | SKL_TKN_U32_CAPS_SET_PARAMS, | ||
| 206 | SKL_TKN_U32_CAPS_PARAMS_ID, | ||
| 207 | SKL_TKN_U32_CAPS_SIZE, | ||
| 208 | SKL_TKN_U32_PROC_DOMAIN, | ||
| 209 | SKL_TKN_U32_LIB_COUNT, | ||
| 210 | SKL_TKN_STR_LIB_NAME, | ||
| 211 | SKL_TKN_MAX = SKL_TKN_STR_LIB_NAME, | ||
| 212 | }; | ||
| 213 | |||
| 214 | #endif | ||
