Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp248608rwl; Tue, 4 Apr 2023 23:13:15 -0700 (PDT) X-Google-Smtp-Source: AKy350ZTBHEJ3FgncSfENtDJNPXEul4oltP5cZNmKWp3F1xmgZt5v+dzbgb01M1pf5ppW+x1g1rc X-Received: by 2002:a05:6402:84f:b0:4b6:821e:1859 with SMTP id b15-20020a056402084f00b004b6821e1859mr669514edz.7.1680675195461; Tue, 04 Apr 2023 23:13:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680675195; cv=none; d=google.com; s=arc-20160816; b=IOstjfQTlpvgUkS8qpIznMb+c56dD3yMrm77e89uQloRTTxVwbyMRGJA7LnVu8ItvL nkx0NQ51835DMsrfSp+QN8u+IPCuUCxEQXuBmpbu+CYhDAAofz6CFwY++/WOwzSlVSes EiA5WqjUN1Za4iI5RKYqS6mwsEWVomRrwoeknIxjo4egD8Tt37x7lAv2rmbWHNGf7YfC bwb8PVE0obj+AVfED2TCmwqJrE3lqf0A+bLU/540GcKjvFBNXTXfJ4k2nFGToaIQdahZ kDVaQ9CcX3UK1ygnkpPyW2xksUCy2O4AzJUZ04Sjgm4f6qoNLGWCjSpcTjfCvO9KGiDa AuWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=T4ha3CimnofCA3zsc8S8rDrhisQ0kT4e2tBmWPE3BN4=; b=HkWfq6cPxW3BMYnDaDHVz7Xz0xiv00VYeYDQnQnSNsK6MYxZD6M0P1P28gSwbjmn3f cqT/5i/khmcn3jpRfIEWG4F2w/84pdd2g7b5SSwnQhdirJftbZsKUuLsrhDBaWxFz9/0 cUrLcw/3JIoLHdXNvZAp93CwGy1lMZIMqPAyBPj9nfp+BICcYU56FV+VrlVxofHTedO5 5JVlS0O8t2OEiLyTsoLUfQKN7KbpFanWY7KLketXQqTp+C2jEGLjREjA07HOOSvSQ2lJ KGgFvpo1miZkRBfiJ0FLlV5eQfHQyTY+D24GQ79xJhJOsl6uJ8wwIKFppVZ8v3tnZsL5 NTUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TEwBIpSS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u18-20020aa7d992000000b004fc43a04debsi11732255eds.294.2023.04.04.23.12.50; Tue, 04 Apr 2023 23:13:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TEwBIpSS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236910AbjDEGMM (ORCPT + 99 others); Wed, 5 Apr 2023 02:12:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55438 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237027AbjDEGLs (ORCPT ); Wed, 5 Apr 2023 02:11:48 -0400 Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 413A759D0 for ; Tue, 4 Apr 2023 23:11:34 -0700 (PDT) Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-50263dfe37dso770100a12.0 for ; Tue, 04 Apr 2023 23:11:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1680675093; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=T4ha3CimnofCA3zsc8S8rDrhisQ0kT4e2tBmWPE3BN4=; b=TEwBIpSSemhKtOMGVxIGMy4HZ0RCrn6OsSWb7T4YzCeS3UhHm6MFQ/QyDverKCY0Ao U0oan0EABeVqNLVkTiVfdIgRGzKU2rtLSZcWthZTeD8DQcUyk6M6hPRi6wNgh0fWrqKX 9dbYm8602yy3PTfLb7+JawSZgE00MmArnkTdOg7ATyWEJBF6WojObCqIvPvIjEe0C/67 YQIKa/hmKIbUt9zOYK9eWCLXNNTnTv8S4qsnJDmCH5x9Pm7p9epMSpgP2PSLL4K0i9lI OCAiIs0Ok47fFsHEStTLZQitnr6R+TNsnlvT3so+Iw10Yi6TOMImb3XF364sUQtMRjXd 6iHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680675093; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=T4ha3CimnofCA3zsc8S8rDrhisQ0kT4e2tBmWPE3BN4=; b=K+vsaK+beVdoMaJfYGOJdKh4w8P4dA5AzTevHmYBfUhczbl/viwQRxMlCoz6QG3izg TdXJWqhn/sYi5dH2pNRlJcE1OJ8qwUgR/zMWXPKXoMkZeYnGdM7y5xzuPS784kEYMd57 nNocCFWXfsA/8f4qQBXOrEu4/qnvSNMLi/24WrjmG0u9dHXCdRzoGLD5Y72Tciuc+gHW twP5SKvUbQgfGeZAwGqUVuoD6b5+Hszi++23UUJhMvfsZ9NIXnTy0HjfJr0jJjnIVfRQ sF+eyKPyk8iNaM8IoknYM+Puey2oBYaGt67Cxfp6JutIIuS3Gp1Ndx1q9l9JaDOmmBo7 9LWg== X-Gm-Message-State: AAQBX9dtqnt0f9YEfODNsYN618rtQye9SOUvAMKd+QdA7wJRJ6DNga6l t4dwXdqsbWGwiCJzPBwCBw9VOQ== X-Received: by 2002:aa7:cd5b:0:b0:4fc:d331:515 with SMTP id v27-20020aa7cd5b000000b004fcd3310515mr598855edw.5.1680675092758; Tue, 04 Apr 2023 23:11:32 -0700 (PDT) Received: from krzk-bin.. ([2a02:810d:15c0:828:3f:6b2:54cd:498e]) by smtp.gmail.com with ESMTPSA id y93-20020a50bb66000000b004fb30fc1dabsm6787931ede.96.2023.04.04.23.11.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Apr 2023 23:11:32 -0700 (PDT) From: Krzysztof Kozlowski To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , Patrick Lai Subject: [PATCH v3] arm64: dts: qcom: sm8550: add Soundwire controllers Date: Wed, 5 Apr 2023 08:11:29 +0200 Message-Id: <20230405061129.143553-1-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add nodes for LPASS Soundwire v2.0.0 controllers. Use labels with indices matching downstream DTS, to make any comparisons easier. Signed-off-by: Krzysztof Kozlowski --- Changes since v2: 1. Use labels instead of comments (Konrad). 2. Use interrupts instead of interupts-extended (Konrad) Changes since v1: 1. Correct IO range length. The bindings and driver are here: https://lore.kernel.org/linux-arm-msm/20230403132503.62090-1-krzysztof.kozlowski@linaro.org/T/#t Cc: Patrick Lai --- arch/arm64/boot/dts/qcom/sm8550.dtsi | 109 +++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi index dc6150e97d46..f9eaede39b5b 100644 --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi @@ -2004,6 +2004,33 @@ lpass_wsa2macro: codec@6aa0000 { #sound-dai-cells = <1>; }; + swr3: soundwire-controller@6ab0000 { + compatible = "qcom,soundwire-v2.0.0"; + reg = <0 0x06ab0000 0 0x10000>; + interrupts = ; + clocks = <&lpass_wsa2macro>; + clock-names = "iface"; + label = "WSA2"; + + qcom,din-ports = <4>; + qcom,dout-ports = <9>; + + qcom,ports-sinterval = <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>; + qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>; + qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>; + qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>; + qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>; + qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>; + qcom,ports-block-pack-mode = /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>; + qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>; + qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>; + + #address-cells = <2>; + #size-cells = <0>; + #sound-dai-cells = <1>; + status = "disabled"; + }; + lpass_rxmacro: codec@6ac0000 { compatible = "qcom,sm8550-lpass-rx-macro"; reg = <0 0x06ac0000 0 0x1000>; @@ -2023,6 +2050,33 @@ lpass_rxmacro: codec@6ac0000 { #sound-dai-cells = <1>; }; + swr1: soundwire-controller@6ad0000 { + compatible = "qcom,soundwire-v2.0.0"; + reg = <0 0x06ad0000 0 0x10000>; + interrupts = ; + clocks = <&lpass_rxmacro>; + clock-names = "iface"; + label = "RX"; + + qcom,din-ports = <0>; + qcom,dout-ports = <10>; + + qcom,ports-sinterval = <0x03 0x3f 0x1f 0x07 0x00 0x18f 0xff 0xff 0xff 0xff>; + qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0b 0x01 0x00 0x00 0xff 0xff 0xff 0xff>; + qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0b 0x00 0x00 0x00 0xff 0xff 0xff 0xff>; + qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff>; + qcom,ports-hstop = /bits/ 8 <0xff 0x06 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff>; + qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff 0x0f 0xff 0xff 0xff 0xff>; + qcom,ports-block-pack-mode = /bits/ 8 <0xff 0x00 0x01 0xff 0xff 0x00 0xff 0xff 0xff 0xff>; + qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0x00 0x00 0xff 0xff 0xff 0xff>; + qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00 0x00 0xff 0xff 0xff 0xff>; + + #address-cells = <2>; + #size-cells = <0>; + #sound-dai-cells = <1>; + status = "disabled"; + }; + lpass_txmacro: codec@6ae0000 { compatible = "qcom,sm8550-lpass-tx-macro"; reg = <0 0x06ae0000 0 0x1000>; @@ -2061,6 +2115,61 @@ lpass_wsamacro: codec@6b00000 { #sound-dai-cells = <1>; }; + swr0: soundwire-controller@6b10000 { + compatible = "qcom,soundwire-v2.0.0"; + reg = <0 0x06b10000 0 0x10000>; + interrupts = ; + clocks = <&lpass_wsamacro>; + clock-names = "iface"; + label = "WSA"; + + qcom,din-ports = <4>; + qcom,dout-ports = <9>; + + qcom,ports-sinterval = <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0xff 0xff 0x0f 0x0f 0xff 0x31f>; + qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>; + qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>; + qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>; + qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>; + qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>; + qcom,ports-block-pack-mode = /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>; + qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>; + qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>; + + #address-cells = <2>; + #size-cells = <0>; + #sound-dai-cells = <1>; + status = "disabled"; + }; + + swr2: soundwire-controller@6d30000 { + compatible = "qcom,soundwire-v2.0.0"; + reg = <0 0x06d30000 0 0x10000>; + interrupts = , + ; + interrupt-names = "core", "wakeup"; + clocks = <&lpass_vamacro>; + clock-names = "iface"; + label = "TX"; + + qcom,din-ports = <4>; + qcom,dout-ports = <0>; + qcom,ports-sinterval-low = /bits/ 8 <0x01 0x01 0x03 0x03>; + qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x01 0x01>; + qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x00 0x00>; + qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff>; + qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff>; + qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff>; + qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0xff 0xff>; + qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff>; + qcom,ports-lane-control = /bits/ 8 <0x01 0x02 0x00 0x00>; + + #address-cells = <2>; + #size-cells = <0>; + #sound-dai-cells = <1>; + status = "disabled"; + }; + lpass_vamacro: codec@6d44000 { compatible = "qcom,sm8550-lpass-va-macro"; reg = <0 0x06d44000 0 0x1000>; -- 2.34.1