@@ -12,10 +12,22 @@
#include <sound/soc.h>
+struct asoc_simple_dai {
+ const char *name;
+ unsigned int sysclk;
+ int slots;
+ int slot_width;
+ unsigned int tx_slot_mask;
+ unsigned int rx_slot_mask;
+ struct clk *clk;
+};
+
int asoc_simple_card_parse_daifmt(struct device *dev,
struct device_node *node,
struct device_node *codec,
char *prefix,
unsigned int *retfmt);
+int asoc_simple_card_parse_tdm(struct device_node *port_np,
+ struct asoc_simple_dai *simple_dai);
#endif /* __SIMPLE_CARD_CORE_H */
@@ -52,3 +52,14 @@ int asoc_simple_card_parse_daifmt(struct device *dev,
return 0;
}
EXPORT_SYMBOL_GPL(asoc_simple_card_parse_daifmt);
+
+int asoc_simple_card_parse_tdm(struct device_node *port_np,
+ struct asoc_simple_dai *simple_dai)
+{
+ return snd_soc_of_parse_tdm_slot(port_np,
+ &simple_dai->tx_slot_mask,
+ &simple_dai->rx_slot_mask,
+ &simple_dai->slots,
+ &simple_dai->slot_width);
+}
+EXPORT_SYMBOL_GPL(asoc_simple_card_parse_tdm);