Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3238478ybi; Mon, 10 Jun 2019 06:59:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqyWCtoSaMf3R6K1ROZf19eqQoByLKMAMCSpXtTh2GljFkA/yiQVEZ/KjaR192MF5rGnL1dS X-Received: by 2002:a17:902:9a84:: with SMTP id w4mr71408749plp.241.1560175173177; Mon, 10 Jun 2019 06:59:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560175173; cv=none; d=google.com; s=arc-20160816; b=YI9rQucHZs8s9lDOwza/DqqhyjaYqmFEckDvxJD1Fu0zjX8ADEjo1GAqjj0wTA49mN K/FsfSmAXUjNI+0+mh6aj/Q4xecvKnRXcx7J11PTgZNANDoiogbcPNBfJXYY8sPl5jpQ 9H/7dMSXKB9urH1ENeHDlIbGY/mbGGyuqKQEIe3Iqkes0VQJKvVCmcbFV85qeEIYx4V+ bpvcNDQYM8N3UixGQqEQaEsC2A1PqNs4F30oTokesuooZtCVG+K61sUkJNG/Ul46yA4I 1WztO0V4OZ7UztnLPCnlDimhS3EfqfzZGfaQRYumOBZ1ojgYfu7Xn35jV2o5R0Mo1bb0 eU6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=eokZJIi1lAz6UjeQ0Nxbw9456NrcChjo+CySwmafbqY=; b=Ty0gSFCbAXCPxw12ysaKwJp/kRbHr7sPtRHP9VEIxj82uvz2riro3hWoQ/XUkLFwwC MTqAC5J06JwdjhwG6agSP3lhUtVtTjj1+eIyT1uLWyNoSsLECHX+7q5+pq2kV5Qcc292 epD2U6n7EFkL5hBwWBf3SiWgRF+E/6fLAQ3iD9dOOUTzRT0OAReW5iLyAK/CEDfqrCtM IjWhZTwXVhZUzHNzp5IakCOSs+mpa3TwXCol/6jd+o+Ic+QnRnVnVCeYEnGQvEJxKVH1 +fNbpdTe0J30fgZVA8aKGEaDkk4PbybccVCBBvDJRg8ngrHc/y3pPVnLmNrlRS39NRSB ndrw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 9si10519730pfp.180.2019.06.10.06.59.18; Mon, 10 Jun 2019 06:59:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390611AbfFJN6s (ORCPT + 99 others); Mon, 10 Jun 2019 09:58:48 -0400 Received: from mga04.intel.com ([192.55.52.120]:12365 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390587AbfFJN6s (ORCPT ); Mon, 10 Jun 2019 09:58:48 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jun 2019 06:58:47 -0700 X-ExtLoop1: 1 Received: from linux.intel.com ([10.54.29.200]) by fmsmga005.fm.intel.com with ESMTP; 10 Jun 2019 06:58:47 -0700 Received: from achugh-mobl.amr.corp.intel.com (unknown [10.254.100.69]) by linux.intel.com (Postfix) with ESMTP id 6192E5800FF; Mon, 10 Jun 2019 06:58:46 -0700 (PDT) Subject: Re: [alsa-devel] [RFC PATCH 5/6] dt-bindings: soundwire: add bindings for Qcom controller To: Vinod Koul , Srinivas Kandagatla Cc: broonie@kernel.org, robh+dt@kernel.org, devicetree@vger.kernel.org, mark.rutland@arm.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org References: <20190607085643.932-1-srinivas.kandagatla@linaro.org> <20190607085643.932-6-srinivas.kandagatla@linaro.org> <20190610045150.GJ9160@vkoul-mobl.Dlink> From: Pierre-Louis Bossart Message-ID: Date: Mon, 10 Jun 2019 08:58:55 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <20190610045150.GJ9160@vkoul-mobl.Dlink> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >> diff --git a/Documentation/devicetree/bindings/soundwire/qcom,swr.txt b/Documentation/devicetree/bindings/soundwire/qcom,swr.txt >> new file mode 100644 >> index 000000000000..eb84d0f4f36f >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/soundwire/qcom,swr.txt >> @@ -0,0 +1,62 @@ >> +Qualcomm SoundWire Controller >> + >> +This binding describes the Qualcomm SoundWire Controller Bindings. >> + >> +Required properties: >> + >> +- compatible: Must be "qcom,soundwire-v..", >> + example: >> + "qcom,soundwire-v1.3.0" >> + "qcom,soundwire-v1.5.0" >> + "qcom,soundwire-v1.6.0" >> +- reg: SoundWire controller address space. >> +- interrupts: SoundWire controller interrupt. >> +- clock-names: Must contain "iface". >> +- clocks: Interface clocks needed for controller. >> +- #sound-dai-cells: Must be 1 for digital audio interfaces on the controllers. >> +- #address-cells: Must be 1 for SoundWire devices; >> +- #size-cells: Must be <0> as SoundWire addresses have no size component. >> +- qcom,dout-ports: Must be count of data out ports >> +- qcom,din-ports: Must be count of data in ports > > On these I think we should have specified dpn properties as specified in > DisCo, but then looking at spec we do not define that for master, but > bus seems to have it. > > Pierre do you why master does not have dpn properties in DisCo? Because there are no DP0 or DPn registers defined for Masters in the SoundWire 1.x spec. DisCo is about specifying properties for standard registers, when they are not standard vendor extensions need to come into play. > >> +- qcom,ports-offset1: Must be frame offset1 of each data port. >> + Out followed by In. Used for Block size calculation. >> +- qcom,ports-offset2: Must be frame offset2 of each data port. >> + Out followed by In. Used for Block size calculation. >> +- qcom,ports-sinterval-low: Must be sample interval low of each data port. >> + Out followed by In. Used for Sample Interval calculation. > > These are software so do not belong here Not necessarily. They define the allocation expected on that link and I see no problem specifying those values here. It's the moral equivalent of specifying which TDM slots and the bit depth of one slot you'd use for DSP_A/B. And if you push back, then what would be your alternate proposal on where those values might be stored? This is a very specific usage of the link and it makes sense to me to have the information in firmware - exposed with properties - rather than hard-coded in a pretend bus allocation routine in the kernel. Either the allocation is fully dynamic and it's handled by the kernel or it's static and it's better to store it in firmware to deal with platform-to-platform variations.