Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S973084AbdDXQJM (ORCPT ); Mon, 24 Apr 2017 12:09:12 -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 Authentication-Results: ppops.net; spf=none smtp.mailfrom=rf@opensource.wolfsonmicro.com 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 Content-Type: text/plain 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-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3494 Lines: 89 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>; + }; +}; -- 1.9.1