From patchwork Mon Apr 24 16:08:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Fitzgerald X-Patchwork-Id: 754315 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wBWWM1n0mz9s8V for ; Tue, 25 Apr 2017 02:09:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S973068AbdDXQJG (ORCPT ); Mon, 24 Apr 2017 12:09:06 -0400 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:55003 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S972718AbdDXQJF (ORCPT ); Mon, 24 Apr 2017 12:09:05 -0400 Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v3OG4KxL028090; Mon, 24 Apr 2017 11:08:52 -0500 Authentication-Results: ppops.net; spf=none smtp.mailfrom=rf@opensource.wolfsonmicro.com Received: from mail1.cirrus.com (mail1.cirrus.com [141.131.3.20]) by mx0b-001ae601.pphosted.com with ESMTP id 2a03kme4qk-1; Mon, 24 Apr 2017 11:08:52 -0500 Received: from EX17.ad.cirrus.com (unknown [172.20.9.81]) by mail1.cirrus.com (Postfix) with ESMTP id 3DFCE6121AE7; Mon, 24 Apr 2017 11:08:52 -0500 (CDT) Received: from imbe.wolfsonmicro.main (198.61.95.81) by EX17.ad.cirrus.com (172.20.9.81) with Microsoft SMTP Server id 14.3.301.0; Mon, 24 Apr 2017 17:08:46 +0100 Received: from rf-debian.ad.cirrus.com (rf-debian.ad.cirrus.com [198.90.223.7]) by imbe.wolfsonmicro.main (8.14.4/8.14.4) with ESMTP id v3OG7tRe026794; Mon, 24 Apr 2017 17:07:58 +0100 From: Richard Fitzgerald To: , , , , , , CC: , , , , Subject: [PATCH v2 15/18] dt-bindings: sound: Add bindings for Cirrus Logic Madera codecs Date: Mon, 24 Apr 2017 17:08:41 +0100 Message-ID: <1493050124-5970-16-git-send-email-rf@opensource.wolfsonmicro.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1493050124-5970-1-git-send-email-rf@opensource.wolfsonmicro.com> References: <1493050124-5970-1-git-send-email-rf@opensource.wolfsonmicro.com> MIME-Version: 1.0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1704240276 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org The Cirrus Logic Madera codecs are a family of related codecs with extensive digital and analogue I/O, digital mixing and routing, signal processing and programmable DSPs. Signed-off-by: Richard Fitzgerald --- Changes since V1: - these bindings split out from the main source patch - some minor edits to the property descriptions to match the pdata descriptions Documentation/devicetree/bindings/sound/madera.txt | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/madera.txt diff --git a/Documentation/devicetree/bindings/sound/madera.txt b/Documentation/devicetree/bindings/sound/madera.txt new file mode 100644 index 0000000..b114f7b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/madera.txt @@ -0,0 +1,66 @@ +Cirrus Logic Madera class audio codecs + +This is a subnode of the parent mfd node. + +See also the core bindings for the parent MFD driver: +See Documentation/devicetree/bindings/mfd/madera.txt + +Required properties: + - compatible : One of the following chip-specific strings: + "cirrus,cs47l35-codec" + "cirrus,cs47l85-codec" + "cirrus,cs47l90-codec" + +Optional properties: + - cirrus,dmic-ref : DMIC bias reference for each input, one cell per input + + A value of 0 indicates MICVDD and is the default, other values depend on the + codec - see the datasheet for the INn_DMIC_SUP field + + - cirrus,inmode : A list of input mode settings for each input. A maximum of + 16 cells, with four cells per input in the order INnAL, INnAR INnBL INnBR. + For non-muxed inputs the first two cells for that input set the mode for + the left and right channel and the second two cells must be 0. + For muxed inputs the first two cells for that input set the mode of the + left and right A inputs and the second two cells set the mode of the left + and right B inputs. + Valid mode values are one of the MADERA_INMODE_xxx (see + include/dt-bindings/sound/madera.h). If the array is shorter than the number + of inputs the unspecified inputs default to MADERA_INMODE_DIFF. + + - cirrus,out-mono : Mono bit for each output, must contain six cells if + specified. A non-zero value indicates the corresponding output is mono. + + - cirrus,max-channels-clocked : Maximum number of channels that I2S clocks + will be generated for. Useful when clock master for systems where the I2S + bus has multiple data lines. + One cell for each AIF, use a value of zero for AIFs that should be handled + normally. + + - cirrus,pdm-fmt : PDM speaker data format, must contain 2 cells + (OUT5 and OUT6). See the PDM_SPKn_FMT field in the datasheet for a + description of this value. + The second cell is ignored for codecs that do not have OUT6. + + - cirrus,pdm-mute : PDM mute format, must contain 2 cells + (OUT5 and OUT6). See the PDM_SPKn_CTRL_1 register in the datasheet for a + description of this value. + The second cell is ignored for codecs that do not have OUT6. + +Example: + +codec: cs47l35@0 { + compatible = "cirrus,cs47l35"; + + codec { + compatible = "cirrus,cs47l35-codec"; + cirrus,dmic-ref = <0 0 1 0>; + cirrus,dmic-clksrc = <0 0 0 0>; + cirrus,inmode = < + 2 2 1 1 /* IN1A digital, IN1B single-ended */ + 0 0 0 0 /* IN2 differential */ + >; + cirrus,out-mono = <0 0 0 0 0 0>; + cirrus,max-channels-clocked = <2 0 0>; + }; +};