Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3413783 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/rcar' and...

Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/rcar' and 'asoc/topic/rockchip' into asoc-next
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ Required properties:
- interrupts: Interrupt number for McPDM
- interrupt-parent: The parent interrupt controller
- ti,hwmods: Name of the hwmod associated to the McPDM
- clocks:  phandle for the pdmclk provider, likely <&twl6040>
- clock-names: Must be "pdmclk"

Example:

@@ -19,3 +21,11 @@ mcpdm: mcpdm@40132000 {
	interrupt-parent = <&gic>;
	ti,hwmods = "mcpdm";
};

In board DTS file the pdmclk needs to be added:

&mcpdm {
	clocks = <&twl6040>;
	clock-names = "pdmclk";
	status = "okay";
};
+2 −0
Original line number Diff line number Diff line
@@ -373,6 +373,8 @@ Optional properties:
- #clock-cells			: it must be 0 if your system has audio_clkout
				  it must be 1 if your system has audio_clkout0/1/2/3
- clock-frequency		: for all audio_clkout0/1/2/3
- clkout-lr-asynchronous	: boolean property. it indicates that audio_clkoutn
				  is asynchronizes with lr-clock.

SSI subnode properties:
- interrupts			: Should contain SSI interrupt for PIO transfer
+5 −0
Original line number Diff line number Diff line
@@ -23,6 +23,11 @@ Required properties:
- rockchip,playback-channels: max playback channels, if not set, 8 channels default.
- rockchip,capture-channels: max capture channels, if not set, 2 channels default.

Required properties for controller which support multi channels
playback/capture:

- rockchip,grf: the phandle of the syscon node for GRF register.

Example for rk3288 I2S controller:

i2s@ff890000 {
+1 −10
Original line number Diff line number Diff line
@@ -13,16 +13,7 @@
#define __SIMPLE_CARD_H

#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;
};
#include <sound/simple_card_utils.h>

struct asoc_simple_card_info {
	const char *name;
+36 −0
Original line number Diff line number Diff line
/*
 * simple_card_core.h
 *
 * Copyright (c) 2016 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
#ifndef __SIMPLE_CARD_CORE_H
#define __SIMPLE_CARD_CORE_H

#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_set_dailink_name(struct device *dev,
				      struct snd_soc_dai_link *dai_link,
				      const char *fmt, ...);
int asoc_simple_card_parse_card_name(struct snd_soc_card *card,
				     char *prefix);

#endif /* __SIMPLE_CARD_CORE_H */
Loading